一种基于流量分析的P2P僵尸网络检测系统及方法技术方案

技术编号:19703019 阅读:35 留言:0更新日期:2018-12-08 14:24
本发明专利技术公开了一种基于流量分析的P2P僵尸网络检测系统,属于计算机网络安全领域,包括网络流量接收模块从不同监测点获取网络流量,通信结构图构建模块,检测算法模块从通信结构图中利用社区发现算法发现P2P结构,采用决策树和贝叶斯网络两种机器学习方法结合检测P2P僵尸网络,跟踪与其它节点的通信对僵尸网络进行扩展,数据库模块存储相关数据。本发明专利技术还公开了基于流量分析的P2P僵尸网络检测方法。本发明专利技术未将端口作为特征以防止端口随机化造成的检测失效,基于流量分析进行P2P僵尸网络检测,通过过滤良性网络流量提高检测效率,使用包长度为特征减少数据处理量,能高效识别P2P僵尸网络通信,为入侵检测系统提供支撑。

【技术实现步骤摘要】
一种基于流量分析的P2P僵尸网络检测系统及方法
本专利技术涉及计算机网络安全领域,尤其涉及一种基于流量分析的P2P僵尸网络检测系统及方法。
技术介绍
僵尸网络(Botnet)是互联网上受到攻击者控制的大量主机,利用C&C(CommandandControl)信道控制和对存在于僵尸网络当中的主机发布命令。僵尸网络通常被用于发起分布式拒绝服务(DistributedDenial-of-Service,DDoS)攻击、发送垃圾邮件、比特币采矿等攻击。P2P(Peer-to-Peer)对等网络,又称为端对端技术,其每个节点都具有同等的能力,通常不依赖一个中心节点。P2P网络的分散性特点使得它们难以被发现,分布式的特性也能极好地应对单点故障。在21世纪初用户开始拥有越来越强大的服务器、存储空间和带宽,P2P结构的互联网占有份额急剧上升,由于P2P模式一直受到隐私、盗版等问题的困扰,之后所占的互联网份额之后有所下降。P2P僵尸网络种类繁多,但是最底层都是由对等的僵尸主机节点构成的P2P结构网络。攻击者可以通过设置超级代理节点发布命令给他所控制的僵尸主机,也可以通过不对称加密的方式对命令进行加密从而引导僵尸网络继续攻击。最初的僵尸网络检测工作是利用端口以及签名的方法,检测特定端口的流量包信息,这种检测方式一旦遇到加密的僵尸网络或者对于通信端口采取随机化的僵尸网络就无法生效。之后的一些检测方式采用图形聚类技术来检测P2P流量,但是没有对良性P2P流量进行分析,存在的问题是检测消耗的计算资源大,检测效率低,此外这种方法也存在图形可能无法扩展的问题。因此,本领域的技术人员致力于开发一种不依赖于通信端口检测,基于流量分析的P2P僵尸网络检测系统,区分良性和恶性P2P流量,提高检测效率。此外,在系统挖掘的僵尸网络基础上进一步跟踪以保证系统获取的僵尸网络结构得以扩展。
技术实现思路
有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是区分良性和恶性P2P流量,提高检测效率。此外,在系统挖掘的僵尸网络基础上进一步跟踪以保证系统获取的僵尸网络结构得以扩展。为实现上述目的,本专利技术提供了一种基于流量分析的P2P僵尸网络检测系统,包括网络流量接收模块、通信结构图构建模块、检测算法模块、数据库模块,其中:网络流量接收模块:从分布在不同监测点的程序获取网络流量,根据过滤规则过滤掉良性的网络流量,将不确定的流量记录在数据库模块中;通信结构图构建模块:读取不确定的流量记录,构建通信结构图;检测算法模块:对生成的通信结构图进行分析探究,判断通信结构图中的节点所属IP地址是否为僵尸网络主机;数据库模块:存放网络流量接收模块、通信结构图构建模块、检测算法模块的计算结果。进一步地,过滤规则包含公认良性网络地址。进一步地,过滤规则包含本系统检测出来的良性P2P网络地址。进一步地,通信结构图构建模块被配置为:以监测到的IP地址为节点,以互相之间的通信为边构建加权有向图,利用社区发现算法进行子图分割,找到其中的P2P结构子图。进一步地,加权有向图的权值能够通过计算节点与其它相连节点的通信相似度得出。进一步地,通信相似度采用时间戳TS、数据包有效负载长度PS进行计算。进一步地,检测算法模块被配置为:将通信结构图节点之间的通信整合成为节点之间的会话,计算会话开始时间戳和会话结束时间戳差值得到会话持续时间TD、源IP为A向目标IP为B发送的数据包有效负载总长度APS、源IP为B向目标IP为A发送的数据包有效负载总长度BPS、双方之间的通信次数NOC,并将APS、BPS、NOC、TD作为特征,采用决策树和贝叶斯网络两种机器学习方法结合的集成分类器来进行对恶意P2P流量的检测,将良性P2P网络添加进流量接收模块的过滤规则当中,并将P2P僵尸网络的检测结果存入数据库模块当中。进一步地,检测算法模块被配置为:当检测到僵尸网络中的节点与其它不属于此僵尸网络的节点进行通信时,跟踪这两个节点之间的会话,计算出APS、BPS、NOC、TD的值与僵尸网络的会话特点进行相似度判断,如果相似则将其加入之前的P2P僵尸网络结构当中并记录。本专利技术还提供了一种基于流量分析的P2P僵尸网络检测方法,包括如下步骤:步骤1:对于已知的通信结构图,获取通信结构图中相关流量的关键字段组,包括一次通信中的源IP地址SIP、目的IP地址DIP、时间戳TS、数据包有效负载长度PS;步骤2:使用步骤1中获取的SIP、DIP、TS、PS为特征,利用社区发现算法,对通信结构图进行子图分割,发现其中的P2P结构,获取P2P结构流量;步骤3:遍历属于P2P结构流量的关键字段组,将通信双方IP地址相同的通信归为一组,即A数据包的SIP、DIP分别和B数据包的DIP、SIP相同,将A和B归为一组;步骤4:遍历步骤3的每个分组,对组内数据按照时间规则排序,基于时间将组内数据分割成会话;步骤5:计算会话开始时间戳和结束时间戳差值得到会话的持续时间TD,SIP为A向DIP为B发送的数据包有效负载总长度APS,SIP为B向DIP为A发送的数据包有效负载总长度BPS,以及双方之间的通信次数NOC;步骤6:将APS、BPS、NOC、TD作为一个四元组,采用决策树和贝叶斯网络两种机器学习方法结合的集成分类器,进行恶意P2P流量的检测,从而检测出P2P僵尸网络;步骤7:将步骤6的检测结果存入数据库当中。步骤8:读取已检测到的P2P僵尸网络中的主机IP,当检测到IP和其它不属于这个僵尸网络的IP进行通信时,获取关键字段组,包括一次通信中的源IP地址SIP、目的IP地址DIP、时间戳TS、数据包有效负载长度PS;步骤9:跟踪接下来的通信,计算得出包含APS、BPS、NOC、TD的四元组;步骤10:将步骤9获取的四元组与之前僵尸网络的四元组进行相似性比较,如果是恶意流量则将新的节点加入P2P僵尸网络,并记录在数据库当中。在本专利技术的较佳实施方式中,在过滤规则中选取Alexa排名前10000的公认良性流量,以及本系统检测出来的良性P2P网络的正常网络流量,大大减少了后续步骤需要处理的数据量。本专利技术基于网络流量的P2P僵尸网络检测系统和方法,从分布在网络上的不同节点监测到的网络流量集中起来,以网络流量为输入,僵尸网络的检测结果为输出。本专利技术未将通信双方的端口作为特征进行检测,避免了端口随机化造成检测方法失效,基于流量分析进行P2P僵尸网络检测,通过过滤良性网络流量提高检测效率,未将流量包的具体有效负载作为特征,而是选择其长度大小为特征,减少了数据处理量,能高效识别P2P僵尸网络通信。同时本专利技术基于系统已有的僵尸网络结果可以进行进一步的追踪,实现了检测结果可以扩展的特点。最终检测结果可以使得P2P僵尸网络通信行为得到辨识,可以为一些入侵检测系统提供支撑。以下将结合附图对本专利技术的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本专利技术的目的、特征和效果。附图说明图1是本专利技术的一个较佳实施例的系统示意图;图2是本专利技术的一个较佳实施例的网络流量接收模块流程图;图3是本专利技术的一个较佳实施例的检测算法模块中P2P僵尸网络检测过程;图4是本专利技术的一个较佳实施例的检测算法模块中P2P僵尸网络追踪过程;图5是本专利技术的一个较佳实施例的流程图。具体实本文档来自技高网
...

