一种p2p蠕虫检测系统及方法

文档序号:7823423阅读:145来源:国知局
一种p2p蠕虫检测系统及方法
【专利摘要】本发明实施例公开了一种P2P蠕虫检测系统及方法,其中,该系统包括:数据包捕获模块,用于从网络中捕获数据包,并对捕获到的数据包结构进行分析,获得数据信息;P2P数据过滤模块,用于根据P2P协议的特征将非P2P数据过滤掉,获得P2P数据;P2P蠕虫特征匹配模块,用于将经过所述P2P数据过滤模块过滤后的P2P数据与P2P蠕虫特征库中的特征串进行匹配;特征串重组模块,用于当所述P2P蠕虫特征匹配模块在P2P数据中未匹配到完整的蠕虫特征串时,对P2P数据包进行重组;未知蠕虫检测模块,用于对剩余的P2P数据进行未知P2P蠕虫的检测,若发现异常,对数据包提取特征,并将特征串添加到P2P蠕虫特征库。有效降低了漏报率和误报率,提高了整体的检测率和精确度。
【专利说明】一种P2P蠕虫检测系统及方法

【技术领域】
[0001] 本发明涉及网络【技术领域】,尤其涉一种P2P蠕虫检测系统及方法。

【背景技术】
[0002] 近年来,P2P技术已经作为一种流行的网络技术越来越多地应用于文件共享、分布 式计算、资源搜索等领域。P2P系统以其资源共享度高、节点独立、自适应等优点吸引了越来 越多的用户,与此同时也为蠕虫的传播提供了条件。由于P2P网络中每个节点防御蠕虫的 能力不同,只要有一个节点感染蠕虫,就可以通过内部共享和通信机制将蠕虫病毒扩散到 邻近的节点,在短时间内可以造成网络拥塞甚至瘫痪,共享信息丢失,机密信息失窃,甚至 可以完全控制整个网络,其严重的危害性引起了高度关注。由于目前互联网上使用的P2P 软件缺乏同一规范,随意性、多样性强,无法保存这些软件和运行这些软件的系统在程序上 和管理上不存在安全漏洞。P2P蠕虫发掘系统应用漏洞,利用对等网的交互性质自主扩散, 是广大互联网和P2P用户的重要威胁。
[0003] Internet蠕虫是无须计算机使用者干预即可运行的独立程序,它通过不停的获得 网络中存在漏洞的计算机上的部分或全部控制权来进行传播,对网络安全形成了巨大的威 胁。P2P蠕虫是网络蠕虫的一种,具有普通蠕虫的一般特征,但是作为在P2P网络中传播的 蠕虫,它又具有自己的特点。目前国内对P2P蠕虫检测方法的研宄很少,大多数都是在研宄 P2P蠕虫的传播模型,并取得了一定的进展。由于P2P蠕虫具有普通Internet蠕虫的一般 特征,因此对普通蠕虫的检测同样应用于对P2P蠕虫的检测,但是这些检测方法都有自己 的缺点:
[0004] (1) 一些系统只监测计算机的活跃行为,通常包括操作系统的查账索引和系统日 志。监测主机能够获得蠕虫检测的重要信息,但是如果主机是易受感染的,则这些数据很可 能是不可靠的。比如EarlyBird就是基于主机的未知懦虫实时检测系统。
[0005] (2) -些检测系统认定所有背离正常行为的行为都是攻击行为,但是它们很难给 出网络中正常行为的准确定义,而只有部分非正常行为才是具有攻击性的,因此这种系统 存在很高的误报率。例如ason C. Hung et al提出的LAWS就是基于这种行为的蠕虫检测 系统。
[0006] (3)大多数情况下,只有蠕虫攻击的危害产生之后才能进行蠕虫的防御。Moore et al研宄了蠕虫防御技术的效率,提出像这些系统必须在短短几分钟之内生效,并且要阻断 几乎所有的网络路径才能成功防御蠕虫。Williamson提议修改现在的网络栈,使得对特殊 目的地的连接速度是受限的。主要问题是这种方法生效必需网络中的绝大多数主机升级新 的网络栈。
[0007] 由于P2P蠕虫具有普通Internet蠕虫的一般特征,因此对普通蠕虫的检测同样应 用于对P2P蠕虫的检测,但是这些检测方法都有自己的缺点:
[0008] (1) 一些系统只监测计算机的活跃行为,通常包括操作系统的查账索引和系统日 志。监测主机能够获得蠕虫检测的重要信息,但是如果主机是易受感染的,则这些数据很可 能是不可靠的。比如EarlyBird就是基于主机的未知懦虫实时检测系统。
[0009] (2) -些检测系统认定所有背离正常行为的行为都是攻击行为,但是它们很难给 出网络中正常行为的准确定义,而只有部分非正常行为才是具有攻击性的,因此这种系统 存在很高的误报率。例如ason C. Hung et al提出的LAWS就是基于这种行为的蠕虫检测 系统。
[0010] (3)大多数情况下,只有蠕虫攻击的危害产生之后才能进行蠕虫的防御。Moore et al研宄了蠕虫防御技术的效率,提出像这些系统必须在短短几分钟之内生效,并且要阻断 几乎所有的网络路径才能成功防御蠕虫。Williamson提议修改现在的网络栈,使得对特殊 目的地的连接速度是受限的。主要问题是这种方法生效必需网络中的绝大多数主机升级新 的网络栈。


