一种DDOS攻击的检测方法-职业技术教育论文
一种DDOS攻击的检测方法
李秀婷
(中国电子科技集团公司第二十研究所,陕西西安 710068)
【摘要】状态协议分析通过对协议执行过程中状态的转换情况进行分析,将网络攻击过程转化为协议状态迁移,可有效检测DDOS等多步骤攻击。依据SYN Flooding的攻击原理,对TCP三次握手时状态转换过程进行分析,运用二叉排序树维护每一个TCP会话连接,并进行状态的转换更新,对异常会话状态进行统计来实现对SYN Flooding攻击的检测。在给出算法描述的基础上并测试验证了其有效性。
关键词 DDOS;状态转换;SYN Flooding;二叉排序
1分布式拒绝服务攻击DDOS的原理
拒绝服务攻击DOS是黑客通过向网络发送大量数据,消耗系统资源或网络带宽,占用及超越受攻击服务器的处理能力,导致网络或系统不负重荷,停止对合法用户提供正常的网络服务。常见的拒绝服务攻击有SYN Flooding,teardrop,smurf,udp flood等[2]。分布式拒绝服务攻击DDOS是在传统DOS攻击的基础上演变而成的。DOS攻击一般采用一对一的方式,即从一个攻击源攻击一个目标。而DDOS采用多对一的方式,将多个计算机联合起来作为攻击平台,对目标发动DOS攻击,从而成倍的提高拒绝服务攻击的威力。
2一种DDOS检测方法
DDOS攻击通常采用多步骤攻击,我们采用状态协议分析进行DDOS攻击的检测。状态协议分析方法是将网络协议及其攻击看做一个有步骤的、连续的、前后相关的行为过程。我们以针对TCP三次握手建立连接的典型攻击SYN Flooding为例,给出具体的检测方法。
TCP协议通过三次握手成功地在客户机和服务器之间建立连接。首先客户机向服务器发送一个设置SYN标志的TCP报文段,服务器以设置SYN标志和ACK标志的TCP报文段应答,最后客户机向服务器发送一个设置ACK标志的TCP报文段进行确认。这样客户机和服务器之间的TCP连接就建立起来了[3]。TCP三次握手中,如果客户机向服务器发送了SYN报文,服务器在发出SYN和ACK应答报文后,没有收到客户端的ACK报文,此时该连接将保持挂起状态,如果出现大量这样的恶意连接,服务器端将会为了保持一个非常大的半连接列表而消耗非常多的资源,从而导致服务器失去响应,造成SYN Flooding攻击。
检测SYN Flooding攻击的算法主要思想是:在限定的时间内,如果处于半连接状态的TCP会话数目大于设定的阈值后就进行报警。算法分为三个主要模块:抓包及协议解析模块,TCP会话树建立维护模块以及会话状态转换模块。
算法采用winpcap进行数据包的捕获,基于winpcap库捕获数据包的主要函数及流程[4]如图1所示:
数据包被捕获后进行协议解析,以得到每个数据包的具体协议信息。数据包的解析算法严格按照TCP/IP协议规定,依次分解出数据链路层,网络层,传输层各层协议首部,将结果存入预先定义的结构体中,协议解析的流程如图2。
对于客户端发起的每一个TCP会话连接,使用二叉排序树来存贮会话信息,每个会话节点都包括了此会话
一种DDOS攻击的检测方法 来自淘豆网m.daumloan.com转载请标明出处.