【技术保护点】
1.一种基于流量分析的P2P僵尸网络检测系统,其特征在于,包括网络流量接收模块、通信结构图构建模块、检测算法模块、数据库模块,其中:所述网络流量接收模块从分布在不同监测点的程序获取网络流量,根据过滤规则过滤掉良性的网络流量,将不确定的流量记录在所述数据库模块中;所述通信结构图构建模块读取所述不确定的流量记录,构建通信结构图;所述检测算法模块对所述通信结构图进行分析探究,判断所述通信结构图中的节点所属IP地址是否为僵尸网络主机;数据库模块存放所述网络流量接收模块、所述通信结构图构建模块、所述检测算法模块的计算结果。

【技术特征摘要】
1.一种基于流量分析的P2P僵尸网络检测系统,其特征在于,包括网络流量接收模块、通信结构图构建模块、检测算法模块、数据库模块,其中:所述网络流量接收模块从分布在不同监测点的程序获取网络流量,根据过滤规则过滤掉良性的网络流量,将不确定的流量记录在所述数据库模块中;所述通信结构图构建模块读取所述不确定的流量记录,构建通信结构图;所述检测算法模块对所述通信结构图进行分析探究,判断所述通信结构图中的节点所属IP地址是否为僵尸网络主机;数据库模块存放所述网络流量接收模块、所述通信结构图构建模块、所述检测算法模块的计算结果。2.如权利要求1所述的基于流量分析的P2P僵尸网络检测系统,其特征在于,所述过滤规则包含公认良性网络地址。3.如权利要求1所述的基于流量分析的P2P僵尸网络检测系统,其特征在于,所述过滤规则包含本系统检测出来的良性P2P网络地址。4.如权利要求1所述的基于流量分析的P2P僵尸网络检测系统,其特征在于,所述通信结构图构建模块被配置为:以监测到的IP地址为节点,以互相之间的通信为边构建加权有向图,利用社区发现算法进行子图分割,找到其中的P2P结构子图。5.如权利要求4所述的基于流量分析的P2P僵尸网络检测系统,其特征在于,所述加权有向图的权值能够通过计算所述节点与其它相连节点的通信相似度得出。6.如权利要求5所述的基于流量分析的P2P僵尸网络检测系统,其特征在于,所述通信相似度采用时间戳TS、数据包有效负载长度PS进行计算。7.如权利要求1所述的基于流量分析的P2P僵尸网络检测系统,其特征在于,所述检测算法模块被配置为:将所述通信结构图节点之间的通信整合成为节点之间的会话,计算会话开始时间戳和会话结束时间戳差值得到会话持续时间TD、源IP为A向目标IP为B发送的数据包有效负载总长度APS、源IP为B向目标IP为A发送的数据包有效负载总长度BPS、双方之间的通信次数NOC,并将所述APS、BPS、NOC、TD作为特征,采用决策树和贝叶斯网络两种机器学习方法结合的集成分类器来进行对恶意P2P流量的检测,将良性P2P网络添加进所述流量接收模块的所述过滤规则当中,并将P2P僵尸网络的检测...

【专利技术属性】
技术研发人员:邹福泰张奕吴越
申请(专利权)人:上海交通大学
类型:发明
国别省市:上海,31

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

1