CN114513325B - 基于saw社区发现的非结构化p2p僵尸网络检测方法及装置 - Google Patents

基于saw社区发现的非结构化p2p僵尸网络检测方法及装置 Download PDF

Info

Publication number
CN114513325B
CN114513325B CN202111575198.2A CN202111575198A CN114513325B CN 114513325 B CN114513325 B CN 114513325B CN 202111575198 A CN202111575198 A CN 202111575198A CN 114513325 B CN114513325 B CN 114513325B
Authority
CN
China
Prior art keywords
calculating
community
vertex
cluster
saw
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.)
Active
Application number
CN202111575198.2A
Other languages
English (en)
Other versions
CN114513325A (zh
Inventor
舒辉
邢颖
光焱
赵耘田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN202111575198.2A priority Critical patent/CN114513325B/zh
Publication of CN114513325A publication Critical patent/CN114513325A/zh
Application granted granted Critical
Publication of CN114513325B publication Critical patent/CN114513325B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种基于SAW社区发现的非结构化P2P僵尸网络检测方法及装置。该方法包括:步骤1:将原始的pcap格式流量数据转换为netflow格式流量数据;步骤2:使用F‑link大数据平台,将netflow格式流量数据转换为五元组簇流,从所述五元组簇流中过滤得到P2P簇;步骤3:使用Jaccard系数计算P2P簇之间共享邻居节点的权重,构建共享邻居图;步骤4:采用SAW对共享邻居图中的每个顶点进行访问,生成顶点之间的顶点矩阵,使用主成分分析PCA对所述顶点矩阵进行降维,计算Bray‑Curtis不相似度,采用层次聚类计算节点相似性,进行社区挖掘,从而对同类P2P节点进行聚类;步骤5:使用社区属性对聚类结果进行分类,过滤出僵尸网络。

Description

基于SAW社区发现的非结构化P2P僵尸网络检测方法及装置
技术领域
本发明涉及图像加密技术领域,尤其涉及一种基于SAW社区发现的非结构化P2P僵尸网络检测方法及装置。
背景技术
僵尸网络是由大量被僵尸程序所感染的僵尸主机(bot)受到攻击者所控制而形成的以恶意活动为目的的覆盖网络,通常由攻击者(也称控制者)、命令与控制信道(C&CChannel,Command and Control Channel)以及僵尸主机共同组成。僵尸网络可发起分布式拒绝服务、垃圾邮件、网络钓鱼、点击欺诈以及窃取敏感信息等网络攻击,已被视为对金融,教育,医疗,关键基础设施,物联网等多个行业的最严重威胁之一。与传统的病毒和蠕虫不同,僵尸网络是高级形态的恶意代码,其核心是命令控制信道。传统的集中式命令和控制(C&C)架构与基于HTTP协议的架构容易被安全防御人员追踪拆除,僵尸网络演化呈现出平台多样化、通信隐蔽化、控制智能化等特点,基于P2P协议的分布式架构僵尸网络能很好的解决单点失效问题,在功能、结构、隐藏技术等方面都有较大改善。 P2P技术已被广泛应用到多个领域,例如:用于文件共享的BitTorrent、eMule、用于视频直播的PPTV,用于即时通讯的QQ、Skype等。P2P僵尸网络同合法 P2P网络一样,使用分布式拓扑结构、节点间相互通信、网络内各类报文活动频繁,未来将出现更多已知的P2P僵尸网络变体和更复杂的僵尸网络恶意软件。如图1所示,僵尸网络可混合在正常的P2P通信中,隐蔽性较强。根据通信协议,P2P僵尸网络又可分为结构化僵尸网络和非结构化僵尸网络。结构化僵尸网络通常采用基于分布式哈希表(Distributed Hash Table,DHT)的P2P协议,僵尸主机通过<key,value>索引结构定位查找资源。非结构化P2P僵尸网络采用自定义的P2P协议实现,通常为随机扫描方式或者节点列表(Peer-list)方式进行通信。 P2P僵尸网络同其它合法P2P网络一样,使用分布式拓扑结构进行节点之间的相互通信。
关于僵尸网络检测有大量文献,有关P2P僵尸网络检测的大多数集中在结构化P2P体系结构上,很少有研究团体关注非结构化P2P僵尸网络检测问题。而关于P2P僵尸网络检测的方法通常假定对僵尸网络中的完整通信具有知识,不适合针对非结构化P2P僵尸网络的检测。另外,恶意流量通常与合法流量重叠在一起,也是检测的主要挑战之一。
发明内容
针对非结构化P2P僵尸网络采用自定义协议进行通信,可以与合法的P2P 流量融和在一起,而且其拓扑结构更为复杂,难以获得完全拓扑,致使其隐蔽难以被检测的问题,本发明提供一种基于SAW社区发现的非结构化P2P僵尸网络检测方法及装置。
一方面,本发明提供一种基于SAW社区发现的非结构化P2P僵尸网络检测方法,该方法包括:
步骤1:将原始的pcap格式流量数据转换为netflow格式流量数据;
步骤2:使用F-link大数据平台,将netflow格式流量数据转换为五元组簇流,从所述五元组簇流中过滤得到P2P簇;
步骤3:使用Jaccard系数计算P2P簇之间共享邻居节点的权重,构建共享邻居图;
步骤4:采用SAW对共享邻居图中的每个顶点进行访问,生成顶点之间的顶点矩阵,使用主成分分析PCA对所述顶点矩阵进行降维,计算Bray-Curtis不相似度,采用层次聚类计算节点相似性,进行社区挖掘,从而对同类P2P节点进行聚类;
步骤5:使用社区属性对聚类结果进行分类,过滤出僵尸网络。
进一步地,步骤2具体包括:
步骤2.1:对于每个主机H的netflow格式流量数据,按照相同四元组进行抽取得到五元组簇流FF(H):
FF(H)={srcip,protocol,bppout,bppin,[dstip1,dstip2,dstip3,…,dstipn]};
步骤2.2:将满足公式(1)的五元组簇定义为主机H的P2P簇:
FFp2p(H)={flow∈FF(H)|srcip,protocol,bppout,bppin,dd(H)≥δdd}  (1)
其中,srcip指源IP地址,protocol指TCP或者UDP协议,bppout指从源IP到目的IP的BPP,bppin指从目的IP到源IP的BPP,数组[dstip1,dstip2,dstip3,…,dstipn]表示目的IP地址;BPP指包平均字节数bytes-per-packets;dd(H)表示主机H驻留的不同/16IP前缀数量,δdd表示预设阈值。
进一步地,步骤3中,所述使用Jaccard系数计算P2P簇之间共享邻居节点的权重,具体为:
针对主机Hi的P2P簇FFp2p(Hi)和主机Hj的P2P簇FFp2p(Hj),采用Jaccard系数按照公式(2)计算ddi,j之间的置信度Simp2p(Hi,Hj),将所述置信度作为共享邻居节点的权重:
Figure BDA0003424627310000031
进一步地,步骤3中,所述构建共享邻居图,具体包括:
初始化无向图G={V,E},然后将每个主机的P2P簇的编号作为顶点V,将置信度Simp2p(Hi,Hj)大于0的两个P2P簇<FFp2p(Hi),FFp2p(Hj)>作为边E,将两个P2P簇的置信度Simp2p(Hi,Hj)作为边E的权重wij,将最终形成的无向图作为共享邻居图。
进一步地,步骤4具体包括:
步骤4.1:计算步行者在顶点i处开始SAW并在停止之前到达顶点j的转移概率pij
Figure BDA0003424627310000032
其中,Mi表示从顶点i开始的步行数量,mij是在停止之前访问过顶点j的数量;
步骤4.2:计算平均长度<lij>:
Figure BDA0003424627310000033
其中,
Figure BDA0003424627310000034
表示每个步行者到达j的步数,
Figure BDA0003424627310000035
是从i开始的第k个步行者;
步骤4.3:计算顶点i和顶点j之间的顶点矩阵fij
Figure BDA0003424627310000041
步骤4.4:使用主成分分析从顶点矩阵中提取相关信息,进行降维,线性变换是
Figure BDA0003424627310000042
其中P是由F的主成分组成的新基,
Figure BDA0003424627310000043
是投影到P中的数据,其中选择最相关的成分来对顶点进行分类;
步骤4.5:计算顶点i和j Bray-Curtis不相似度d(i,j):
Figure BDA0003424627310000044
其中,
Figure BDA0003424627310000045
指降维之后的顶点矩阵;
步骤4.6:计算模块度Q:
Figure BDA0003424627310000046
其中,eii表示相同社区内节点之间边的个数,ai表示所有连接到社区i中边的数量;
步骤4.7:选择平均连接方法以凝聚方法合并两个社区;从它自己的社区中的每个顶点开始,在每一步,通过公式(6)计算Bray-Curtis不相似度,具有最低Bray-Curtis差异的两个组加入一个新的组并创建树状图的新级别,计算每一层树状图的模块度,选择产生最大模块化值的PCA组件的数量,当所有顶点组成一个社区时,层次聚类结束。
进一步地,所述社区属性包括平均分散度和平均紧密度,对应的,步骤5具体包括:
步骤5.1:按照公式(8)计算平均分散度αmad
Figure BDA0003424627310000047
其中,dd(/16Hi)表示目的地址集合中前16位前缀不相同的数量,dd(/32Hi) 表示32位前缀,即IP地址的数量,n表示簇的个数;
步骤5.2:按照公式(9)计算平均紧密度βmcd
Figure BDA0003424627310000048
步骤5.3:当公式(8)计算得到的某社团的平均分散度αmad和公式(9)计算得到的某社团的平均紧密度βmcd均分别大于各自的设定阈值时,将该某社团确定为僵尸网络。
另一方面,本发明提供一种基于SAW社区发现的非结构化P2P僵尸网络检测装置,包括:
数据预处理模块,用于将原始的pcap格式流量数据转换为netflow格式流量数据;
特征提取模块,用于使用F-link大数据平台,将netflow格式流量数据转换为五元组簇流,从所述五元组簇流中过滤得到P2P簇;
共享邻居图构建模块,用于使用Jaccard系数计算P2P簇之间共享邻居节点的权重,构建共享邻居图;
社区发现模块,用于采用SAW对共享邻居图中的每个顶点进行访问,生成顶点之间的顶点矩阵,使用主成分分析PCA对所述顶点矩阵进行降维,计算 Bray-Curtis不相似度,采用层次聚类计算节点相似性,进行社区挖掘,从而对同类P2P节点进行聚类;
分类模块,用于使用社区属性对聚类结果进行分类,过滤出僵尸网络。
本发明的有益效果:
本发明提供的基于SAW社区发现的非结构P2P僵尸网络检测方法及装置,基于复杂网络理论,针对非结构化P2P僵尸网络,在不完全拓扑信息条件下,首先将pcap网络流量转化为Netflow,借助F-link大数据平台,采用上行、下行流量以及地址分散度阈值特征提出了一种P2P流量簇特征提取规则,来区分P2P与非P2P 流量。然后,通过Jaccard系数计算P2P簇之间的置信度构建共享邻居图,使用 SAW算法结合PCA进行层次聚类,将相同类型P2P社区挖掘出来,最后采用平均分散度、平均紧密度两个社团属性区分僵尸网络。通过数据集Sality,Kelihos和 ZeroAccess三种非结构化P2P僵尸网络进行实验验证,取得了较好的检测效果。本发明框架解决了最关键的P2P僵尸网络检测挑战之一,可以在存在合法P2P流量、不完全信息网络拓扑、C&C信道加密的情况下高精度地检测P2P僵尸程序,能够检测来自网络中不同家族的僵尸网络,具有良好的并行性、可扩展性。实验表明,本发明方法同样适用于经典CTU数据集上结构化P2P僵尸网络检测。
附图说明
图1为现有技术中的P2P活动示意图;
图2为本发明实施例提供的基于SAW社区发现的非结构化P2P僵尸网络检测方法的流程示意图;
图3为本发明实施例提供的共享邻居图SNG示意图;
图4为本发明实施例提供的具有500个节点的P2P网络SNG生成示意图;
图5中:(a-1)为本发明实施例提供的δdd=20、αmad=0.3时,精度、召回率和F1值随βmcd变化情况;(a-2)为本发明实施例提供的δdd=20、αmad=0.5时,精度、召回率和F1值随βmcd变化情况;
图6中:(b-1)为本发明实施例提供的δdd=30、αmad=0.3时,精度、召回率和F1值随βmcd变化情况;(b-2)为本发明实施例提供的δdd=30、αmad=0.5时,精度、召回率和F1值随βmcd变化情况;
图7中:(c-1)为本发明实施例提供的δdd=40、αmad=0.3时,精度、召回率和F1值随βmcd变化情况;(c-2)为本发明实施例提供的δdd=40、αmad=0.5时,精度、召回率和F1值随βmcd变化情况;
图8为本发明实施例提供的文献1公开的Peerclean方法中不同参数与本发明方法对比结果柱状图;
图9为本发明实施例提供的本发明方法与Bot-DL、Graph-ML和Bot-AHGCN 对比图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图2所示,本发明实施例提供一种基于SAW社区发现的非结构化P2P僵尸网络检测方法,包括以下步骤:
S101:使用ARGUS工具,将原始的pcap格式流量数据转换为netflow格式流量数据;
具体地,捕获的原始网络流量为pcap格式数据流,由若干数据包构成,数据量庞大,统计特征不明显,因此使用ARGUS流量处理工具,将其聚合为双向 netflow格式。
S102:使用Flink大数据平台,将netflow格式流量数据转换为五元组簇流,从所述五元组簇流中过滤得到P2P簇;
具体地,本步骤具体包括:
S1021:对于每个主机H的netflow格式流量数据,按照相同四元组进行抽取得到五元组簇流FF(H):
FF(H)={srcip,protocol,bppout,bppin,[dstip1,dstip2,dstip3,…,dstipn]};
需要说明的是,在此步骤中,已损坏的数据包以及与IP(Internet协议)广播,ICMP(Internet控制消息协议)和ARP(地址解析协议)请求相关的数据包会被过滤掉并从网络流量中丢弃,本发明实施例只针对传输层协议TCP\UDP进行流量过滤。
S1022:将满足公式(1)的五元组簇定义为主机H的P2P簇:
FFp2p(H)={flow∈FF(H)|srcip,protocol,bppout,bppin,dd(H)≥δdd}  (1)
其中,srcip指源IP地址,protocol指TCP或者UDP协议,bppout指从源 IP到目的IP的BPP,bppin指从目的IP到源IP的BPP,表示数组 [dstip1,dstip2,dstip3,…,dstipn]代表目的IP地址;BPP指包平均字节数bytes-per-packets;dd(H)表示主机H驻留的不同/16IP前缀数量,δdd表示预设阈值。
具体地,P2P流量的目标IP地址分布在大量网络中,P2P流量的BGP前缀数量要高于非P2P流量。两个具有不同/16IP前缀的IP地址实际上可能驻留在不同组织拥有的不同网络中,提供了网络边界的良好近似。因此,针对每个dstip集合,定义阈值δdd计算其驻留的不同/16IP缀数量,可将P2P流量过滤出来。
S103:使用Jaccard系数计算P2P簇之间共享邻居节点的权重,构建共享邻居图(Shared Neighbor Graph;简称SNG);
具体地,经过步骤S102,得出P2P流量五元组,但是僵尸流量经常和合法的P2P流量混合在一起,更为隐蔽。对于具有非结构化拓扑的P2P僵尸网络,其中的bot会随机选择与之进行通信的对等方,任何给定的时间范围内,P2P bot 程序对与至少一个公共外部bot进行通信的可能性非常高,也就是说网络中的一对僵尸程序很有可能相互接触。相反,一对合法的主机可能只有很少的相互联系,因为几乎所有主机都与一些流行的服务器(例如***.com,facebook.com)进行通信。在不完全信息条件下,难以获取P2P通信图,上述分析表明具有共享邻居的节点通常属于一类社团,因此本发明实施例从构建共享邻居图的角度可以将P2P集群挖掘在同一社团中,进一步将僵尸网络与合法应用程序分开。
作为一种可实施方式,所述使用Jaccard系数计算P2P簇之间共享邻居节点的权重,具体为:
针对主机Hi的P2P簇FFp2p(Hi)和主机Hj的P2P簇FFp2p(Hj),采用Jaccard系数按照公式(2)计算ddi,j之间的置信度Simp2p(Hi,Hj),将所述置信度作为共享邻居节点的权重:
Figure BDA0003424627310000081
其中,ddi,j表示不同簇的目的地址集合,Simp2p(Hi,Hj)大于0,说明两个簇之间有共享邻居节点。
作为一种可实施方式,所述构建共享邻居图,具体包括:
初始化无向图G={V,E},然后将每个主机的P2P簇的编号作为顶点V,将置信度Simp2p(Hi,Hj)大于0的两个P2P簇<FFp2p(Hi),FFp2p(Hj)>作为边E,将两个P2P簇的置信度Simp2p(Hi,Hj)作为边E的权重wij,将最终形成的无向图作为共享邻居图。
例如,如图3所示,主机A,B,C是相互联系图中的顶点。其中,主机A 和主机B共享一个邻居节点X,权重为1;主机B和主机C共享两个邻居节点Y、 Z,权重为2。使用Gephi工具生产的具有500个节点的P2P网络SNG示意图如图4所示。
S104:采用SAW对共享邻居图中的每个顶点进行访问,生成顶点之间的顶点矩阵,使用主成分分析PCA对所述顶点矩阵进行降维,计算Bray-Curtis不相似度,采用层次聚类计算节点相似性,进行社区挖掘,从而对同类P2P节点进行聚类;
具体地,P2P僵尸网络没有集中式的C&C服务器基础结构。攻击者可以将命令提交给任意僵尸,该僵尸随后将指令传播给受感染的同伴。随着僵尸程序之间连接数的增加,命令传播延迟会减少。关闭受感染的主机或删除恶意软件,这将导致僵尸网络必须承受节点和边缘故障。为了实现抵御节点故障和有针对性的攻击的高弹性,同时又允许快速的命令传播,P2P僵尸网络节点之间必须相互连接良好。由于这种所谓的快速混合特性,其状态概率质量比网络中受感染的缓慢混合其余部分更接***稳概率分布。当在图形上执行大量随机游走时,更为明显。因此,本发明实施例采用SAW(self-avoiding random walks,自回避随机游走),网络中的每个顶点在同一次游走期间不会被重新访问,步行者保留了对所行路径的记忆,较为高效。
作为一种可实施方式,本步骤具体包括:
S1041:计算步行者在顶点i处开始SAW并在停止之前到达顶点j的转移概率pij
Figure BDA0003424627310000091
其中,Mi表示从顶点i开始的步行数量,mij是在停止之前访问过顶点j的数量;
S1042:计算平均长度<lij>:
Figure BDA0003424627310000092
其中,
Figure BDA0003424627310000093
表示每个步行者到达j的步数,
Figure BDA0003424627310000094
是从i开始的第k个步行者;
S1043:计算顶点i和顶点j之间的顶点矩阵fij
Figure BDA0003424627310000095
需要说明的是,当i≠j时,0≤fij≤1,fij≠fji;如果没有步行者从i开始经过j,fij=0。
S1044:使用主成分分析从顶点矩阵中提取相关信息,进行降维,采用的线性变换是
Figure BDA0003424627310000101
其中P是由F的主成分组成的新基,
Figure BDA0003424627310000102
是投影到P中的数据。其中选择最相关的成分(与较高特征值相关的特征向量)来对顶点进行分类;
S1045:为了使用n个主成分比较两个顶点i和j,计算顶点i和jBray-Curtis 不相似度d(i,j):
Figure BDA0003424627310000103
其中,
Figure BDA0003424627310000104
是指降维之后的顶点矩阵;
S1046:为了评估社团,经常使用的度量是模块度,计算模块度Q:
Figure BDA0003424627310000105
其中,eii表示相同社区内节点之间边的个数,ai表示所有连接到社区i中边的数量;
S1047:选择平均连接方法以凝聚方法合并两个社区;从它自己的社区中的每个顶点开始,在每一步,通过公式(6)计算Bray-Curtis不相似度,具有最低 Bray-Curtis差异的两个组加入一个新的组并创建树状图的新级别,计算每一层树状图的模块度,选择产生最大模块化值的PCA组件的数量,当所有顶点组成一个社区时,层次聚类结束。
S105:使用社区属性对聚类结果进行分类,过滤出僵尸网络;
作为一种可实施方式,所述社区属性包括平均分散度αmad和平均紧密度βmcd
具体地,僵尸主机为了保持其连通性以及最大限度的从其它对等节点获取资源,通常与分布在较大范围的物理网络,因此恶意社团通常具有较高的αmad值;平均紧密度βmcd体现了社团内部通信的共享邻居节点信任程度,反映了节点间通信行为。
对应的,步骤S105具体包括:
S1051:按照公式(8)计算平均分散度αmad
Figure BDA0003424627310000106
其中,dd(/16Hi)表示目的地址集合中前16位前缀不相同的数量,dd(/32Hi) 表示32位前缀,即IP地址的数量,n表示簇的个数;
S1052:按照公式(9)计算平均紧密度βmcd
Figure BDA0003424627310000111
步骤5.3:当公式(8)计算得到的某社团的平均分散度αmad和公式(9)计算得到的某社团的平均紧密度βmcd均分别大于各自的设定阈值时,将该某社团确定为僵尸网络。
实施例2
本发明实施例提供一种基于SAW社区发现的非结构化P2P僵尸网络检测装置,包括:数据预处理模块、特征提取模块、共享邻居图构建模块、社区发现模块和分类模块;其中:
数据预处理模块用于将原始的pcap格式流量数据转换为netflow格式流量数据。特征提取模块,用于使用F-link大数据平台,将netflow格式流量数据转换为五元组簇流,从所述五元组簇流中过滤得到P2P簇。共享邻居图构建模块用于使用Jaccard系数计算P2P簇之间共享邻居节点的权重,构建共享邻居图。社区发现模块用于采用SAW对共享邻居图中的每个顶点进行访问,生成顶点之间的顶点矩阵,使用主成分分析PCA对所述顶点矩阵进行降维,计算Bray-Curtis不相似度,采用层次聚类计算节点相似性,进行社区挖掘,从而对同类P2P节点进行聚类。分类模块,用于使用社区属性对聚类结果进行分类,过滤出僵尸网络。
需要说明的是,本发明实施例提供的基于SAW社区发现的非结构化P2P僵尸网络检测装置是为了实现上述方法实施例的,其功能具体可参考上述方法实施例,此处不再赘述。
为了验证本发明方法和装置的有效性,本发明还提供有下述实验。
1实验环境
硬件环境:Intel(R)Core(TM)[email protected],16-GB RAM,Geforce GTX650Ti.FLINK大数据平台
软件环境:Argus工具,python3.6,igarph;其中,igraph是复杂网络分析的工具,采用C语言写的开源工具库,提供有关于R和python的一些接口。
2数据集介绍
为了验证本发明检测方法和装置的有效性,需要大量真实的网络流量,本实验采用真实数据采集,主要有三种类型的网络跟踪,包括P2P僵尸程序跟踪,P2P合法应用程序跟踪和网络背景流量,具体24小时痕迹信息如表1所示。
1)P2P僵尸网络流量。包含24小时的Sality,Kelihos和ZeroAccess三个非结构化P2P僵尸网络的活动轨迹。这些网络跟踪信息都是从手动感染了二进制样本的主机中收集的。
2)P2P合法应用程序。合法P2P网络轨迹从佐治亚大学获得,包含16个 eMule主机,16个FrostWire主机,14个uTorrent主机的网络跟踪和14个Vuze 主机,随机选择每个主机的一组连续的24小时网络跟踪。
3)网络背景流量。使用MAWI工作组流量存档中的数据集作为后台网络跟踪。
表1、数据集具体信息
分类 主机数 流数 dstIP的数量
P2P僵尸网络 21 6430921 178815
P2P合法应用程序 60 27013777 5182365 
3评价指标
真阳性(True Positive,TP):被判定为僵尸网络流量,事实上也是僵尸流量;
假阳性(False Positive,FP):被判定为僵尸网络流量,但事实上是正常流量;
假阴性(False Negative,FN):被判定为正常流量,但是事实上是僵尸网络流量;
真阴性(True Negative,TN):被判定为正常流量,事实上也是正常流量。
Figure BDA0003424627310000121
Figure BDA0003424627310000122
Figure BDA0003424627310000123
4评判结果
使用ARGUS将网络跟踪处理和群集为5元组格式的tcp/udp流。对netflow 流中上行流量、下行流量进行统计分析,采用Flink大数据平台生成P2P簇,评估了具有不同δdd的P2P网络流量检测,P2P流量地址分散度阈值比非P2P流量大得多。
构建SNG图,使用SAW算法进行社区挖掘。评估了社区属性,僵尸行为由于较频繁的通信导致平均分散度αmad、平均紧密度βmcd比良性P2P社团值要高。表2说明了针对不同阈值的检测对比结果,实验结果表明,最佳参数取值为δdd=20,αmad=0.5,βmcd=0.2。检测Precision为100%。
表2不同阈值参数设置下对比结果
Figure BDA0003424627310000131
Figure BDA0003424627310000141
对比图如图5、6、7所示。
5与现有方法的比较
在现有技术(文献1:Q.Yan,Y.Zheng,T.Jiang,W.Lou and Y.T.Hou, "PeerClean:Unveiling peer-to-peer botnets through dynamic group behavior analysis,"2015IEEE Conference on Computer Communications(INFOCOM), Kowloon,2015,pp.316-324,doi:10.1109/INFOCOM.2015.7218396)中,Yan等人提出了一种利用动态群体行为分析(DGBA)和机器学习来检测网络流量中P2P 僵尸程序的方法peerclean,分为两个过程:训练和检测。训练阶段:从每个流中提取某些连接功能,例如群集连接、共享邻居特征、重要连接特征、时间特征等;然后,使用SVM对上述特征向量对进行训练,最后做分类。该真实情况是通过在实验室环境中模拟良性P2P应用程序以及在受控环境中运行Sality,Kelihos 和ZeroAccess僵尸网络的P2P跟踪获得的。检测阶段:为了提取参与P2P网络的良性和恶意主机,使用(文献2:C.Kolbitsch,P.M.Comparetti,C.Kruegel,E. Kirda,X.Zhou,andX.Wang,“Effective and efficient malware detection at the end host,”in Proc.ofUSENIX Security’09,August 2009)中指定的相似性传播算法来计算聚合流的组特征并将其聚类。根据许多特定于功能的阈值来提取bot。本实验选取了其中共享邻居特征、重要连接特征、所有特征的实验结果,与本发明方法做对比,各类指标对比结果如表3所示。
表3实验结果对比分析
方法 Precision Recall F1
共享邻居特征 92.7% 68.8% 91.7%
重要连接特征 91.8% 66.7% 90%
所有特征 98.8% 100% 97.2
本发明 100% 100% 100% 
另外,对比结果柱状图如图8所示。
实验结果分析:peerclean方法用户必须设置许多变量,根据用于SVM的内核功能,分类器可能会过度拟合。本发明方法根据行为分析,取得了更好的效果,避免了机器学习中的过拟合问题。
6CTU数据集P2P僵尸网络检测
本实验针对CTU数据集中P2P僵尸网络进行实验。CTU-13数据集是著名的僵尸网络流量数据集,有13个场景,如表4所示。本实验考虑第12个场景,即P2P僵尸网络NSIS场景,包含僵尸网络流量以及正常流量和背景流量。 NSIS.ay的MD5:eaf85db9898d3c9101fd5fcfa4ac80e4,持续时间:1小时13分 21秒。场景12NetFlows中,僵尸网络流量为2143(0.65%),正常网络流量为 7628(2.34%),C&C网络流量为25(0.007%%),网络背景流量为315675(96.99%)。
表4每个僵尸网络场景的数据量
ID Duration #Packets #NetFlows Size Bot #Bots
1 6.15 71,971,482 2,824,637 52GB Neris 1
2 4.21 71,851,300 1,808,123 60GB Neris 1
3 66.85 167,730,395 4,710,639 121GB Rbot 1
4 4.21 62,089,135 1,121,077 53GB Rbot 1
5 11.63 4,481,167 129,833 37.6GB Virut 1
6 2.18 38,764,357 558,920 30GB Menti 1
7 0.38 7,467,139 114,078 5.8GB Sogou 1
8 19.5 155.207,799 2,954,231 123GB Murlo 1
9 5.18 115,415,321 2,753,885 94GB Neris 10
10 4.75 90,389.782 1,309,792 73GB Rbot 10
11 0.26 6,337,202 107,252 5.2GB Rbot 3
12 1.21 13,212,268 325,472 8.3GB NSIS.ay 3
13 16.36 50,888,256 1,925,150 34GB Virut
本实验在该数据集上的参数设置、以及实验结果如表5所示。
表5参数设置及实验结果
Figure BDA0003424627310000151
为了验证本发明方法的有效性,本实验针对三种基线方法进行了评估: Bot-DL(文献3:Pekta,A.,Acarman,T.,2018.Botnet detection based on network flowsummary and deep learning.International Journal of Network Management 28, 20–39),Graph-ML(文献4:Daya,A.A.,Salahuddin,M.A.,Limam,N.,Boutaba,R.,2019a.Agraph-based machine learning approach for bot detection,in:2019 IFIP/IEEE Symposium on Integrated Network and Service Management(IM),IEEE. pp.144–152),Bot-AHGCN(文献5:Zhao,Jun,et al."Multi-attributed heterogeneous graphconvolutional network for bot detection."Information Sciences 537(2020): 380-393)。对于基线方法,采用文献5中实现或利用作者发布的源代码,并在他们的工作中采用相同的参数集,实验结果分析如表6所示。
Bot-DL是基于深度学习的最先进的僵尸网络检测方法,该方法通过分析单个网络流将深度神经网络应用于僵尸程序的特征建模。
Graph-ML结合了图论和机器学习(ML)来解决僵尸网络检测的问题,它利用有监督和无监督的机器学习来建立基于图的两阶段机器人检测***。
Bot-AHGCN将细粒度的网络流对象(例如IP,响应)建模为多属性异构图,并将Bot检测问题转换为半监督节点图上的分类任务,通过引入有意义的元路径和元图来提供更好的可解释性。
表6实验结果对比分析
方法 Precision Recall F1
Bot-DL 94.21 91.34 92.75
Graph-ML 92.31 87.50 88.48
Bot-AHGCN 98.24 98.31 98.27
本发明 100 99.7% 99.8 
另外实验结果柱状图如图9所示。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (2)

