[发明专利]抵御拒绝服务攻击的方法有效
申请号: | 200710177387.8 | 申请日: | 2007-11-16 |
公开(公告)号: | CN101436958A | 公开(公告)日: | 2009-05-20 |
发明(设计)人: | 王睿;申龙哲;李有永;马洁;涂福恩 | 申请(专利权)人: | 太极计算机股份有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L29/06 |
代理公司: | 北京元本知识产权代理事务所 | 代理人: | 叶 凡;秦力军 |
地址: | 100083北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 抵御 拒绝服务 攻击 方法 | ||
技术领域
本发明涉及一种在网关设备上抵御拒绝服务攻击的方法,特别涉及基于netfilter和syn-cookie实现防御syn flooding攻击的方法。
背景技术
拒绝服务攻击(Denial of Service,DoS)是目前比较有效而又非常难于防御的一种网络攻击方式,它的目的就是使服务器不能够为正常访问的用户提供服务。所以,DoS对一些紧密依靠互联网开展业务的企业和组织带来了致命的威胁。
Syn flooding是最为有效和流行的一种DoS攻击形式。它利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的资源,从而不能够为正常用户提供服务。
Syn flooding由于其发起攻击简单、难以防范,且攻击效果明显,是目前危害最大的DOS/DDOS攻击之一。Syn flooding攻击发起时,攻击者会以每秒数万至数十万个的速度向被攻击服务器发送伪造的TCP syn包,这些攻击包到达服务器后会迅速占满其半开连接队列,导致后续正常连接无法建立起来。新版本的linux在半开连接队列的维护上作了一些改进,新到的连接请求会挤掉队列里最“老”的一个连接请求,而占据队列里的一个位置,这样当攻击结束之后,立即可以接收新的连接,而不必等待半开连接超时。但是这种方法并不能抵御synflooding攻击,因为攻击进行时,伪造的syn包流量非常大,正常连接请求的syn包即使能够抢占半开连接队列中的一个位置,也会在其完成TCP三次握手前被伪造的syn包挤出队列,正常连接同样无法建立起来。
如果被攻击的服务器部署在一个网关设备所保护的网络之内,并且该网关设备启用了状态检测包过滤或NAT功能——事实上这种情况非常常见,那么该网关设备也会受到攻击的影响。状态检测和NAT都需要维护一个连接表,synflooding攻击时,系统要为每一个syn包建立一个表项,很显然,即使该网关设备有很高的性能,能支持百万连接,其连接表也会在数秒内被耗尽。一旦连接表被耗尽,后续连接将无法建立,这样一来不单是被攻击的服务器无法访问,所有需要通过该网关设备的访问和服务都将无法进行。所以,防火墙这类网关设备对防御syn flooding攻击的需求,显得比服务器更为重要。
目前,linux内核里已实现了syn-cookie,其基本思想是,任何一个syn包到来时,先不为其分配任何资源,而是立即回应一个syn/ack包,该包中的TCP序列号利用原syn包的特征字段和一个密钥使用一定的加密算法或散列算法算得,这个序列号就是一个cookie。如果前面提到的这个syn包是一个正常访问的开始,那么客户端收到syn/ack后会回应一个ack包,并以cookie+1作为该ack包的ack值,服务器收到ack包后会验证cookie的正确性,如果正确,则接受该连接,否则丢弃。而如果syn包是攻击者伪造的,那么它将收不到回应的syn/ack,即使它再次伪造一个ack包,到达服务器后也无法通过cookie的验证,只会被静静的丢弃。通过这种验证机制,syn-cookie可以从大量的syn包中挑出正常的连接并为其服务,而阻拦住伪造的连接。但是,linux内核里的syn-cookie其设计上只是保护了linux系统本身,对于通过它转发的syn flooding攻击,或者说当它作为一个网关时对于内部网服务器所遭受的syn flooding攻击,它却无能为力。
Netfilter是linux下的一个包过滤工具,为大多数linux平台防火墙设备所采用,netfilter支持状态检测和NAT,使用这两种功能时需要维护一个连接表,任何一个TCP包(不仅仅是TCP包)只要不是已知连接的一部分,都要在连接表中为其创建一个表项。Netfilter的这一特点使得它在syn flooding攻击进行时会成为重要的受害者。
随着网络技术的发展,带有状态检测和NAT功能的网关设备被广泛使用,而一旦攻击爆发,不单单是被攻击者失效,网关也会因为不堪重负而失效,一旦网关失效,整个内部网与外部的连接将被中断。本发明正是在这样一种情况下产生的,旨在网关设备上实现syn flooding攻击防御,保护网关本身和内部网络。
发明内容
本发明的目的是提供一种基于netfilter和syn-cookie抵御拒绝服务攻击如synflooding攻击的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于太极计算机股份有限公司,未经太极计算机股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710177387.8/2.html,转载请声明来源钻瓜专利网。