CN103368952A - 用于待入侵检测处理的数据包进行抽样的方法与设备 - Google Patents

用于待入侵检测处理的数据包进行抽样的方法与设备 Download PDF

Info

Publication number
CN103368952A
CN103368952A CN2013102692055A CN201310269205A CN103368952A CN 103368952 A CN103368952 A CN 103368952A CN 2013102692055 A CN2013102692055 A CN 2013102692055A CN 201310269205 A CN201310269205 A CN 201310269205A CN 103368952 A CN103368952 A CN 103368952A
Authority
CN
China
Prior art keywords
data flow
packet
sampling
described data
sampled
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
CN2013102692055A
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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN2013102692055A priority Critical patent/CN103368952A/zh
Publication of CN103368952A publication Critical patent/CN103368952A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明的目的是提供一种用于对待入侵检测处理的数据包进行抽样处理的方法与设备,具体地,获取待进行入侵检测处理的数据包;根据数据包的包特征信息,检测数据包所属的数据流是否待抽样;当待抽样时,根据数据流的长度信息,确定数据流是否满足新流抽样条件;当满足新流抽样条件时,按预定抽样概率对数据流进行抽样处理;当被抽中时,将数据包用于入侵检测处理。其中,与现有技术相比,本发明通过检测数据包所属的数据流是否待抽样,进而确定数据流是否满足新流抽样条件,对数据流进行抽样并用于入侵检测,通过结合FSH和FFS两种算法,既克服了FSH与FFS算法相结合时的冲突,还提高了可疑数据包的抽样效果,减少IDS的处理负担。

Description

