一种防止DDos攻击的方法及设备的制作方法

文档序号:7655438阅读:167来源:国知局
专利名称:一种防止DDos攻击的方法及设备的制作方法
技术领域
本发明涉及数字信息的传输技术领域,尤其涉及一种网络串接模块式下 防止DDos攻击的方法及i殳备。
背景技术
随着lnternet (互联网络)在日常生活、商业活动中间的重要性越来越突 出,网络安全也随之显得异常重要。目前,网络攻击特别是拒绝服务 (DoS)式攻击也在不断增加。由于互联网的广泛共享和快速的信息交换, 亦使得发动一次小规模甚至中大规模的DDoS (Distributed Denial of Service,分布式拒绝服务)变得更加容易,例如,可以轻易利用从网上下载 到的工具软件发动起对合法网站的恶意攻击,使网络用户在享用网络带来的 便捷性的同时也要面临网络带来的危险。目前,S丫N Flood (同步洪水攻击)作为当前最流行的DoS与DDoS的 攻击方式之一,主要是利用TCP (Transmission Control Protocal,传l俞控制 协议)协议缺陷,发送大量伪造的TCP连接请求给服务器,使被攻击服务器 资源耗尽(CPU满负荷或内存不足)的攻击方式。TCP是目前广泛应用的一种网络传输控制协议,它是一种面向连接的协 议。在实际网络应用中,TCP是通过三次握手方式完成用户端(也称客户 端)与服务器端的连接认证。 一般连接认证的步骤分为三步第一步、用户发送TCP连接请求SYN (同步)报文,指明要连接的服务 器端口,以及初始序列号ISN;第二步、服务器回应用户请求,向用户发送S丫N+ACK (同步确认)报 文,同时确i人序列号为ISN+1;第三步、用户端确认服务器的回应报文,向服务器发送ACK (确认)报 文,序列号为服务器回应序列号增1。此时,即完成TCP接连的三次握手认证。SYN Flood攻击手段就是在上述连接认证的第二步中服务器发送回应报 文(SYN+ACK)后,用户端故意不发送第三步确认报文,造成服务器端一 直等待第三步握手信息,同时服务器又会反复地发送第二步回应报文,从而 导致服务器中大量资源被占用,无法处理正常的业务。目前可以采用的防御DDos攻击实现方案包括采用在网络设备中利用检 测规则判断网络设备是否处于被攻击状态,其检测规则为(1 )系统中第一次握手的半连接队列中的SYN报文数量超过正常值;(2 )系统中第 一次握手的半连接队列中的SYN报文超过了最大容量的95%;(3 )系统中第一次握手的半连接队列中的SYN^艮文增长速度超过其极限值。在上述各规则中,SYN报文数量的正常值为网络设备日常处理中的平均 值,其S丫N报文增长速度的极限值为网络设备处理正常突发流量时每秒新增 TCP连接数最大值。上述防御方法在防御10000次/秒左右攻击时,大约有 30%-50%的性能提升。在该实现方案中,网络设备依据上述检测规则进行检测,若网络设备出 现上述状况之一,便视为网络设备受到攻击,此时,网络设备执行丢弃程 序,将占用系统资源的攻击性的停留时间超过1秒的SYN报文进行丢弃。由上所述,可以发现现有技术存在至少以下问题1、当攻击性S丫N报文的数率达到网络设备的防御峰值时,被保护的网 络设备仍可能会出现大量资源被占用的情况,因而也会导致网络设备不能响 应新服务或网络设备存在当机的风险;2、要求用户十分了解自身的网络状况,并根据网络现状配置不同的检测 规则参数,这对普通网络用户来说比较复杂,而且要随着网络发展和应用的 变化,经常修改检测规则,这将给用户的使用带来不便。发明内容本发明实施例的目的是提供一种网络串接模块式下防止DDos攻击的方法 及装置,从而给用户提供安全、可靠的网络服务。本发明实施例提供一种防止DDos攻击的方法,所述方法包括 接收TCP连接请求SYN报文;检测所述TCP连接请求S丫N报文是否有效,若是,将所述TCP连接请求 S丫N报文转发给服务器端,否则,丢弃所述TCP连接请求S丫N报文。 本发明实施例还提供一种防止DDos攻击的设备,包括 接收模块,用于接收TCP连接请求SYN报文;处理模块,用于判断所述接收模块接收的所述TCP连接请求S丫N报文是 否有效,若有效,则发出通知,否则,丢弃所述接收模块接收的TCP连接请 求SYN报文;发送模块,用于根据所述处理模块发出的通知,向所述服务器端转发所 述接收模块接收的所述TCP连接请求S丫N报文。由上述技术方案可以看出,在本发明实施例中被保护网络设备(即服务 器)接收TCP连接请求SYN报文之前,需完成对TCP连接请求S丫N报文有效 性的验证,并且仅将合法有效的TCP连接请求SYN报文转发给服务器端,将 占用系统资源的攻击性TCP连接请求SYN报文抛弃,使服务器不会承担任何 由于TCP半连接造成系统资源耗尽的风险,从而实现了针对DDos对网络设备 攻击的方便、有效的安全防御,避免了因不能响应新服务或因当机而给用户造成的影响,并且由于操作简单,便于技术的推广应用。


