CN1741473A - 一种网络数据包有效性判定方法及系统 - Google Patents

一种网络数据包有效性判定方法及系统 Download PDF

Info

Publication number
CN1741473A
CN1741473A CNA2005100863524A CN200510086352A CN1741473A CN 1741473 A CN1741473 A CN 1741473A CN A2005100863524 A CNA2005100863524 A CN A2005100863524A CN 200510086352 A CN200510086352 A CN 200510086352A CN 1741473 A CN1741473 A CN 1741473A
Authority
CN
China
Prior art keywords
network
packet
data
tcp
knowledge base
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.)
Pending
Application number
CNA2005100863524A
Other languages
English (en)
Inventor
刘明岩
许世强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING QIMING XINGCHEN INFORMATION TECHNOLOGY Co Ltd
Original Assignee
BEIJING QIMING XINGCHEN INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by BEIJING QIMING XINGCHEN INFORMATION TECHNOLOGY Co Ltd filed Critical BEIJING QIMING XINGCHEN INFORMATION TECHNOLOGY Co Ltd
Priority to CNA2005100863524A priority Critical patent/CN1741473A/zh
Publication of CN1741473A publication Critical patent/CN1741473A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种网络数据包检测分析的方法及系统,特点是:捕获网络中的TCP连接请求数据包;对该原始报文数据进行解析;记录连接的结果以确认数据包的有效性;如果此次连接请求成功,将全部连接信息存入知识库,并建立索引;当网络流量超过预定阀值时,使用知识库索引进行快速匹配,如发现知识库中存在类似连接信息,则予以放行;如果没有发现知识库之中有类似信息,则计算通行概率,概率高于事先约定好的固定数值时,予以放行,否则进行丢弃,在超大流量下可以有效的减少回包数量,减少系统负荷,提高系统的负载能力,减少边缘方路由器的负担,避免路由器因为负荷太重而无法正常工作,最大限度的利用了系统资源,按照最大概率的原则,尽可能的保障了超大流量攻击下用户的访问。

Description

