一种异常流的检测方法及系统的制作方法

文档序号:7695606阅读:136来源:国知局
专利名称:一种异常流的检测方法及系统的制作方法
技术领域
本发明涉及网络安全领域,特别是涉及一种基于频繁项挖掘的异常流的检 测方法及系统。
背景技术
近年来,随着Internet的快速发展,服务类型不断增多,各种类型的网 络威胁也层出不穷,网络数据监控变得越来越重要。在互联网快速发展的同时, 链路带宽与业务量随之成倍增长,网络规模和复杂度不断提高,半导体性能的 提升却相对滞后,导致计算能力与高速海量数据不匹配问题突出。在高速网络 环境下,新一代网络监控与安全管理系统需要考虑采用按需监控技术,因此过 滤不必处理的数据流,只将异常流定位后分流出来,再交由更上层安全监测系 统进行分析确认,能够减轻监控负担。
TCP协议是目前Internet上使用最广泛的传输协议,根据MCI电信公司 的统计,Internet上总字节数的95%及总数据分组的90%使用TCP协议传输。 大部分的网络攻击都是针对基于TCP协议的网络应用,其中,最常见的攻击方 式拒绝服务(Denial of Service, DoS)攻击与端口扫描都会造成某一类 IP分组大量出现。例如,当网络中目的地址相同的IP分组大量出现时,则可 能发生了拒绝服务攻击;当源地址相同的IP分组大量出现时,则可能存在恶 意软件对网络中的端口进行扫描。发现具备这类特性的异常流,并对它们进行 监控,对于保护网络资源和防范网络攻击具有重要意义。
传统高速网络下的异常检测方法主要包括对网络流量分析或对地址端口 分布变化的分析,这类方法虽然能够检测出高速网络下的异常,并对异常进行 报警,但无法实现对异常流定位,所以不能够将异常数据导出,以帮助更进一 步分析。而基于静态规则集的包分类技术主要依靠静态的分类规则进行分类, 也无法适用于异常流的识别。
有关数据流研究中的频繁项挖掘技术虽然可以用于解决异常流的识别问题,但在实际的网络环境下技术的实施还存在一些限制, 一方面,由于计算存 储资源有限,对流识别技术的计算性能和消耗存储空间有较苛刻的要求;另一 方面,网络数据具有动态特性,在监测中需要更关注短期内情况变化,已有的 这些算法难以解决这个问题,需要对已有的技术进行改进。

发明内容
本发明的目的在于提供一种异常流的检测方法及系统。其能够在只使用少 量计算存储资源的前提下,快速识别网络中试图频繁建立连接的流,可以帮助 实现异常流的按需监控,减轻网络监控负担。
为实现本发明的目的而提供的异常流的检测方法,包括步骤
步骤A.捕获网络中的IP分组,采集其中满足预设条件的SYN分组,并 提取所述SYN分组的地址信息作为数据项,组成数据项集合;
步骤B.挖掘所述数据项集合中预设时间内频繁出现的数据项作为频繁 项,记录所述频繁项所对应的地址信息,并根据该频繁项定位行为异常的流。
还包括步骤C.对所述频繁项进行熵值计算,为网络异常情况的评估提
供依据。
所述步骤A,包括步骤
步骤Al.捕获网络中的IP分组,检査IP分组中的协议标志;若协议标 志为6,表明该分组是TCP分组,继续步骤A2;否则丢弃该IP分组;
步骤A2.检查采集的TCP分组的SYN标志位的置位,如果该标志位的置 位为l,则表明是SYN分组,继续歩骤A3;否则丢弃该TCP分组;
步骤A3.检查采集的SYN分组的ACK标志位与RST标志位是否置位,若 置位均为0,则继续步骤A4,否则丢弃该SYN分组;
步骤A4.提取并保存现有的SYN分组中的地址信息,作为数据项,组成
数据项集合。
所述步骤B,包括步骤
-丄
步骤Bl.将所述数据项集合中的数据项每H^
个分作一期;并对候选
集合D初始化D为空,当期数据读取次数CO朋/为0;
步骤B2.对于每一个新到的数据项e,若数据项e在候选集合D中,贝lje对应的计数器,加1,否则直接将〈e,l〉加入候选集",并且当期数据读取次数co赠 加1;
步骤B3.若当期数据读取次数c。"W数达到w,当期数据处理结束,重新
计算候选集合。中各数据项的频度,确定频繁项,得到异常流;
步骤B4.返回步骤B2,读取新一期数据。 所述步骤B3,包括步骤
步骤B31.利用公式/",d-")/重新计算候选集合"中各数据项的频度,
并删除频度小于1的数据项;
步骤B32.当期数据读取次数c。"w置0。
为实现本发明的目的还提供一种异常流的检测系统,包括 数据项采集模块,用于获取SYN分组中的地址信息,作为数据项; 频繁项挖掘模块,用于挖掘数据项中频繁出现的地址信息,作为频繁项, 并利用该频繁项定位异常流。
还包括
熵值计算装置,用于计算频繁项的熵值,为网络异常情况的评估提供依据。
本发明的有益效果在于
1. 本发明的异常流的检测方法及系统对SYN分组的地址信息作挖掘,大 量减少需要采集和处理的数据量,减轻了计算存贮资源的开销;
2. 本发明的异常流的检测方法及系统在已有的频繁项挖掘算法基础上进 行改进,提出了一种非确定e-近似算法,能够消减历史数据的影响,增强频 繁项挖掘的时效性;
3. 本发明的异常流的检测方法及系统提出了频繁项的熵值计算,为网络 异常状况的评估提供了 一个新的方法。
4. 本发明的异常流的检测方法及系统可以在只使用少量计算存储资源的 前提下,快速识别网络中试图频繁建立连接的流,可以帮助实现高速网络环境 下异常流的按需监控,减轻网络监控负担。