1.基于SAW社区发现的非结构化P2P僵尸网络检测方法,其特征在于,包括:
步骤1:将原始的pcap格式流量数据转换为netflow格式流量数据;
步骤2:使用F-link大数据平台,将netflow格式流量数据转换为五元组簇流,从所述五元组簇流中过滤得到P2P簇;
步骤3:使用Jaccard系数计算P2P簇之间共享邻居节点的权重,构建共享邻居图;
步骤4:采用SAW对共享邻居图中的每个顶点进行访问,生成顶点之间的顶点矩阵,使用主成分分析PCA对所述顶点矩阵进行降维,计算Bray-Curtis不相似度,采用层次聚类计算节点相似性,进行社区挖掘,从而对同类P2P节点进行聚类;
步骤5:使用社区属性对聚类结果进行分类,过滤出僵尸网络;
步骤2具体包括:
步骤2.1:对于每个主机H的netflow格式流量数据,按照相同四元组进行抽取得到五元组簇流FF(H):
FF(H)={srcip,protocol,bppout,bppin,[dstip1,dstip2,dstip3,…,dstipn]};
步骤2.2:将满足公式(1)的五元组簇定义为主机H的P2P簇:
FFp2p(H)={flow∈FF(H)|srcip,protocol,bppout,bppin,dd(H)≥δdd}    (1)
其中,srcip指源IP地址,protocol指TCP或者UDP协议,bppout指从源IP到目的IP的BPP,bppin指从目的IP到源IP的BPP,数组[dstip1,dstip2,dstip3,...,dstipn]表示目的IP地址;BPP指包平均字节数bytes-per-packets;dd(H)表示主机H驻留的不同/16IP前缀数量,δdd表示预设阈值;
步骤3中,所述使用Jaccard系数计算P2P簇之间共享邻居节点的权重,具体为:
针对主机Hi的P2P簇FFp2p(Hi)和主机Hj的P2P簇FFp2p(Hj),采用Jaccard系数按照公式(2)计算ddi,j之间的置信度Simp2p(Hi,Hj),将所述置信度作为共享邻居节点的权重:
Figure FDA0004167081380000021
步骤3中,所述构建共享邻居图,具体包括:
初始化无向图G={V,E},然后将每个主机的P2P簇的编号作为顶点V,将置信度Simp2p(Hi,Hj)大于0的两个P2P簇<FFp2p(Hi),FFp2p(Hj)>作为边E,将两个P2P簇的置信度Simp2p(Hi,Hj)作为边E的权重wij,将最终形成的无向图作为共享邻居图;
步骤4具体包括:
步骤4.1:计算步行者在顶点i处开始SAW并在停止之前到达顶点j的转移概率pij
Figure FDA0004167081380000022
其中,Mi表示从顶点i开始的步行数量,mij是在停止之前访问过顶点j的数量;
步骤4.2:计算平均长度<lij>:
Figure FDA0004167081380000023
其中,
Figure FDA0004167081380000024
表示每个步行者到达j的步数,
Figure FDA0004167081380000025
是从i开始的第k个步行者;
步骤4.3:计算顶点i和顶点j之间的顶点矩阵fij
Figure FDA0004167081380000026
步骤4.4:使用主成分分析从顶点矩阵中提取相关信息,进行降维,采用的线性变换是
Figure FDA0004167081380000027
其中P是由F的主成分组成的新基,
Figure FDA0004167081380000028
是投影到P中的数据,其中选择最相关的成分来对顶点进行分类;
步骤4.5:计算顶点i和j Bray-Curtis不相似度d(i,j):
Figure FDA0004167081380000029
其中,
Figure FDA00041670813800000210
是指降维之后的顶点矩阵;
步骤4.6:计算模块度Q:
Figure FDA0004167081380000031
其中,eii表示相同社区内节点之间边的个数,ai表示所有连接到社区i中边的数量;
步骤4.7:选择平均连接方法以凝聚方法合并两个社区;从它自己的社区中的每个顶点开始,在每一步,通过公式(6)计算Bray-Curtis不相似度,具有最低Bray-Curtis差异的两个组加入一个新的组并创建树状图的新级别,计算每一层树状图的模块度,选择产生最大模块化值的PCA组件的数量,当所有顶点组成一个社区时,层次聚类结束;
所述社区属性包括平均分散度和平均紧密度,对应的,步骤5具体包括:
步骤5.1:按照公式(8)计算平均分散度αmad
Figure FDA0004167081380000032
其中,dd(/16Hi)表示目的地址集合中前16位前缀不相同的数量,dd(/32Hi)表示32位前缀,即IP地址的数量,n表示簇的个数;
步骤5.2:按照公式(9)计算平均紧密度βmcd
Figure FDA0004167081380000033
步骤5.3:当公式(8)计算得到的某社团的平均分散度αmad和公式(9)计算得到的某社团的平均紧密度βmcd均分别大于各自的设定阈值时,将该某社团确定为僵尸网络。
2.基于SAW社区发现的非结构化P2P僵尸网络检测装置,其特征在于,应用于权利要求1所述的基于SAW社区发现的非结构化P2P僵尸网络检测方法,所述装置包括:
数据预处理模块,用于将原始的pcap格式流量数据转换为netflow格式流量数据;
特征提取模块,用于使用F-link大数据平台,将netflow格式流量数据转换为五元组簇流,从所述五元组簇流中过滤得到P2P簇;
共享邻居图构建模块,用于使用Jaccard系数计算P2P簇之间共享邻居节点的权重,构建共享邻居图;
社区发现模块,用于采用SAW对共享邻居图中的每个顶点进行访问,生成顶点之间的顶点矩阵,使用主成分分析PCA对所述顶点矩阵进行降维,计算Bray-Curtis不相似度,采用层次聚类计算节点相似性,进行社区挖掘,从而对同类P2P节点进行聚类;
分类模块,用于使用社区属性对聚类结果进行分类,过滤出僵尸网络。
CN202111575198.2A 2021-12-21 2021-12-21 基于saw社区发现的非结构化p2p僵尸网络检测方法及装置 Active CN114513325B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111575198.2A CN114513325B (zh) 2021-12-21 2021-12-21 基于saw社区发现的非结构化p2p僵尸网络检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111575198.2A CN114513325B (zh) 2021-12-21 2021-12-21 基于saw社区发现的非结构化p2p僵尸网络检测方法及装置