一种网络数据包有效性判定方法及系统
技术领域
本发明涉及一种网络数据包检测分析的方法及系统,利用网络正常工作时的流量和数据,逐步完善,建立数学模型,不断生成新的、更准确的数据流量统计状况,用以在超大流量的拒绝服务攻击发生时.有效的保障正常的网络服务。
背景技术
众所周知,拒绝服务攻击是一种危害极为严重的网络攻击方式,其实施方法简单,却很难防范,通常是以消耗服务器端资源为目标,通过伪造超过服务器处理能力的请求数据造成服务器响应阻塞,从而使正常的用户请求得不到应答,实现攻击目的。
而作为拒绝服务攻击的主要手段SYN Flood攻击效果尤为显著,通常SYN Flood的防范方式为应用SYN Cookie机制.它的原理是:在TCP服务器收到TCP SYN包时,不分配一个专门的数据区,而是根据这个SYN包计算出一个cookie值,并加载在所回应的SYN/ACK包中,在收到TCP ACK包时,TCP服务器在根据那个cookie值检查这个TCP ACK包的合法性。如果合法,再分配专门的数据区进行处理未来的TCP连接。SYN Cookie Firewall,一个网关模式的syn防火墙,它不仅要保护本机免受各种网络攻击,还要保护它后面的所有对外有开放TCP端口的主机免受这些攻击。比如一个局域网中有个服务器开放了FTP服务给外界,这个服务器主机就有可能遭受到来自互联网上的SYNFlood攻击。而这时的防火墙会将所有的攻击SYN包转发给受害主机。一种杜绝这种情况的方法是SYN Cookie Firewall。它是SYN Cookie的一种扩展形式。总的来说,它是利用原来SYN Cookie的原理在内网和外网之间实现TCP三次握手过程的代理(proxy)的机制。
为了方便描述,我们假定一个外在的TCP客户机C希望通过防火墙F连接到局域网中的一个TCP服务器S。在防火墙收到来自外网的SYN包时,它并不直接进行转发,而是缓存在本地,再按照原来SYNCookie的机制制作好一个针对这个SYN包的SYN+ACK包,注意,这个SYN+ACK包中的ack顺序号为特制的cookie值c,更重要的是这个包的的源地址被伪造成了S的地址(为了描述方便,我们这里暂时不考虑NAT等其他因素)。这样C会接收到这个SYN+ACK包,并认为是从S反馈回来的。于是C再响应一个ACK包,并认为与S的TCP连接已经建立起来。这时防火墙F收到这个ACK包,按照前面的描述的SYN Cookie原理来检查这个ACK中的ack顺序号。如果认为合法,F将本地缓存的来自C的SYN包发送给S,这时S会响应一个SYN+ACK包到C,其中也携带一个seq号,我们设为c`。当然这个包不会到达C,而是由防火墙F截取,F根据这个包中的序列号等信息,造一个ACK包响应到S。这时的情况是:C认为自己已经与S建立了TCP连接;S认为自己与C建立了TCP连接。以后的TCP数据内容可以直接穿过防火墙F,在S和C之间交互。
SYN Cookie Firewall的工作原理,它相当于在TCP Server与TCP Client之间实现了对三次握手协议的代理。第一次″三次握手″在TCP Client与防火墙之间进行,第二次″三次握手″在防火墙与TCPServer之间。在第一次″三次握手″时使用前面介绍的SYN Cookie流程。有一个问题在进行两次″三次握手″时出现了:如图所示,进行第一次″三次握手″后,TCP Client认为后续数据包的seq值从c+1开始,而进行第二次″三次握手″后,TCP Server认为后续发来的数据包的seq值从c`+1开始,c是cookie,c`是TCP Server随机产生的。c和c`几乎不可能相等,也就是说在完成上面的两个″三次握手″后,如果不进行其他操作,后续从TCP Client到TCP Server的数据包都将被认为顺序号不对而被丢掉。一种补救方法就是在防火墙本地保存一个值,利用这个差值,在每个数据包经过防火墙时,将其seq值修改一下,这样,后续的数据流量可以完美地在TCP Server和TCP Client之间传输了。
SYN Cookie可以在一定程度上缓解SYN Flood攻击的危害,但其自身的机制也存在问题:
主要表现在如下两方面:
1.超大规模的SYN Flood攻击可导致防护系统过分忙碌,从而使SYNCookie失效,进而导致防护功能失效。
2.应用SYN Cookie以后,需要对每个TCP SYN数据包回应SYN/ACK数据包,过多的回应包可导致路由器负担过重,从而引发更大规模的拒绝服务。
发明内容
本发明的目的是利用网络正常工作时的流量和数据,逐步完善,建立数学模型,不断生成新的、更准确的数据流量统计状况,用以在超大流量的拒绝服务攻击发生时,有效的保障正常的网络服务的一种网络数据包检测分析的方法及系统。
该方法包含如下步骤:
a、捕获网络中的TCP连接请求数据包;
b、对该原始报文数据进行解析;
c、记录连接的结果的成功或失败,以确认数据包的有效性;
d、如果此次连接请求成功,将全部连接信息存入知识库,并建立索引;
e、当网络流量超过预定阀值时,使用知识库索引进行快速匹配,如发现知识库中存在类似连接信息,则予以放行;
f如果没有发现知识库之中有类似信息,则计算通行概率,概率高于事先约定好的固定数值时,予以放行,否则进行丢弃。
上述a步骤为拒绝服务攻击防范系统的基本数据来源,即在网络中捕获原始数据。
上述b步骤为将a步骤所获的数据按网络协议进行解析处理,因为SYN Flood攻击针对的是运输层协议TCP,所以我们并不需要解析到网络的应用层,而所述的进行协议解析更进一步包括:如果协议为IP协议,则对解析中的协议数据进行重组后,再进一步继续协议解析,以便获得网络数据的真实特征,否则的话,有可能丢掉故意对数据进行分片以隐藏攻击特征的恶意攻击行为;如果协议为TCP协议,则对TCP的报文流进行重组后,再进一步继续协议解析,以便获得TCP的连接状态和流重组以后的数据。
上述c步骤为将步骤b所得到的解析后的数据进行处理,根据预先设定的规则,对网络数据包中的连接请求进行校验,这个过程包含了对于TCP会话的全程监控,需要建立TCP有限状态机,对连接状态的变化和数据的传送进行记录,需要对如下状态进行记录和分析:
Closed
Listen
SYN Received
SYN Sent
Established
Time wait
Close wait
上述d步骤记录成功连接的信息,包括发起连接的一方和接收连接的一方的IP地址,连接的次数,单位时间内连接的频率,如果长时间内没有连接发生,则连接次数不断衰减,直至减为0,则知识库会自动删除这条连接信息,这样,总是保证知识库中记录的是发生频率最高的连接,另外对于ip地址采用B-树的方法编写多级索引,以便于快算查找。
上述e步骤为网络流量超过阀值时,每个网络连接请求数据包必须通过知识库的检索确认其有效性,如果知识库中存在相同的连接信息,则予以放行否则进入步骤f
上述f步骤为根据前一阶段的数据流量统计得出当前网络数据包的有效性概率,在根据此概率决定该数据包放行还是丢弃。
该系统包含有:
数据捕获模块:用于捕获网络中的原始报文数据包;
协议解析模块:用于对该原始报文数据包进行协议解析;
网络连接状态监视模块:监视所有网络连接的数据传输状况;
网络连接有效性判定模块:判定网络连接是否为正常有效;
知识库管理模块:用于存储和查找正常网络连接的相关信息,并建立快速查找索引;
网络数据流量监视模块:监视当前网络流量是否超过预定阀值.
动态数据流量分析和控制模块:用以根据前一阶段网络流量状况推算当前网络数据包的有效性概率,将网络流量始终控制在某一范围之内。
本发明具有以下优点:
1、在超大流量下可以有效的减少SYN Cookie机制的回包数量,减少系统负荷,大大提高系统的负载能力。
2、减少回包数量还可以减少边缘方路由器的负担,避免路由器因为负荷太重而无法正常工作。
3、最大限度的利用了系统资源,按照最大概率的原则,尽可能的保障了超大流量攻击下用户的访问.
附图说明
图1是网络数据包有效性判定系统流程图。
具体实现方式
系统工作的环境
本系统工作在百兆或千兆网络的以太网络环境,通过本系统的百兆或千兆网卡能够获取网络中的以太报文数据包。
系统工作的方法(见图1)
将系统获取的网络数据按标准的以太数据结构、IP数据结构、TCP/UDP数据结构,并进行TCP的会话查找,每条会话相对应的源和目的MAC地址、源和目的IP地址、源和目的端口地址、连接次数等。
将上述所获的网络连接信息放入网络连接知识库中,该缓冲区按照索引标识、源和目的地址进行合并存放,即相同的源和目的地址将该连接的发生次数进行累计计算。
当某一连接被释放,主动要求释放连接的一端发送TCP FIN数据包,监视整个连接的释放过程,如释放正常完成,在知识库中找到相对应的TCP会话,将连接发生的次数减1.这样可以始终保证知识库中存放的是发生频率最高的连接。
该算法会以1秒钟为单位时间,进行流量的统计,如果上1秒钟的流量大于事先约定的阀值,那么立即进入流量识别模式,如果连接请求可以在知识库搜索到,则直接放行,并记录放行的数据包数,否则以上1秒钟的流量作为样本,计算放行的概率。
具体算法如下:
假设预定阀值为M,上1秒钟包数统计为N,那么每个网络数据包的通过概率为M/N,对当前的每个网络数据包进行编号(1-∞),假设当前网络数据包的个数为A,则放行的包数应该为A*M/N,用这个数字减去已经放行的数据包数减去这个值,所得大于1,则放过当前数据包,如果小于1,则当前数据包丢弃。

