一种隐匿P2P程序实时检测方法及系统技术方案

技术编号:10383647 阅读:140 留言:0更新日期:2014-09-05 11:16
本发明专利技术公开了一种隐匿P2P程序实时检测方法及系统,属于网络安全技术领域。本发明专利技术的基本思想是分两步完成对隐匿P2P程序的检测:首先,利用网络流的关键属性和BGP前缀提取流簇,根据是否存在流簇来判断IP主机是否运行了P2P程序;然后,通过分析流簇的IP回访总次数来检测P2P主机上运行的是否为隐匿P2P程序。与现有技术相比,本发明专利技术具有以下优势:方法简单,计算开销小,可以对隐匿P2P程序进行实时检测;无需使用标准流量数据集进行预先训练;当待检网络内运行的同类型隐匿P2P程序只有一个时,也可以实施精确检测;当待检主机上同时运行了合法P2P程序和隐匿P2P程序时,同样适用;检测精度高,误报率低,且扩展性好,可与已有的NIDS系统无缝集成。

【技术实现步骤摘要】
一种隐匿P2P程序实时检测方法及系统
本专利技术涉及网络安全
,特别是一种隐匿P2P程序实时检测方法及系统。
技术介绍
至上世纪90年代出现以来,P2P技术已被广泛应用到文件共享、流媒体传输、即时通讯等领域。日益普及的各类P2P程序为互联网用户带来了极大便利,但同时,也出现了基于P2P技术的恶意程序。相对于合法P2P程序,此类恶意P2P程序具有高度的隐匿性,它们往往在不被计算机用户察觉的情况下潜伏在后台自动运行。相对于传统恶意程序,隐匿的恶意P2P程序更加难以被检测,因为它们并不直接对计算机造成危害,而是提供了一个攻击平台,攻击者可以利用这个平台进行分布式拒绝服务(DistributedDenial-of-Service,DDoS)攻击、发送垃圾邮件、窃取隐私信息等。目前此类隐匿P2P程序主要包括组成P2P僵尸网络的各类僵尸程序,例如:Storm、Waledac、Zeus等。由于隐匿P2P程序通常并不直接对计算机主机造成危害,因此仅从主机层面很难实现对其的检测。目前针对隐匿P2P程序的检测方法主要集中在基于网络流量的检测上,其中又可分为基于机器学习的检测方法和基于网络行为分析的检测方法。基于机器学习的检测方法将主机产生的网络流量分成等长的时间窗口片段,并提取各片段的各种流量特征,然后采用机器学习方法检测是否存在隐匿P2P程序的流量。此类检测方法需要根据隐匿P2P程序的内在特性,选取具有强区分性的流量特征,再借助于机器学习方法(如:支持向量机SVM、决策树、贝叶斯网络等)进行检测。基于网络行为分析的检测方法通过寻找隐匿P2P程序特有的网络行为,来实现对其的检测。例如,相对于合法P2P程序的用户驱动,隐匿P2P程序产生的流量通常由已编译好的算法驱动,因此具有周期性;另外,正是由于其流量由算法驱动,因此属于同一个P2P网络的隐匿P2P程序的流量具有相似性。以上检测方法皆存在局限性。首先,以上方法多依靠分类或聚类机器学习以及额外的辅助算法,存在方法复杂,开销较大,检测时间长等缺点,因此不具备实时性;其次,基于机器学习的检测方法需要利用标准数据集进行训练以获得分类模型,而隐匿P2P程序的标准数据集往往难以获取;第三,基于网络行为分析的检测方法通常假设待检网络内存在多个同一P2P网络的隐匿P2P程序,当待检网络内仅有一个隐匿P2P程序运行时,此类方法失效。
技术实现思路
本专利技术所要解决的技术问题是,针对上述现有技术的不足,提供一种隐匿P2P程序实时检测方法及系统。为解决上述技术问题,本专利技术所采用的技术方案是:一种隐匿P2P程序实时检测方法,包括以下步骤:1)实时采集待检网络中每个IP主机产生的通信流量数据,并以时间窗口T为单位对通信流量数据进行分片处理,在每个时间窗口T内,利用协议分析技术,提取并记录该时间窗口内各IP主机产生的网络流;2)根据过滤规则初步过滤掉上述网络流中的非P2P网络流;3)对经步骤2)处理后剩余的网络流进行统计分析,提取流簇:首先将剩余的网络流聚类到不同的集合,同一集合内的网络流拥有相同关键属性,然后利用BGP前缀公告,分析每个集合中通信的远程IP地址的BGP前缀总数,BGP前缀总数大于阈值M的网络流集合即为流簇;4)若IP主机产生的流量数据中存在流簇,若存在,则判断该IP主机为P2P主机,进一步计算该P2P主机流簇的IP回访数;若该P2P主机产生的所有流簇的IP回访数之和大于阈值N,则该P2P主机上运行的P2P程序为隐匿P2P程序。所述步骤1)中,时间窗口T大小为5分钟。所述步骤1)中,一条网络流由五元组{Pro,IPsrc,IPdst,Portsrc,Portdst}确定,其中,Pro为协议类型;IPsrc为源IP地址;IPdst为目的IP地址;Portsrc为源端口号;Portdst为目的端口号,且一条网络流满足下列条件之一时结束:1)网络流已有10分钟未收到新的报文;2)网络流的活动时间已经超过30分钟;3)检测到标识TCP网络流终止的TCP标志位。所述步骤1)中,网络流由向量Flow=<Tend,IPlocal,IPremote,Pro,Spkts,Sbytes,Rpkts,Rbytes>表示,其中:Tend为网络流结束时间;IPlocal为本地IP地址;IPremote为远程IP地址;Pro为协议类型;Spkts为发送报文的个数;Sbytes为发送报文的总字节数;Rpkts为接收报文的个数;Rbytes为接收报文的总字节数。所述步骤2)中,过滤掉IP地址为经过DNS解析后获得的远程IP地址与待检网络中IP地址之间的网络流。所述步骤3)中,同一集合内的网络流拥有的相同关键属性如下:协议类型Pro、发送报文的个数Spkts和发送报文的总字节数Sbytes、接收报文的个数Rpkts和接收报文的总字节数Rbytes,即:流簇中的网络流有相同的向量<Pro,Spkts,Sbytes,Rpkts,Rbytes>。所述阈值M为5。所述步骤4)中,阈值N为15。本专利技术还提供了一种隐匿P2P程序实时检测系统,包括P2P程序识别子系统和隐匿P2P程序识别子系统:所述P2P程序识别子系统包括:网络流提取模块:采集待检网络内各IP主机产生的通信流量数据,并利用协议分析技术,以时间窗口T为单位,提取网络流的相关属性Flow=<Tend,IPlocal,IPremote,Pro,Spkts,Sbytes,Rpkts,Rbytes>;其中:Tend为网络流结束时间;IPlocal为本地IP地址;IPremote为远程IP地址;Pro为协议类型;Spkts为发送报文的个数;Sbytes为发送报文的总字节数;Rpkts为接收报文的个数;Rbytes为接收报文的总字节数;网络流过滤模块:初步过滤掉网络流提取模块提取的网络流中的非P2P网络流;流簇提取模块:统计并分析经网络流过滤模块过滤后的网络流中是否存在流簇,若存在,则判断待检网络内对应IP主机为P2P主机,并将该P2P主机产生的流簇交由隐匿P2P程序识别子系统处理;所述隐匿P2P程序识别子系统包括:IP回访数统计模块:处理P2P主机产生的所有流簇,并统计该所有流簇的IP回访数之和,若IP回访总次数大于阈值N,则认为该P2P主机在该时间窗口T内有隐匿P2P程序在运行;检测结果显示模块:显示各IP主机在时间窗口T内是否运行了P2P程序,以及运行的是否为隐匿P2P程序。与现有技术相比,本专利技术所具有的有益效果为:本专利技术具有很好的实时性,能在五分钟内判断出待检网络内的主机是否在运行P2P程序,运行的是否为隐匿P2P程序;本专利技术无需使用标准流量数据集进行预先训练,可以直接用于检测;当待检网络内同类型隐匿P2P程序仅存在一个时,本专利技术也能实现精确检测;当待检主机上同时运行了合法P2P程序和隐匿P2P程序时,同样可以实现有效检测;本专利技术检测准确率高,误报率低。反复选择真实网络检测结果是:对所有P2P程序检测准确率为99.45%,误报率仅为1.88%,对隐匿P2P程序检测准确率为92.34%,误报率仅为1.2%;本专利技术具有较好的扩展性,可以与NIDS系统无缝集成,应用到当前各种NIDS产品之上。附图说明图1为本专利技术实施例的隐匿P2P本文档来自技高网
...
一种隐匿P2P程序实时检测方法及系统

【技术保护点】
一种隐匿P2P程序实时检测方法,其特征在于,包括以下步骤:1)实时采集待检网络中每个IP主机产生的通信流量数据,并以时间窗口T为单位对通信流量数据进行分片处理,在每个时间窗口T内,利用协议分析技术,提取并记录该时间窗口内各IP主机产生的网络流;2)根据过滤规则初步过滤掉上述网络流中的非P2P网络流;3)对经步骤2)处理后剩余的网络流进行统计分析,提取流簇:首先将剩余的网络流聚类到不同的集合,同一集合内的网络流拥有相同关键属性,然后利用BGP前缀公告,分析每个集合中通信的远程IP地址的BGP前缀总数,BGP前缀总数大于阈值M的网络流集合即为流簇;4)若IP主机产生的流量数据中存在流簇,若存在,则判断该IP主机为P2P主机,进一步计算该P2P主机流簇的IP回访数;若该P2P主机产生的所有流簇的IP回访数之和大于阈值N,则该P2P主机上运行的P2P程序为隐匿P2P程序。

【技术特征摘要】
1.一种隐匿P2P程序实时检测方法,其特征在于,包括以下步骤:1)实时采集待检网络中每个IP主机产生的通信流量数据,并以时间窗口T为单位对通信流量数据进行分片处理,在每个时间窗口T内,利用协议分析技术,提取并记录该时间窗口内各IP主机产生的网络流;2)根据过滤规则初步过滤掉上述网络流中的非P2P网络流;3)对经步骤2)处理后剩余的网络流进行统计分析,提取流簇:首先将剩余的网络流聚类到不同的集合,同一集合内的网络流拥有相同关键属性,然后利用BGP前缀公告,分析每个集合中通信的远程IP地址的BGP前缀总数,BGP前缀总数大于阈值M的网络流集合即为流簇;4)若IP主机产生的流量数据中存在流簇,则判断该IP主机为P2P主机,进一步计算该P2P主机流簇的IP回访数;若该P2P主机产生的所有流簇的IP回访数之和大于阈值N,则该P2P主机上运行的P2P程序为隐匿P2P程序。2.根据权利要求1所述的隐匿P2P程序实时检测方法,其特征在于,所述步骤1)中,时间窗口T大小为5分钟。3.根据权利要求1或2所述的隐匿P2P程序实时检测方法,其特征在于,所述步骤1)中,一条网络流由五元组{Pro,IPsrc,IPdst,Portsrc,Portdst}确定,其中,Pro为协议类型;IPsrc为源IP地址;IPdst为目的IP地址;Portsrc为源端口号;Portdst为目的端口号,且一条网络流满足下列条件之一时结束:网络流已有10分钟未收到新的报文;网络流的活动时间已经超过30分钟;检测到标识TCP网络流终止的TCP标志位。4.根据权利要求3所述的隐匿P2P程序实时检测方法,其特征在于,所述步骤1)中,网络流由向量Flow=<Tend,IPlocal,IPremote,Pro,Spkts,Sbytes,Rpkts,Rbytes>表示,其中:Tend为网络流结束时间;IPlocal为本地IP地址;IPremote为远程IP地址;Pro为协议类型;Spkts为发送报文的个数;Sbytes为发送报文的总字节数;Rpkts为接收报文的个数;Rbytes为接收报文的总字节数。5.根据权利要求4所述的隐匿P2P程序实时检测方法,其特征在于,所述步骤2)中,过滤掉经过DNS解析后获得的远程IP地址与待检网络中IP地址...

【专利技术属性】
技术研发人员:杨岳湘何杰曾迎之唐川王晓磊施江勇田硕伟
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1