Publications (2)

Publication Number Publication Date
CN114513325A CN114513325A (zh) 2022-05-17
CN114513325B true CN114513325B (zh) 2023-05-12

Family

ID=81547568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111575198.2A Active CN114513325B (zh) 2021-12-21 2021-12-21 基于saw社区发现的非结构化p2p僵尸网络检测方法及装置

Country Status (1)

Country Link
CN (1) CN114513325B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115001827B (zh) * 2022-06-02 2023-03-24 电子科技大学 一种云端结合IoT僵尸网络检测原型***及方法
CN115118491B (zh) * 2022-06-24 2024-02-09 北京天融信网络安全技术有限公司 僵尸网络检测的方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618377A (zh) * 2015-02-04 2015-05-13 上海交通大学 基于NetFlow的僵尸网络检测***与检测方法
CN108965248A (zh) * 2018-06-04 2018-12-07 上海交通大学 一种基于流量分析的p2p僵尸网络检测***及方法
CN112104677A (zh) * 2020-11-23 2020-12-18 北京金睛云华科技有限公司 一种基于知识图谱的受控主机检测方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8655939B2 (en) * 2007-01-05 2014-02-18 Digital Doors, Inc. Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor
US8069210B2 (en) * 2008-10-10 2011-11-29 Microsoft Corporation Graph based bot-user detection
US9009299B2 (en) * 2010-01-07 2015-04-14 Polytechnic Institute Of New York University Method and apparatus for identifying members of a peer-to-peer botnet
US11134073B2 (en) * 2018-07-27 2021-09-28 Cisco Technology, Inc. Detection of botnet hosts using global encryption data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618377A (zh) * 2015-02-04 2015-05-13 上海交通大学 基于NetFlow的僵尸网络检测***与检测方法
CN108965248A (zh) * 2018-06-04 2018-12-07 上海交通大学 一种基于流量分析的p2p僵尸网络检测***及方法
CN112104677A (zh) * 2020-11-23 2020-12-18 北京金睛云华科技有限公司 一种基于知识图谱的受控主机检测方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Survey on Botnet Detection Techniques: Classification, Methods, and Evaluation;Ying Xing et al;《HINDAWI》;全文 *
基于sinkhole的僵尸网络检测技术的研究和实现;刘莹;王勇;孙强;王小亮;;信息网络安全(第S1期);全文 *