Claims (6)

1.一种网络数据包有效性判定方法,其特征在于:
该方法包含如下步骤:
a、捕获网络中的TCP连接请求原始数据包;
b、对捕获网络中的TCP连接请求原始数据包进行解析;
c、根据预先设定的规则,对网络数据包中的连接请求进行校验,这个过程包含了对于TCP会话的全程监控,需要建立TCP有限状态机,记录连接的结果(成功或失败)以确认数据包的有效性;
d、如果此次连接请求成功,将全部连接信息存入知识库,并建立索引;
e、当网络流量超过预定阀值时,使用知识库索引进行快速匹配,如发现知识库中存在类似连接信息,则予以放行;
f  如果没有发现知识库之中有类似信息,则计算通行概率,概率高于事先约定好的固定数值时,予以放行,否则进行丢弃。
2.根据权利要求1所述的网络数据包有效性判定方法,其特征在于:对原始报文数据进行解析包括:如果协议为IP协议,则对解析中的协议数据进行重组后,再进一步继续协议解析,获得网络数据的真实特征;如果协议为TCP协议,则对TCP的报文流进行重组后,再进一步继续协议解析,获得TCP的连接状态和流重组以后的数据。
3.根据权利要求1所述的网络数据包有效性判定方法,其特征在于:对连接状态的变化和数据的传送进行记录和分析包括:
Closed
Listen
SYN Received
SYN Sent
Established
Time wait
Close wait。
4.根据权利要求1所述的网络数据包有效性判定方法,其特征在于:存入知识库的信息包括:发起连接的一方和接收连接的一方的IP地址,连接的次数,单位时间内连接的频率,如果长时间内没有连接发生,则连接次数不断衰减,直至减为0,则知识库会自动删除这条连接信息,保证知识库中记录的是发生频率最高的连接,ip地址采用B-树的方法编写多级索引。
5.根据权利要求1所述的网络数据包有效性判定方法,其特征在于:计算通行概率的方是:假设预定阀值为M,上1秒钟数据包数统计为N,那么每个网络数据包的通过概率为M/N,对当前的每个网络数据包进行编号(1-∞),假设当前网络数据包的个数为A,则放行的包数应该为A*M/N,用这个数字减去已经放行的数据包数减去这个值,所得大于1,则放过当前数据包,如果小于1,则当前数据包丢弃。
6.一种网络数据包有效性判定系统,该系统包括一计算机主机,一网络服务器,包括有显示单元的多个终端服务器,数据储存装置,以及输入装置,打印输出装置,其特征在于该系统还包含有:
数据捕获单元:用于捕获网络中的原始报文数据包;
协议解析单元:用于对该原始报文数据包进行协议解析;
网络连接状态监视单元:监视所有网络连接的数据传输状况;
网络连接有效性判定单元:判定网络连接是否为正常有效
知识库管理单元:用于存储和查找正常网络连接的相关信息,并建立快速查找索引;
网络数据流量监视单元:监视当前网络流量是否超过预定阀值;
动态数据流量分析和控制单元:用以根据前一阶段网络流量状况推算当前网络数据包的有效性概率,将网络流量始终控制在某一范围之内。
CNA2005100863524A 2005-09-05 2005-09-05 一种网络数据包有效性判定方法及系统 Pending CN1741473A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2005100863524A CN1741473A (zh) 2005-09-05 2005-09-05 一种网络数据包有效性判定方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2005100863524A CN1741473A (zh) 2005-09-05 2005-09-05 一种网络数据包有效性判定方法及系统

Publications (1)

Publication Number Publication Date
CN1741473A true CN1741473A (zh) 2006-03-01

Family

ID=36093694

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005100863524A Pending CN1741473A (zh) 2005-09-05 2005-09-05 一种网络数据包有效性判定方法及系统

Country Status (1)

Country Link
CN (1) CN1741473A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009033324A1 (fr) * 2007-09-13 2009-03-19 Coobol Technologies Co. Ltd Procédé de transmission de données de support en temps réel basé sur un protocole tcp
CN106997620A (zh) * 2016-01-26 2017-08-01 滴滴(中国)科技有限公司 基于gps数据点的计费方法和装置
CN107786472A (zh) * 2017-10-31 2018-03-09 北京亚鸿世纪科技发展有限公司 一种高效的tcp会话重组装置
CN111615814A (zh) * 2018-01-23 2020-09-01 甲贺电子株式会社 Ip网中的通信线路的相互认证系统
CN112398863A (zh) * 2020-11-19 2021-02-23 全知科技(杭州)有限责任公司 一种tcp长连接非完整流量的数据分析方法
CN113542246A (zh) * 2021-07-02 2021-10-22 南京中新赛克科技有限责任公司 一种基于网络处理器主动式流量响应实现方法
US11449908B2 (en) 2015-07-29 2022-09-20 Beijing Didi Infinity Technology And Development Co., Ltd. Method and system for determining transport service fee

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009033324A1 (fr) * 2007-09-13 2009-03-19 Coobol Technologies Co. Ltd Procédé de transmission de données de support en temps réel basé sur un protocole tcp
US11449908B2 (en) 2015-07-29 2022-09-20 Beijing Didi Infinity Technology And Development Co., Ltd. Method and system for determining transport service fee
CN106997620A (zh) * 2016-01-26 2017-08-01 滴滴(中国)科技有限公司 基于gps数据点的计费方法和装置
CN107786472A (zh) * 2017-10-31 2018-03-09 北京亚鸿世纪科技发展有限公司 一种高效的tcp会话重组装置
CN107786472B (zh) * 2017-10-31 2020-03-31 北京亚鸿世纪科技发展有限公司 一种高效的tcp会话重组装置
CN111615814A (zh) * 2018-01-23 2020-09-01 甲贺电子株式会社 Ip网中的通信线路的相互认证系统
CN111615814B (zh) * 2018-01-23 2022-03-04 甲贺电子株式会社 Ip网中的通信线路的相互认证系统
CN112398863A (zh) * 2020-11-19 2021-02-23 全知科技(杭州)有限责任公司 一种tcp长连接非完整流量的数据分析方法
CN113542246A (zh) * 2021-07-02 2021-10-22 南京中新赛克科技有限责任公司 一种基于网络处理器主动式流量响应实现方法

