一种洪水攻击检测方法

文档序号:9399303阅读:465来源:国知局
一种洪水攻击检测方法
【技术领域】
[0001]本发明涉及洪水攻击检测领域,尤其涉及一种洪水攻击检测方法。
【背景技术】
[0002]SYN洪水攻击(SYN_FL00D)是一种广为人知的拒绝服务攻击(DOS)与分布式拒绝服务攻击(DDos)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CHJ满负荷或内存不足)的攻击方式。TCP连接建立时,客户端会发送一个包含同步(Synchronize,SYN)标志的TCP报文,同步报文会指明客户端使用的端口以及TCP连接的初始序号;服务器在收到客户端的同步报文后,接收客户端的请求后,会返回给客户端一个同步+确认报文,其中确认(Acknowledgment,ACK),此时TCP序号被加I ;当客户端接收到同步+确认报文后,会返回给服务器一个确认报文,此时TCP序列号被加1,一个TCP连接完成。如果服务器发出同步+确认报文后,没有收到相应的客户端的确认报文时,会重试发送同步+确认报文,并等待一段时间(大约30s-2min)后丢弃这个未完成的连接。洪水攻击就是服务器收到了大量的未完成的连接请求,使正常的客户请求无法请求。要让服务器稳定地运行,及时地检测出洪水攻击成为重中之重。
[0003]目前,洪水攻击的检测方法一般为简单地统计报文中同步报文数量,当同步报文数量大于预先设定的阈值时,就确定服务器遭受洪水攻击。这样的统计方式误判率很大,而误判率大就很可能使管理员忽视其检则出的攻击告警信息,这样就容易使真正的攻击有机可成。

【发明内容】

[0004]有鉴于此,本发明实施例提供一种洪水攻击检测方法,以解决现有技术中洪水攻击检测误判率很大的技术问题。
[0005]本发明实施例提供了一种洪水攻击检测方法,包括:
[0006]当接收到同步报文时,提取所述同步报文的报文特征;
[0007]将报文特征相同的同步报文进行累加计数,作为计数值;
[0008]当接收到所述同步报文的确认报文时,将所述计数值减I ;
[0009]当所述第一计数值大于预设阈值时,判断遭到洪水攻击。
[0010]本发明实施例提供的一种洪水攻击检测方法,通过提取接收的同步报文的报文特征,并对报文特征相同的同步报文进行累加计数,当收到与同步报文相对应的确认报文时,表明连接建立,此时将计数值减I。当计数值大于预设阈值时,判断遭到洪水攻击。通过采用上述洪水攻击检测方法,可以提高洪水攻击检测的准确率,从而减轻管理员的工作负担并且能极大地提高被保护服务器的稳定性。
【附图说明】
[0011]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
[0012]图1为本发明实施例一提供的一种洪水攻击检测方法的流程图;
[0013]图2为本发明实施例二提供的一种洪水攻击检测方法的流程图。
【具体实施方式】
[0014]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
[0015]实施例一
[0016]图1为本发明实施例一提供的一种洪水攻击检测方法的流程图。本实施例的方法具体用于服务器对于洪水攻击的检测。本实施例的方法可以由服务器洪水攻击检测装置执行,该装置可由软件和/或硬件来实现,集成在可检测洪水攻击的服务器中。如图1所示,该方法包括:
[0017]S101、当接收到同步报文时,提取所述同步报文的报文特征。
[0018]在本实施例中,同步报文为用户向服务器发送的报文,表示用户向服务器发起数据连接。报文特征可以为报文的源端口、目标端口、源地址、目标地址和协议类型。
[0019]示例性的,当服务器接收到用户发送的同步报文时,提取所述同步报文的报文特征。提取报文特征可以为提取一种报文特征、或提取多种报文特征结合的方式。优选为提取同步报文的目标地址。
[0020]S102、将报文特征相同的同步报文进行累加计数,作为计数值。
[0021]示例性的,服务器将具有相同特征的同步报文进行累加计数,作为计数值。优选为,将具有相同目标地址的同步报文进行累加计数,作为计数值。计数方法可以为设置哈希数组进行计数,也可以为设置计数模块进行计数。优选为采用哈希数组进行计数。将报文特征相同的同步报文进行累加计数,还可以包括先判断同步报文的报文特征是否已经存在服务器中,若存在,则可以对相同报文特征的同步报文进行累加计数;若不存在,则可以先获取同步报文的报文特征,并将报文特征存储至服务器中。优选为,先判断同步报文的报文特征是否已经存在第一哈希数组中,若存在,则可以对相同报文特征的同步报文进行累加计数;若不存在,则可以先获取同步报文的报文特征,并将报文特征存储至第一哈希数组中。
[0022]S103、当接收到所述同步报文的确认报文时,将所述计数值减I。
[0023]示例性的,确认报文为用户向服务器发送连接请求的同步报文并收到服务器反馈后,向服务器发送一个表示确认连接的报文。服务器在接收到确认报文后,与该用户建立服务连接。
[0024]示例性的,当服务器接收到与同步报文相对应的确认报文后,表明服务器与用户之间建立正常连接,就可以将记录相同同步报文特征的计数值减I。服务器判断同步报文相应的确认报文的方式可以为通过同步报文和确认报文的一种报文特征或多种特征结合的方式进行判断。优选为,分别提取同步报文和确认报文的源端口、目标端口、源地址、目标地址和协议类型(IP五元组)结合的方式进行判断。具体结合方法可以为:将同步报文和确认报文的源端口、目标端口、源地址、目标地址和协议类型进行哈希计算,根据哈希计算值进行判断;将同步报文的源端口、目标端口、源地址、目标地址和协议类型分别与确认报文的目标端口、源端口、目标地址、源地址和协议类型按照特定方式进行比较。优选为,将同步报文和确认报文的源端口、目标端口、源地址、目标地址和协议类型进行哈希计算取得哈希值,当同步报文的哈希值与确认报文的哈希值相同时,表明接收的是与该同步报文相对应的确认报文,即用户和服务器建立正常连接,此时统计相同同步报文特征的计数值减I。
[0025]示例性的,将服务器接收的同步报文的哈希值与确认报文的哈希值进行比较的方法优选为:创建第二哈希数组,并将第二哈希数组的标识值设为第一预设值,第一预设值可以根据实际情况设定。得出同步报文哈希值后,在第二哈希数组中查找相应的同步报文哈希值,并将对应的哈希数组标识值变为第二预设值,第二预设值也可以根据实际情况设定。当得出确认报文的哈希值后,在第二哈希数组中查找相应的哈希值,并判断查找到的哈希值对应的标识值是否为第二预设值,若是第二预设值,表明有同步报文等待确认报文确认连接,则建立相应用户与服务器之间的连接,并将统计同步报文的计数值减1,相对应的将第二哈希数组的标识值变更为第一预设值。若当得出确认报文的哈希值
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1