论文部分内容阅读
分布式拒绝服务攻击(DDoS),一直是互联网业务提供者-Web服务器所面临的最为严重的威胁之一。传统基于网络层或传输层的DDoS攻击方式已经被日益成熟的网络防护技术(防火墙、入侵检测技术等)很好地检测,同时计算模式的变化使得更多的服务通过Web进行交互,这加速了DDoS攻击方式向应用层发展。发生在应用层的DDoS攻击通常采用真实IP地址作为攻击节点,利用应用层协议的漏洞,向目标服务器发送大量基于HTTP合法协议的攻击请求,可轻松穿越网络防护系统,这无疑使它成为当前Web服务器急需解决的安全问题。然而目前大部分的研究成果是对网络层或传输层DDoS攻击进行检测,已经不适合基于应用层DDoS攻击的检测。已有的应用层DDoS攻击检测方法也主要针对基于HTTP协议的洪式攻击检测,通过对HTTP请求的流量特征或协议特征进行统计分析来实现攻击检测,这对于采用正常速率攻击请求的非对称攻击方式则是无效的。由于正常用户的页面浏览过程具有连续性与集中性,所以本文以应用层“用户点击行为”为观测角度实现应用层非对称和突发流量背景下的应用层DDoS攻击检测。研究思路:(1)从服务器端采集的大量HTTP请求中识别出用户点击行为;(2)以用户点击为基础,采用用户点击序列的随机游走模型对应用层洪式、非对称DDoS攻击进行识别;(3)通过用户点击活跃度的皮尔逊相关系数建模实现突发流量背景下的应用层DDoS攻击检测;(4)通过基于多核的并行化软件架构实现攻击检测算法。主要研究内容:1.在用户访问网站过程中,浏览器会自动产生大量的HTTP请求,造成了从服务器端得到的请求中识别出真实用户点击的困难。为此,本文提出了一种基于隐半马尔科夫模型的方法从服务器端采集的海量HTTP请求中识别出用户点击。针对不同网站所采用的网站架构与内嵌元素的差异性,利用K-means聚类算法进行网站对象聚类,提高识别方法的实用性。2.针对应用层洪式非对称DDoS攻击,本文提出基于随机游走模型的检测方法。该方法基于不同时间间隔的用户点击序列的相似性,利用训练数据建立用户点击序列模型;而后通过用户所点击页面构造随机游走图,以当前观测周期内用户点击转移概率作为初始概率分布向量,通过训练模型中的转移概率作为邻接矩阵进行随机游走过程训练,从而得到稳定的转移概率向量。反复训练预测得到用户下一观测周期内的点击序列,根据其与采集得到的用户点击序列相似度比较来判断请求序列的合法性。由于网站页面数量庞大,本文通过聚类算法根据页面流行度、链接深度与用户忠诚度对页面进行聚类,简化随机游走图的构造。3.在网络突发流量背景下,由于突发流所带来的海量数据给服务器带来大量的资源消耗,此时即使少量的攻击数据都会给受害者服务器带来致命打击。这令隐藏于突发流中的应用层DDoS攻击检测困难重重,在有效的准确性基础上如何提高算法的实时性更是检测成败的关键。本文根据用户点击的变化构造用户请求序列,通过计算观测序列的相关系数相对于正常用户数据训练模型的变化来确定其正常程度,实现攻击者的识别。4.网络攻击流量增长迅速,10Gbps已经广泛用于接入网链路,这给需要实时处理海量网络数据的网络攻击检测算法实现带来困难。为此本文提出了一种基于通用多核处理器平台的可用于实现网络安全检测算法的并行化架构,它将具有相似属性的数据包被分配至相同处理器核,减少多核之间的通信;利用分块的方式将独立数据分配给不同线程,提高线程的并行效率。通过实际采集的运营商数据与构建真实网络实验环境对攻击检测算法的准确性与实用性进行检验,实验结果表明本文所提出的方法可以有效检测出正常流与突发流背景下针对网站的应用层分布式拒绝攻击。检测方法可部署在运营商Internet数据中心(IDC)机房,实现对其下托管Web服务器的实时保护,同时也为研究未来互联网中的Web应用安全设计提供借鉴。