一种同步泛洪攻击的过滤方法及系统的制作方法

文档序号:7929951阅读:212来源:国知局
专利名称:一种同步泛洪攻击的过滤方法及系统的制作方法
技术领域
本发明涉及网络安全监控领域,具体涉及一种同步泛洪攻击的过滤方法及 系统。
背景技术
近年来,DDoS (分布式拒绝服务)攻击的频繁发生给重要信息系统以及运 营网络的安全带来的严重影响,因此得到了社会各界的广泛关注。在DDoS攻 击中,Syn Flood (同歩泛洪)攻击是最为常见的一种攻击方式,它主要利用 TCP (传输控制协议)协议栈为保存半连接状态而消耗内存这一设计上的漏洞 来达到攻击的目的,攻击者往往通过向攻击目标发送大量TCP连接请求的方 法,消耗系统内存以实现对目标系统的拒绝服务攻击。目前,针对Syn Flood 攻击的过滤、防御方法研究主要包括基于Syn Proxy (同步代理)、基于 History-IP (历史网络协议)、基于Hop-Count (跳数)、以及基于标签等4 类方法。
一种为基于Syn Proxy (包括Syn Cookie)的方法。主要利用代替服务器 进行TCP连接三次握手的方法来过滤攻击报文。该类方法的缺点是代替服务器 进行三次握手需要消耗一定的系统资源,当攻击流量过大时,过滤系统自身容 易崩溃。
另一种为基于History-IP (包括黑、白名单)的方法。该类方法维护一 个常见用户数据库或者列表,在攻击发生时,允许源地址在表中的数据包通过。 该类方法的缺点是如果攻击地址采取了合法的IP地址,则过滤系统完全丧失 了对目标系统的保护能力,而且合法用户的源地址如果不在常见用户表中,也 会被阻止访问服务器,并且此方法需要一段时间的学习才能建立用户数据库或 列表。
另一种为基于Hop-Count的方法。该类方法维护一个常见用户的跳数数据 库,在攻击发生时,检査数据包的跳数是否与数据库中相应记录的跳数相同,如果相同,则允许通过。该类方法的缺点是当合法用户的路由改变时,合法用户也会被禁止进入系统,并且该类方法需要一段时间的学习来建立跳数数据库。
另 一种基于标签的方法。该类方法主要通过在边界路由器上对流出子网的
Syn数据包加注基于源子网编号的标签的方法来辨别Syn包的真伪,从而过滤伪造源地址的Syn Flood攻击。该类方法的缺点是不能过滤真实源地址的SynFlood攻击,同时如果采取伪造子网源地址的攻击方式,该类方法也会丧失防御能力。

