论文部分内容阅读
随着互联网的迅猛发展,大规模网络入侵正在以前所未有的态势威胁着整个网络安全。在所有的网络攻击中,分布式拒绝服务(DDoS)攻击由于其潜在的破坏性强,而且难于防止和追查,成为一种常见的攻击方式。传统DDoS攻击是利用低层协议(TCP层或IP层)的漏洞,使傀儡主机向目标主机发送大量无用分组或建立半开放TCP连接,造成目标主机CPU资源或者网络带宽的耗尽,典型的攻击有SYN/ACK Flooding(泛洪)、UDP Flooding、ICMP Flooding。由于DDoS攻击的严重性,研究人员提出了多种防御方案,如:利用概率包标记(probabilistic packet marking,PPM)来进行攻击源追踪[1]和用统计方法来防御网络层DDoS攻击[2-3]。然而,从近几年来看,随着网络协议栈低层防御技术的不断完善,网络攻击不再局限于协议栈低层,出现了向高层发展的趋势。使用高层协议进行的攻击我们称之为应用层攻击。此攻击的特点是利用高层的应用层协议的协议特点针对特定服务展开攻击,例如针对TCP/IP协议创建连接而不会主动断开连接的特点进行的Connection Flood攻击,针对DNS协议本身的缺陷,攻击者惯用的DNS Flood攻击,以及以消耗Http服务器资源为目的的Http Get攻击。本文根据当前应用层攻击的特点提出了针对两种应用层攻击的检测手段和防御方法,其分别为:基于统计分析和流量控制的DNS Flood拒绝服务攻击检测和防御及基于流重组和重定向技术的Http Get Flood拒绝服务攻击检测和防御。本文所提出的针对DNS Flood的检测防御方式,其优势在于:一,检测部分使用数据挖掘的方式,针对最近一段时间的数据流量,统计得出流量的特征,特征数据会随攻击发生的情况而改变,更具有针对性,使得防御效率更高;二,过滤部分具有路由功能,将客户端发往DNS服务器的流量分流到过滤器,实现定向分流,有效避免单点阻塞,增加系统的抗攻击能力;三,整个防御体系结构清晰明了,使用灵活,便于实现;四,通过限制攻击地址进行查询可以减轻DNS攻击的影响,在现实环境中这么做的DNS服务器很少,本文提出的过滤方式,弥补了这一缺陷,对可疑的进行封禁,有效提高了防御效率。本文提出的基于流重组和重定向技术的验证机制来防御Http Get应用层攻击,保证只有合法用户请求能够到达服务器。该验证机制作用于服务端的IP层和客户端的应用层,实现了对客户端的透明性和服务端低的资源消耗。