CN101465855B - 一种同步泛洪攻击的过滤方法及*** - Google Patents
一种同步泛洪攻击的过滤方法及*** Download PDFInfo
- Publication number
- CN101465855B CN101465855B CN2008102474401A CN200810247440A CN101465855B CN 101465855 B CN101465855 B CN 101465855B CN 2008102474401 A CN2008102474401 A CN 2008102474401A CN 200810247440 A CN200810247440 A CN 200810247440A CN 101465855 B CN101465855 B CN 101465855B
- Authority
- CN
- China
- Prior art keywords
- packet
- weight formation
- current state
- described packet
- high weight
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种同步泛洪攻击的过滤方法及***,方法包括:步骤1,配置高低权重队列转发数据包的比例;步骤2,接收数据包,确定当前状态,判断当前状态是否为正常状态,如果是,则数据包进入高权重队列,否则,执行步骤3;步骤3,根据数据包的类型,用于记录连接的连接状态表和用于记录合法IP地址的合法地址表,判断数据包是否合法,如果是,则数据包进入高权重队列,否则,数据包进入低权重队列;并更新连接状态表和合法地址表;步骤4,在当前状态为正常状态时,转发高权重队列中数据包,在当前状态为攻击状态时,按比列转发低权重队列和高权重队列中的数据包。本发明能够有效缓解、过滤和防御针对网络信息***的大规模同步泛洪攻击。
Description
技术领域
本发明涉及网络安全监控领域,具体涉及一种同步泛洪攻击的过滤方法及***。
背景技术
近年来,DDoS(分布式拒绝服务)攻击的频繁发生给重要信息***以及运营网络的安全带来的严重影响,因此得到了社会各界的广泛关注。在DDoS攻击中,Syn Flood(同步泛洪)攻击是最为常见的一种攻击方式,它主要利用TCP(传输控制协议)协议栈为保存半连接状态而消耗内存这一设计上的漏洞来达到攻击的目的,攻击者往往通过向攻击目标发送大量TCP连接请求的方法,消耗***内存以实现对目标***的拒绝服务攻击。目前,针对Syn F1ood攻击的过滤、防御方法研究主要包括基于Syn Proxy(同步代理)、基于History-IP(历史网络协议)、基于Hop-Count(跳数)、以及基于标签等4类方法。
一种为基于Syn Proxy(包括Syn Cookie)的方法。主要利用代替服务器进行TCP连接三次握手的方法来过滤攻击报文。该类方法的缺点是代替服务器进行三次握手需要消耗一定的***资源,当攻击流量过大时,过滤***自身容易崩溃。
另一种为基于History-IP(包括黑、白名单)的方法。该类方法维护一个常见用户数据库或者列表,在攻击发生时,允许源地址在表中的数据包通过。该类方法的缺点是如果攻击地址采取了合法的IP地址,则过滤***完全丧失了对目标***的保护能力,而且合法用户的源地址如果不在常见用户表中,也会被阻止访问服务器,并且此方法需要一段时间的学习才能建立用户数据库或列表。
另一种为基于Hop-Count的方法。该类方法维护一个常见用户的跳数数据库,在攻击发生时,检查数据包的跳数是否与数据库中相应记录的跳数相同,如果相同,则允许通过。该类方法的缺点是当合法用户的路由改变时,合法用户也会被禁止进入***,并且该类方法需要一段时间的学习来建立跳数数据库。
另一种基于标签的方法。该类方法主要通过在边界路由器上对流出子网的Syn数据包加注基于源子网编号的标签的方法来辨别Syn包的真伪,从而过滤伪造源地址的Syn Flood攻击。该类方法的缺点是不能过滤真实源地址的SynFlood攻击,同时如果采取伪造子网源地址的攻击方式,该类方法也会丧失防御能力。
发明内容
为了解决上述的技术问题,提供了一种同步泛洪攻击的过滤方法及***,能够有效缓解、过滤和防御针对网络信息***的大规模Syn Flood攻击。
本发明公开了一种同步泛洪攻击的过滤方法,包括:
步骤1,配置高低权重队列转发数据包的比例;
步骤2,接收数据包,确定当前状态,判断所述当前状态是否为正常状态,如果是,则所述数据包进入高权重队列,否则,执行步骤3;
步骤3,根据所述数据包的类型,用于记录连接的连接状态表和用于记录合法IP地址的合法地址表,判断所述数据包是否合法,如果是,则所述数据包进入所述高权重队列,否则,所述数据包进入低权重队列;并更新所述连接状态表和所述合法地址表;
步骤4,在当前状态为正常状态时,转发所述高权重队列中数据包,在当前状态为攻击状态时,按所述高低权重队列转发数据包的比列转发所述低权重队列和所述高权重队列中的数据包。
所述步骤1还包括,配置检测时隙,初始化计时器为0,初始化用于记录当前状态的当前状态变量为正常;
所述步骤2中确定当前状态进一步为:
步骤21,接收数据包后,判断所述计时器的值是否小于所述检测时隙,如果是,则确定当前状态为所述当前状态变量中记录的状态,否则,将所述计时器置为0,执行步骤22;
所述步骤22,判断是否发生攻击,如果是,则更新所述当前状态变量为 攻击状态,确定所述当前状态为攻击状态,否则,更新所述当前状态变量为正常状态,确定所述当前状态为正常状态。
所述步骤2还包括,在执行完步骤22,确定所述当前状态为正常状态时,将所述连接状态表和所述合法地址表清空。
所述步骤1还包括配置同步数据包阈值;
所述步骤22中判断是否发生攻击进一步为:
步骤41,判断在所述计时器的计时时间内统计的同步包数量除以所述计时器的值所得值是否大于等于所述同步数据包阈值,如果是,则判定发生攻击,否则,判定为正常。
所述步骤3进一步为,
步骤51,在所述数据包为同步包时,确定所述数据包不合法,所述数据包进入低权重队列,并更新所述连接状态表;
步骤52,在所述数据包为同步/确认包时,如果所述数据包在所述连接状态表中存在对应记录,则所述数据包合法,所述数据包进入高权重队列,更新所述连接状态表和所述合法地址表,否则,所述数据包不合法,所述数据包进入低权重队列;
步骤53,在所述数据包为其他类型时,如果所述数据包在所述合法地址表中存在对应记录,则确定所述数据包合法,所述数据包进入高权重队列,否则,所述数据包不合法,所述数据包进入低权重队列。
所述步骤51中更新所述连接状态表进一步为,
步骤61,在所述连接状态表中查找所述数据包对应连接的标识,如果未查找到,则将所述数据包对应连接的标识添加到所述连接状态表中。
所述步骤52进一步为,
步骤71,在所述数据包为同步/确认包时,在所述连接状态表中查找所述数据包对应连接的标识,如果未查找到,则所述数据包进入低权重队列,如果查找到,则执行步骤72;
所述步骤72,将所述数据包对应的连接的标识从所述连接状态表中删除,将所述数据包的源IP地址添加到所述合法地址表中,确定所述数据包合法,所述数据包进入所述高权重队列。
所述步骤53进一步为在所述数据包为其他类型时,在所述合法地址表中 查找所述数据包的源IP地址,如果查找到,则确定所述数据包合法,所述数据包进入高权重队列,否则,所述数据包进入所述低权重队列。
所述标识为所述连接的同步数据包的五源组,所述五源组由源IP地址、源端口号、目的IP地址、目的端口号和序列号组成。
所述步骤2和所述步骤3中所述数据包进入高权重队列进一步为,
判断所述高权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入所述高权重队列;
所述步骤3中所述数据包进入低权重队列进一步为,
判断所述低权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入所述低权重队列。
本发明还公开了一种同步泛洪攻击的过滤***,包括:初始化模块、检测模块、过滤模块、缓冲区模块和转发模块,
所述缓冲区模块包含低权重队列和高权重队列;
所述初始化模块,用于配置高低权重队列转发数据包的比例;
所述检测模块,用于接收数据包,确定当前状态,判断所述当前状态是否为正常状态,如果是,则将所述数据包加入到所述高权重队列,否则,将所述数据包传给所述过滤模块;
所述过滤模块,用于根据所述数据包的类型,用于记录连接的连接状态表和用于记录合法IP地址的合法地址表,判断所述数据包是否合法,如果是,则将所述数据包加入所述高权重队列,否则,将所述数据包加入所述低权重队列;并更新所述连接状态表和所述合法地址表;
所述转发模块,用于在当前状态为正常状态时,转发所述高权重队列中数据包,在当前状态为攻击状态时,按所述高低权重队列转发数据包的比列转发所述低权重队列和所述高权重队列中的数据包。
所述初始化模块还用于配置检测时隙,初始化计时器为0,初始化用于记录当前状态的当前状态变量为正常;
所述检测模块在确定当前状态时进一步用于接收到数据包后,判断所述计时器的值是否小于所述检测时隙,如果是,则确定当前状态为所述当前状态变量中记录的状态;否则,将所述计时器置为0,判断是否发生攻击,如果是,则更新所述当前状态变量为攻击状态,确定所述当前状态为攻击状态,否则, 更新所述当前状态变量为正常状态,确定所述当前状态为正常状态。
所述检测模块还用在通过判断未发生攻击确定所述当前状态为正常状态后,将所述连接状态表和所述合法地址表清空。
所述初始化模块还用于配置同步数据包阈值;
所述检测模块在判断是否发生攻击时进一步用于判断在所述计时器的计时时间内统计的同步包数量除以所述计时器的值所得值是否大于等于所述同步数据包阈值,如果是,则判定发生攻击,否则,判定为正常。
所述过滤模块进一步用于在所述数据包为同步包时,确定所述数据包不合法,将所述数据包加入所述低权重队列,并更新所述连接状态表;在所述数据包为同步/确认包时,如果所述数据包在所述连接状态表中存在对应记录,则所述数据包合法,将所述数据包加入所述高权重队列,更新所述连接状态表和所述合法地址表,否则,所述数据包不合法,将所述数据包加入所述低权重队列;在所述数据包为其他类型时,如果所述数据包在所述合法地址表中存在对应记录,则确定所述数据包合法,将所述数据包加入所述高权重队列,否则,所述数据包不合法,将所述数据包加入所述低权重队列。
所述过滤模块在所述数据包为同步包的情况下更新所述连接状态表时进一步用于在所述连接状态表中查找所述数据包对应连接的标识,如果未查找到,则将所述数据包对应连接的标识添加到所述连接状态表中。
所述过滤模块在所述数据包为同步/确认包的情况下进一步用于在所述连接状态表中查找所述数据包对应连接的标识,如果未查找到,则将所述数据包加入所述低权重队列,如果查找到,则将所述数据包对应的连接的标识从所述连接状态表中删除,将所述数据包的源IP地址添加到所述合法地址表中,确定所述数据包合法,将所述数据包加入所述高权重队列。
所述过滤模块在所述数据包为其他类型的情况下进一步用于在所述合法地址表中查找所述数据包的源IP地址,如果查找到,则确定所述数据包合法,将所述数据包加入所述高权重队列,否则,将所述数据包加入所述低权重队列。
所述标识为所述连接的同步数据包的五源组,所述五源组由源IP地址、源端口号、目的IP地址、目的端口号和序列号组成。
所述检测模块在将所述数据包加入所述高权重队列时进一步用于判断所述高权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入 所述高权重队列;
所述过滤模块在将所述数据包加入所述高权重队列时进一步用于判断所述高权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入所述高权重队列;
所述过滤模块在将所述数据包加入所述低权重队列时进一步用于判断所述低权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入所述低权重队列。
本发明的有益效果在于可有效缓解、过滤和防御针对网络信息***的大规模Syn Flood攻击;不需要预先对流量特性或用户行为进行学习,即插即用;不需要对已有设备进行任何修改,不需要增加其他额外设备;不需要代替服务器进行TCP三次握手,不需要发送验证包,提高了过滤***的处理效率,降低了过滤***以及网络资源的消耗,有效解决了在大流量攻击下过滤***自身的崩溃问题;对伪造源IP和真实源IP的Syn Flood攻击都具备有效的防御能力。
附图说明
图1是本发明同步泛洪攻击的过滤方法的流程图;
图2是Bloom Filter的组织结构图;
图3是本发明同步泛洪攻击的过滤***的部署连接图;
图4是本发明同步泛洪攻击的过滤***的结构图。
具体实施方式
下面结合附图,对本发明做进一步的详细描述。
过滤方法的流程如图1所示,过滤方法的具体实施步骤如下:
步骤S101,初始化参数。
配置高低权重队列转发包数的比例为r;配置检测时隙为s,单位为秒;配置Syn包(同步包)数阈值为n,单位为每秒包数;初始化当前状态变量为正常状态,当前状态变量包括攻击状态和正常状态;初始化计时器为0。
***中高权重队列的长度和低权重队列的长度,分别表示低权重队列和高权重队列的缓存空间,由过滤***的处理能力决定,在一具体实施方式中,高权重队列的长度大于低权重队列的长度;转发总速率为v,单位为每秒包数, 由被保护的网络信息***的处理能力决定。
步骤S102,接收一个数据包。
步骤S103,判断计时器是否小于s,如果是,则执行步骤S108;否则,执行步骤S104。
步骤S104,将计时器置为0,判断当前状态是否发生攻击,如果是,则执行步骤S107,否则,执行步骤S105。
计时器从0开始计时到当前的时间内统计到的Syn包数为N,当前计时器时间为t,如果N/t大于或等于阈值n,则判定为是发生了攻击,否则N/t小于n时,判定为没有发生攻击。
步骤S105,将用于记录连接的连接状态表和用于记录合法IP地址的合法地址表清空,确定当前状态为正常状态,更新当前状态变量为正常状态。
步骤S106,判断缓冲区中的高权重队列是否已满,如果已满则丢弃该数据包,否则将数据包加入到高权重队列。
其中高权重队列采用先进先出方式(FIFO方式)。
步骤S107,确定当前状态为攻击状态,更新当前状态变量为攻击状态,执行步骤S109。
步骤S108,确定当前状态变量记录的当前状态,如果当前状态为正常,则执行步骤S106,否则,执行步骤S109。
步骤S109,确定数据包的类型,如果数据包为Syn包,则执行步骤S110,如果数据包为Syn/Ack包(同步/确认包),则执行步骤S111,如果数据包为其他类型,则执行步骤S112。
步骤S110,在连接状态表中查找该数据包的五元组,如果没找到,则将该五元组加入到连接状态表中;执行步骤S113。
数据包的五元组由源IP,源端口,目的IP,目的端口,序列号组成,连接的Syn包的五元组为该连接的标识,记录在连接状态表中。
步骤S111,在连接状态表中查找该数据包对应连接的标识,如果没找到,则执行步骤S113,否则,则执行步骤S114。
Syn/Ack数据包对应连接的标识为该连接的Syn数据的五元组,该五元组等于Syn/Ack数据包的源IP,源端口,目的IP,目的端口,和序列号减去1的值。
步骤S112,在合法地址表中查找该数据包的源IP,如果找到了,则执行 步骤S106,否则,执行步骤S113。
步骤S113,判断缓冲区中的低权重队列是否已满,如果已满则丢弃该数据包,否则将数据包加入到低权重队列。
其中低权重队列采用先进先出方式(FIFO方式)。
步骤S114,在连接状态表中删去该连接的标识,五元组,并将该源IP加入到合法地址表中,执行步骤S106。
步骤S115,在执行上述步骤的同时,进行数据包的转发。
判断当前状态,如果是攻击状态,缓冲区中有数据包,则分别按r*v/(r+1)和v/(r+1)的速率将高权重队列、低权重队列中的数据包不停地转发出去;如果不是攻击状态,那么如果高权重队列中有数据包,则按v速率将这些数据包不停地转发出去。
其中连接状态表和合法地址表均采用一种已公开的Bloom Filter技术来实现,Bloom Filter的组织结构如图2所示,由k个相互独立的哈希函数和一个长度为m的哈希表组成,其中k和m由配置确定,其主要操作的基本过程如下:
查找操作:用每个哈希函数分别对输入的数据项进行哈希,生成一组哈希值,查看哈希表中该组哈希值对应的一组桶的数值是否全为1,如果是,则返回查找成功,否则,返回查找失败;
加入操作:用每个哈希函数分别对输入的数据项进行哈希,生成一组哈希值,将哈希表中该组哈希值对应的一组桶的数值均置为1,返回。
删除操作:用每个哈希函数分别对输入的数据项进行哈希,生成一组哈希值,查看哈希表中该组哈希值对应的一组桶的数值是否全为1,如果是,则全部置为0,返回,否则返回。
本发明公开的过滤***具有网络信息***的Syn Flood攻击过滤和防御能力,主要部署于接入路由器与被保护网络信息***之间,具体的部署连接方式可参见图3所示。过滤***可以连接在接入路由器和交换机之间,接入路由器和出口路由器之间,或者接入路由器和受保护的服务器之间。
过滤***结构与处理流程如图4所示,过滤***400包括初始化模块401、检测模块402、过滤模块403、缓冲区模块404和转发模块405。
具体实施步骤如下:
缓冲区模块404包括低权重队列441和高权重队列442。
其中,低权重队列441采用先进先出方式(FIFO方式)。
其中,高权重队列442采用先进先出方式(FIFO方式)。
高权重队列442的长度和低权重队列441的长度,由过滤***的处理能力决定。
初始化模块401,用于配置检测时隙为s;配置Syn包数阈值为n;配置高低权重队列转发包数的比例为r;初始化当前状态变量为正常状态;初始化计时器为0。
检测模块402用于从***入口获取一个数据包,判断计时器是否小于s,如果小于s,那么如果当前状态为正常状态,则判断缓冲区模块404中的高权重队列442是否已满,如果已满则丢弃该数据包,否则将该数据包加入到高权重队列442;如果当前状态为攻击状态,将该数据包传给过滤模块403;如果计时器大于或等于s,则将计时器置0,判断是否发生了攻击,如果发生了攻击,则将当前状态修改为攻击状态,并将数据包传给过滤模块403;如果没有发生攻击,则将连接状态表和合法地址表清空,将当前状态更新为正常状态,判断缓冲区模块404中的高权重队列442是否已满,如果已满则丢弃该数据包,否则将该数据包加入到高权重队列442。
其中判断是否发生攻击的具体方法如下:
计时器从0开始计时到当前的时间内统计到的Syn包数为N,当前计时器时间为t,如果N/t大于或等于阈值n,则判定为是发生了攻击,否则N/t小于n时,判定为没有发生攻击。
过滤模块403收到检测模块402转给的一个数据包,考察数据包的类型,如果是Syn包,则在连接状态表中查找该数据包对应连接的标识,该标识为该Syn包的五元组<源IP,源端口,目的IP,目的端口,序列号>,如果没找到,则将该五元组加入到连接状态表中,判断缓冲区模块404中的低权重队列441是否已满,如果已满则丢弃该数据包,否则将该数据包加入到低权重队列441;如果是Syn/Ack包,则在连接状态表中查找该数据包对应的连接的标识,该标识等于该Syn/Ack包的源IP,源端口,目的IP,目的端口,序列号减1的值,如果没找到,则判断缓冲区模块404中的低权重队列441是否已满,如果已满则丢弃该数据包,否则将该数据包加入到低权重队列441;如果找到,则在连接 状态表中删去该五元组,并将该源IP加入到合法地址表中,判断缓冲区模块404中的高权重队列442是否已满,如果已满则丢弃该数据包,否则将该数据包加入到高权重队列442;如果不是上述两种数据包,则在合法地址表中查找该数据包的源IP,如果找到了,则判断缓冲区模块404中的高权重队列442是否已满,如果已满则丢弃该数据包,否则将该数据包加入到高权重队列442,如果没有找到,则判断缓冲区模块404中的低权重队列441是否已满,如果已满则丢弃该数据包,否则将该数据包加入到低权重队列441。
其中连接状态表和合法地址表均采用一种已公开的Bloom Filter技术来实现,Bloom Filter的组织结构如图2所示,由k个相互独立的哈希函数和一个长度为m的哈希表组成,(其中k和m由用户来确定),其主要操作的基本过程如下:
查找操作:用每个哈希函数分别对输入的数据项进行哈希,生成一组哈希值,查看哈希表中该组哈希值对应的一组桶的数值是否全为1,如果是,则返回查找成功,否则,返回查找失败;
加入操作:用每个哈希函数分别对输入的数据项进行哈希,生成一组哈希值,将哈希表中该组哈希值对应的一组桶的数值均置为1,返回。
删除操作:用每个哈希函数分别对输入的数据项进行哈希,生成一组哈希值,查看哈希表中该组哈希值对应的一组桶的数值是否全为1,如果是,则全部置为0,返回,否则返回。
转发模块405,用于与上述处理过程同时进行,判断当前状态,如果是攻击状态,那么如果缓冲区中有数据包,则分别按r*v/(r+1)和v/(r+1)的速率将高权重队列442、低权重队列441中的数据包不停地从***出口转发出去;如果不是攻击状态,那么如果高权重队列442中有数据包,则按v速率将这些数据包不停地从***出口转发出去。
转发总速率为v,单位为每秒包数,由被保护的网络信息***的处理能力决定。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。
Claims (20)
1.一种同步泛洪攻击的过滤方法,其特征在于,包括:
步骤1,配置高低权重队列转发数据包的比例;
步骤2,接收数据包,确定当前状态,判断所述当前状态是否为正常状态,如果是,则所述数据包进入高权重队列,否则,执行步骤3;
步骤3,根据所述数据包的类型,用于记录连接的连接状态表和用于记录合法IP地址的合法地址表,判断所述数据包是否合法,如果是,则所述数据包进入所述高权重队列,否则,所述数据包进入低权重队列;并更新所述连接状态表和所述合法地址表;
步骤4,在当前状态为正常状态时,转发所述高权重队列中数据包,在当前状态为攻击状态时,按所述高低权重队列转发数据包的比列转发所述低权重队列和所述高权重队列中的数据包。
2.如权利要求1所述的同步泛洪攻击的过滤方法,其特征在于,
所述步骤1还包括,配置检测时隙,初始化计时器为0,初始化用于记录当前状态的当前状态变量为正常;
所述步骤2中确定当前状态进一步为:
步骤21,接收数据包后,判断所述计时器的值是否小于所述检测时隙,如果是,则确定当前状态为所述当前状态变量中记录的状态,否则,将所述计时器置为0,执行步骤22;
所述步骤22,判断是否发生攻击,如果是,则更新所述当前状态变量为攻击状态,确定所述当前状态为攻击状态,否则,更新所述当前状态变量为正常状态,确定所述当前状态为正常状态。
3.如权利要求2所述的同步泛洪攻击的过滤方法,其特征在于,
所述步骤2还包括,在执行完步骤22,确定所述当前状态为正常状态时,将所述连接状态表和所述合法地址表清空。
4.如权利要求2所述的同步泛洪攻击的过滤方法,其特征在于,
所述步骤1还包括配置同步数据包阈值;
所述步骤22中判断是否发生攻击进一步为:
步骤41,判断在所述计时器的计时时间内统计的同步包数量除以所述计时器的值所得值是否大于等于所述同步数据包阈值,如果是,则判定发生攻击,否则,判定为正常。
5.如权利要求1所述的同步泛洪攻击的过滤方法,其特征在于,
所述步骤3进一步为,
步骤51,在所述数据包为同步包时,确定所述数据包不合法,所述数据包进入低权重队列,并更新所述连接状态表;
步骤52,在所述数据包为同步/确认包时,如果所述数据包在所述连接状态表中存在对应记录,则所述数据包合法,所述数据包进入高权重队列,更新所述连接状态表和所述合法地址表,否则,所述数据包不合法,所述数据包进入低权重队列;
步骤53,在所述数据包为其他类型时,如果所述数据包在所述合法地址表中存在对应记录,则确定所述数据包合法,所述数据包进入高权重队列,否则,所述数据包不合法,所述数据包进入低权重队列。
6.如权利要求5所述的同步泛洪攻击的过滤方法,其特征在于,
所述步骤51中更新所述连接状态表进一步为,
步骤61,在所述连接状态表中查找所述数据包对应连接的标识,如果未查找到,则将所述数据包对应连接的标识添加到所述连接状态表中。
7.如权利要求6所述的同步泛洪攻击的过滤方法,其特征在于,
所述步骤52进一步为,
步骤71,在所述数据包为同步/确认包时,在所述连接状态表中查找所述数据包对应连接的标识,如果未查找到,则所述数据包进入低权重队列,如果查找到,则执行步骤72;
所述步骤72,将所述数据包对应的连接的标识从所述连接状态表中删除,将所述数据包的源IP地址添加到所述合法地址表中,确定所述数据包合法,所述数据包进入所述高权重队列。
8.如权利要求7所述的同步泛洪攻击的过滤方法,其特征在于,
所述步骤53进一步为在所述数据包为其他类型时,在所述合法地址表中查找所述数据包的源IP地址,如果查找到,则确定所述数据包合法,所述数据包进入高权重队列,否则,所述数据包进入所述低权重队列。
9.如权利要求6、7或8所述的同步泛洪攻击的过滤方法,其特征在于,
所述标识为所述连接的同步数据包的五源组,所述五源组由源IP地址、源端口号、目的IP地址、目的端口号和序列号组成。
10.如权利要求1所述的同步泛洪攻击的过滤方法,其特征在于,
所述步骤2和所述步骤3中所述数据包进入高权重队列进一步为,
判断所述高权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入所述高权重队列;
所述步骤3中所述数据包进入低权重队列进一步为,
判断所述低权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入所述低权重队列。
11.一种同步泛洪攻击的过滤***,其特征在于,包括:初始化模块、检测模块、过滤模块、缓冲区模块和转发模块,
所述缓冲区模块包含低权重队列和高权重队列;
所述初始化模块,用于配置高低权重队列转发数据包的比例;
所述检测模块,用于接收数据包,确定当前状态,判断所述当前状态是否为正常状态,如果是,则将所述数据包加入到所述高权重队列,否则,将所述数据包传给所述过滤模块;
所述过滤模块,用于根据所述数据包的类型,用于记录连接的连接状态表和用于记录合法IP地址的合法地址表,判断所述数据包是否合法,如果是,则将所述数据包加入所述高权重队列,否则,将所述数据包加入所述低权重队列;并更新所述连接状态表和所述合法地址表;
所述转发模块,用于在当前状态为正常状态时,转发所述高权重队列中数据包,在当前状态为攻击状态时,按所述高低权重队列转发数据包的比列转发所述低权重队列和所述高权重队列中的数据包。
12.如权利要求11所述的同步泛洪攻击的过滤***,其特征在于,
所述初始化模块还用于配置检测时隙,初始化计时器为0,初始化用于记录当前状态的当前状态变量为正常;
所述检测模块在确定当前状态时进一步用于接收到数据包后,判断所述计时器的值是否小于所述检测时隙,如果是,则确定当前状态为所述当前状态变量中记录的状态;否则,将所述计时器置为0,判断是否发生攻击,如果是,则更新所述当前状态变量为攻击状态,确定所述当前状态为攻击状态,否则,更新所述当前状态变量为正常状态,确定所述当前状态为正常状态。
13.如权利要求12所述的同步泛洪攻击的过滤***,其特征在于,
所述检测模块还用在通过判断未发生攻击确定所述当前状态为正常状态后,将所述连接状态表和所述合法地址表清空。
14.如权利要求12所述的同步泛洪攻击的过滤***,其特征在于,
所述初始化模块还用于配置同步数据包阈值;
所述检测模块在判断是否发生攻击时进一步用于判断在所述计时器的计时时间内统计的同步包数量除以所述计时器的值所得值是否大于等于所述同步数据包阈值,如果是,则判定发生攻击,否则,判定为正常。
15.如权利要求11所述的同步泛洪攻击的过滤***,其特征在于,
所述过滤模块进一步用于在所述数据包为同步包时,确定所述数据包不合法,将所述数据包加入所述低权重队列,并更新所述连接状态表;在所述数据包为同步/确认包时,如果所述数据包在所述连接状态表中存在对应记录,则所述数据包合法,将所述数据包加入所述高权重队列,更新所述连接状态表和所述合法地址表,否则,所述数据包不合法,将所述数据包加入所述低权重队列;在所述数据包为其他类型时,如果所述数据包在所述合法地址表中存在对应记录,则确定所述数据包合法,将所述数据包加入所述高权重队列,否则,所述数据包不合法,将所述数据包加入所述低权重队列。
16.如权利要求15所述的同步泛洪攻击的过滤***,其特征在于,
所述过滤模块在所述数据包为同步包的情况下更新所述连接状态表时进一步用于在所述连接状态表中查找所述数据包对应连接的标识,如果未查找到,则将所述数据包对应连接的标识添加到所述连接状态表中。
17.如权利要求16所述的同步泛洪攻击的过滤***,其特征在于,
所述过滤模块在所述数据包为同步/确认包的情况下进一步用于在所述连接状态表中查找所述数据包对应连接的标识,如果未查找到,则将所述数据包加入所述低权重队列,如果查找到,则将所述数据包对应的连接的标识从所述连接状态表中删除,将所述数据包的源IP地址添加到所述合法地址表中,确定所述数据包合法,将所述数据包加入所述高权重队列。
18.如权利要求17所述的同步泛洪攻击的过滤***,其特征在于,
所述过滤模块在所述数据包为其他类型的情况下进一步用于在所述合法地址表中查找所述数据包的源IP地址,如果查找到,则确定所述数据包合法,将所述数据包加入所述高权重队列,否则,将所述数据包加入所述低权重队列。
19.如权利要求16、17或18所述的同步泛洪攻击的过滤***,其特征在于,
所述标识为所述连接的同步数据包的五源组,所述五源组由源IP地址、源端口号、目的IP地址、目的端口号和序列号组成。
20.如权利要求11所述的同步泛洪攻击的过滤***,其特征在于,
所述检测模块在将所述数据包加入所述高权重队列时进一步用于判断所述高权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入所述高权重队列;
所述过滤模块在将所述数据包加入所述高权重队列时进一步用于判断所述高权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入所述高权重队列;
所述过滤模块在将所述数据包加入所述低权重队列时进一步用于判断所述低权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入所述低权重队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102474401A CN101465855B (zh) | 2008-12-31 | 2008-12-31 | 一种同步泛洪攻击的过滤方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102474401A CN101465855B (zh) | 2008-12-31 | 2008-12-31 | 一种同步泛洪攻击的过滤方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101465855A CN101465855A (zh) | 2009-06-24 |
CN101465855B true CN101465855B (zh) | 2011-11-23 |
Family
ID=40806217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102474401A Expired - Fee Related CN101465855B (zh) | 2008-12-31 | 2008-12-31 | 一种同步泛洪攻击的过滤方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101465855B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778055B (zh) * | 2009-12-31 | 2013-03-13 | 卓望数码技术(深圳)有限公司 | 一种消息处理方法和网络实体 |
CN101778101B (zh) * | 2009-12-31 | 2012-10-03 | 卓望数码技术(深圳)有限公司 | 一种消息传送方法和消息传送*** |
CN101789947B (zh) * | 2010-02-21 | 2012-10-03 | 成都市华为赛门铁克科技有限公司 | 防范http post泛洪攻击的方法及防火墙 |
CN102075535B (zh) * | 2011-01-12 | 2013-01-30 | 中国科学院计算技术研究所 | 一种应用层分布式拒绝服务攻击过滤方法及*** |
CN103491061B (zh) * | 2012-06-13 | 2017-02-15 | 华为技术有限公司 | 缓解攻击方法、序列号提供方法及设备 |
CN103746918B (zh) * | 2014-01-06 | 2018-01-12 | 深圳市星盾网络技术有限公司 | 报文转发***和报文转发方法 |
CN105100024B (zh) * | 2014-05-21 | 2017-12-12 | 腾讯科技(深圳)有限公司 | Udp数据包安全检测方法及装置 |
CN105991632A (zh) * | 2015-04-20 | 2016-10-05 | 杭州迪普科技有限公司 | 网络安全防护方法及装置 |
CN107634971B (zh) * | 2017-10-26 | 2020-07-07 | 杭州迪普科技股份有限公司 | 一种检测洪水攻击的方法及装置 |
CN108037983A (zh) * | 2017-11-22 | 2018-05-15 | 链家网(北京)科技有限公司 | 分布式调度***中的任务调度方法及分布式调度*** |
CN108737447B (zh) * | 2018-06-22 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 用户数据报协议流量过滤方法、装置、服务器及存储介质 |
CN112714129B (zh) * | 2020-12-30 | 2022-06-03 | 西安交通大学 | 一种用于网络安全芯片的内外网访问控制方法与该网络安全芯片 |
CN113709105B (zh) * | 2021-07-20 | 2023-08-29 | 深圳市风云实业有限公司 | 基于计数型布隆过滤器的SYN Flood攻击检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217547A (zh) * | 2008-01-18 | 2008-07-09 | 南京邮电大学 | 基于开源内核的无状态的泛洪请求攻击过滤方法 |
CN101267313A (zh) * | 2008-04-23 | 2008-09-17 | 华为技术有限公司 | 泛洪攻击检测方法及检测装置 |
CN101282209A (zh) * | 2008-05-13 | 2008-10-08 | 杭州华三通信技术有限公司 | 防范dns请求报文泛洪攻击的方法及设备 |
-
2008
- 2008-12-31 CN CN2008102474401A patent/CN101465855B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101217547A (zh) * | 2008-01-18 | 2008-07-09 | 南京邮电大学 | 基于开源内核的无状态的泛洪请求攻击过滤方法 |
CN101267313A (zh) * | 2008-04-23 | 2008-09-17 | 华为技术有限公司 | 泛洪攻击检测方法及检测装置 |
CN101282209A (zh) * | 2008-05-13 | 2008-10-08 | 杭州华三通信技术有限公司 | 防范dns请求报文泛洪攻击的方法及设备 |
Non-Patent Citations (1)
Title |
---|
葛峰 等.一种抵制Ad Hoc泛洪攻击的方法.《网络与通信安全》.2008,(第6期),第86-90页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101465855A (zh) | 2009-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101465855B (zh) | 一种同步泛洪攻击的过滤方法及*** | |
CN108063765B (zh) | 适于解决网络安全的sdn*** | |
KR100609170B1 (ko) | 네트워크 보안 시스템 및 그 동작 방법 | |
CN100558089C (zh) | 一种基于网络过滤器的内容过滤网关实现方法 | |
CN101083563B (zh) | 一种防分布式拒绝服务攻击的方法及设备 | |
CN101460983A (zh) | 恶意攻击检测***和相关的使用方法 | |
CN101616129B (zh) | 防网络攻击流量过载保护的方法、装置和*** | |
CN102801738B (zh) | 基于概要矩阵的分布式拒绝服务攻击检测方法及*** | |
CN101547187B (zh) | 宽带接入设备的网络攻击防护方法 | |
CN101505219B (zh) | 一种防御拒绝服务攻击的方法和防护装置 | |
KR101217647B1 (ko) | 특정 소스/목적지 ip 어드레스 쌍들에 기초한 ip 네트워크들에서 서비스 거부 공격들에 대한 방어 방법 및 장치 | |
CN101217547B (zh) | 基于开源内核的无状态的泛洪请求攻击过滤方法 | |
US10701076B2 (en) | Network management device at network edge for INS intrusion detection based on adjustable blacklisted sources | |
CN102067532A (zh) | 分组片段的处理 | |
CN101789931A (zh) | 一种基于数据挖掘的网络入侵检测***及方法 | |
CN104468554A (zh) | 基于ip和host的攻击检测方法和装置 | |
CN102026199B (zh) | 一种WiMAX***及其防御DDoS攻击的装置和方法 | |
CN101005412A (zh) | 一种防止端口环路检测报文攻击的实现方法及*** | |
JP2007208861A (ja) | 不正アクセス監視装置及びパケット中継装置 | |
CN108737447A (zh) | 用户数据报协议流量过滤方法、装置、服务器及存储介质 | |
CN109657463A (zh) | 一种报文洪泛攻击的防御方法及装置 | |
Huang et al. | FSDM: Fast recovery saturation attack detection and mitigation framework in SDN | |
CN100380336C (zh) | 用于过滤和分析基于分组的通信流量的方法和装置 | |
JP2004140618A (ja) | パケットフィルタ装置および不正アクセス検知装置 | |
US20200213355A1 (en) | Security Network Interface Controller (SNIC) Preprocessor with Cyber Data Threat Detection and Response Capability that Provides Security Protection for a Network Device with Memory or Client Device with Memory or Telecommunication Device with Memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111123 Termination date: 20201231 |