Similar Documents

Publication Publication Date Title
US7706378B2 (en) Method and apparatus for processing network packets
CN101175013B (zh) 一种拒绝服务攻击防护方法、网络系统和代理服务器
EP1433076B1 (en) Protecting against distributed denial of service attacks
US8943586B2 (en) Methods of detecting DNS flooding attack according to characteristics of type of attack traffic
US6973040B1 (en) Method of maintaining lists of network characteristics
US20060191003A1 (en) Method of improving security performance in stateful inspection of TCP connections
US8561188B1 (en) Command and control channel detection with query string signature
WO2002021297A1 (en) Architecture to thwart denial of service attacks
WO2002021302A1 (en) Monitoring network traffic denial of service attacks
CN1741473A (zh) 一种网络数据包有效性判定方法及系统
CN1484148A (zh) 用于syn/fin对应关系的秘密散列
WO2002021771A1 (en) Device to protect victim sites during denial of service attacks
CN1893375A (zh) 用于检测和减轻分布式拒绝服务攻击的系统和方法
CN101572700A (zh) 一种HTTP Flood分布式拒绝服务攻击防御方法
CN1630248A (zh) 基于连接请求验证的SYN flooding攻击防御方法
CN1822593A (zh) 一种抵御拒绝服务攻击事件的网络安全保护方法
GB2493129A (en) Managing a SIP server
US12120139B1 (en) System and method to protect resource allocation in stateful connection managers
Simpson TCP cookie transactions (TCPCT)
CN110661763B (zh) 一种DDoS反射攻击防御方法、装置及其设备
CN1510872A (zh) 一种dns和应用代理相结合对抗拒绝服务攻击的方法
CN112714102A (zh) 一种多核异构平台下SYN Flood攻击防御方法
US20100246592A1 (en) Load balancing method for network intrusion detection
JP2008136176A (ja) メモリブロックの割り当てを管理する方法及びデバイス、データ伝送ネットワークシステム、コンピュータ可読媒体、並びにコンピュータプログラム製品
Sun et al. A robust scheme to detect SYN flooding attacks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication