一种防御Syn洪水攻击的方法技术

技术编号:34940384 阅读:21 留言:0更新日期:2022-09-17 12:13
本发明专利技术提供一种syn洪水攻击的防御方法与装置,涉及数据处理技术领域,接收到第一个Syn报文时,将该报文记录在一个hash表中,同时把报文信息记录在一个双向的链表中的尾部。完成记录中,第一个报文不做转发。当接收到第二个重传的syn报文时,在hash表和链表中,找到相关节点,并移除。该报文正常转发。当链表和hash表满的时候,把双向链表的头部的节点清除,其他节点依次前移。同时,引入老化机制,在一定的时间段,要清除链表和hash表中记录的接收过的syn报信息,保证防护的实效性和系统的健壮性。该方法对变化源IP地址的Syn洪水攻击防护能力提升显著,而且操作、配置灵活,只需要适当增加流表的大小,就可增强对Syn洪水攻击的抵御能力。力。力。

【技术实现步骤摘要】
一种防御Syn洪水攻击的方法


[0001]本专利技术涉及网络安全领域
,尤其涉及一种防御Syn洪水攻击的方法。

技术介绍

[0002]Syn洪水攻击是一种常见的DoS攻击,通过发送大量的TCP的syn包,在服务器返回syn ack的响应后,又不回应服务器的syn ack请求,从而达到消耗服务器的资源,导致服务器的资源耗尽,而正常的请求却得不到服务器的响应。
[0003]现有技术主要是基于SYN Cookie的手段。其原理是,在服务器等设备收到客户端的SYN包时,返回SYN+ACK包,并根据这个SYN包计算出一个cookie值返回去。当再收到该客户端的ACK包时,该设备根据已计算出的cookie值检查这个ACK包的合法性。如果合法,帮助该客户端和服务端的设备建立TCP连接。基于SYN Cookie方法的算法有很多种,其避免了攻击者伪造地址的可能性。
[0004]现有技术性能差。攻击者构造一个伪造源地址和源端口的SYN欺骗包的开销极其小。而SYN Cookie的方法,需要计算Cookie、构造SYN+ACK包、查找反向路由、计算TCP和IP的校验和等等。容易形成反射攻击。当攻击者A伪造了自己的地址成B,而网关按照其伪造的地址B回了一个SYN+ACK。当攻击者大量伪造地址B进行发包,会导致B会收到并处理大量的SYN+ACK报文。实质上是攻击者A利用网关对B实施的一个Dos反射攻击。

技术实现思路

[0005](一)专利技术目的
[0006]为解决
技术介绍
中存在的技术问题,本专利技术提供一种防御Syn洪水攻击的方法,能够有效的防御洪水攻击。Syn洪水攻击通过变化IP地址,伪造源地址和端口对目标发送大量的TCP的Syn连接请求,导致该目标设备占用大量资源处理这些伪造的SYN包,直至系统资源耗尽或者系统太忙无法响应正常的请求,从而形成拒绝服务。
[0007](二)技术方案
[0008]本专利技术提出了一种syn洪水攻击的防御方法,接收到第一个Syn报文时,将该报文记录在一个hash表中,同时把报文信息记录在一个双向的链表中的尾部;完成记录中,第一个报文不做转发;当接收到第二个重传的syn报文时,在hash表和链表中,找到相关节点,并移除;完成记录中,第一个报文不做转发,当接收到第二个重传的syn报文时,在hash表和链表中,找到相关节点,并移除,该报文正常转发。
[0009]优选地,Syn报文处理流程,含以下步骤:
[0010]收到syn报文,从hash表中查询表中是否存在该节点;
[0011]如果存在,则转发该报文,并将hash表和链表中该节点删除;
[0012]如果不存在,则丢弃该报文,并在hash表中增加节点,在链表的尾部增加该节点。
[0013]优选地,还包括资源回收流程:设置超时机制,在一段时间内,删除超时节点。
[0014]优选地,在一定的时间段,要清除链表和hash表中记录的接收过的syn报信息。
[0015]本专利技术的上述技术方案具有如下有益的技术效果:
[0016]本专利技术提出了一种对syn洪水攻击的防御方法,采用hash表和双向链表记录syn报文信息,并对第一个报文做丢弃处理,在实际使用中,对syn洪水攻击效果显著。该方案也可以根据实际系统情况,灵活的配置hash表和链表的长度,可以有效的抵御不同程度的syn洪水攻击。
附图说明
[0017]图1为本专利技术提出的syn洪水攻击的防御方法syn包处理流程。
[0018]图2为本专利技术提出的syn洪水攻击的防御方法中定时删除超时节点流程图。
具体实施方式
[0019]为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。
[0020]如图1所示,本专利技术提出的syn洪水攻击的防御方法,接收到第一个Syn报文时,将该报文记录在一个hash表中,同时把报文信息记录在一个双向的链表中的尾部。完成记录中,第一个报文不做转发。当接收到第二个重传的syn报文时,在hash表和链表中,找到相关节点,并移除。该报文正常转发。
[0021]当链表和hash表满的时候,把双向链表的头部的节点清除,其他节点依次前移。
[0022]同时,引入老化机制,在一定的时间段,要清除链表和hash表中记录的接收过的syn报信息,保证防护的实效性和系统的健壮性。
[0023]该方法对变化源IP地址的Syn洪水攻击防护能力提升显著,而且操作、配置灵活,只需要适当增加流表的大小,就可增强对Syn洪水攻击的抵御能力。
[0024]具体的,如图1