发明内容
为了解决上述的技术问题,提供了一种同步泛洪攻击的过滤方法及系统,能够有效缓解、过滤和防御针对网络信息系统的大规模Syn Flood攻击。本发明公开了一种同步泛洪攻击的过滤方法,包括歩骤l,配置高低权重队列转发数据包的比例;
步骤2,接收数据包,确定当前状态,判断所述当前状态是否为正常状态,如果是,则所述数据包进入高权重队列,否则,执行步骤3;
步骤3,根据所述数据包的类型,用于记录连接的连接状态表和用于记录合法IP地址的合法地址表,判断所述数据包是否合法,如果是,则所述数据包进入所述高权重队列,否则,所述数据包进入低权重队列;并更新所述连接状态表和所述合法地址表;
步骤4,在当前状态为正常状态时,转发所述高权重队列中数据包,在当前状态为攻击状态时,按所述高低权重队列转发数据包的比列转发所述低权重队列和所述高权重队列中的数据包。
所述步骤l还包括,配置检测时隙,初始化计时器为0,初始化用于记录当前状态的当前状态变量为正常;
所述步骤2中确定当前状态进一步为
步骤21,接收数据包后,判断所述计时器的值是否小于所述检测时隙,如果是,则确定当前状态为所述当前状态变量中记录的状态,否则,将所述计时器置为0,执行步骤22;
所述步骤22,判断是否发生攻击,如果是,则更新所述当前状态变量为攻击状态,确定所述当前状态为攻击状态,否则,更新所述当前状态变量为正常状态,确定所述当前状态为正常状态。
所述步骤2还包括,在执行完步骤22,确定所述当前状态为正常状态时,将所述连接状态表和所述合法地址表清空。所述步骤1还包括配置同步数据包阈值;所述步骤22中判断是否发生攻击进一步为
步骤41,判断在所述计时器的计时时间内统计的同步包数量除以所述计时器的值所得值是否大于等于所述同步数据包阈值,如果是,则判定发生攻击,所述,判定为正常。
所述步骤3进一步为,
步骤51,在所述数据包为同步包时,确定所述数据包不合法,所述数据包进入低权重队列,并更新所述连接状态表;
步骤52,在所述数据包为同步/确认包时,如果所述数据包在所述连接状态表中存在对应记录,则所述数据包合法,所述数据包进入高权重队列,更新所述连接状态表和所述合法地址表,否则,所述数据包不合法,所述数据包进入低权重队列;
步骤53,在所述数据包为其他类型时,如果所述数据包在所述合法地址表中存在对应记录,则确定所述数据包合法,所述数据包进入高权重队列,否则,所述数据包不合法,所述数据包进入低权重队列。
所述步骤51中更新所述连接状态表进一步为,
步骤61,在所述连接状态表中査找所述数据包对应连接的标识,如果未査找到,则将所述数据包对应连接的标识添加到所述连接状态表中。所述步骤52进一步为,
步骤71,在所述数据包为同步/确认包时,在所述连接状态表中査找所述数据包对应连接的标识,如果未查找到,则所述数据包进入低权重队列,如果查找到,则执行歩骤72;
所述步骤72,将所述数据包对应的连接的标识从所述连接状态表中删除,将所述数据包的源IP地址添加到所述和合法地址表中,确定所述数据包合法,所述数据包进入所述高权重队列。
所述步骤53进一步为在所述数据包为其他类型时,在所述合法地址表中
9査找所述数据包的源IP地址,如果査找到,则确定所述数据包合法,所述数据包进入高权重队列,否则,所述数据包进入所述低权重队列。
所述标识为所述连接的同步数据包的五源组,所述五源组由源IP地址、源端口号、目的IP地址、目的端口号和序列号组成。
所述歩骤2和所述步骤3中所述数据包进入高权重队列进一步为,
判断所述高权重队列是否已满,如果是,则丢弃所述数据包,否则将所述
数据包加入所述高权重队列;
所述步骤3中所述数据包进入低权重队列进一步为,
判断所述低权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入所述低权重队列。
本发明还公开了一种同步泛洪攻击的过滤系统,包括检测模块、过滤模块、缓冲区模块和转发模块,
所述缓冲区模块包含低权重队列和高权重队列;
所述初始化模块,用于配置高低权重队列转发数据包的比例;
所述检测模块,用于接收数据包,确定当前状态,判断所述当前状态是否为正常状态,如果是,则将所述数据包加入到所述高权重队列,否则,将所述
数据包传给所述过滤模块;
所述过滤模块,用于根据所述数据包的类型,用于记录连接的连接状态表和用于记录合法IP地址的合法地址表,判断所述数据包是否合法,如果是,则将所述数据包加入所述高权重队列,否则,将所述数据包加入所述低权重队列;并更新所述连接状态表和所述合法地址表;
所述转发模块,用于在当前状态为正常状态时,转发所述高权重队列中数据包,在当前状态为攻击状态时,按所述高低权重队列转发数据包的比列转发所述低权重队列和所述高权重队列中的数据包。
所述初始化模块还用于配置检测时隙,初始化计时器为0,初始化用于记录当前状态的当前状态变量为正常;
所述检测模块在确定当前状态时进一步用于接收到数据包后,判断所述计时器的值是否小于所述检测时隙,如果是,则确定当前状态为所述当前状态变量中记录的状态;否则,将所述计时器置为O,判断是否发生攻击,如果是,则更新所述当前状态变量为攻击状态,确定所述当前状态为攻击状态,否则,
10更新所述当前状态变量为正常状态,确定所述当前状态为正常状态。
所述检测模块还用在通过判断未发生攻击确定所述当前状态为正常状态
后,将所述连接状态表和所述合法地址表清空。所述初始化模块还用于配置同步数据包阈值;
所述检测模块在判断是否发生攻击时进一步用于判断在所述计时器的计时时间内统计的同步包数量除以所述计时器的值所得值是否大于等于所述同步数据包阈值,如果是,则判定发生攻击,所述,判定为正常。
所述过滤模块进一步用于在所述数据包为同步包时,确定所述数据包不合
法,将所述数据包加入所述低权重队列,并更新所述连接状态表;在所述数据包为同步/确认包时,如果所述数据包在所述连接状态表中存在对应记录,则所述数据包合法,将所述数据包加入所述高权重队列,更新所述连接状态表和所述合法地址表,否则,所述数据包不合法,将所述数据包加入所述低权重队列;在所述数据包为其他类型时,如果所述数据包在所述合法地址表中存在对应记录,则确定所述数据包合法,将所述数据包加入所述高权重队列,否则,所述数据包不合法,将所述数据包加入所述低权重队列。
所述过滤模块在所述数据包为同步包的情况下更新所述连接状态表时进一步用于在所述连接状态表中查找所述数据包对应连接的标识,如果未査找到,则将所述数据包对应连接的标识添加到所述连接状态表中。
所述过滤模块在所述数据包为同步/确认包的情况下进一步用于在所述连接状态表中査找所述数据包对应连接的标识,如果未查找到,则将所述数据包加入所述低权重队列,如果查找到,则将所述数据包对应的连接的标识从所述连接状态表中删除,将所述数据包的源IP地址添加到所述和合法地址表中,确定所述数据包合法,将所述数据包加入所述高权重队列。
所述过滤模块在所述数据包为其他类型的情况下进一步用于在所述合法地址表中査找所述数据包的源IP地址,如果查找到,则确定所述数据包合法,将所述数据包加入所述高权重队列,否则,将所述数据包加入所述低权重队列。
所述标识为所述连接的同步数据包的五源组,所述五源组由源IP地址、源端口号、目的IP地址、目的端口号和序列号组成。
所述检测模块在将所述数据包加入所述高权重队列时进一步用于判断所述高权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入所述高权重队列;
所述过滤模块在将所述数据包加入所述高权重队列时进一步用于判断所 述高权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入
所述高权重队列;
所述过滤模块在将所述数据包加入所述低权重队列时进一步用于判断所 述低权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入 所述低权重队列。
本发明的有益效果在于可有效缓解、过滤和防御针对网络信息系统的大规 模Syn Flood攻击;不需要预先对流量特性或用户行为进行学习,即插即用; 不需要对已有设备进行任何修改,不需要增加其他额外设备;不需要代替服务 器进行TCP三次握手,不需要发送验证包,提高了过滤系统的处理效率,降低 了过滤系统以及网络资源的消耗,有效解决了在大流量攻击下过滤系统自身的 崩溃问题;对伪造源IP和真实源IP的Syn Flood攻击都具备有效的防御能力。


