论文部分内容阅读
拒绝服务(Denial of Service,DoS)攻击通过某种手段使服务器无法正常响应,达到阻止合法用户对正常网络资源访问的目的。传统的DoS攻击主要针对传输层、网络层,常用的攻击手段有TCP Flood,SYN Flood等洪水攻击,这类攻击称为分布式拒绝服务攻击(Distributed Denial of Service,DDoS)。而随着互联网的快速发展,针对应用层的拒绝服务攻击开始出现。相比传统的DoS攻击,应用层DoS攻击通过建立合法的网页请求来消耗服务器资源或网络带宽,具有更强的隐蔽性,并造成更大的危害。本文重点研究应用层拒绝服务攻击中的CC(Challenge Collapsar,挑战黑洞)攻击和慢速HTTP(HyperText Transfer Protocol,超文本传输协议)攻击,针对两种攻击的特点,提出了能够有效检测两种攻击的方法,并进行实验分析与验证。同时,利用目前大数据框架技术,结合两种攻击检测方法,实现了基于Spark的应用层拒绝服务攻击检测系统。本文具体研究内容如下:(1)针对现有CC攻击的检测方法存在误报率高或执行效率低等问题,本文利用依托项目合作获取的某市HTTP流量数据和DNS(Domain Name System,域名系统)解析数据,提出一种异常流量采集方法,将可能存在CC攻击的域名提取出来,并根据这些域名获取HTTP异常流量。通过包速率、URL(Uniform Resource Locator,统一资源定位符)信息熵、URL条件熵三种有效特征,利用BP(Back Propagation,后向传播)神经网络训练二分类模型对异常流量进行分类,最终实现CC攻击的检测。实验证明,这种基于熵和神经网络的CC攻击检测方法与已有方法相比,具有更高的检测率,且该方法更适用于大数据环境下的分析与检测。(2)针对近几年出现的应用层慢速HTTP攻击,目前国内的研究还比较少并且检测率不高。本文首先对慢速HTTP攻击原理进行了详细的阐述,并通过模拟实验将具体的攻击形式展示出来。通过对其攻击数据包的截获和观察,以及与真实流量进行对比,发现攻击时刻的HTTP数据包类型分布有显著差异。本文针对慢速HTTP攻击中的Slow Header和Slow Body两种模式提出了基于JS散度(Jensen-Shannon divergence)的慢速HTTP攻击检测方法。该方法将统计单位时间窗口内各HTTP数据包类型的数量,通过计算正常时刻和攻击时刻的HTTP数据包类型概率分布的相似度,通过观察JS散度变化特征,设定一个阈值。若相似度大于一定阈值则判定为带有攻击特征的时段;反之,则判定为正常时段。最后通过仿真实验,验证了该方法的有效性,并与其它方法进行对比。实验证明该方法对单机和分布式的Slow Header、Slow Body模式的慢速HTTP攻击都具有更高的检测率。(3)由于网络流量数据较大,且本文所提的两种方法都适用于大数据环境,所以本文设计了一个基于Spark平台的大数据系统,并将两种算法移植到大数据平台上,利用HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)分布式存储和Spark分布式计算的优势,提高在大数据环境下检测算法的计算效率。