2所示,Syn报文处理流程:
[0025]收到syn报文,从hash表中查询表中是否存在该节点。
[0026]如果存在,则转发该报文,并将hash表和链表中该节点删除。
[0027]如果不存在,则丢弃该报文,并在hash表中增加节点,在链表的尾部增加该节点。
[0028]资源回收流程:
[0029]设置超时机制,在一段时间内,删除超时节点。
[0030]该机制即可防止资源的过分占用,又能对段时间的重复的攻击起到防护作用。超时删除机制可以灵活的配置,主要是思路是,有效的回收资源,不要让资源一下子被占用,另外,对一定时间段内的记录,及时删除,通过这种手段,可以防止同一报文再次攻击时生效。
[0031]另外,也可以根据实际的攻击场景,设置丢弃几个syn包,达到抵御攻击的效果。
[0032]本专利技术实施例中根据syn洪水攻击的特点,对首个syn报文进行丢弃,实现上,采用hash和双向链表,两种结构来保存syn报文的信息,即能快速查找,又能保证数据回收的顺序性。
[0033]缩略语的中英文全称
[0034]DoS攻击:DoS是Denial of Service的简称,即拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络宽带攻击和连通性攻击。
[0035]Syn flooding:SYN Flooding攻击是一种很古老的攻击,其实质是DoS(即拒绝服务攻击),该攻击是利用TCP/IP的三次握手,利用大量虚假的IP身份建立不完整连接,消耗目标主机的CPU。从而使目标主机近于瘫痪。
[0036]TCP三次握手:TCP为了对每次发送的数据量进行跟踪与协商,确保数据段的发送和接收同步,根据所接收到的数据量而确认数据发送、接收完毕后何时撤消联系,并建立虚连接。
[0037]应当理解的是,本专利技术的上述具体实施方式仅仅用于示例性说明或解释本专利技术的原理,而不构成对本专利技术的限制。因此,在不偏离本专利技术的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本专利技术的保护本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种防御Syn洪水攻击的方法,其特征在于,接收到第一个Syn报文时,将该报文记录在一个hash表中,同时把报文信息记录在一个双向的链表中的尾部;完成记录中,第一个报文不做转发;当接收到第二个重传的syn报文时,在hash表和链表中,找到相关节点,并移除;完成记录中,第一个报文不做转发,当接收到第二个重传的syn报文时,在hash表和链表中,找到相关节点,并移除,该报文正常转发。2.根据权利要求1所述一种防御Syn洪水攻击的方法,其特征在于,Syn报文处理流程,...

【专利技术属性】
技术研发人员:王小东王玉涛
申请(专利权)人:北京天地和兴科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1