阿里云安全运营中心:DDoS攻击趁虚而入,通过代理攻击已成常态
应用层DDoS攻击与传统的DDoS攻击有着很大不同。传统的DDoS攻击通过向攻击目标发起大流量并发式访问造成服务不可用,系统瘫痪,这种方式比较容易被识破,且市场上已经有成熟的应对方案。而近年来兴起的应用层DDoS攻击流量则会伪装成正常的流量,甚至和正常业务一样,绕过防御设备,造成企业服务器不可用,业务卡顿等,对防御方造成很大困扰。
阿里云安全运营中心对疫情期间的应用层DDoS攻击事件做了深入分析,希望给企业提升防御水位提供参考。
疫情期间攻击量级持续高位
这次疫情爆发在春节期间,2020年1-3月份抗击疫情期间应用层DDoS攻击量持续处于高位。尤其是1月中旬到2月中旬疫情最严重时期,攻击量与春节前期相比,有了明显大幅提升。从图1可以看出,攻击者在抗击疫情期间“趁虚而入”,试图从中获利。
游戏、医疗和在线教育行业成全新重点目标
据阿里云安全运营中心统计分析发现,2020年1月16日到3月15日疫情期间,应用层DDoS攻击环比增长幅度排名前三的分别为医疗、在线教育及在线办公、游戏三大行业,如图2所示。
在这期间,医疗、在线教育及在线办公得到了前所未有的关注,大量资源开始投入到这两大行业中。由于黑客逐利属性的驱使,使得这两大行业也成为重点攻击对象。同时不难看出,疫情期间,大家闭门在家,可选的娱乐活动有限,使得游戏行业异常火爆,也因此使得游戏行业受攻击数量环比增长超过300%。
主要攻击来源演变为代理、感染肉鸡、云平台服务器
通过对疫情期间数百起应用层DDoS攻击事件及数亿次攻击请求做图聚类分析发现,攻击来源主要分为三类:代理、感染肉鸡、各大云平台服务器,且单次攻击的攻击来源类型单一,如图3所示。
从图3可以发现,单次攻击通常利用单一攻击来源发起攻击,交叉使用不同攻击源发起的攻击数量较少。举例来说,如果一次攻击利用了代理作为攻击源,那就几乎不再同时利用感染肉鸡或云平台服务器发起攻击。
不同攻击类型特点不同,企业需要做好相应的防御措施
通过不同攻击源发起攻击的次数占比分别为,代理攻击源占比78.6%,感染肉鸡攻击占比20.65%,各大云平台服务器攻击占比0.68%。如图4所示。
不同类型的攻击源占比分别为,代理攻击用到的攻击源占比为12.40%,感染肉鸡攻击用到的攻击源占比为87.42%,各大云平台服务器攻击用到的攻击源占比0.18%。如图5所示。
对图4图5综合分析,我们可以看出:
1)代理攻击已成为常态,企业需要足够重视
代理攻击在所有攻击事件中占比最高,而攻击源个数仅占12.40%。对攻击者而言,此类攻击源性价比最高,攻击IP易获得且成本低廉,用于攻击时攻击性能较好,所以成为攻击中的主力军。
对企业而言,我们建议在放行业务相关代理的基础上,对无需使用代理访问的网站封禁代理,可在防御中起到“四两拨千斤”的效果。
2)感染肉鸡攻击源分散,企业应动态调整防御策略
通过感染肉鸡发起的攻击事件占比为20.65%,但攻击源个数最多,占比达87.42%。这类攻击的攻击源极为分散,且对应IP往往为宽带/基站出口IP。对攻击者而言,此类攻击源在线情况并不稳定,单个攻击源攻击性能一般。
对于这类攻击源发起的攻击,不建议企业采用IP粒度的防御方式。感染肉鸡对应的IP往往是宽带/基站出口IP,背后的正常用户很多,封禁一个历史攻击IP的代价有可能是阻止成百上千的潜在用户正常访问。
更进一步来讲,感染肉鸡的IP变化较快,设备位置的变化以及运营商的IP动态分配机制都会改变它们的IP,从而容易绕过封禁。
防护此类攻击,需要基于正常业务请求特性,事前封禁不可能出现的请求特征,如纯APP业务可封禁来自PC端的请求;或事中基于正常业务请求及攻击请求的差异性,动态地调整策略。
3)借云平台发起攻击量明显降低
借助各大云平台服务器发起的攻击事件占比最少,仅为0.68%,且攻击源个数仅为0.18%。这得益于各大云平台针对DDoS攻击做了严格管控,也造成攻击者使用此类攻击源攻击的固定成本较高。
因此,我们建议如果发现攻击源IP来自少数几个C段,且正常情况下很少有该IP段的请求来访问,可以考虑将其封禁,避免潜在的恶意请求。
安全建议
基于上述分析,针对如何防御应用层DDoS攻击,我们给出如下建议:
1. 拉黑历史攻击IP有风险,添加需谨慎
拉黑先前攻击中出现过的攻击源是较为常见的事后防御加固手段,当遭遇攻击来自代理或各大云平台服务器时,这一做法确实对后续的攻击在一定程度上有免疫效果。然而,倘若遇上的是感染肉鸡发起的攻击,那封禁历史攻击IP的做法就是“杀敌一万,自损三千”了。因此,拉黑历史攻击IP前要先对攻击源类型加以区分,避免风险。
2.仅限制访问频率高的IP,防御效果有限
拉黑高频请求的IP是最传统的事中防御手段,在攻击源个数较少时,这样的做法是非常有效的。然而,上述三大类攻击中任何一类,哪怕是攻击源占比最小的各大云平台服务器,观测到的攻击源数量都在万量级。这意味着,即使防御策略严苛到每秒每个IP只放行一个请求,每秒总计会有上万的请求涌向网站,绝大多数中小网站的服务器也是无法承受的。因此,要完全压制攻击,需要打出组合拳:事前尽可能封禁不可能出现的请求来源及请求特征;事中基于攻击与正常业务的差异动态精细化调整防御策略。频次策略只能起到辅助防御的作用。
阿里云安全运营中心:DDoS攻击趁虚而入,通过代理攻击已成常态的更多相关文章
- 阿里云重磅推出物联网安全运营中心Link SOC
阿里云IoT自主研发了新一代物联网安全平台Link Security,面向IoT设备全生命周期构建了一整套全链路多层次的安全防御体系,IoT物联网平台的业务在不同层面可以按需集成安全能力. 1.首先在 ...
- 阿里云安全研究成果入选人工智能顶级会议 IJCAI 2019, 业界首次用AI解决又一难题!
8月10日至8月16日,国际人工智能组织联合会议IJCAI 2019(International Joint Conference on Artificial Intelligence 2019)在中 ...
- 浅析SIEM、态势感知平台、安全运营中心
近年来SIEM.态势感知平台.安全运营中心等概念炒的火热,有的人认为这都是安全管理产品,这些产品就是一回事,有人认为还是有所区分.那么到底什么是SIEM.什么是态势感知平台.什么是安全运营中心,他们之 ...
- Azure上Linux VM DDOS攻击预防: 慢速攻击
在上篇博客(http://www.cnblogs.com/cloudapps/p/4996046.html)中,介绍了如何使用Apache的模块mod_evasive进行反DDOS攻击的设置,在这种模 ...
- DDOS工具合集---CC 2.0(僵尸网络proxy,单一url,可设置cookie,refer),传奇克星(代理+单一url,可设置cookie),NetBot_Attacker网络僵尸1.0(僵尸网络,HTTP NO-Cache Get攻击模式,CC攻击,HTTP空GET请求攻击),傀儡僵尸VIP1.4版(僵尸网络,动态单一url)、上兴网络僵尸2.3、中国制造网络僵尸、安全基地网络僵尸==
DDOS工具合集 from:https://blog.csdn.net/chinafe/article/details/74928587 CC 著名的DDOS CC工具,效果非常好!CC 2.0使用了 ...
- 记录阿里云安全组设置遇到的奇葩问题--出口ip
之前公司使用的路由器里使用的是PPPOE拨号的形式上网的,根据拨号后得到的ip地址,配置到阿里云的安全组里,具体来说是配置到22端口里,也就是说只有特定ip才能访问22端口,也即是说只允许公司网络远程 ...
- 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
HTTP 协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的 HTTP 的网站是不太安全的.所以, Google 的 Chrome 浏览器 ...
- web攻击之六:DNS攻击原理与防范
随着网络的逐步普及,网络安全已成为INTERNET路上事实上的焦点,它关系着INTERNET的进一步发展和普及,甚至关系着INTERNET的生存.可喜的是我们那些互联网专家们并没有令广大INTERNE ...
- web攻击之四:DOS攻击
DDOS是DOS攻击中的一种方法. DoS:是Denial of Service的简称,即拒绝服务,不是DOS操作系统,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务. ...
- Metasploit自动攻击和选择模块攻击详解
Author:魔术@Freebuf.com 0×1自动攻击 终端启动Metasploit,因为我现在Source Code,所以这样启动! 连接数据库 安装方法,执行以下命令即可(请用ROOT执行). ...
随机推荐
- 前后端分离之jQuery入门
jQuery入门 基本概念:jQuery是一个快速,小型且功能丰富的JavaScript库.借助易于使用的API(可在多种浏览器中使用),使HTML文档的遍历和操作,事件处理,动画和Ajax等事情变得 ...
- Electron 开发过程中主进程的无法看到 console.log 输出怎么办
开发过程中命令行工具(powershell.terminal)内无法看到 console.log 输出 Eelectron 的在开发过程中主进程 NodeJS 内往往需要 console.log 来进 ...
- springboot实现post请求
找了一堆,发现还是这个靠谱 package com.qishiyun.poplar.qlib.util; import cn.hutool.json.JSONUtil; import com.alib ...
- oracle错误之未知的命令开头imp忽略了剩余行解决方案
现象:执行imp命令如下: imp username/password@orcl full=y file=C:\optimove.dmp ignore=y 解决方案: imp 命令是在dos提示符 ...
- C++ bind函数
bind()是一个函数适配器,返回一个可调用对象,他可以将一个函数的参数列表做魔改. 设置默认参数 using namespace std::placeholders; void f(int a, i ...
- Android 开发Day4
我们双击进入activity_main.xml 先将android.support.constraint.ConstraintLayout改为LinerLayout线性的,意思就是水平的的结构 并加入 ...
- python基础五(文件操作)
一 文件操作 一 介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用python或其他语言编写的应用程序若想要把数据永久保存下来,必须要保存于硬盘中,这就涉及到应用程序要操作硬件,众 ...
- 【LeetCode刷题】69. x 的平方根
69.x的平方根(点击跳转LeetCode) 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去 ...
- MySQL报语法错误,排查竟然花了一个钟!!!!
背景:最近协助远程同事开发一个功能,我调用同事写的接口,出现报错,影响和前端联调,同事正在处理其他事情,暂时无暇顾及.遂自行解决.查看日志现发一个inser语句报语法错误. 异常日志: bad SQL ...
- Android记账本界面实现
<!--activity_main.xml-->1 <?xml version="1.0" encoding="utf-8"?> 2 & ...