Also Published As

Publication number Publication date
CN114513325A (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
Lu et al. Clustering botnet communication traffic based on n-gram feature selection
Gu et al. Botminer: Clustering analysis of network traffic for protocol-and structure-independent botnet detection
García et al. Survey on network‐based botnet detection methods
Kirubavathi et al. Botnet detection via mining of traffic flow characteristics
Zhao et al. Botnet detection based on traffic behavior analysis and flow intervals
Stevanovic et al. An efficient flow-based botnet detection using supervised machine learning
Rahbarinia et al. Peerrush: Mining for unwanted p2p traffic
Rahbarinia et al. Peerrush: Mining for unwanted p2p traffic
CN108965248B (zh) 一种基于流量分析的p2p僵尸网络检测***及方法
Jiang et al. Detecting P2P botnets by discovering flow dependency in C&C traffic
CN114513325B (zh) 基于saw社区发现的非结构化p2p僵尸网络检测方法及装置
Fu et al. Detecting unknown encrypted malicious traffic in real time via flow interaction graph analysis
Narang et al. PeerShark: flow-clustering and conversation-generation for malicious peer-to-peer traffic identification
Venkatesh et al. BotSpot: fast graph based identification of structured P2P bots
Nguyen et al. DGA botnet detection using collaborative filtering and density-based clustering
Hsu et al. Detecting Web‐Based Botnets Using Bot Communication Traffic Features
Qiao et al. Mining of attack models in ids alerts from network backbone by a two-stage clustering method
Xing et al. Peertrap: an unstructured P2P botnet detection framework based on SAW community discovery
Zang et al. Attack scenario reconstruction via fusing heterogeneous threat intelligence
Felix et al. Group behavior metrics for P2P Botnet detection
Raj et al. Iot botnet detection using various one-class classifiers
Kheir et al. Behavioral fine-grained detection and classification of P2P bots
Qin et al. MUCM: multilevel user cluster mining based on behavior profiles for network monitoring
Grill Combining network anomaly detectors
Hwa et al. Review of peer-to-peer botnets and detection mechanisms

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant