论文部分内容阅读
自DDoS攻击被发现以来,这种具有巨大破坏力的网络攻击方式一直饱受关注,成为了广大网络安全领域企业和科研人员的主要研究内容。随着时代的发展与技术的进步,近年来DDoS攻击的样式和种类都发生了很大的变化。现存的DDos攻击方式,除了 SYN洪泛、ICMP和UDP洪泛等许多传统攻击方式,各种各样的应用层DDoS攻击流量出现在网络上,随之带来了各种崭新的攻击模式,如HTTP、HTTPS和DNS等服务的请求指令洪泛模式。在此,我们将这类形式的DDoS攻击统称为应用层DDoS攻击(应用层分布式拒绝服务攻击)。随着网络应用的普及与发展,现存的DDOS攻击主要有两个特点:一是由于虚拟市场上也出现了一大批操作简单且收费极低甚至免费的应用层DDoS攻击产生工具导致攻击者们发起网络攻击的门槛越来越低;二是由于网络用户的不断增加以及网民们对于安全问题的不够重视,越来越多的僵尸网络以及傀儡机出现,甚至出现了用来进行金钱交易达到谋利目的出租僵尸机。由于这些生产工具的简易型以及大众对于攻击带来的伤害具有盲目性,许多不法分子看到了商机,有目的的人可以简单的发起一次攻击,攻击对象可能是一个人,也可能是一家公司甚至一个政府机构。由于我们没有办法杜绝不法分子的出现以及网络上攻击工具的传播,所以高效准确的应用层DDoS攻击检测系统就变得非常具有其必要性。DDoS攻击大致可以分为三个阶段:产生,传播,攻击。我们无法杜绝攻击的产生,也无法在其传播过程中进行阻挡。因此,服务器不可能免除遭受DDoS攻击的可能性,我们能做的就是在攻击一开始的时候就必须准确的检测到攻击,随即根据攻击模式采取相对应的防护措施,以最大的可能性将攻击者带来的恶意影响控制到最小。由于针对应用层的不同协议产生的DDoS攻击具有各自不同的攻击特性与攻击模式,因此我们的算法在设计时选择了针对应用层HTTP协议的洪泛攻击作为我们的主要研究对象。我们采用的攻击检测方法使用访问节奏矩阵作为流化模型,定义了异常度作为检测DDoS攻击的重要参数,并在检测到攻击后对攻击主机IP进行识别。对应于我们的流量数据中,我们提取分组包的相应特征,如:分组包的大小以及分组包的间隔到达时间。通过对以上两个特征进行线性变换,将我们重新定义的数据流中相邻的三个分组包特征进行整合,整合后得到一对特征值。我们将得到的每对特征值对应到我们初始化的矩阵中,并将该矩阵定义为访问节奏矩阵。每个访问节奏矩阵对应一个数据窗口,记录了该数据窗口内数据流量的表现特征。因此,我们对每个访问节奏矩阵定义一个异常度。异常度的定义基于正常状态下的访问节奏矩阵,异常度代表了每个访问节奏矩阵与正常访问节奏矩阵之间的差异性。我们对使用没有发生DDoS攻击的流量构造的访问节奏矩阵进行了异常度的统计计算,并根据统计结果定义了矩阵的异常度的阈值。一旦某个数据窗口生成的访问节奏矩阵的异常度超出阈值,我们认为该数据窗口内发生了应用层DDoS攻击。检测到攻击后,我们的算法还可以对之后的数据窗口内的访问主机的IP进行识别,可以对攻击主机IP进行标记。