用于待入侵检测处理的数据包进行抽样的方法与设备
技术领域
本发明涉及网络安全技术领域,尤其涉及一种用于待入侵检测处理的数据包进行抽样的技术。
背景技术
互联网在方便人们获取信息的同时,与其并存的网络安全问题也日益影响着人们的生活,如时常发生病毒分布式拒绝服务攻击(DDoS)、蠕虫(Worms)、端口扫描(Port Scan)等病毒侵袭网络,而现有技术中,为应对网络安全问题出现的入侵检测(IntrusionDetection)技术通常采用一定流量抽样方法如面向恶意攻击热点流量的流量抽样择方法FSH(Flow Sampling &Hold)、面向小规模攻击的基于反馈指导的流长抽样方法FFS(Feedback Flow Length Sampling)等来选择嫌疑度高的流量来提供入侵检测系统(IDS,IntrusionDetection Systerm)的检测效果及检测精度,然而,FFS算法虽可保证短流被抽中的概率比较大,但FFS算法与FSH算法组合在一起,就会有某种功能上的冲突,如当被FFS算法判定为超长流不再对该数据流进行抽样时,而若该数据流中的一个数据包却被FSH算法抽中,则该数据流中的后继数据包依然将被抽样。
发明内容
本发明的目的是提供一种用于待入侵检测处理的数据包进行抽样的方法与设备。
根据本发明的一个方面,提供了一种用于待入侵检测处理的数据包进行抽样的方法,其中,该方法包括以下步骤:
a获取待进行入侵检测处理的数据包;
b根据所述数据包的包特征信息,检测所述数据包所属的数据流是否待抽样;
c当所述数据包待抽样时,根据所述数据流的长度信息,确定所述数据流是否满足新流抽样条件;
d当所述数据流满足新流抽样条件时,按预定抽样概率对所述数据流进行抽样处理;
e当所述数据流被抽中时,将所述数据包用于入侵检测处理。
根据本发明的另一个方面,还提供了一种用于待入侵检测处理的数据包进行抽样的抽样设备,其中,该抽样设备包括:
获取装置,用于获取待进行入侵检测处理的数据包;
检测装置,用于根据所述数据包的包特征信息,检测所述数据包所属的数据流是否待抽样;
确定装置,用于当所述数据包待抽样时,根据所述数据流的长度信息,确定所述数据流是否满足新流抽样条件;
抽样处理装置,用于当所述数据流满足新流抽样条件时,按预定抽样概率对所述数据流进行抽样处理;
入侵检测装置,用于当所述数据流被抽中时,将所述数据包用于入侵检测处理。
根据本发明的再一个方面,还提供了一种计算机设备,其中,该计算机设备包括如前述根据本发明另一个方面的用于待入侵检测处理的数据包进行抽样的抽样设备。
与现有技术相比,本发明通过根据所述数据包的包特征信息,检测所述数据包所属的数据流是否待抽样,当所述数据包待抽样时,根据所述数据流的长度信息,确定所述数据流是否满足新流抽样条件,当所述数据流满足新流抽样条件时,按预定抽样概率对所述数据流进行抽样处理,当所述数据流被抽中时,将所述数据包用于入侵检测处理,实现了通过结合FSH和FFS两种算法,既实现了找出多点流和高抽样短流、低抽样长流、不抽样超长流的功能,同时克服了将FSH和FFS算法结合时的缺陷,还提高了可疑数据报的抽样效果,减少了IDS的处理负担,相应地,提高了IDS检测效果和检测精度。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面的用于待入侵检测处理的数据包进行抽样的设备示意图;
图2示出根据本发明另一个方面用于待入侵检测处理的数据包进行抽样的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个方面的用于待入侵检测处理的数据包进行抽样的抽样设备1,其中,抽样设备1包括获取装置11、检测装置12、确定装置13、抽样处理装置14和入侵检测装置15。具体地,获取装置11获取待进行入侵检测处理的数据包;检测装置12根据所述数据包的包特征信息,检测所述数据包所属的数据流是否待抽样;当所述数据包待抽样时,确定装置13根据所述数据流的长度信息,确定所述数据流是否满足新流抽样条件;当所述数据流满足新流抽样条件时,抽样处理装置14按预定抽样概率对所述数据流进行抽样处理;当所述数据流被抽中时,入侵检测装置15将所述数据包用于入侵检测处理。在此,抽样设备1包括但不限于网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(CloudComputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本领域技术人员应能理解上述抽样设备1仅为举例,其他现有的或今后可能出现的网络设备如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。在此,抽样设备1包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
具体地,获取装置11通过诸如获取数据包的工具如数据包捕获软件Iris提供的获取数据包的应用程序接口(API),来获取待进行入侵检测处理的数据包;或者,通过建立rawsocket来完成对所述数据包的获取;或则,通过WinPcap Developer′s pack来完成对数据包的获取;或者,通过网络数据监听方式获取所述数据包;或者,对于unix/linux平台,可通过网络数据包捕获函数包如libpcap来获取待进行入侵检测处理的数据包。在此,所述数据包的含义是指TCP/IP协议通信传输中的单位数据,如TCP数据包、UDP数据包、ICMP数据包、IGMP数据包等。例如,连接在Internet上的IP地址为192.168.0.1主机1向internet上的IP地址为192.168.0.2的另一台主机2发送数据连接,则获取装置11可通过安装在主机1上的数据包获取软件Iris提供的获取数据包的应用程序接口(API),便可获取到主机1向主机2发送的数据包如packet1,packet2,...,等等。
本领域技术人员应能理解上述获取待进行入侵检测处理的数据包的方式仅为举例,其他现有的或今后可能出现的获取待进行入侵检测处理的数据包的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
检测装置12根据所述数据包的包特征信息,检测所述数据包所属的数据流是否待抽样。在此,所述包特征信息包括所述数据包的五元组信息,如所述数据包的协议类型、源IP地址、源端口、目的IP地址、目的端口。在此,所述数据流的含义是指具有相同五元组的报文的集合。具体地,检测装置12可首先根据所述数据包的包特征信息,在哈希表中进行匹配查询,获得所述数据包对应的哈希值,其中该哈希表中包含数据包的包特征信息及其对应的哈希值;然后,检测装置12将所述哈希值与预定已抽样哈希表进行比较,以检测所述数据包所属的数据流是否待抽样。在此,所述预定已抽样哈希表包含了已抽样数据流的记录信息。例如,接上例,以获取装置11获取的数据包packet1为例进行说明,假设packet1的包特征信息packet1-characture=(TCP,192.168.0.1,80,192.168.0.2,80),则检测装置12可根据数据包packet1的包特征信息packet1-characture,在哈希表中进行查询,得到数据包packet1对应的哈希值hash1-value;然后,检测装置12将数据包packet1对应的哈希值hash1-value,与预定已抽样哈希表进行比较,以检测所述数据包所属的数据流是否待抽样,如当哈希值hash1-value在预定哈希表中存在时,则说明数据包packet1所属的数据流已经被抽样,即数据包packet1所属的数据流无需再抽样,当哈希值hash1-value在预定哈希表中不存在时,则说明数据包packet1所属的数据流未被抽样,即数据包packet1所属的数据流需待抽样。
优选地,当所述数据流已抽样时,检测装置12还可将所述数据包用于入侵检测处理。例如,接上例,假设检测装置12将数据包packet1对应的哈希值hash1-value,与预定已抽样哈希表进行比较,发现数据包packet1所属的数据流已经被抽样,即数据包packet1所属的数据流无需再抽样,则检测装置12将数据包packet1用于入侵检测处理,以检测该数据包的入侵行为。
优选地,检测装置12还可首先根据所述数据包的包特征信息,确定所述数据包所对应的哈希值,其中,所述包特征信息包括所述数据包的五元组信息;然后,检测装置12将所述哈希值与预定哈希表进行比较,以检测所述数据包所属的数据流是否待抽样。具体地,检测装置12可结合FSH(Sampling&Hold,流抽样保持)算法,根据所述数据包的包特征信息,确定所述数据包所对应的哈希值,如根据如下公式(1)所示的哈希函数:
FlowID(p)=hash(p.Protocol,p.srcIP,p.srcPort,p.dstIP,p.dstPort)    (1)
计算数据包所属的数据流的流ID,其中,p表示数据包,p.Protocol,p.srcIP,p.srcPort,p.dstIP,p.dstPort分别对应数据包p的协议类型、源IP地址、源端口、目的IP地址、目的端口;然后,检测装置12将所述哈希值与预定哈希表进行比较,以检测所述数据包所属的数据流是否待抽样,在此,所述预定样哈希表包含了已抽样数据流的记录信息。例如,还接上例,以获取装置11获取的数据包packet1为例进行说明,假设packet1的包特征信息packet1-characture=(TCP,192.168.0.1,80,192.168.0.2,80),则检测装置12可根据数据包packet1的包特征信息packet1-characture,根据上述公式(1)计算得到数据包packet1所属的数据流的流ID=FlowID(packet1);然后,检测装置12将所述哈希值与包含了已抽样数据流的记录信息的预定哈希表如FlowIDHashTable进行比较,以检测所述数据包所属的数据流是否待抽样,如当哈希值FlowID(packet1)在预定哈希表FlowIDHashTable中存在时,则说明数据包packet1所属的数据流已经被抽样,即数据包packet1所属的数据流无需再抽样,当哈希值FlowID(packet1)在预定哈希表FlowIDHashTable中不存在时,则说明数据包packet1所属的数据流未被抽样,即数据包packet1所属的数据流需待抽样。
本领域技术人员应能理解上述确定所述数据包所对应的哈希值的方式仅为举例,其他现有的或今后可能出现的确定所述数据包所对应的哈希值的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
本领域技术人员应能理解上述检测所述数据包所属的数据流是否待抽样的方式仅为举例,其他现有的或今后可能出现的检测所述数据包所属的数据流是否待抽样的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
当所述数据包待抽样时,确定装置13根据所述数据流的长度信息,确定所述数据流是否满足新流抽样条件。具体地,当所述数据包待抽样时,确定装置13基于多级布鲁姆过滤器确定所述数据流的长度信息,以确定所述数据流是否满足新流抽样条件。例如,还接上例,假设检测装置12确定数据包packet1待抽样,则确定装置13可基于多级布鲁姆过滤器(Multi-bloom filter)确定所述数据流的长度信息,以确定所述数据流是否满足新流抽样条件,如当数据包packet1所属的数据流data1-flow到来时,通过HASH函数对数据流data1-flow做HASH计算,将数据流data1-flow映射到一个表项,并更新对应表项的计数器,数据流data1-flow的所有数据包都会映射到同一个表项,当数据包packet1到达时,它通过HASH函数会映射到各级过滤器的某个表项,这些表项的最小值作为这个数据包packet1所在数据流data1-flow的长度,若最小值是0,说明数据包packet1是其所属数据流data1-flow的第一个报文,则确定装置13确定数据流data1-flow满足新流抽样条件。
本领域技术人员应能理解上述确定所述数据流的长度信息的方式仅为举例,其他现有的或今后可能出现的确定所述数据流的长度信息的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
本领域技术人员应能理解上述确定所述数据流是否满足新流抽样条件的方式仅为举例,其他现有的或今后可能出现的确定所述数据流是否满足新流抽样条件的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
接着,当所述数据流满足新流抽样条件时,抽样处理装置14按预定抽样概率对所述数据流进行抽样处理。在此,所述预定抽样概率可以是预先估算的,也可以是根据预先估算的抽样概率通过实验调节来获得的最终合适的抽样概率数值。例如,接上例,确定装置13数据包packet1所属的数据流data1-flow满足新流抽样条件,则抽样处理装置14可结合FSH算法,随机产生与数据流data1-flow的长度信息相对应的抽样概率sample-probability,对数据流data1-flow进行抽样处理。在此,本发明在确定对数据包进行抽样的抽样概率过程中,结合FSH算法,不仅实现了能够保证在一个节点同时有多个流的情况下能够被抽样的概率足够的大的有益效果,而且,利用FSH算法还实现了减少了内存的利用率、避免对每个流都在内存中都建立一个表项的有益效果。
优选地,当所述数据流被抽中时,抽样处理装置14还可在流哈希表中建立与所述数据流相对应的表项,以更新所述流哈希表。例如,接上例,当数据流data1-flow被抽中时,则抽样处理装置14可在流哈希表中建立与数据量流data1-flow相对应的表项,以更新所述流哈希表。
当所述数据流被抽中时,入侵检测装置15将所述数据包用于入侵检测处理。例如,还接上例,当数据流data1-flow被抽中时,则入侵检测装置15将所述数据包用于入侵检测处理,以检测该数据包的入侵行为。
本领域技术人员应能理解,在具体实施例中,当所述数据流被抽中时,抽样处理装置14与入侵检测装置15可以是串行的处理,也可是并行的处理。
抽样设备1的各个装置之间是持续不断工作的。具体地,获取装置11持续获取待进行入侵检测处理的数据包;检测装置12持续根据所述数据包的包特征信息,检测所述数据包所属的数据流是否待抽样;当所述数据包待抽样时,确定装置13持续根据所述数据流的长度信息,确定所述数据流是否满足新流抽样条件;当所述数据流满足新流抽样条件时,抽样处理装置14持续按预定抽样概率对所述数据流进行抽样处理;当所述数据流被抽中时,入侵检测装置15持续将所述数据包用于入侵检测处理。在此,本领域技术人员应能理解“持续”是指抽样设备1的各个装置之间分别不断地进行数据包的获取、所述数据包所属的数据流是否待抽样检测、是否满足新流抽样条件的确定、抽样处理及将所述数据包用于入侵检测处理。
优选地,当所述数据流不满足新流抽样条件时,抽样处理装置14还可根据FFS算法对所述数据流进行抽样处理。具体地,当所述数据流不满足新流抽样条件时,抽样处理装置14首先根据所述数据流的长度信息,结合FFS算法,确定对所述数据流进行抽样的抽样概率,如当所述数据流的长度小于10时,认为所述数据流为短流,则以高抽样比pshort的概率对所述数据流进行抽样;当所述数据流的长度大于1000时,认为所述数据流为超长数据流,则对该数据流不再抽样;当所述数据流的长度介于10与1000之间时,认为所述数据流为长流,则以低抽样比plong的概率对所述数据流进行抽样;然后,抽样处理装置14根据所述抽样概率,对所述数据流进行抽样。例如,假设确定装置13确定数据包packet1所属的数据流data1-flow不满足新流抽样条件,而确定装置13基于多级布鲁姆过滤器确定数据流data1-flow的长度信息为20,则抽样处理装置14根据FFS算法,判断数据流data1-flow为长流,则以低抽样比plong的概率对数据流data1-flow进行抽样。
在此,本发明在确定对数据包进行抽样的抽样概率过程中,还结合了FFS算法,不仅实现了保证短流被抽中的概率比较大、能够完成找出多点流和高抽样短流、低抽样长流、不抽样超长流的有益效果。
图2示出根据本发明另一个方面用于待入侵检测处理的数据包进行抽样的方法流程图。
具体地,在步骤S1中,抽样设备1获取待进行入侵检测处理的数据包;在步骤S2中,抽样设备1根据所述数据包的包特征信息,检测所述数据包所属的数据流是否待抽样;当所述数据包待抽样时,在步骤S3中,抽样设备1根据所述数据流的长度信息,确定所述数据流是否满足新流抽样条件;当所述数据流满足新流抽样条件时,在步骤S4中,抽样设备1按预定抽样概率对所述数据流进行抽样处理;当所述数据流被抽中时,在步骤S5中,抽样设备1将所述数据包用于入侵检测处理。在此,抽样设备1包括但不限于网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。在此,云由基于云计算(CloudComputing)的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个超级虚拟计算机。本领域技术人员应能理解上述抽样设备1仅为举例,其他现有的或今后可能出现的网络设备如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。在此,抽样设备1包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
具体地,在步骤S1中,抽样设备1通过诸如获取数据包的工具如数据包捕获软件Iris提供的获取数据包的应用程序接口(API),来获取待进行入侵检测处理的数据包;或者,通过建立rawsocket来完成对所述数据包的获取;或则,通过WinPcap Developer′s pack来完成对数据包的获取;或者,通过网络数据监听方式获取所述数据包;或者,对于unix/linux平台,可通过网络数据包捕获函数包如libpcap来获取待进行入侵检测处理的数据包。在此,所述数据包的含义是指TCP/IP协议通信传输中的单位数据,如TCP数据包、UDP数据包、ICMP数据包、IGMP数据包等。例如,连接在Internet上的IP地址为192.168.0.1主机1向internet上的IP地址为192.168.0.2的另一台主机2发送数据连接,则在步骤S1中,抽样设备1可通过安装在主机1上的数据包获取软件Iris提供的获取数据包的应用程序接口(API),便可获取到主机1向主机2发送的数据包如packet1,packet2,...,等等。
本领域技术人员应能理解上述获取待进行入侵检测处理的数据包的方式仅为举例,其他现有的或今后可能出现的获取待进行入侵检测处理的数据包的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
在步骤S2中,抽样设备1根据所述数据包的包特征信息,检测所述数据包所属的数据流是否待抽样。在此,所述包特征信息包括所述数据包的五元组信息,如所述数据包的协议类型、源IP地址、源端口、目的IP地址、目的端口。在此,所述数据流的含义是指具有相同五元组的报文的集合。具体地,在步骤S2中,抽样设备1可首先根据所述数据包的包特征信息,在哈希表中进行匹配查询,获得所述数据包对应的哈希值,其中该哈希表中包含数据包的包特征信息及其对应的哈希值;然后,在步骤S2中,抽样设备1将所述哈希值与预定已抽样哈希表进行比较,以检测所述数据包所属的数据流是否待抽样。在此,所述预定已抽样哈希表包含了已抽样数据流的记录信息。例如,接上例,以在步骤S1中,抽样设备1获取的数据包packet1为例进行说明,假设packet1的包特征信息packet1-characture=(TCP,192.168.0.1,80,192.168.0.2,80),则在步骤S2中,抽样设备1可根据数据包packet1的包特征信息packet1-characture,在哈希表中进行查询,得到数据包packet1对应的哈希值hash1-value;然后,在步骤S2中,抽样设备1将数据包packet1对应的哈希值hash1-value,与预定已抽样哈希表进行比较,以检测所述数据包所属的数据流是否待抽样,如当哈希值hash1-value在预定哈希表中存在时,则说明数据包packet1所属的数据流已经被抽样,即数据包packet1所属的数据流无需再抽样,当哈希值hash1-value在预定哈希表中不存在时,则说明数据包packet1所属的数据流未被抽样,即数据包packet1所属的数据流需待抽样。
优选地,当所述数据流已抽样时,在步骤S2中,抽样设备1还可将所述数据包用于入侵检测处理。例如,接上例,假设在步骤S2中,抽样设备1将数据包packet1对应的哈希值hash1-value,与预定已抽样哈希表进行比较,发现数据包packet1所属的数据流已经被抽样,即数据包packet1所属的数据流无需再抽样,则在步骤S2中,抽样设备1将数据包packet1用于入侵检测处理,以检测该数据包的入侵行为。
优选地,在步骤S2中,抽样设备1还可首先根据所述数据包的包特征信息,确定所述数据包所对应的哈希值,其中,所述包特征信息包括所述数据包的五元组信息;然后,在步骤S2中,抽样设备1将所述哈希值与预定哈希表进行比较,以检测所述数据包所属的数据流是否待抽样。具体地,在步骤S2中,抽样设备1可结合FSH(Sampling&Hold,流抽样保持)算法,根据所述数据包的包特征信息,确定所述数据包所对应的哈希值,如根据如下公式(2)所示的哈希函数:
FlowID(p)=hash(p.Protocol,p.srcIP,p.srcPort,p.dstIP,p.dstPort)    (2)
计算数据包所属的数据流的流ID,其中,p表示数据包,p.Protocol,p.srcIP,p.srcPort,p.dstIP,p.dstPort分别对应数据包p的协议类型、源IP地址、源端口、目的IP地址、目的端口;然后,在步骤S2中,抽样设备1将所述哈希值与预定哈希表进行比较,以检测所述数据包所属的数据流是否待抽样,在此,所述预定样哈希表包含了已抽样数据流的记录信息。例如,还接上例,以在步骤S1中,抽样设备1获取的数据包packet1为例进行说明,假设packet1的包特征信息packet1-characture=(TCP,192.168.0.1,80,192.168.0.2,80),则在步骤S2中,抽样设备1可根据数据包packet1的包特征信息packet1-characture,根据上述公式(2)计算得到数据包packet1所属的数据流的流ID=FlowID(packet1);然后,在步骤S2中,抽样设备1将所述哈希值与包含了已抽样数据流的记录信息的预定哈希表如FlowIDHashTable进行比较,以检测所述数据包所属的数据流是否待抽样,如当哈希值FlowID(packet1)在预定哈希表FlowIDHashTable中存在时,则说明数据包packet1所属的数据流已经被抽样,即数据包packet1所属的数据流无需再抽样,当哈希值FlowID(packet1)在预定哈希表FlowIDHashTable中不存在时,则说明数据包packet1所属的数据流未被抽样,即数据包packet1所属的数据流需待抽样。
本领域技术人员应能理解上述确定所述数据包所对应的哈希值的方式仅为举例,其他现有的或今后可能出现的确定所述数据包所对应的哈希值的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
本领域技术人员应能理解上述检测所述数据包所属的数据流是否待抽样的方式仅为举例,其他现有的或今后可能出现的检测所述数据包所属的数据流是否待抽样的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
当所述数据包待抽样时,在步骤S3中,抽样设备1根据所述数据流的长度信息,确定所述数据流是否满足新流抽样条件。具体地,当所述数据包待抽样时,在步骤S3中,抽样设备1基于多级布鲁姆过滤器确定所述数据流的长度信息,以确定所述数据流是否满足新流抽样条件。例如,还接上例,假设在步骤S2中,抽样设备1确定数据包packet1待抽样,则在步骤S3中,抽样设备1可基于多级布鲁姆过滤器(Multi-bloom filter)确定所述数据流的长度信息,以确定所述数据流是否满足新流抽样条件,如当数据包packet1所属的数据流data1-flow到来时,通过HASH函数对数据流data1-flow做HASH计算,将数据流data1-flow映射到一个表项,并更新对应表项的计数器,数据流data1-flow的所有数据包都会映射到同一个表项,当数据包packet1到达时,它通过HASH函数会映射到各级过滤器的某个表项,这些表项的最小值作为这个数据包packet1所在数据流data1-flow的长度,若最小值是0,说明数据包packet1是其所属数据流data1-flow的第一个报文,则在步骤S3中,抽样设备1确定数据流data1-flow满足新流抽样条件。
本领域技术人员应能理解上述确定所述数据流的长度信息的方式仅为举例,其他现有的或今后可能出现的确定所述数据流的长度信息的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
本领域技术人员应能理解上述确定所述数据流是否满足新流抽样条件的方式仅为举例,其他现有的或今后可能出现的确定所述数据流是否满足新流抽样条件的方式如可适用于本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于此。
接着,当所述数据流满足新流抽样条件时,在步骤S4中,抽样设备1按预定抽样概率对所述数据流进行抽样处理。在此,所述预定抽样概率可以是预先估算的,也可以是根据预先估算的抽样概率通过实验调节来获得的最终合适的抽样概率数值。例如,接上例,在步骤S3中,抽样设备1数据包packet1所属的数据流data1-flow满足新流抽样条件,则抽样处理装置14可结合FSH算法,随机产生与数据流data1-flow的长度信息相对应的抽样概率sample-probability,对数据流data1-flow进行抽样处理。在此,本发明在确定对数据包进行抽样的抽样概率过程中,结合FSH算法,不仅实现了能够保证在一个节点同时有多个流的情况下能够被抽样的概率足够的大的有益效果,而且,利用FSH算法还实现了减少了内存的利用率、避免对每个流都在内存中都建立一个表项的有益效果。
优选地,当所述数据流被抽中时,在步骤S4中,抽样设备1还可在流哈希表中建立与所述数据流相对应的表项,以更新所述流哈希表。例如,接上例,当数据流data1-flow被抽中时,则在步骤S4中,抽样设备1可在流哈希表中建立与数据量流data1-flow相对应的表项,以更新所述流哈希表。
当所述数据流被抽中时,在步骤S5中,抽样设备1将所述数据包用于入侵检测处理。例如,还接上例,当数据流data1-flow被抽中时,则在步骤S5中,抽样设备1将所述数据包用于入侵检测处理,以检测该数据包的入侵行为。
本领域技术人员应能理解,在具体实施例中,当所述数据流被抽中时,步骤S4与步骤S5可以是串行的处理,也可是并行的处理。
抽样设备1的各个步骤之间是持续不断工作的。具体地,在步骤S1中,抽样设备1持续获取待进行入侵检测处理的数据包;在步骤S2中,抽样设备1持续根据所述数据包的包特征信息,检测所述数据包所属的数据流是否待抽样;当所述数据包待抽样时,在步骤S3中,抽样设备1持续根据所述数据流的长度信息,确定所述数据流是否满足新流抽样条件;当所述数据流满足新流抽样条件时,在步骤S4中,抽样设备1持续按预定抽样概率对所述数据流进行抽样处理;当所述数据流被抽中时,在步骤S5中,抽样设备1持续将所述数据包用于入侵检测处理。在此,本领域技术人员应能理解“持续”是指抽样设备1的各个步骤之间分别不断地进行数据包的获取、所述数据包所属的数据流是否待抽样检测、是否满足新流抽样条件的确定、抽样处理及将所述数据包用于入侵检测处理。
优选地,当所述数据流不满足新流抽样条件时,在步骤S4中,抽样设备1还可根据FFS算法对所述数据流进行抽样处理。具体地,当所述数据流不满足新流抽样条件时,在步骤S4中,抽样设备1首先根据所述数据流的长度信息,结合FFS算法,确定对所述数据流进行抽样的抽样概率,如当所述数据流的长度小于10时,认为所述数据流为短流,则以高抽样比pshort的概率对所述数据流进行抽样;当所述数据流的长度大于1000时,认为所述数据流为超长数据流,则对该数据流不再抽样;当所述数据流的长度介于10与1000之间时,认为所述数据流为长流,则以低抽样比plong的概率对所述数据流进行抽样;然后,在步骤S4中,抽样设备1根据所述抽样概率,对所述数据流进行抽样。例如,假设在步骤S3中,抽样设备1确定数据包packet1所属的数据流data1-flow不满足新流抽样条件,而在步骤S3中,抽样设备1基于多级布鲁姆过滤器确定数据流data1-flow的长度信息为20,则抽样处理装置14根据FFS算法,判断数据流data1-flow为长流,则以低抽样比plong的概率对数据流data1-flow进行抽样。
在此,本发明在确定对数据包进行抽样的抽样概率过程中,还结合了FFS算法,不仅实现了保证短流被抽中的概率比较大、能够完成找出多点流和高抽样短流、低抽样长流、不抽样超长流的有益效果。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (15)

1.一种用于对待入侵检测处理的数据包进行抽样处理的方法,其中,该方法包括以下步骤:
a获取待进行入侵检测处理的数据包;
b根据所述数据包的包特征信息,检测所述数据包所属的数据流是否待抽样;
c当所述数据包待抽样时,根据所述数据流的长度信息,确定所述数据流是否满足新流抽样条件;
d当所述数据流满足新流抽样条件时,按预定抽样概率对所述数据流进行抽样处理;
e当所述数据流被抽中时,将所述数据包用于入侵检测处理。
2.根据权利要求1所述的方法,其中,所述步骤b还包括:
-当所述数据流已抽样时,将所述数据包用于入侵检测处理。
3.根据权利要求1或2所述的方法,其中,所述步骤d还包括:
-当所述数据流不满足新流抽样条件时,根据FFS算法对所述数据流进行抽样处理。
4.根据权利要求3所述的方法,其中,所述步骤d包括:
-当所述数据流不满足新流抽样条件时,根据所述数据流的长度信息,结合FFS算法,确定对所述数据流进行抽样的抽样概率;
-根据所述抽样概率,对所述数据流进行抽样。
5.根据权利要求1所述的方法,其中,所述步骤b包括:
-根据所述数据包的包特征信息,确定所述数据包所对应的哈希值,其中,所述包特征信息包括所述数据包的五元组信息;
-将所述哈希值与预定哈希表进行比较,以检测所述数据包所属的数据流是否待抽样。
6.根据权利要求1至5中任一项所述的方法,其中,所述步骤c包括:
-当所述数据包待抽样时,基于多级布鲁姆过滤器确定所述数据流的长度信息,以确定所述数据流是否满足新流抽样条件。
7.根据权利要求1至4中任一项所述的方法,其中,所述步骤d还包括:
-当所述数据流被抽中时,在流哈希表中建立与所述数据流相对应的表项,以更新所述流哈希表。
8.一种用于对待入侵检测处理的数据包进行抽样处理的抽样设备,其中,该抽样设备包括:
获取装置,用于获取待进行入侵检测处理的数据包;
检测装置,用于根据所述数据包的包特征信息,检测所述数据包所属的数据流是否待抽样;
确定装置,用于当所述数据包待抽样时,根据所述数据流的长度信息,确定所述数据流是否满足新流抽样条件;
抽样处理装置,用于当所述数据流满足新流抽样条件时,按预定抽样概率对所述数据流进行抽样处理;
入侵检测装置,用于当所述数据流被抽中时,将所述数据包用于入侵检测处理。
9.根据权利要求8所述的抽样设备,其中,所述检测装置还用于:
-当所述数据流已抽样时,将所述数据包用于入侵检测处理。
10.根据权利要求8或9所述的抽样设备,其中,所述抽样处理装置还用于:
-当所述数据流不满足新流抽样条件时,根据FFS算法对所述数据流进行抽样处理。
11.根据权利要求10所述的抽样设备,其中,所述抽样处理装置用于:
-当所述数据流不满足新流抽样条件时,根据所述数据流的长度信息,结合FFS算法,确定对所述数据流进行抽样的抽样概率;
-根据所述抽样概率,对所述数据流进行抽样。
12.根据权利要求8所述的抽样设备,其中,所述检测装置用于:
-根据所述数据包的包特征信息,确定所述数据包所对应的哈希值,其中,所述包特征信息包括所述数据包的五元组信息;
-将所述哈希值与预定哈希表进行比较,以检测所述数据包所属的数据流是否待抽样。
13.根据权利要求8至12中任一项所述的抽样设备,其中,所述确定装置用于:
-当所述数据包待抽样时,基于多级布鲁姆过滤器确定所述数据流的长度信息,以确定所述数据流是否满足新流抽样条件。
14.根据权利要求8至11中任一项所述的抽样设备,其中,所述抽样处理装置还用于:
-当所述数据流被抽中时,在流哈希表中建立与所述数据流相对应的表项,以更新所述流哈希表。
15.一种计算机设备,包括权利要求8至14中任一项所述的抽样设备。
CN2013102692055A 2013-06-28 2013-06-28 用于待入侵检测处理的数据包进行抽样的方法与设备 Pending CN103368952A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013102692055A CN103368952A (zh) 2013-06-28 2013-06-28 用于待入侵检测处理的数据包进行抽样的方法与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013102692055A CN103368952A (zh) 2013-06-28 2013-06-28 用于待入侵检测处理的数据包进行抽样的方法与设备

Publications (1)

Publication Number Publication Date
CN103368952A true CN103368952A (zh) 2013-10-23

Family

ID=49369489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013102692055A Pending CN103368952A (zh) 2013-06-28 2013-06-28 用于待入侵检测处理的数据包进行抽样的方法与设备

Country Status (1)

Country Link
CN (1) CN103368952A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016106591A1 (zh) * 2014-12-30 2016-07-07 华为技术有限公司 一种抽取数据报文的方法及装置
CN107948007A (zh) * 2017-10-10 2018-04-20 东南大学 基于抽样和两级cbf的长流识别方法
CN110046137A (zh) * 2017-12-20 2019-07-23 宏碁云端技术公司 将数据流分组并存储至云端存储文件中的系统和方法
CN112866275A (zh) * 2021-02-02 2021-05-28 杭州安恒信息安全技术有限公司 一种流量抽样方法、装置和计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051999A (zh) * 2007-05-09 2007-10-10 东南大学 资源可控制的网络流监测方法
CN101986611A (zh) * 2010-11-30 2011-03-16 东南大学 基于两级缓存的快速组流方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051999A (zh) * 2007-05-09 2007-10-10 东南大学 资源可控制的网络流监测方法
CN101986611A (zh) * 2010-11-30 2011-03-16 东南大学 基于两级缓存的快速组流方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
WEIJIANG LIU ET AL;: "Estimating Flow Length Distributions from Double-Sampled Flow Statistics", 《INTERNATIONAL CONFERENCE ON SCALABLE COMPUTING AND COMMUNICATIONS》 *
刘贺等: "一种基于Multistage Bloom Filter的入侵检测流量筛选算法", 《2011东南大学校庆研究生学术报告会》 *
李丽: "基于双抽样的测量流长度分布的算法研究", 《中国优秀硕士学位论文全文数据库》 *
潘乔等: "一种用于异常检测的网络流量抽样方法", 《西安交通大学学报》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016106591A1 (zh) * 2014-12-30 2016-07-07 华为技术有限公司 一种抽取数据报文的方法及装置
CN107948007A (zh) * 2017-10-10 2018-04-20 东南大学 基于抽样和两级cbf的长流识别方法
CN107948007B (zh) * 2017-10-10 2021-09-10 东南大学 基于抽样和两级cbf的长流识别方法
CN110046137A (zh) * 2017-12-20 2019-07-23 宏碁云端技术公司 将数据流分组并存储至云端存储文件中的系统和方法
CN110046137B (zh) * 2017-12-20 2023-08-01 宏碁云端技术公司 将数据流分组并存储至云端存储文件中的系统和方法
CN112866275A (zh) * 2021-02-02 2021-05-28 杭州安恒信息安全技术有限公司 一种流量抽样方法、装置和计算机可读存储介质

Similar Documents

Publication Publication Date Title
US9398027B2 (en) Data detecting method and apparatus for firewall
US8634717B2 (en) DDoS attack detection and defense apparatus and method using packet data
US9043912B2 (en) Method for thwarting application layer hypertext transport protocol flood attacks focused on consecutively similar application-specific data packets
US8578493B1 (en) Botnet beacon detection
CN106534051B (zh) 一种针对访问请求的处理方法和装置
US8144603B2 (en) Apparatuses and methods for detecting anomalous event in network
US7853689B2 (en) Multi-stage deep packet inspection for lightweight devices
US10469528B2 (en) Algorithmically detecting malicious packets in DDoS attacks
US20150074807A1 (en) Discovery of Suspect IP Addresses
US10257213B2 (en) Extraction criterion determination method, communication monitoring system, extraction criterion determination apparatus and extraction criterion determination program
JP2009534001A (ja) 悪質な攻撃の検出システム及びそれに関連する使用方法
CN108293039B (zh) 处理网络威胁的计算设备、方法和存储介质
US20160094516A1 (en) High availability security device
US20140086102A1 (en) Intelligent feedback loop to iteratively reduce incoming network data for analysis
US11483339B1 (en) Detecting attacks and quarantining malware infected devices
RU2017105709A (ru) Обнаружение поведения агентов вредоносного программного обеспечения
US20150163235A1 (en) Methods and apparatus to identify an internet protocol address blacklist boundary
CN103368952A (zh) 用于待入侵检测处理的数据包进行抽样的方法与设备
Ahmed et al. A novel sliding window based change detection algorithm for asymmetric traffic
US20180103058A1 (en) System and method for iteratively updating network attack mitigation countermeasures
Seo et al. A study on efficient detection of network-based IP spoofing DDoS and malware-infected Systems
JP6592196B2 (ja) 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム
US10187414B2 (en) Differential malware detection using network and endpoint sensors
US20180191744A1 (en) System and method to implement cloud-based threat mitigation for identified targets
EP3036880A1 (en) Method and apparatus for monitoring and filtering universal serial bus network traffic

Legal Events

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

Application publication date: 20131023