图1是本发明同步泛洪攻击的过滤方法的流程图; 图2是Bloom Filter的组织结构图; 图3是本发明同歩泛洪攻击的过滤系统的部署连接图; 图4是本发明同步泛洪攻击的过滤系统的结构图。
具体实施例方式
下面结合附图,对本发明做进一步的详细描述。 过滤方法的流程如图l所示,过滤方法的具体实施步骤如下 步骤S101,初始化参数。
配置高低权重队列转发包数的比例为r;配置检测时隙为S,单位为秒;
配置Syn包(同步包)数阈值为n,单位为每秒包数;初始化当前状态变量为 正常状态,当前状态变量包括攻击状态和正常状态;初始化计时器为O。
系统中高权重队列的长度和低权重队列的长度,分别表示低权重队列和高 权重队列的缓存空间,由过滤系统的处理能力决定,在一具体实施方式
中,高 权重队列的长度大于低权重队列的长度;转发总速率为v,单位为每秒包数,由被保护的网络信息系统的处理能力决定。 步骤S102,接收一个数据包。
步骤S103,判断计时器是否小于s,如果是,则执行步骤S108;否则, 执行步骤S104。
歩骤S104,将计时器置为O,判断当前状态是否发生攻击,如果是,则执 行步骤S107,否则,执行步骤S105。
计时器从0开始计时到当前的时间内统计到的Syn包数为N,当前计时器 时间为t,如果N/t大于或等于阈值n,则判定为是发生了攻击,否则N/t小 于n时,判定为没有发生攻击。
步骤S105,将用于记录连接的连接状态表和用于记录合法IP地址的合法 地址表清空,确定当前状态为正常状态,更新当前状态变量为正常状态。
步骤S106,判断缓冲区中的高权重队列是否已满,如果已满则丢弃该数 据包,否则将数据包加入到高权重队列。
其中高权重队列采用先进先出方式(FIFO方式)。
步骤S107,确定当前状态为攻击状态,更新当前状态变量为攻击状态, 执行步骤S109。
步骤S108,确定当前状态变量记录的当前状态,如果当前状态为正常, 则执行步骤S106,否则,执行步骤S109。
步骤S109,确定数据包的类型,如果数据包为Syn包,则执行步骤SllO, 如果数据包为Syn/Ack包(同步/确认包),则执行步骤Slll,如果数据包为 其他类型,则执行步骤S112。
步骤SllO,在连接状态表中查找该数据包的五元组,如果没找到,则将 该五元组加入到连接状态表中;执行步骤S113。
数据包的五元组由源IP,源端口,目的IP,目的端口,序列号组成,连接的 Syn包的五元组为该连接的标识,记录在连接状态表中。
歩骤Slll,在连接状态表中査找该数据包对应连接的标识,如果没找到, 则执行步骤S113,否则,则执行步骤S114。
Syn/Ack数据包对应连接的标识为该连接的Syn数据的五元组,该五元组 等于Syn/Ack数据包的源IP,源端口,目的IP,目的端口,和序列号减去1的值。
步骤S112,在合法地址表中査找该数据包的源IP,如果找到了,则执行步骤S106,否则,执行步骤S113。
步骤S113,判断缓冲区中的低权重队列是否已满,如果己满则丢弃该数 据包,否则将数据包加入到低权重队列。
其中低权重队列采用先进先出方式(FIFO方式)。
步骤S114,在连接状态表中删去该连接的标识,五元组,并将该源IP加 入到合法地址表中,执行步骤S106。
步骤S115,在执行上述步骤的同时,进行数据包的转发。
判断当前状态,如果是攻击状态,缓冲区中有数据包,则分别按r*v/(r+l) 和v/ (r+l)的速率将高权重队列、低权重队列中的数据包不停地转发出去; 如果不是攻击状态,那么如果高权重队列中有数据包,则按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,则将计时器置O,判断是否发生了攻击,如果发生了攻 击,则将当前状态修改为攻击状态,并将数据包传给过滤模块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;如果找到,则在连接
15状态表中删去该五元组,并将该源IP加入到合法地址表中,判断缓冲区模块
404中的高权重队列442是否已满,如果已满则丢弃该数据包,否则将该数据 包加入到高权重队列442;如果不是上述两种数据包,则在合法地址表中查找 该数据包的源IP,如果找到了,则判断缓冲区模块404中的高权重队列442 是否已满,如果已满则丢弃该数据包,否则将该数据包加入到高权重队列442, 如果没有找到,贝ij判断缓冲区模块404中的低权重队列441是否已满,如果已 满则丢弃该数据包,否则将该数据包加入到低权重队列441。
其中连接状态表和合法地址表均采用一种已公开的Bloom Filter技术来 实现,Bloom Filter的组织结构如图2所示,由k个相互独立的哈希函数和 一个长度为m的哈希表组成,(其中k和m由用户来确定),其主要操作的基 本过程如下
査找操作用每个哈希函数分别对输入的数据项进行哈希,生成一组哈希 值,查看哈希表中该组哈希值对应的一组桶的数值是否全为1,如果是,则返 回查找成功,否则,返回査找失败;
加入操作用每个哈希函数分别对输入的数据项进行哈希,生成一组哈希 值,将哈希表中该组哈希值对应的一组桶的数值均置为1,返回。
删除操作用每个哈希函数分别对输入的数据项进行哈希,生成一组哈希 值,查看哈希表中该组哈希值对应的一组桶的数值是否全为1,如果是,则全 部置为0,返回,否则返回。
转发模块405,用于与上述处理过程同时进行,判断当前状态,如果是攻 击状态,那么如果缓冲区中有数据包,则分别按i^v/ (r+l)和v/ (r+l)的 速率将高权重队列442、低权重队列441中的数据包不停地从系统出口转发出 去;如果不是攻击状态,那么如果高权重队列442中有数据包,则按v速率将 这些数据包不停地从系统出口转发出去。
转发总速率为v,单位为每秒包数,由被保护的网络信息系统的处理能力 决定。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条 件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于 以上的说明,而是由权利要求书的范围来确定的。
权利要求
1. 一种同步泛洪攻击的过滤方法,其特征在于,包括步骤1,配置高低权重队列转发数据包的比例;步骤2,接收数据包,确定当前状态,判断所述当前状态是否为正常状态,如果是,则所述数据包进入高权重队列,否则,执行步骤3;步骤3,根据所述数据包的类型,用于记录连接的连接状态表和用于记录合法IP地址的合法地址表,判断所述数据包是否合法,如果是,则所述数据包进入所述高权重队列,否则,所述数据包进入低权重队列;并更新所述连接状态表和所述合法地址表;步骤4,在当前状态为正常状态时,转发所述高权重队列中数据包,在当前状态为攻击状态时,按所述高低权重队列转发数据包的比列转发所述低权重队列和所述高权重队列中的数据包。
2. 如权利要求l所述的同步泛洪攻击的过滤方法,其特征在于, 所述步骤l还包括,配置检测时隙,初始化计时器为0,初始化用于记录当前状态的当前状态变量为正常;所述步骤2中确定当前状态进一步为步骤21,接收数据包后,判断所述计时器的值是否小于所述检测时隙, 如果是,则确定当前状态为所述当前状态变量中记录的状态,否则,将所述计 时器置为0,执行步骤22;所述步骤22,判断是否发生攻击,如果是,则更新所述当前状态变量为 攻击状态,确定所述当前状态为攻击状态,否则,更新所述当前状态变量为正 常状态,确定所述当前状态为正常状态。
3. 如权利要求2所述的同歩泛洪攻击的过滤方法,其特征在于, 所述步骤2还包括,在执行完步骤22,确定所述当前状态为正常状态时,将所述连接状态表和所述合法地址表清空。
4. 如权利要求2所述的同步泛洪攻击的过滤方法,其特征在于, 所述步骤1还包括配置同步数据包阈值;所述步骤22中判断是否发生攻击进一步为步骤41,判断在所述计时器的计时时间内统计的同步包数量除以所述计时器的值所得值是否大于等于所述同步数据包阈值,如果是,则判定发生攻击, 所述,判定为正常。
5. 如权利要求l所述的同步泛洪攻击的过滤方法,其特征在于,所述步骤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. 如权利要求l所述的同步泛洪攻击的过滤方法,其特征在于,所述步骤2和所述步骤3中所述数据包进入高权重队列进一步为, 判断所述高权重队列是否已满,如果是,则丢弃所述数据包,否则将所述 数据包加入所述高权重队列;所述步骤3中所述数据包进入低权重队列进一步为,判断所述低权重队列是否已满,如果是,则丢弃所述数据包,否则将所述 数据包加入所述低权重队列。
11. 一种同步泛洪攻击的过滤系统,其特征在于,包括检测模块、过滤 模块、缓冲区模块和转发模块,所述缓冲区模块包含低权重队列和高权重队列; 所述初始化模块,用于配置高低权重队列转发数据包的比例; 所述检测模块,用于接收数据包,确定当前状态,判断所述当前状态是否为正常状态,如果是,则将所述数据包加入到所述高权重队列,否则,将所述数据包传给所述过滤模块;所述过滤模块,用于根据所述数据包的类型,用于记录连接的连接状态表和用于记录合法IP地址的合法地址表,判断所述数据包是否合法,如果是,则将所述数据包加入所述高权重队列,否则,将所述数据包加入所述低权重队列;并更新所述连接状态表和所述合法地址表;所述转发模块,用于在当前状态为正常状态时,转发所述高权重队列中数据包,在当前状态为攻击状态时,按所述高低权重队列转发数据包的比列转发所述低权重队列和所述高权重队列中的数据包。
12. 如权利要求ll所述的同步泛洪攻击的过滤系统,其特征在于, 所述初始化模块还用于配置检测时隙,初始化计时器为0,初始化用于记录当前状态的当前状态变量为正常;所述检测模块在确定当前状态时进一步用于接收到数据包后,判断所述计 时器的值是否小于所述检测时隙,如果是,则确定当前状态为所述当前状态变 量中记录的状态;否则,将所述计时器置为0,判断是否发生攻击,如果是, 则更新所述当前状态变量为攻击状态,确定所述当前状态为攻击状态,否则,更新所述当前状态变量为正常状态,确定所述当前状态为正常状态。
13. 如权利要求12所述的同步泛洪攻击的过滤系统,其特征在于, 所述检测模块还用在通过判断未发生攻击确定所述当前状态为正常状态后,将所述连接状态表和所述合法地址表清空。
14. 如权利要求12所述的同步泛洪攻击的过滤系统,其特征在于,所述初始化模块还用于配置同步数据包阈值;所述检测模块在判断是否发生攻击时进一步用于判断在所述计时器的计 时时间内统计的同步包数量除以所述计时器的值所得值是否大于等于所述同 步数据包阈值,如果是,则判定发生攻击,所述,判定为正常。
15. 如权利要求ll所述的同步泛洪攻击的过滤系统,其特征在于, 所述过滤模块进一步用于在所述数据包为同步包时,确定所述数据包不合法,将所述数据包加入所述低权重队列,并更新所述连接状态表;在所述数据 包为同步/确认包时,如果所述数据包在所述连接状态表中存在对应记录,则 所述数据包合法,将所述数据包加入所述高权重队列,更新所述连接状态表和 所述合法地址表,否则,所述数据包不合法,将所述数据包加入所述低权重队 列;在所述数据包为其他类型时,如果所述数据包在所述合法地址表中存在对 应记录,则确定所述数据包合法,将所述数据包加入所述高权重队列,否则, 所述数据包不合法,将所述数据包加入所述低权重队列。
16. 如权利要求15所述的同步泛洪攻击的过滤系统,其特征在于, 所述过滤模块在所述数据包为同步包的情况下更新所述连接状态表时进一步用于在所述连接状态表中査找所述数据包对应连接的标识,如果未查找 到,则将所述数据包对应连接的标识添加到所述连接状态表中。
17. 如权利要求16所述的同步泛洪攻击的过滤系统,其特征在于, 所述过滤模块在所述数据包为同步/确认包的情况下进一步用于在所述连接状态表中查找所述数据包对应连接的标识,如果未查找到,则将所述数据包 加入所述低权重队列,如果查找到,则将所述数据包对应的连接的标识从所述 连接状态表中删除,将所述数据包的源IP地址添加到所述和合法地址表中, 确定所述数据包合法,将所述数据包加入所述高权重队列。
18. 如权利要求17所述的同歩泛洪攻击的过滤系统,其特征在于, 所述过滤模块在所述数据包为其他类型的情况下进一步用于在所述合法地址表中查找所述数据包的源IP地址,如果查找到,则确定所述数据包合法, 将所述数据包加入所述高权重队列,否则,将所述数据包加入所述低权重队列。
19. 如权利要求16、 17或18所述的同步泛洪攻击的过滤系统,其特征在于,所述标识为所述连接的同步数据包的五源组,所述五源组由源IP地址、 源端口号、目的IP地址、目的端口号和序列号组成。
20. 如权利要求ll所述的同步泛洪攻击的过滤系统,其特征在于, 所述检测模块在将所述数据包加入所述高权重队列时进一歩用于判断所述高权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入 所述高权重队列;所述过滤模块在将所述数据包加入所述高权重队列时进一步用于判断所 述高权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入 所述高权重队列;所述过滤模块在将所述数据包加入所述低权重队列时进一步用于判断所 述低权重队列是否已满,如果是,则丢弃所述数据包,否则将所述数据包加入 所述低权重队列。
全文摘要
本发明涉及一种同步泛洪攻击的过滤方法及系统,方法包括步骤1,配置高低权重队列转发数据包的比例;步骤2,接收数据包,确定当前状态,判断当前状态是否为正常状态,如果是,则数据包进入高权重队列,否则,执行步骤3;步骤3,根据数据包的类型,用于记录连接的连接状态表和用于记录合法IP地址的合法地址表,判断数据包是否合法,如果是,则数据包进入高权重队列,否则,数据包进入低权重队列;并更新连接状态表和合法地址表;步骤4,在当前状态为正常状态时,转发高权重队列中数据包,在当前状态为攻击状态时,按比列转发低权重队列和高权重队列中的数据包。本发明能够有效缓解、过滤和防御针对网络信息系统的大规模同步泛洪攻击。
文档编号H04L29/06GK101465855SQ200810247440
公开日2009年6月24日 申请日期2008年12月31日 优先权日2008年12月31日
发明者云晓春, 张永铮, 磊 戴, 军 肖 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1