图1为本发明实施例的设备组网系统示意图;图2为本发明实施例的防止DDos攻击的方法流程图;图3为本发明的技术原理图;图4为本发明实施例一种防止DDos攻击的装置结构示意图。
具体实施方式
本发明实施例在被保护网络设备(即服务器端)接收TCP连接请求SYN 报文之前,需完成对TCP连接请求SYN报文有效性的验证,并且仅将合法有 效的TCP连接请求SYN报文转发给服务器端,而将占用系统资源的攻击性 TCP连接请求SYN报文抛弃,从而降低了服务器由于TCP半连接造成系统资 源耗尽所承担的风险。首先,介绍如何验证来自用户端的TCP连接请求S丫N报文的有效性,以 及如何实现将合法有效的TCP连接报文转发给服务器端的过程。在本发明实施例中,当用户端向服务器端发送TCP连接请求SYN报文 时,即第一次握手请求时,检测TCP连接请求SYN报文对应的用户节点信息 是否为无效节点信息,如果检测出为无效节点信息,则直接抛弃TCP连接请 求SYN报文,并不转给服务器端;否则,依据用户的TCP连接请求信息,产 生第二次握手的TCP连接请求响应报文SYN+ACK,此时,如果用户端回应 第三次握手的TCP连接确认报文ACK,则认为是该TCP连接请求是合法有效 的,并转发后续用户端与服务器端的连接数据。在上述过程中,如果用户端无第三次握手的TCP连接确认报文ACK,即 未收到用户端返回的TCP连接确认,则认为是非法无效的TCP连接请求SYN报文,并将无效的TCP连接请求SYN报文对应的无效节点信息更新至无效节 点信息队列中,并抛弃该TCP连接请求SYN报文。在上述处理过程中,检测TCP连接请求SYN报文对应的用户节点信息是 否为无效节点信息的方法可以为通过比对发出TCP连接请求SYN报文对应 的用户端的IP地址是否出现在无效节点信息的记录队列中,若是,则认为是 无效节点信息,并丢弃该TCP连接请求S丫N报文,否则,认为该TCP连接请 求S YN报文是待确认的连接请求。其中,所述的用户节点信息可以包括用户端IP地址及用户端端口信 息;即在所述无效节点信息的记录队列中记录着无效节点对应的用户端IP地 址及用户端端口信息,且该无效节点信息可以为预先设置,也可以为根据网 络中针对TCP连接请求的有效性判断结果生成或更新该无效节点信息。为了对本发明实施例的防DDos攻击方法有进一步了解,下面结合图1和 图2,来说明本发明实施例防DDos攻击的方法流程,具体步骤如下步骤21:接收用户端发送的TCP连接请求SYN报文;步骤22:检测上述TCP连接请求SYN报文对应的用户节点信息是否为已 记录的无效节点信息中,如果检测出是已记录的无效节点,则认为TCP连接 请求SYN报文是无效的,并执行步骤30;否则,可认为该TCP连接请求SYN 报文是待确认的连接请求,并执行步骤23;上述检测规则可设置为通过比对发出TCP连接请求SYN报文的用户端 IP地址是否出现在无效节点信息队列中。步骤23:向用户端发出TCP连接请求响应报文SYN+ACK,然后,执行 步骤24;步骤24:检测是否接收到用户端发出的TCP连接确认报文ACK。如果用 户端发出TCP连接确认报文ACK,则认为TCP接连请求SYN报文是有效的, 并执行步骤25,否则该TCP连接请求SYN报文为无效的,并执行步骤29;步骤25:向服务器端发出TCP连接请求SYN报文,然后执行步骤26; 步骤26: 服务器端发送TCP连接请求响应报文SYN+ACK,并执行步骤27;步骤27:将用户端的TCP连接确认报文ACK转发至服务器端,然后执行 步骤28;步骤28:转发后续的用户端与服务器端的TCP请求和数据报文; 步骤29: 更新无效节点信息队列,将新的无效节点信息添加至无效节点 信息队列中,然后执行步骤30;步骤30:丟弃无效节点TCP连接请求SYN报文;由上述技术方案可知,在本发明实施例中被保护网络设备(即服务器) 接收TCP连接请求SYN报文之前,需完成TCP连接请求SYN报文有效性的验 证,并且仅将合法有效的TCP连接请求S丫N报文转发给服务器端,将占用系 统资源的攻击性TCP第一次握手请求报文抛弃,使服务器不会承担任何由于 TCP半连接造成系统资源耗尽的风险,从而实现了针对DDos对网络设备攻击 的方便、有效的安全防御,避免了因不能响应新来服务或因当机给用户造成 的影响,并且技术方案操作筒单,便于扶术的推广应用。由于上述所有的方法实施例都可以通过装置来实现,所以,本发明还提 供了几个装置实施例。下面再介绍本发明实施例的设备组网系统示意图,系统组成如图3所 示,图中系统包括用户端、服务器端以及防御层,其中,防御层设置于在用户端和服务器端之间,从而验证从用户端发往服务器 端的TCP连接请求S丫N报文的有效性,并仅将合法有效的TCP连接请求SYN 报文转发给服务器端。上述防御层可以是单独的一个设备,也可以为设置在用户端,或服务器 端中的装置,为了便于安装以及尽可能少的改造现有网络设备,在本发明实施例中,将防御层设置为一独立设备,称为防御设备。然而,作为本发明所 属技术领域的技术人员来说,可以根据本发明实施例提供的技术方案将防御 层设置在用户端或者服务器端中。用户端,可为连接在网络中计算机,可发送TCP连接请求SYN报文,并 接收来自防御设备和服务器端的TCP连接请求响应;服务器端,也就是被保护设备,可接收防御设备转发的TCP连接请求 SYN报文,并发送TCP连接请求报文响应SYN+ACK给防御层;在本发明实施例中,可在防止DDos攻击设备中可设置两块网卡,分别为 第一网卡和第二网卡2,将第一网卡与用户端(即internet公网端)连接,负 责与TCP连接请求SYN报文发送端之间的双向通信;将第二网卡与服务器端 (即被保护设备)连接,负责与服务器之间的双向通信。上述防御设备中可包括,接收模块,处理模块以及发送模块,如图4所 示,为本发明实施例一种防止DDos攻击的设备结构示意图,具体结构如下 (1 )接收模块,用于接收来自用户端的TCP连接请求S丫N报文;(2) 处理模块,用于判断接收模块接收的TCP连接请求SYN报文是否 有效,若有效,则发出通知,否则,丟弃所述接收模块接收的TCP连接请求 S丫N报文;上述处理模块具体可以包括确认报文接收模块,用于在发送TCP连接请求响应报文后等待接收TCP 连接请求确认报文;判断处理模块,用于判断确认报文接收模块是否接收到TCP连接请求确 认报文,若收到,则发出通知,否则,丟弃接收模块接收的TCP连接请求 SYN报文。(3) 发送模块,用于根据所述处理模块发出的通知,向服务器端转发 接收模块接收的TCP连接请求SYN报文。'可选的,在上述防-鄉设备中,还可以包括存储模块,用于预先设置无效节点信息,其中,所述的无效节点信息可 以包括网络中非法用户的IP地址,以及端口信息,或者,也可以为其他节 点识别信息;无效节点识别处理模块,用于根据存储模块中存储的无效节点信息,识 别接收模块接收到的TCP连接请求SYN报文是否来自于无效节点,若是,则 丟弃该报文,否则,通知处理模块。可选的,在上述防御设备中,还可以包括无效节点信息更新模块,用于 在无效节点识别处理模块识别收到的报文来自于无效节点后,将该无效节点 添加到存储模块中。在本发明实施例中,防御设备中的接收模块通过第一网卡实现,该第一 网卡具体可以负责与TCP连接请求SYN报文发送端之间的双向通信;所述的 发送模块通过第二网卡实现,该第二网卡具体可以负责与服务器之间的双向 通信。在本发明实施例中,当用户端向服务器端发送TCP连接请求SYN报文 时,通过检测模块来检测上述TCP连接请求SYN报文对应的用户请求节点信 息是否为存储模块中存储的无效节点信息,如果是无效信息,则直接抛弃 TCP连接请求S丫N报文;如果是无记录的新TCP连接,则防御设备向用户端 发送TCP连接请求响应报文SYN + ACK,然后通过处理模块检测防御设备是 否接收到TCP连接确认报文ACK,如果防御设备接收到,则认为是合法有效 的TCP连接,将转发后续用户端与服务器端的连接数据;否则认为是非法无 效的TCP连接请求,并将上述TCP连接请求报文SYN对应的用户节点信息更 新至无效节点信息队列,并抛弃此报文。由上述技术方案可知,将防御设备设置在被保护服务器的网络中,通过 该防御设备对向用户端发送的TCP连接请求SYN才艮文进行验证,仅将合法有效的TCP连接请求SYN报文转发给服务器端,从而可以有效的降低DDos攻击 服务器的风险,避免了因恶意攻而占用服务器大量的资源,使服务器不会承 担任何由于TCP半连接造成资源耗尽的风险,提高了网络的安全性能。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不 局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可 轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明 的保护范围应该以权利要求的保护范围为准。
权利要求
1. 一种防止DDos攻击的方法,其特征在于,所述方法包括接收TCP连接请求SYN报文;检测所述TCP连接请求SYN报文是否有效,若是,将所述TCP连接请求SYN报文转发给服务器端,否则,丢弃所述TCP连接请求SYN报文。
2、 根据权利要求1所述的防止DDos攻击的方法,其特征在于,所述检 测所述TCP连接请求SYN报文是否有效的方法为在向所述用户端发送TCP连接请求响应报文之后,检测是否接收到所述 用户端发送的TCP连接确认报文ACK,若收到,则确认所述TCP连接请求 SYN报文有效,否则,确认所述TCP连接请求SYN报文无效。
3、 根据权利要求2所述的防止DDos攻击的方法,其特征在于,还包括 设置无效节点信息的步骤,且所述向所述用户端发送TCP连接请求响应报文 的步骤包括检测所述TCP连接请求SYN报文是否为所述无效节点信息,若是,则丟 弃所述TCP连接请求S丫N报文,否则,向所述用户端发送TCP连接请求响应 报文。
4、 根据权利要求3所述的防止DDos攻击的方法,其特征在于,若检测 所述TCP连接请求SYN报文为所述无效节点信息,所述方法进一步包括将所述TCP连接请求SYN报文对应的用户节点信息更新至所述无效节点信息中。
5、 根据权利要求3或4所述的防止DDos攻击的方法,其特征在于,所述 无效节点信息包括用户端IP地址及端口信息。
6、 一种防止DDos攻击的设备,其特征在于,包括 接收模块,用于接收TCP连接请求SYN报文;处理模块,用于判断所述接收模块接收的所述TCP连接请求SYN报文是 否有效,若有效,则发出通知,否则,丢弃所述接收模块接收的TCP连接请 求SYN报文;发送模块,用于根据所述处理模块发出的通知,向所述服务器端转发所 述接收模块接收的所述TCP连接请求SYN报文。
7、根据权利要求6所述的防止DDos攻击的设备,其特征在于,所述设 备还包括存储模块,用于预先设置无效节点信息;无效节点识别处理模块,用于根据所述存储模块中存储的无效节点信 息,识别所述接收模块接收到的TCP连接请求SYN报文是否来自于无效节 点,若是,则丢弃所述TCP连接请求SYN报文,否则,通知所述处理模块丢 弃所述接收模块接收的TCP连接请求SYN报文。
8、 根据权利要求7所述的防止DDos攻击的设备,其特征在于,所述设 备还包括无效节点信息更新模块,用于在所述无效节点识别处理模块识别收 到的所述TCP连接请求SYN报文来自于所述无效节点后,将所述无效节点对 应的无效节点信息添加到所述存储模块中。
9、 根据权利要求6、 7或8所述的防止DDos攻击的设备,其特征在于, 所述的处理模块具体包括确认报文接收模块,用于在发送所述TCP连接请求响应报文后等待接收 所述TCP连接请求确认报文;判断处理模块,用于判断所述确认报文接收模块是否接收到所述TCP连 接请求确认报文,若收到,则发出通知,否则,丢弃所述接收模块接收的 TCP连接请求SYN报文。
10、 根据权利要求6、 7或8所述的防止DDos攻击的设备,其特征在于, 所述的接收模块通过第一网卡实现,且所述第一网卡负责与TCP连接请求 SYN报文发送端之间的双向通信;所述的发送模块通过第二网卡实现,且所 述第二网卡负责与所述服务器端之间的双向通信。
全文摘要
本发明提供了一种防止DDos攻击的方法及设备,属于数字信息的传输技术领域,该方法包括被保护网络设备(即服务器)接收TCP连接请求SYN报文之前,需完成对TCP连接请求SYN报文有效性的验证,并且仅将合法有效的TCP连接请求SYN报文转发给服务器端,将占用系统资源的攻击性TCP连接请求SYN报文抛弃,使服务器不会承担任何由于TCP半连接造成系统资源耗尽的风险,从而实现了针对DDos对网络设备攻击的方便、有效的安全防御,避免了因不能响应新服务或因宕机而给用户造成的影响,并且由于操作简单,便于技术的推广应用。
文档编号H04L12/56GK101247261SQ20071011923
公开日2008年8月20日 申请日期2007年7月18日 优先权日2007年7月18日
发明者唐文亮 申请人:北京高信达网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1