【发明内容】

[0011] 本发明的目的在于克服现有技术的不足,本发明提供了一种P2P蠕虫检测系统及 方法,有效降低了漏报率和误报率,提高了整体的检测率和精确度。
[0012] 为了解决上述问题,本发明提出了一种P2P蠕虫检测系统,所述系统包括:
[0013] 数据包捕获模块,用于从网络中捕获数据包,并对捕获到的数据包结构进行分析, 获得数据信息;
[0014] P2P数据过滤模块,用于根据P2P协议的特征将非P2P数据过滤掉,获得P2P数据;
[0015] P2P蠕虫特征匹配模块,用于将经过所述P2P数据过滤模块过滤后的P2P数据与 P2P蠕虫特征库中的特征串进行匹配;
[0016] 特征串重组模块,用于当所述P2P蠕虫特征匹配模块在P2P数据中未匹配到完整 的蠕虫特征串时,对P2P数据包进行重组;
[0017] 未知蠕虫检测模块,用于对剩余的P2P数据进行未知P2P蠕虫的检测,若发现异 常,对数据包提取特征,并将特征串添加到P2P蠕虫特征库。
[0018] 优选地,所述数据信息包括:MAC地址、IP地址、协议类型和端口号。
[0019] 优选地,所述特征串重组模块还用于当所述P2P蠕虫特征匹配模块在P2P数据中 的头部或尾部部分匹配到蠕虫特征串的尾部或头部时,对P2P数据包进行重组。
[0020] 优选地,所述未知蠕虫检测模块还用于对剩余的P2P数据按照P2P蠕虫检测法则 对其进行未知P2P蠕虫的检测。
[0021] 相应地,本发明实施例还提供一种P2P蠕虫检测方法,所述方法包括:
[0022] 数据包捕获模块从网络中捕获数据包,并对捕获到的数据包结构进行分析,获得 数据信息;
[0023] P2P数据过滤模块根据P2P协议的特征将非P2P数据过滤掉,获得P2P数据;
[0024] P2P蠕虫特征匹配模块将经过所述P2P数据过滤模块过滤后的P2P数据与P2P蠕 虫特征库中的特征串进行匹配;
[0025] 当所述P2P蠕虫特征匹配模块在P2P数据中未匹配到完整的蠕虫特征串时,特征 串重组模块对P2P数据包进行重组;
[0026] 未知蠕虫检测模块对剩余的P2P数据进行未知P2P蠕虫的检测,若发现异常,对数 据包提取特征,并将特征串添加到P2P蠕虫特征库。
[0027] 优选地,所述数据信息包括:MAC地址、IP地址、协议类型和端口号。
[0028] 优选地,所述当所述P2P蠕虫特征匹配模块在P2P数据中未匹配到完整的蠕虫特 征串时,特征串重组模块对P2P数据包进行重组的步骤包括:当所述P2P蠕虫特征匹配模块 在P2P数据中的头部或尾部部分匹配到蠕虫特征串的尾部或头部时,对P2P数据包进行重 组。
[0029] 优选地,所述未知蠕虫检测模块对剩余的P2P数据进行未知P2P蠕虫的检测的步 骤包括:对剩余的P2P数据按照P2P蠕虫检测法则对其进行未知P2P蠕虫的检测。
[0030] 在本发明实施例中,利用数据包捕获机制从网络中捕获数据包,应用P2P协议的 相关特征对P2P流量进行过滤,对所捕获的P2P数据包进行已知P2P蠕虫和未知P2P蠕虫的 检测,滥用检测和异常检测的相结合有效降低了漏报率和误报率,提高了整体的检测率和 精确度;另外,还可以自动提取未知蠕虫的特征,及时更新特征库,保证了特征的最新状态, 弥补了特征检测的不足。

【专利附图】

【附图说明】
[0031] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其它的附图。
[0032] 图1是本发明实施例的P2P蠕虫检测系统的结构组成示意图;
[0033] 图2是本发明实施例的P2P蠕虫检测方法的流程示意图;
[0034] 图3是在本发明实施例中数据包的捕获过程示意图;
[0035] 图4是在本发明实施例中P2P数据包的过滤过程示意图;
[0036] 图5、图6是在本发明实施例中特征串匹配的过程示意图;
[0037] 图7是在本发明实施例中特征串重组的过程示意图;
[0038] 图8是在本发明实施例中进行未知P2P蠕虫的检测的过程示意图。

【具体实施方式】
[0039] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0040] 在本发明实施例中,,利用数据包捕获机制从网络中捕获数据包,应用P2P协议的 相关特征对P2P流量进行过滤,然后对所捕获的P2P数据包进行已知P2P蠕虫和未知P2P 蠕虫的检测,如果发现网络中存在P2P蠕虫攻击则向用户报警。
[0041] 图1是本发明实施例的P2P蠕虫检测系统的结构组成示意图,如图1所示,该系统 包括:
[0042] 数据包捕获模块1,用于从网络中捕获数据包,并对捕获到的数据包结构进行分 析,获得数据信息;
[0043] P2P数据过滤模块2,用于根据P2P协议的特征将非P2P数据过滤掉,获得P2P数 据;
[0044] P2P蠕虫特征匹配模块3,用于将经过P2P数据过滤模块2过滤后的P2P数据与 P2P蠕虫特征库中的特征串进行匹配;
[0045] 特征串重组模块4,用于当P2P蠕虫特征匹配模块3在P2P数据中未匹配到完整的 蠕虫特征串时,对P2P数据包进行重组;
[0046] 未知蠕虫检测模块5,用于对剩余的P2P数据进行未知P2P蠕虫的检测,若发现异 常,对数据包提取特征,并将特征串添加到P2P蠕虫特征库。
[0047] 其中,该数据信息包括:MAC地址、IP地址、协议类型和端口号。
[0048] 另外,当P2P蠕虫特征匹配模块3匹配成功时,则说明网络中有特征库中已知的 P2P蠕虫传播,系统随即向用户发出P2P蠕虫攻击的警告信息;当P2P蠕虫特征匹配模块3 在P2P数据中的头部或尾部部分匹配到蠕虫特征串的尾部或头部时,对P2P数据包进行重 组。
[0049] 述未知蠕虫检测模块5还用于对剩余的P2P数据按照P2P蠕虫检测法则对其进行 未知P2P蠕虫的检测。
[0050] 另外,本发明实施例还提供一种P2P蠕虫检测方法,如图2所示,该方法包括:
[0051] S201,数据包捕获模块从网络中捕获数据包,并对捕获到的数据包结构进行分析, 获得数据信息;
[0052] S202, P2P数据过滤模块根据P2P协议的特征将非P2P数据过滤掉,获得P2P数据;
[0053] S203, P2P蠕虫特征匹配模块将经过P2P数据过滤模块过滤后的P2P数据与P2P蠕 虫特征库中的特征串进行匹配;
[0054] S204,当P2P蠕虫特征匹配模块在P2P数据中未匹配到完整的蠕虫特征串时,特征 串重组模块对P2P数据包进行重组;
[0055] S205,未知蠕虫检测模块对剩余的P2P数据进行未知P2P蠕虫的检测,若发现异 常,对数据包提取特征,并将特征串添加到P2P蠕虫特征库。
[0056] 其中,该数据信息包括:MAC地址、IP地址、协议类型和端口号。
[0057] 具体实施中,S204包括:当P2P蠕虫特征匹配模块在P2P数据中的头部或尾部部 分匹配到蠕虫特征串的尾部或头部时,对P2P数据包进行重组。
[0058] S205包括:对剩余的P2P数据按照P2P蠕虫检测法则对其进行未知P2P蠕虫的检 测。
[0059] 在本发明实施例中,包捕获机制是基于Libpcap函数库实现的,Libpcap供了多种 函数来实现捕获网络数据包的功能,主要步骤有:寻找可用的网络接口设备、打开网络借口 设备、编译过滤规则、设置过滤规则、释放网络接口设备和抓包等;而P2P协议是根据TCP协 议进行传输的,因此P2P数据必定封装在TCP数据包中,因此可以在此模块中进行初步的数 据包过滤,将TCP设置成过滤规则,从而只捕获TCP数据包,可以提高抓包效率。每捕获一个 数据包都要调用回调函数进行数据包后续的分析处理,直到错误产生或用户终止程序。其 具体实现流程如图3所示。
[0060] P2P数据过滤模块分为两部分:首先是P2P应用程序IP地址和端口的确定,然后 才是控制数据包和普通数据包的识别,只对普通数据包进行特征串的匹配。数据包的过滤 以BT数据为例,根据对BT协议的分析,BT客户端在建立连接的握手阶段,数据包的数据开 始部分携带有特征串"19BitTorrent Protocol",只要匹配到这个特征串,就认定即将建立 BT连接,而此时的IP地址和端口号就是BT进行传输的IP地址和端口,以后凡是从这个IP 地址和端口号传输的都是BT数据包。对普通数据包的识别是通过过滤掉控制数据包来实 现的,控制数据包包括两种:一种是数据长度为〇的保持连接的数据包,另一种就是非保持 连接用的通信数据包。为了实现的方便,必须定义数据包的结构体,数据包的首部格式包括 IP首部和TCP首部,其结构体定义如下。
[0061] IP 首部:
[0062]
[0063]

