SkyShield:基于新型Sketch的应用层DDoS攻击防御系统

作者:{Esi}@ArkTeam

原文作者:Chenxu Wang , Tony T. N. Miu, Xiapu Luo , Jinhe Wang

原文标题:SkyShield: A Sketch-Based Defense System Against Application Layer DDoS Attacks

原文会议:IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY, VOL. 13, NO. 3, MARCH 2018

针对Web服务器的应用层DDoS攻击迅速增长,已经严重威胁Web安全,DDoS攻击是通过发送大量良性HTTP请求来规避大多数入侵防御系统,Sketch-Based数据结构可以通过将高维数据流聚合到更少的维度来有效地估计原始信号,因此非常适合DDoS攻击检测。但是由于Sketch不包含有关恶意主机的直接信息,因此不能直接用于缓解攻击的问题,目前使用可逆草图推断恶意主机的IP地址的方法对计算的计算能力或存储能力有特殊要求,这限制了它们在入侵防御系统中的应用。

为了解决上述问题,本文作者提出了一个名为SkyShield的有效防御系统,它是一种新型Sketch-Based数据结构来应对应用层DDoS攻击,与之前的Sketch不同的是,SkyShield缓解攻击时无需反向计算或存储恶意主机,利用两个连续检测周期中Sketch的分散来检测异常,使用这种异常直接识别恶意主机,从而避免了密集的计算过程大大提高了系统的效率。本文的创新点:

  1. 为了减轻网络动力学的影响,作者提出了一种Hellinger距离的新变体来计算两个连续检测周期中草图之间的差异。
  2. 为了有效识别恶意主机,作者使用从上一个检测周期中获取的异常草图来避免IP地址的反向计算。
  3. 利用其他技术,包括bloom过滤器和CAPTCHA技术来保证SkyShield的有效性。


图1 SkyShield

如图1所示SkyShield部署在网络防火墙后面,可以过滤畸形的HTTP请求,并且该过程由两个阶段组成,即缓解和检测。

(1)在缓解阶段,SkyShield使用两个Bloom过滤器(白名单B1和黑名单B2)来过滤传入的请求,剩余的请求将根据异常图S3进行检查。

(2)在检测阶段,SkyShield利用两个草图S1和S2之间的分歧作为信号来检测源自恶意主机的大量请求引起的异常情况。


图2 SkyShield 识别过程流程图

由于受感染的主机可能会变得正常,并且一段时间后合法主机可能会受到攻击者的控制,所以定期以比检测周期更长的时间间隔清除黑名单和白名单。清理黑名单和白名单不会影响检测精度,因为清理周期比检测周期长很多。即使攻击持续时间超过了清理期,SkyShield也会重新夺回攻击主机,就像新攻击开始时一样。

    

图3 数据集的请求率与时间的关系

如图3所示,蓝线表示原始请求率,红色表示SkyShield过滤的请求率。图3(a)显示该集群在2015-08-15 04:21遭受了洪水攻击,并且很快被大量请求淹没。图3(b)表示2015-08-15 04:00至06:00的攻击期间的细节。可以看到,这一时期群集遭受了五波攻击。对于所有的攻击波,SkyShield可以在大约两个或三个检测周期(即少于1分钟)内将压倒性请求率降低到合理水平。

最后,作者使用SkyShield的原型,对从大型Web服务器集群收集的真实攻击数据评估其有效性。评估结果显示,SkyShield可以快速检测和缓解不同类型的应用层DDoS攻击,并不会对普通用户造成很大的影响。

发表评论

电子邮件地址不会被公开。 必填项已用*标注