应用层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攻击趁虚而入,通过代理攻击已成常态的更多相关文章

  1. 阿里云重磅推出物联网安全运营中心Link SOC

    阿里云IoT自主研发了新一代物联网安全平台Link Security,面向IoT设备全生命周期构建了一整套全链路多层次的安全防御体系,IoT物联网平台的业务在不同层面可以按需集成安全能力. 1.首先在 ...

  2. 阿里云安全研究成果入选人工智能顶级会议 IJCAI 2019, 业界首次用AI解决又一难题!

    8月10日至8月16日,国际人工智能组织联合会议IJCAI 2019(International Joint Conference on Artificial Intelligence 2019)在中 ...

  3. 浅析SIEM、态势感知平台、安全运营中心

    近年来SIEM.态势感知平台.安全运营中心等概念炒的火热,有的人认为这都是安全管理产品,这些产品就是一回事,有人认为还是有所区分.那么到底什么是SIEM.什么是态势感知平台.什么是安全运营中心,他们之 ...

  4. Azure上Linux VM DDOS攻击预防: 慢速攻击

    在上篇博客(http://www.cnblogs.com/cloudapps/p/4996046.html)中,介绍了如何使用Apache的模块mod_evasive进行反DDOS攻击的设置,在这种模 ...

  5. 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使用了 ...

  6. 记录阿里云安全组设置遇到的奇葩问题--出口ip

    之前公司使用的路由器里使用的是PPPOE拨号的形式上网的,根据拨号后得到的ip地址,配置到阿里云的安全组里,具体来说是配置到22端口里,也就是说只有特定ip才能访问22端口,也即是说只允许公司网络远程 ...

  7. 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS

    HTTP 协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的 HTTP 的网站是不太安全的.所以, Google 的 Chrome 浏览器 ...

  8. web攻击之六:DNS攻击原理与防范

    随着网络的逐步普及,网络安全已成为INTERNET路上事实上的焦点,它关系着INTERNET的进一步发展和普及,甚至关系着INTERNET的生存.可喜的是我们那些互联网专家们并没有令广大INTERNE ...

  9. web攻击之四:DOS攻击

    DDOS是DOS攻击中的一种方法. DoS:是Denial of Service的简称,即拒绝服务,不是DOS操作系统,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务. ...

  10. Metasploit自动攻击和选择模块攻击详解

    Author:魔术@Freebuf.com 0×1自动攻击 终端启动Metasploit,因为我现在Source Code,所以这样启动! 连接数据库 安装方法,执行以下命令即可(请用ROOT执行). ...

随机推荐

  1. C语言中的rand()函数实例分析

    一 前记: c语言中需要用到随机值得时候,每次都自己写,这样太浪费效率了,这次遇到了一个经典的代码,就珍藏起来吧. 二 实例分析: 1 #include <stdio.h> 2 3 int ...

  2. Android使用poi遇到的问题

    原文:Android使用poi遇到的问题 关于Poi使用可以看这一篇[开源库推荐]#4 Poi-办公文档处理库 本篇主要讲些在Android上使用出现的问题 问题 原本是需要一个导出xlsx表格文件的 ...

  3. Android 自定义View模板代码记录

    原文地址:Android 自定义View模板代码记录 - Stars-One的杂货小窝 每次写自定义View,需要重写3个构造方法,如果使用Android Studio直接创建,会导致View代码过多 ...

  4. day23-服务器端渲染技术01

    服务器端渲染技术01 为什么需要jsp? 在之前的开发过程中,我们可以发现servlet做界面非常不方便: 引出jsp技术=> jsp=html+java代码+标签+javascript+css ...

  5. 踩坑经历-jenkins安装使用

    最近在整理之前临时记的笔记,好久之前了,大概记录下. 按照教程安装jenkins,随机选了个不是最新版的docker版本,然后一路下一步,但是到安装推荐插件就没有全部安装成功,我接着走下去想进到&qu ...

  6. [bzoj2120]数颜色/维护队列 (分块)

    数颜色/维护队列 [做题笔记] 此生第一道不贺题解\(AC\)的分块蓝题!!! 题目描述 墨墨@hs_mo购买了一套 \(N\) 支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨 ...

  7. Python 潮流周刊第 42 期(摘要)+ 赠书《流畅的Python》6本

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  8. CodeForces Hello 2024 个人题解(A~C)

    A. Wallet Exchange 时间限制: 1秒 内存限制: 256兆 输入: 标准输入 输出: 标准输出 Alice and Bob are bored, so they decide to ...

  9. C++ 构造函数 explicit 关键字 成员初始化列表

    通常,构造函数具有public可访问性,但也可以将构造函数声明为 protected 或 private.构造函数可以选择采用成员初始化表达式列表,该列表会在构造函数主体运行之前初始化类成员.与在构造 ...

  10. 使用现代身份验证(OAuth)调用 EWS 服务

    我的博客园:https://www.cnblogs.com/CQman/ 转载: https://mp.weixin.qq.com/s?__biz=MzU0MzUxMzU2NA==&mid=2 ...