图1是本发明异常流的检测方法的实施例的流程图2是本发明异常流的检测方法中SYN分组采集的步骤的实施例的流程
图3是本发明异常流的检测方法中频繁项发掘的步骤的实施例的流程图; 图4是网络数据频繁项熵值计算图(源地址作为数据项); 图5是各种算法时间对比图(使用12万个数据项测试); 图6是各种算法占用存储空间对比图(使用12万个数据项测试)。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明的一种异常流的检测方法及系统进行进一步详细说明。应当理 解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的异常流的检测方法及系统,能够发现短期内网络中试图频繁建立 连接的TCP流,并在挖掘数据的基础上实现了频繁项的熵值计算,帮助实现高 速网络环境下异常流的按需监控,减轻网络监控负担。
下面结合上述目标详细介绍本发明异常流的检测方法及系统。
图l是本发明异常流的检测方法的实施例的流程图。参照图l,本发明提 供的异常流的检测方法包括两个歩骤SYN分组采集的步骤及频繁项发掘的步
骤。具体为
步骤1,捕获网络中的IP分组,采集其中满足预设条件的SYN分组,并 提取所述SYN分组的地址信息作为数据项,组成数据项集合;
步骤2,挖掘所述数据项集合中预设时间内频繁出现的数据项作为频繁 项,记录所述频繁项所对应的地址信息,并根据该频繁项定位行为异常的流。
图2为本发明异常流的检测方法中SYN分组采集的步骤的实施例的流程 图。参照图2,本发明的SYN分组采集包括下列步骤
步骤S100,捕获网络中的IP分组,采集其中满足预设条件的同步分组 (synchronous packet, 以下表示为SYN分组),并提取该同步分组的地址 信息作为数据项,组成数据项集合;
网络中,SYN分组标志着尝试建立TCP连接,对它的统计信息能够有效反映网络状况。
捕获网络中的IP分组的方法,是一种现有技术,在此不再一一赘述。 进一步地,所述步骤S100,如图2所示,包括下列步骤
步骤SllO,捕获网络中的IP分组,检査IP分组中的协议标志;若协议 标志为6,表明该分组是TCP分组,继续步骤S120;否则丢弃该IP分组;
所述IP分组中的协议标志,若协议标志为6,表明该分组是TCP分组; 若协议标志为17,表明该分组是UDP分组;若协议标志为1,表明该分组是
ICMP分组。若IP分组中的协议标志为TCP协议标志,则IP分组为TCP分组。
歩骤S120,检查采集的TCP分组的SYN标志位的置位,如果该标志位的 置位为l,则表明是SYN分组,继续步骤S130;否则丢弃该TCP分组;
TCP分组的SYN标志位的置位,如果该标志位的置位为1,则表明是SYN 分组,继续步骤S130;如果该标志位的置位为O,则丢弃该TCP分组;
步骤S130,检查采集的SYN分组的ACK标志位与RST标志位是否置位, 若置位均为O,则继续步骤S140,否则丢弃该SYN分组;
SYN分组的ACK标志位与RST标志位若均设为O,则继续步骤S140;若有 其一为l,则丢弃该SYN分组。
步骤S140,提取并保存现有的SYN分组中的地址信息,作为数据项,组 成数据项集合。
所述地址信息的提取可以通过编写代码,利用程序直接从分组中取出。
所述地址信息包括源地址信息和目的地址信息。
所述目的地址信息适用于发现DoS攻击造成的异常流。
所述源地址信息适用于发现端口扫描造成的异常流。
图3是本发明异常流的检测方法中频繁项发掘的步骤的实施例的流程图,
参照图3,本发明中频繁项发掘包括下列歩骤
步骤S200,挖掘数据项集合中预设时间内频繁出现的数据项作为频繁项,
记录所述频繁项所对应的地址信息,并根据该频繁项定位行为异常的流。
本发明中提供了一种非确定s-近似频繁项挖掘算法。该算法的时间复杂
度为O(log的,空间复杂度为f力(log洲,n为数据的个数,s为频繁项的频度参数。该算法将所述数据项集合中的数据项每w =
(该实施例中是进位取整)
-分作一期数据,其中0〈s〈l,使用候选集D保存频繁项挖掘结果,当每一期 数据处理完成后,重新设置候选集"中的计数器。
候选集合D中的数据项以〈e,/〉形式保存;其中e表示数据项,/是与e对 应的计数器,表示对数据项出现频度的估算值。
挖掘数据项集合中预设时间内频繁出现的数据项作为频繁项的方法,如图 3所示,包括步骤
步骤S210,将所述数据项集合中的数据项每,
水分作一期,其中
0〈£〈1;并对候选集合D初始化D为空,当期数据读取次数c卵W为O;
步骤S220,对于每一个新到的数据项"若数据项e在候选集合D中,贝0e 对应的计数器/加1,否则直接将"1〉加入候选集"; 步骤S221,当期数据读取次数coz^加1;
步骤S230,若当期数据读取次数on^数达到w,即当期数据处理结束,
执行以下步骤
步骤S231,利用公式/", = (1- )/,其中0〈c^0.5,重新计算候选集合 D中各数据项的频度;
步骤S232,删除频度小于l的数据项; 步骤S233,当期数据读取次数co""/置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
6ls6
add〈e, 1〉 to D end ifif count 二 w then
for every item in D do f = (1-ct)f
if f〈l then delete 〈e, f> end for count一O end if end for
应当说明的是,采用以上处理,可以实现在仅使用少量的计算存储资源的 前提下,快速识别试图频繁建立连接的TCP的异常流,仅对该异常流进行监控, 进而减少需要监控的数据量,实现高速网络环境下对异常流的按需监控。
步骤S300,对步骤S200得到的频繁项进行熵值计算,为网络异常情况的
评估提供依据。
在每期数据处理完成后,利用通用的熵值计算装置使用以下公式计算候选
集合d中频繁项的熵值,为网络异常情况的评估提供依据 <formula>formula see original document page 10</formula>其中fx代表候选集合D中第k个频繁项的频度估计值。
熵值计算装置是现有的异常检测技术,其计算对象是流的地址与端口信 息。与已有的熵值计算相比,本发明中的计算对象是挖掘后的地址频繁项,基 于频繁项的熵值计算消除了大量不重要的无关数据(非频繁数据)的干扰,获得 的评估结果相对更加可信。 一般熵值越接近于0,说明频繁项中有少量数据的 频繁程度越高,则很有可能出现了攻击。
图4是根据骨干网真实数据对源地址信息挖掘计算的结果,其中有已验证 的网络攻击,在该段时间内熵值计算为O。
实验结果表明,本发明的异常流的检测方法,在占用存储空间和消耗时间 等方面的效果优于CM (Count-Min Sketch) 、 CCFC (CCFC Sketch: Count sketches from Charikax, Chen, Farach—Colton)以及Freq (Frequent items)等常用算法。算法性能对比如图5、 6所示。
相应于本发明的异常流的检测方法,还提供一种异常流的检测系统,包括: 数据项采集模块l,用于获取SYN分组中的地址信息,作为数据项; 频繁项挖掘模块2,用于挖掘数据项中频繁出现的地址信息; 熵值计算装置3,用于计算频繁项的熵值,为网络异常情况的评估提供依据。
数据项采集模块,采集网络中尝试建立连接的SYN分组,并对其中满足预 设条件的SYN分组,提取该SYN分组的地址信息作为数据项,组成数据项集合; 频繁项挖掘模块,挖掘数据项集合中预设时间内频繁出现的数据项作为频繁 项;熵值计算装置,对得到的频繁项进行熵值计算,为网络异常情况的评估提 供依据。
本发明的有益效果在于
1. 本发明的异常流的检测方法及系统对SYN分组的地址信息作挖掘,大
量减少需要采集和处理的数据量,减轻了计算存贮资源的开销;
2. 本发明的异常流的检测方法及系统在已有的频繁项挖掘算法基础上进 行改进,提出了一种非确定s-近似算法,能够消减历史数据的影响,增强频 繁项挖掘的时效性;
3. 本发明的异常流的检测方法及系统提出了频繁项的熵值计算,为网络 异常状况的评估提供了一个新的方法。
4. 本发明的异常流的检测方法及系统可以在只使用少量计算存储资源的 前提下,快速识别网络中试图频繁建立连接的流,可以帮助实现高速网络环境 下异常流的按需监控,减轻网络监控负担。
通过结合附图对本发明具体实施例的描述,本发明的其它方面及特征对本 领域的技术人员而言是显而易见的。
以上对本发明的具体实施例进行了描述和说明,这些实施例应被认为其只 是示例性的,并不用于对本发明进行限制,本发明应根据所附的权利要求进行 解释。
权利要求
1.一种异常流的检测方法,其特征在于,包括步骤步骤A.捕获网络中的IP分组,采集其中满足预设条件的SYN分组,并提取所述SYN分组的地址信息作为数据项,组成数据项集合;步骤B.挖掘所述数据项集合中预设时间内频繁出现的数据项作为频繁项,记录所述频繁项所对应的地址信息,并根据该频繁项定位行为异常的流。
2. 根据权利要求1所述的异常流的检测方法,其特征在于,还包括步骤 C.对所述频繁项进行熵值计算,为网络异常情况的评估提供依据。
3. 根据权利要求1所述的异常流的检测方法,其特征在于,所述歩骤A,包括步骤步骤Al.捕获网络中的IP分组,检查IP分组中的协议标志;若协议标 志为6,表明该分组是TCP分组,继续步骤A2;否则丢弃该IP分组;步骤A2.检査采集的TCP分组的SYN标志位的置位,如果该标志位的置位为l,则表明是S预分组,继续步骤A3;否则丢弃该TCP分组;步骤A3.检査采集的SYN分组的ACK标志位与RST标志位是否置位,若 置位均为0,则继续步骤A4,否则丢弃该SYN分组;步骤A4.提取并保存现有的SYN分组中的地址信息,作为数据项,组成 数据项集合。
4. 根据权利要求1所述的异常流的检测方法,其特征在于,所述步骤B, 包括步骤步骤Bl.将所述数据项集合中的数据项每M^水4V分作一期;并对候选集合D初始化Z)为空,当期数据读取次数c。"",为0;步骤B2.对于每一个新到的数据项e,若数据项e在候选集合Z)中,贝lje对 应的计数器,加1,否则直接将〈e,l〉加入候选集",并且当期数据读取次数c仰W 加1;歩骤B3.若当期数据读取次数c。"W数达到w,当期数据处理结束,重新计算候选集合"中各数据项的频度,确定频繁项,得到异常流; 步骤B4.返回步骤B2,读取新一期数据。
5. 根据权利要求4所述的异常流的检测方法,其特征在于,所述步骤B3,包括步骤步骤B31.利用公式,",—^W/重新计算候选集合D中各数据项的频度, 并删除频度小于l的数据项;步骤B32.当期数据读取次数c。"^置0。
6. —种异常流的检测系统,其特征在于,包括 数据项采集模块,用于获取SYN分组中的地址信息,作为数据项;频繁项挖掘模块,用于挖掘数据项中频繁出现的地址信息,作为频繁项, 并利用该频繁项定位异常流。
7. 根据权利要求6所述的异常流的检测系统,其特征在于,还包括熵值计算装置,用于计算频繁项的熵值,为网络异常情况的评估提供依据。
全文摘要
本发明公开了一种异常流的检测方法及系统。该方法包括捕获网络中的IP分组,采集其中满足预设条件的SYN分组,并提取所述SYN分组的地址信息作为数据项,组成数据项集合;挖掘所述数据项集合中预设时间内频繁出现的数据项作为频繁项,记录所述频繁项所对应的地址信息,并根据该频繁项定位行为异常的流;还包括对所述频繁项进行熵值计算,为网络异常情况的评估提供依据。其能够在只使用少量计算存储资源的前提下,快速识别网络中试图频繁建立连接的流,可以帮助实现异常流的按需监控,减轻网络监控负担。
文档编号H04L12/26GK101316268SQ200810116178
公开日2008年12月3日 申请日期2008年7月4日 优先权日2008年7月4日
发明者云晓春, 磊 戴, 军 肖 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1