论文部分内容阅读
随着互联网的发展,分布式拒绝服务攻击(Distributed Denial of Service,DDoS)逐渐成为网络安全的一大威胁。DDoS攻击通过控制大量受控主机协同地向目标服务器发送海量类似正常请求的数据包,瞬时间耗尽目标网络的带宽和目标系统的资源,使得目标服务器拒绝服务。近年来,最盛行的DDoS攻击是基于HTTP(HyperText Transfer Protocol,超文本传输协议)的应用层攻击。它利用应用层协议对Web服务发起攻击,在流量特征、数据包特征等方面与正常流基本无差别,因此,相比其他DDoS攻击更难检测。由于操作简单、成本低、攻击效果好,它逐渐成为利用率最高的攻击之一。目前,学术界已有大量检测DDoS攻击的文献。方法大致分为两类:统计和机器学习。对于基于HTTP的应用层DDoS攻击,本文提出了一种统计与机器学习相结合的实时检测方法,并设计了分为数据统计、初步检测、深度检测和清洗防御4个阶段的检测流程。初步检测阶段使用信息熵检测攻击窗口;深度检测阶段对每个攻击窗口中的数据划分样本,并使用机器学习模型分类,标记可疑客户端。本文为两个不同类型的检测阶段选择了不同的样本标准和特征,极大地提高了检测精度。除此之外,本文还提供了有效的清洗策略。该方法一方面减少了直接使用机器学习分类算法进行检测所产生的巨大计算开销,另一方面提高了仅基于统计的检测系统的适应性、扩展性和准确性。本文使用模拟数据集和云平台数据集验证了该检测方法的可靠性和实用性。本文在初步检测阶段比较了2种信息熵方法;在深度检测阶段比较了3种机器学习二分类算法,并分析了各二分类算法在实时检测中的表现。实验表明,香农熵优于Renyi熵,随机森林和决策树更适用于实时检测。在两个数据集上,该方法都取得了高于98.5%的攻击检测率和低于0.5%的攻击误报率。