CN101316268A - 一种异常流的检测方法及系统 - Google Patents
一种异常流的检测方法及系统 Download PDFInfo
- Publication number
- CN101316268A CN101316268A CNA2008101161787A CN200810116178A CN101316268A CN 101316268 A CN101316268 A CN 101316268A CN A2008101161787 A CNA2008101161787 A CN A2008101161787A CN 200810116178 A CN200810116178 A CN 200810116178A CN 101316268 A CN101316268 A CN 101316268A
- Authority
- CN
- China
- Prior art keywords
- grouping
- frequent
- data
- data item
- item
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种异常流的检测方法及系统。该方法包括:捕获网络中的IP分组,采集其中满足预设条件的SYN分组,并提取所述SYN分组的地址信息作为数据项,组成数据项集合;挖掘所述数据项集合中预设时间内频繁出现的数据项作为频繁项,记录所述频繁项所对应的地址信息,并根据该频繁项定位行为异常的流;还包括:对所述频繁项进行熵值计算,为网络异常情况的评估提供依据。其能够在只使用少量计算存储资源的前提下,快速识别网络中试图频繁建立连接的流,可以帮助实现异常流的按需监控,减轻网络监控负担。
Description
技术领域
本发明涉及网络安全领域,特别是涉及一种基于频繁项挖掘的异常流的检测方法及系统。
背景技术
近年来,随着Internet的快速发展,服务类型不断增多,各种类型的网络威胁也层出不穷,网络数据监控变得越来越重要。在互联网快速发展的同时,链路带宽与业务量随之成倍增长,网络规模和复杂度不断提高,半导体性能的提升却相对滞后,导致计算能力与高速海量数据不匹配问题突出。在高速网络环境下,新一代网络监控与安全管理系统需要考虑采用按需监控技术,因此过滤不必处理的数据流,只将异常流定位后分流出来,再交由更上层安全监测系统进行分析确认,能够减轻监控负担。
TCP协议是目前Internet上使用最广泛的传输协议,根据MCI电信公司的统计,Internet上总字节数的95%及总数据分组的90%使用TCP协议传输。大部分的网络攻击都是针对基于TCP协议的网络应用,其中,最常见的攻击方式:拒绝服务(Denial of Service,DoS)攻击与端口扫描都会造成某一类IP分组大量出现。例如,当网络中目的地址相同的IP分组大量出现时,则可能发生了拒绝服务攻击;当源地址相同的IP分组大量出现时,则可能存在恶意软件对网络中的端口进行扫描。发现具备这类特性的异常流,并对它们进行监控,对于保护网络资源和防范网络攻击具有重要意义。
传统高速网络下的异常检测方法主要包括对网络流量分析或对地址端口分布变化的分析,这类方法虽然能够检测出高速网络下的异常,并对异常进行报警,但无法实现对异常流定位,所以不能够将异常数据导出,以帮助更进一步分析。而基于静态规则集的包分类技术主要依靠静态的分类规则进行分类,也无法适用于异常流的识别。
有关数据流研究中的频繁项挖掘技术虽然可以用于解决异常流的识别问题,但在实际的网络环境下技术的实施还存在一些限制,一方面,由于计算存储资源有限,对流识别技术的计算性能和消耗存储空间有较苛刻的要求;另一方面,网络数据具有动态特性,在监测中需要更关注短期内情况变化,已有的这些算法难以解决这个问题,需要对已有的技术进行改进。
发明内容
本发明的目的在于提供一种异常流的检测方法及系统。其能够在只使用少量计算存储资源的前提下,快速识别网络中试图频繁建立连接的流,可以帮助实现异常流的按需监控,减轻网络监控负担。
为实现本发明的目的而提供的异常流的检测方法,包括步骤:
步骤A.捕获网络中的IP分组,采集其中满足预设条件的SYN分组,并提取所述SYN分组的地址信息作为数据项,组成数据项集合;
步骤B.挖掘所述数据项集合中预设时间内频繁出现的数据项作为频繁项,记录所述频繁项所对应的地址信息,并根据该频繁项定位行为异常的流。
还包括:步骤C.对所述频繁项进行熵值计算,为网络异常情况的评估提供依据。
所述步骤A,包括步骤:
步骤A1.捕获网络中的IP分组,检查IP分组中的协议标志;若协议标志为6,表明该分组是TCP分组,继续步骤A2;否则丢弃该IP分组;
步骤A2.检查采集的TCP分组的SYN标志位的置位,如果该标志位的置位为1,则表明是SYN分组,继续步骤A3;否则丢弃该TCP分组;
步骤A3.检查采集的SYN分组的ACK标志位与RST标志位是否置位,若置位均为0,则继续步骤A4,否则丢弃该SYN分组;
步骤A4.提取并保存现有的SYN分组中的地址信息,作为数据项,组成数据项集合。
所述步骤B,包括步骤:
步骤B1.将所述数据项集合中的数据项每个分作一期;并对候选集合D初始化:D为空,当期数据读取次数count为0;
步骤B2.对于每一个新到的数据项e,若数据项e在候选集合D中,则e对应的计数器f加1,否则直接将<e,1>加入候选集D,并且当期数据读取次数count加1;
步骤B3.若当期数据读取次数count数达到w,当期数据处理结束,重新计算候选集合D中各数据项的频度,确定频繁项,得到异常流;
步骤B4.返回步骤B2,读取新一期数据。
所述步骤B3,包括步骤:
步骤B31.利用公式fnew=(1-α)f重新计算候选集合D中各数据项的频度,并删除频度小于1的数据项;
步骤B32.当期数据读取次数count置0。
为实现本发明的目的还提供一种异常流的检测系统,包括:
数据项采集模块,用于获取SYN分组中的地址信息,作为数据项;
频繁项挖掘模块,用于挖掘数据项中频繁出现的地址信息,作为频繁项,并利用该频繁项定位异常流。
还包括:
熵值计算装置,用于计算频繁项的熵值,为网络异常情况的评估提供依据。
本发明的有益效果在于:
1.本发明的异常流的检测方法及系统对SYN分组的地址信息作挖掘,大量减少需要采集和处理的数据量,减轻了计算存贮资源的开销;
2.本发明的异常流的检测方法及系统在已有的频繁项挖掘算法基础上进行改进,提出了一种非确定ε-近似算法,能够消减历史数据的影响,增强频繁项挖掘的时效性;
3.本发明的异常流的检测方法及系统提出了频繁项的熵值计算,为网络异常状况的评估提供了一个新的方法。
4.本发明的异常流的检测方法及系统可以在只使用少量计算存储资源的前提下,快速识别网络中试图频繁建立连接的流,可以帮助实现高速网络环境下异常流的按需监控,减轻网络监控负担。
附图说明
图1是本发明异常流的检测方法的实施例的流程图;
图2是本发明异常流的检测方法中SYN分组采集的步骤的实施例的流程图;
图3是本发明异常流的检测方法中频繁项发掘的步骤的实施例的流程图;
图4是网络数据频繁项熵值计算图(源地址作为数据项);
图5是各种算法时间对比图(使用12万个数据项测试);
图6是各种算法占用存储空间对比图(使用12万个数据项测试)。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种异常流的检测方法及系统进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的异常流的检测方法及系统,能够发现短期内网络中试图频繁建立连接的TCP流,并在挖掘数据的基础上实现了频繁项的熵值计算,帮助实现高速网络环境下异常流的按需监控,减轻网络监控负担。
下面结合上述目标详细介绍本发明异常流的检测方法及系统。
图1是本发明异常流的检测方法的实施例的流程图。参照图1,本发明提供的异常流的检测方法包括两个步骤:SYN分组采集的步骤及频繁项发掘的步骤。具体为:
步骤1,捕获网络中的IP分组,采集其中满足预设条件的SYN分组,并提取所述SYN分组的地址信息作为数据项,组成数据项集合;
步骤2,挖掘所述数据项集合中预设时间内频繁出现的数据项作为频繁项,记录所述频繁项所对应的地址信息,并根据该频繁项定位行为异常的流。
图2为本发明异常流的检测方法中SYN分组采集的步骤的实施例的流程图。参照图2,本发明的SYN分组采集包括下列步骤:
步骤S100,捕获网络中的IP分组,采集其中满足预设条件的同步分组(synchronous packet,以下表示为SYN分组),并提取该同步分组的地址信息作为数据项,组成数据项集合;
网络中,SYN分组标志着尝试建立TCP连接,对它的统计信息能够有效反映网络状况。
捕获网络中的IP分组的方法,是一种现有技术,在此不再一一赘述。
进一步地,所述步骤S100,如图2所示,包括下列步骤:
步骤S110,捕获网络中的IP分组,检查IP分组中的协议标志;若协议标志为6,表明该分组是TCP分组,继续步骤S120;否则丢弃该IP分组;
所述IP分组中的协议标志,若协议标志为6,表明该分组是TCP分组;若协议标志为17,表明该分组是UDP分组;若协议标志为1,表明该分组是ICMP分组。若IP分组中的协议标志为TCP协议标志,则IP分组为TCP分组。
步骤S120,检查采集的TCP分组的SYN标志位的置位,如果该标志位的置位为1,则表明是SYN分组,继续步骤S130;否则丢弃该TCP分组;
TCP分组的SYN标志位的置位,如果该标志位的置位为1,则表明是SYN分组,继续步骤S130;如果该标志位的置位为0,则丢弃该TCP分组;
步骤S130,检查采集的SYN分组的ACK标志位与RST标志位是否置位,若置位均为0,则继续步骤S140,否则丢弃该SYN分组;
SYN分组的ACK标志位与RST标志位若均设为0,则继续步骤S140;若有其一为1,则丢弃该SYN分组。
步骤S140,提取并保存现有的SYN分组中的地址信息,作为数据项,组成数据项集合。
所述地址信息的提取可以通过编写代码,利用程序直接从分组中取出。
所述地址信息包括源地址信息和目的地址信息。
所述目的地址信息适用于发现DoS攻击造成的异常流。
所述源地址信息适用于发现端口扫描造成的异常流。
图3是本发明异常流的检测方法中频繁项发掘的步骤的实施例的流程图,参照图3,本发明中频繁项发掘包括下列步骤:
步骤S200,挖掘数据项集合中预设时间内频繁出现的数据项作为频繁项,记录所述频繁项所对应的地址信息,并根据该频繁项定位行为异常的流。
本发明中提供了一种非确定ε-近似频繁项挖掘算法。该算法的时间复杂度为O(1ogεn),空间复杂度为ε-1O(1ogεn),n为数据的个数,ε为频繁项的频度参数。
候选集合D中的数据项以<e,f>形式保存;其中e表示数据项,f是与e对应的计数器,表示对数据项出现频度的估算值。
挖掘数据项集合中预设时间内频繁出现的数据项作为频繁项的方法,如图3所示,包括步骤:
步骤S220,对于每一个新到的数据项e,若数据项e在候选集合D中,则e对应的计数器f加1,否则直接将<e,1>加入候选集D;
步骤S221,当期数据读取次数count加1;
步骤S230,若当期数据读取次数count数达到w,即当期数据处理结束,执行以下步骤:
步骤S231,利用公式fnew=(1-α)f,其中0<α≤0.5,重新计算候选集合D中各数据项的频度;
步骤S232,删除频度小于1的数据项;
步骤S233,当期数据读取次数count置0;
步骤S240,返回步骤S220,读取新一期数据。
频繁项挖掘算法的伪代码:
init:count←0,D←φ
for every incoming item e do
count←count+1
if find e in D then
the corresponding counter f←f+1
else
add<e,1>to D
end if
if count=w then
for every item in D do
f=(1-α)f
if f<1 then delete<e,f>
end for
count←0
end if
end for
应当说明的是,采用以上处理,可以实现在仅使用少量的计算存储资源的前提下,快速识别试图频繁建立连接的TCP的异常流,仅对该异常流进行监控,进而减少需要监控的数据量,实现高速网络环境下对异常流的按需监控。
步骤S300,对步骤S200得到的频繁项进行熵值计算,为网络异常情况的评估提供依据。
在每期数据处理完成后,利用通用的熵值计算装置使用以下公式计算候选集合D中频繁项的熵值,为网络异常情况的评估提供依据:
其中fk代表候选集合D中第k个频繁项的频度估计值。
熵值计算装置是现有的异常检测技术,其计算对象是流的地址与端口信息。与已有的熵值计算相比,本发明中的计算对象是挖掘后的地址频繁项,基于频繁项的熵值计算消除了大量不重要的无关数据(非频繁数据)的干扰,获得的评估结果相对更加可信。一般熵值越接近于0,说明频繁项中有少量数据的频繁程度越高,则很有可能出现了攻击。
图4是根据骨干网真实数据对源地址信息挖掘计算的结果,其中有已验证的网络攻击,在该段时间内熵值计算为0。
实验结果表明,本发明的异常流的检测方法,在占用存储空间和消耗时间等方面的效果优于CM(Count-Min Sketch)、CCFC(CCFC Sketch:Countsketches from Charikar,Chen,Farach-Colton)以及Freq(Frequent items)等常用算法。算法性能对比如图5、6所示。
相应于本发明的异常流的检测方法,还提供一种异常流的检测系统,包括:
数据项采集模块1,用于获取SYN分组中的地址信息,作为数据项;
频繁项挖掘模块2,用于挖掘数据项中频繁出现的地址信息;
熵值计算装置3,用于计算频繁项的熵值,为网络异常情况的评估提供依据。
数据项采集模块,采集网络中尝试建立连接的SYN分组,并对其中满足预设条件的SYN分组,提取该SYN分组的地址信息作为数据项,组成数据项集合;频繁项挖掘模块,挖掘数据项集合中预设时间内频繁出现的数据项作为频繁项;熵值计算装置,对得到的频繁项进行熵值计算,为网络异常情况的评估提供依据。
本发明的有益效果在于:
1.本发明的异常流的检测方法及系统对SYN分组的地址信息作挖掘,大量减少需要采集和处理的数据量,减轻了计算存贮资源的开销;
2.本发明的异常流的检测方法及系统在已有的频繁项挖掘算法基础上进行改进,提出了一种非确定ε-近似算法,能够消减历史数据的影响,增强频繁项挖掘的时效性;
3.本发明的异常流的检测方法及系统提出了频繁项的熵值计算,为网络异常状况的评估提供了一个新的方法。
4.本发明的异常流的检测方法及系统可以在只使用少量计算存储资源的前提下,快速识别网络中试图频繁建立连接的流,可以帮助实现高速网络环境下异常流的按需监控,减轻网络监控负担。
通过结合附图对本发明具体实施例的描述,本发明的其它方面及特征对本领域的技术人员而言是显而易见的。
以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行解释。
Claims (7)
1.一种异常流的检测方法,其特征在于,包括步骤:
步骤A.捕获网络中的IP分组,采集其中满足预设条件的SYN分组,并提取所述SYN分组的地址信息作为数据项,组成数据项集合;
步骤B.挖掘所述数据项集合中预设时间内频繁出现的数据项作为频繁项,记录所述频繁项所对应的地址信息,并根据该频繁项定位行为异常的流。
2.根据权利要求1所述的异常流的检测方法,其特征在于,还包括:步骤C.对所述频繁项进行熵值计算,为网络异常情况的评估提供依据。
3.根据权利要求1所述的异常流的检测方法,其特征在于,所述步骤A,包括步骤:
步骤A1.捕获网络中的IP分组,检查IP分组中的协议标志;若协议标志为6,表明该分组是TCP分组,继续步骤A2;否则丢弃该IP分组;
步骤A2.检查采集的TCP分组的SYN标志位的置位,如果该标志位的置位为1,则表明是SYN分组,继续步骤A3;否则丢弃该TCP分组;
步骤A3.检查采集的SYN分组的ACK标志位与RST标志位是否置位,若置位均为0,则继续步骤A4,否则丢弃该SYN分组;
步骤A4.提取并保存现有的SYN分组中的地址信息,作为数据项,组成数据项集合。
5.根据权利要求4所述的异常流的检测方法,其特征在于,所述步骤B3,包括步骤:
步骤B31.利用公式fnew=(1-α)f重新计算候选集合D中各数据项的频度,并删除频度小于1的数据项;
步骤B32.当期数据读取次数count置0。
6.一种异常流的检测系统,其特征在于,包括:
数据项采集模块,用于获取SYN分组中的地址信息,作为数据项;
频繁项挖掘模块,用于挖掘数据项中频繁出现的地址信息,作为频繁项,并利用该频繁项定位异常流。
7.根据权利要求6所述的异常流的检测系统,其特征在于,还包括:
熵值计算装置,用于计算频繁项的熵值,为网络异常情况的评估提供依据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101161787A CN101316268B (zh) | 2008-07-04 | 2008-07-04 | 一种异常流的检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101161787A CN101316268B (zh) | 2008-07-04 | 2008-07-04 | 一种异常流的检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101316268A true CN101316268A (zh) | 2008-12-03 |
CN101316268B CN101316268B (zh) | 2011-12-14 |
Family
ID=40107107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101161787A Expired - Fee Related CN101316268B (zh) | 2008-07-04 | 2008-07-04 | 一种异常流的检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101316268B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101808017A (zh) * | 2010-03-26 | 2010-08-18 | 中国科学院计算技术研究所 | 网络异常性指数定量计算方法和系统 |
CN101635658B (zh) * | 2009-08-26 | 2011-08-17 | 中国科学院计算技术研究所 | 网络失窃密行为的异常检测方法及系统 |
CN102904890A (zh) * | 2012-10-12 | 2013-01-30 | 哈尔滨工业大学深圳研究生院 | 云数据包头状态检测方法 |
CN107154947A (zh) * | 2017-06-16 | 2017-09-12 | 清华大学 | 基于有效频繁流特征的网络流量异常检测和分类方法 |
CN108683678A (zh) * | 2018-05-28 | 2018-10-19 | 北京天地和兴科技有限公司 | 一种基于行为协同感知模型的异常行为预测方法 |
CN109150644A (zh) * | 2017-06-28 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种对服务器进行健康检测的方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1820452A (zh) * | 2001-08-14 | 2006-08-16 | 思科技术公司 | 检测并防止网络上的蠕虫流量 |
CN1257632C (zh) * | 2002-12-11 | 2006-05-24 | 中国科学院研究生院 | 一种坚固网关系统及其检测攻击方法 |
CN101119302B (zh) * | 2007-09-06 | 2010-04-14 | 华中科技大学 | 一种挖掘事务数据流上最近时间窗口内频繁模式的方法 |
-
2008
- 2008-07-04 CN CN2008101161787A patent/CN101316268B/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101635658B (zh) * | 2009-08-26 | 2011-08-17 | 中国科学院计算技术研究所 | 网络失窃密行为的异常检测方法及系统 |
CN101808017A (zh) * | 2010-03-26 | 2010-08-18 | 中国科学院计算技术研究所 | 网络异常性指数定量计算方法和系统 |
CN101808017B (zh) * | 2010-03-26 | 2012-04-18 | 中国科学院计算技术研究所 | 网络异常性指数定量计算方法和系统 |
CN102904890A (zh) * | 2012-10-12 | 2013-01-30 | 哈尔滨工业大学深圳研究生院 | 云数据包头状态检测方法 |
CN107154947A (zh) * | 2017-06-16 | 2017-09-12 | 清华大学 | 基于有效频繁流特征的网络流量异常检测和分类方法 |
CN109150644A (zh) * | 2017-06-28 | 2019-01-04 | 阿里巴巴集团控股有限公司 | 一种对服务器进行健康检测的方法及装置 |
CN108683678A (zh) * | 2018-05-28 | 2018-10-19 | 北京天地和兴科技有限公司 | 一种基于行为协同感知模型的异常行为预测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101316268B (zh) | 2011-12-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Effective value of decision tree with KDD 99 intrusion detection datasets for intrusion detection system | |
CN111935170B (zh) | 一种网络异常流量检测方法、装置及设备 | |
CN107231384B (zh) | 一种面向5g网络切片的DDoS攻击检测防御方法及系统 | |
CN107637041B (zh) | 识别恶意加密网络流量的方法与系统以及计算机程序元件 | |
CN105429963B (zh) | 基于Modbus/Tcp的入侵检测分析方法 | |
CN102271068B (zh) | 一种dos/ddos攻击检测方法 | |
CN101316268B (zh) | 一种异常流的检测方法及系统 | |
CN111817982B (zh) | 一种面向类别不平衡下的加密流量识别方法 | |
CN103281293A (zh) | 一种基于多维分层相对熵的网络流量异常检测方法 | |
CN101018121B (zh) | 日志的聚合处理方法及聚合处理装置 | |
CN104660582B (zh) | DDoS识别、防护和路径优化的软件定义的网络架构 | |
CN101640594B (zh) | 一种在网络设备上提取流量攻击报文特征的方法和单元 | |
CN110933060B (zh) | 一种基于流量分析的挖矿木马检测系统 | |
CN101567884B (zh) | 网络窃密木马检测方法 | |
CN113114694B (zh) | 一种面向高速网络分组抽样数据采集场景的DDoS攻击检测方法 | |
Sun et al. | Detection and classification of malicious patterns in network traffic using Benford's law | |
CN109120602B (zh) | 一种IPv6攻击溯源方法 | |
CN107302534A (zh) | 一种基于大数据平台的DDoS网络攻击检测方法及装置 | |
CN103491069A (zh) | 网络数据包的过滤方法 | |
CN101465760A (zh) | 一种检测拒绝服务攻击的方法和系统 | |
CN105007175A (zh) | 一种基于openflow的流深度关联分析方法及系统 | |
Hareesh et al. | Anomaly detection system based on analysis of packet header and payload histograms | |
Vijayalakshmi et al. | IP traceback system for network and application layer attacks | |
CN107864110A (zh) | 僵尸网络主控端检测方法和装置 | |
CN109150920A (zh) | 一种基于软件定义网络的攻击检测溯源方法 |
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 |
Granted publication date: 20111214 Termination date: 20190704 |
|
CF01 | Termination of patent right due to non-payment of annual fee |