【权利要求】
1. 一种P2P蠕虫检测系统,其特征在于,所述系统包括: 数据包捕获模块,用于从网络中捕获数据包,并对捕获到的数据包结构进行分析,获得 数据信息; P2P数据过滤模块,用于根据P2P协议的特征将非P2P数据过滤掉,获得P2P数据; P2P蠕虫特征匹配模块,用于将经过所述P2P数据过滤模块过滤后的P2P数据与P2P蠕 虫特征库中的特征串进行匹配; 特征串重组模块,用于当所述P2P蠕虫特征匹配模块在P2P数据中未匹配到完整的蠕 虫特征串时,对P2P数据包进行重组; 未知蠕虫检测模块,用于对剩余的P2P数据进行未知P2P蠕虫的检测,若发现异常,对 数据包提取特征,并将特征串添加到P2P蠕虫特征库。
2.如权利要求1的P2P蠕虫检测系统,其特征在于,所述数据信息包括;MC地址、IP 地址、协议类型和端口号。
3.如权利要求1的P2P蠕虫检测系统,其特征在于,所述特征串重组模块还用于当所 述P2P蠕虫特征匹配模块在P2P数据中的头部或尾部部分匹配到蠕虫特征串的尾部或头部 时,对P2P数据包进行重组。
4.如权利要求1的P2P蠕虫检测系统,其特征在于,所述未知蠕虫检测模块还用于对剩 余的P2P数据按照P2P蠕虫检测法则对其进行未知P2P蠕虫的检测。
5. -种P2P蠕虫检测方法,其特征在于,所述方法包括: 数据包捕获模块从网络中捕获数据包,并对捕获到的数据包结构进行分析,获得数据 信息; P2P数据过滤模块根据P2P协议的特征将非P2P数据过滤掉,获得P2P数据; P2P蠕虫特征匹配模块将经过所述P2P数据过滤模块过滤后的P2P数据与P2P蠕虫特 征库中的特征串进行匹配; 当所述P2P蠕虫特征匹配模块在P2P数据中未匹配到完整的蠕虫特征串时,特征串重 组模块对P2P数据包进行重组; 未知蠕虫检测模块对剩余的P2P数据进行未知P2P蠕虫的检测,若发现异常,对数据包 提取特征,并将特征串添加到P2P蠕虫特征库。
6.如权利要求5的P2P蠕虫检测方法,其特征在于,所述数据信息包括;MAC地址、IP 地址、协议类型和端口号。
7.如权利要求5的P2P蠕虫检测方法,其特征在于,所述当所述P2P蠕虫特征匹配模块 在P2P数据中未匹配到完整的蠕虫特征串时,特征串重组模块对P2P数据包进行重组的步 骤包括;当所述P2P蠕虫特征匹配模块在P2P数据中的头部或尾部部分匹配到蠕虫特征串 的尾部或头部时,对P2P数据包进行重组。
8. 如权利要求5的P2P蠕虫检测方法,其特征在于,所述未知蠕虫检测模块对剩余的 P2P数据进行未知P2P蠕虫的检测的步骤包括:对剩余的P2P数据按照P2P蠕虫检测法则 对其进行未知P2P蠕虫的检测。
【文档编号】H04L29/06GK104468601SQ201410798351
【公开日】2015年3月25日 申请日期:2014年12月17日 优先权日:2014年12月17日
【发明者】林谋广, 冯玉财, 陈湘萍 申请人:中山大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1