CN114513325A - 基于saw社区发现的非结构化p2p僵尸网络检测方法及装置 - Google Patents
基于saw社区发现的非结构化p2p僵尸网络检测方法及装置 Download PDFInfo
- Publication number
- CN114513325A CN114513325A CN202111575198.2A CN202111575198A CN114513325A CN 114513325 A CN114513325 A CN 114513325A CN 202111575198 A CN202111575198 A CN 202111575198A CN 114513325 A CN114513325 A CN 114513325A
- Authority
- CN
- China
- Prior art keywords
- community
- cluster
- vertex
- calculating
- 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.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 34
- 238000010897 surface acoustic wave method Methods 0.000 claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 32
- 239000011159 matrix material Substances 0.000 claims abstract description 23
- 238000000513 principal component analysis Methods 0.000 claims abstract description 21
- 238000001914 filtration Methods 0.000 claims abstract description 15
- 238000005065 mining Methods 0.000 claims abstract description 8
- 239000006185 dispersion Substances 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 5
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000009467 reduction Effects 0.000 claims description 4
- 238000009833 condensation Methods 0.000 claims description 3
- 230000005494 condensation Effects 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 11
- 238000002474 experimental method Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 241000156978 Erebia Species 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 238000012549 training Methods 0.000 description 3
- 238000010835 comparative analysis Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000002156 mixing Methods 0.000 description 2
- 238000005295 random walk Methods 0.000 description 2
- 150000003839 salts Chemical class 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003012 network analysis Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing 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)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (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僵尸网络检测方法及装置。
背景技术
僵尸网络是由大量被僵尸程序所感染的僵尸主机(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),将所述置信度作为共享邻居节点的权重:
进一步地,步骤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:
其中,Mi表示从顶点i开始的步行数量,mij是在停止之前访问过顶点j的数量;
步骤4.2:计算平均长度<lij>:
步骤4.3:计算顶点i和顶点j之间的顶点矩阵fij:
步骤4.5:计算顶点i和j Bray-Curtis不相似度d(i,j):
步骤4.6:计算模块度Q:
其中,eii表示相同社区内节点之间边的个数,ai表示所有连接到社区i中边的数量;
步骤4.7:选择平均连接方法以凝聚方法合并两个社区;从它自己的社区中的每个顶点开始,在每一步,通过公式(6)计算Bray-Curtis不相似度,具有最低Bray-Curtis差异的两个组加入一个新的组并创建树状图的新级别,计算每一层树状图的模块度,选择产生最大模块化值的PCA组件的数量,当所有顶点组成一个社区时,层次聚类结束。
进一步地,所述社区属性包括平均分散度和平均紧密度,对应的,步骤5具体包括:
步骤5.1:按照公式(8)计算平均分散度αmad:
其中,dd(/16Hi)表示目的地址集合中前16位前缀不相同的数量,dd(/32Hi) 表示32位前缀,即IP地址的数量,n表示簇的个数;
步骤5.2:按照公式(9)计算平均紧密度βmcd:
步骤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进行通信的可能性非常高,也就是说网络中的一对僵尸程序很有可能相互接触。相反,一对合法的主机可能只有很少的相互联系,因为几乎所有主机都与一些流行的服务器(例如google.com,facebook.com)进行通信。在不完全信息条件下,难以获取P2P通信图,上述分析表明具有共享邻居的节点通常属于一类社团,因此本发明实施例从构建共享邻居图的角度可以将P2P集群挖掘在同一社团中,进一步将僵尸网络与合法应用程序分开。
作为一种可实施方式,所述使用Jaccard系数计算P2P簇之间共享邻居节点的权重,具体为:
针对主机Hi的P2P簇FFp2p(Hi)和主机Hj的P2P簇FFp2p(Hj),采用Jaccard系数按照公式(2)计算ddi,j之间的置信度Simp2p(Hi,Hj),将所述置信度作为共享邻居节点的权重:
其中,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:
其中,Mi表示从顶点i开始的步行数量,mij是在停止之前访问过顶点j的数量;
S1042:计算平均长度<lij>:
S1043:计算顶点i和顶点j之间的顶点矩阵fij:
需要说明的是,当i≠j时,0≤fij≤1,fij≠fji;如果没有步行者从i开始经过j,fij=0。
S1045:为了使用n个主成分比较两个顶点i和j,计算顶点i和jBray-Curtis 不相似度d(i,j):
S1046:为了评估社团,经常使用的度量是模块度,计算模块度Q:
其中,eii表示相同社区内节点之间边的个数,ai表示所有连接到社区i中边的数量;
S1047:选择平均连接方法以凝聚方法合并两个社区;从它自己的社区中的每个顶点开始,在每一步,通过公式(6)计算Bray-Curtis不相似度,具有最低 Bray-Curtis差异的两个组加入一个新的组并创建树状图的新级别,计算每一层树状图的模块度,选择产生最大模块化值的PCA组件的数量,当所有顶点组成一个社区时,层次聚类结束。
S105:使用社区属性对聚类结果进行分类,过滤出僵尸网络;
作为一种可实施方式,所述社区属性包括平均分散度αmad和平均紧密度βmcd。
具体地,僵尸主机为了保持其连通性以及最大限度的从其它对等节点获取资源,通常与分布在较大范围的物理网络,因此恶意社团通常具有较高的αmad值;平均紧密度βmcd体现了社团内部通信的共享邻居节点信任程度,反映了节点间通信行为。
对应的,步骤S105具体包括:
S1051:按照公式(8)计算平均分散度αmad:
其中,dd(/16Hi)表示目的地址集合中前16位前缀不相同的数量,dd(/32Hi) 表示32位前缀,即IP地址的数量,n表示簇的个数;
S1052:按照公式(9)计算平均紧密度βmcd:
步骤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)i7-8250UCPU@1.80GHz,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):被判定为正常流量,事实上也是正常流量。
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不同阈值参数设置下对比结果
对比图如图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 | 1 |
本实验在该数据集上的参数设置、以及实验结果如表5所示。
表5参数设置及实验结果
为了验证本发明方法的有效性,本实验针对三种基线方法进行了评估: 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 (7)
1.基于SAW社区发现的非结构化P2P僵尸网络检测方法,其特征在于,包括:
步骤1:将原始的pcap格式流量数据转换为netflow格式流量数据;
步骤2:使用F-link大数据平台,将netflow格式流量数据转换为五元组簇流,从所述五元组簇流中过滤得到P2P簇;
步骤3:使用Jaccard系数计算P2P簇之间共享邻居节点的权重,构建共享邻居图;
步骤4:采用SAW对共享邻居图中的每个顶点进行访问,生成顶点之间的顶点矩阵,使用主成分分析PCA对所述顶点矩阵进行降维,计算Bray-Curtis不相似度,采用层次聚类计算节点相似性,进行社区挖掘,从而对同类P2P节点进行聚类;
步骤5:使用社区属性对聚类结果进行分类,过滤出僵尸网络。
2.根据权利要求1所述的基于SAW社区发现的非结构化P2P僵尸网络检测方法,其特征在于,步骤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表示预设阈值。
4.根据权利要求3所述的基于SAW社区发现的非结构化P2P僵尸网络检测方法,其特征在于,步骤3中,所述构建共享邻居图,具体包括:
初始化无向图G={V,E},然后将每个主机的P2P簇的编号作为顶点V,将置信度Simp2p(Hi,Hj)大于0的两个P2P簇<FFp2p(Hi),FFp2p(Hj)>作为边E,将两个P2P簇的置信度Simp2p(Hi,Hj)作为边E的权重wij,将最终形成的无向图作为共享邻居图。
5.根据权利要求1所述的基于SAW社区发现的非结构化P2P僵尸网络检测方法,其特征在于,步骤4具体包括:
步骤4.1:计算步行者在顶点i处开始SAW并在停止之前到达顶点j的转移概率pij:
其中,Mi表示从顶点i开始的步行数量,mij是在停止之前访问过顶点j的数量;
步骤4.2:计算平均长度<lij>:
步骤4.3:计算顶点i和顶点j之间的顶点矩阵fij:
步骤4.5:计算顶点i和j Bray-Curtis不相似度d(i,j):
步骤4.6:计算模块度Q:
其中,eii表示相同社区内节点之间边的个数,ai表示所有连接到社区i中边的数量;
步骤4.7:选择平均连接方法以凝聚方法合并两个社区;从它自己的社区中的每个顶点开始,在每一步,通过公式(6)计算Bray-Curtis不相似度,具有最低Bray-Curtis差异的两个组加入一个新的组并创建树状图的新级别,计算每一层树状图的模块度,选择产生最大模块化值的PCA组件的数量,当所有顶点组成一个社区时,层次聚类结束。
7.基于SAW社区发现的非结构化P2P僵尸网络检测装置,其特征在于,包括:
数据预处理模块,用于将原始的pcap格式流量数据转换为netflow格式流量数据;
特征提取模块,用于使用F-link大数据平台,将netflow格式流量数据转换为五元组簇流,从所述五元组簇流中过滤得到P2P簇;
共享邻居图构建模块,用于使用Jaccard系数计算P2P簇之间共享邻居节点的权重,构建共享邻居图;
社区发现模块,用于采用SAW对共享邻居图中的每个顶点进行访问,生成顶点之间的顶点矩阵,使用主成分分析PCA对所述顶点矩阵进行降维,计算Bray-Curtis不相似度,采用层次聚类计算节点相似性,进行社区挖掘,从而对同类P2P节点进行聚类;
分类模块,用于使用社区属性对聚类结果进行分类,过滤出僵尸网络。
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 true CN114513325A (zh) | 2022-05-17 |
CN114513325B 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) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001827A (zh) * | 2022-06-02 | 2022-09-02 | 电子科技大学 | 一种云端结合IoT僵尸网络检测原型系统及方法 |
CN115118491A (zh) * | 2022-06-24 | 2022-09-27 | 北京天融信网络安全技术有限公司 | 僵尸网络检测的方法、装置、电子设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100095374A1 (en) * | 2008-10-10 | 2010-04-15 | Microsoft Corporation | Graph based bot-user detection |
US20100250497A1 (en) * | 2007-01-05 | 2010-09-30 | Redlich Ron M | Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor |
US20110179164A1 (en) * | 2010-01-07 | 2011-07-21 | Nasir Memon | Method and apparatus for identifying members of a peer-to-peer botnet |
CN104618377A (zh) * | 2015-02-04 | 2015-05-13 | 上海交通大学 | 基于NetFlow的僵尸网络检测系统与检测方法 |
CN108965248A (zh) * | 2018-06-04 | 2018-12-07 | 上海交通大学 | 一种基于流量分析的p2p僵尸网络检测系统及方法 |
US20200036701A1 (en) * | 2018-07-27 | 2020-01-30 | Cisco Technology, Inc. | Detection of botnet hosts using global encryption data |
CN112104677A (zh) * | 2020-11-23 | 2020-12-18 | 北京金睛云华科技有限公司 | 一种基于知识图谱的受控主机检测方法和装置 |
-
2021
- 2021-12-21 CN CN202111575198.2A patent/CN114513325B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100250497A1 (en) * | 2007-01-05 | 2010-09-30 | Redlich Ron M | Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor |
US20100095374A1 (en) * | 2008-10-10 | 2010-04-15 | Microsoft Corporation | Graph based bot-user detection |
US20110179164A1 (en) * | 2010-01-07 | 2011-07-21 | Nasir Memon | Method and apparatus for identifying members of a peer-to-peer botnet |
CN104618377A (zh) * | 2015-02-04 | 2015-05-13 | 上海交通大学 | 基于NetFlow的僵尸网络检测系统与检测方法 |
CN108965248A (zh) * | 2018-06-04 | 2018-12-07 | 上海交通大学 | 一种基于流量分析的p2p僵尸网络检测系统及方法 |
US20200036701A1 (en) * | 2018-07-27 | 2020-01-30 | Cisco Technology, Inc. | Detection of botnet hosts using global encryption data |
CN112104677A (zh) * | 2020-11-23 | 2020-12-18 | 北京金睛云华科技有限公司 | 一种基于知识图谱的受控主机检测方法和装置 |
Non-Patent Citations (2)
Title |
---|
YING XING ET AL: "Survey on Botnet Detection Techniques: Classification, Methods, and Evaluation", 《HINDAWI》 * |
刘莹;王勇;孙强;王小亮;: "基于sinkhole的僵尸网络检测技术的研究和实现", 信息网络安全 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115001827A (zh) * | 2022-06-02 | 2022-09-02 | 电子科技大学 | 一种云端结合IoT僵尸网络检测原型系统及方法 |
CN115118491A (zh) * | 2022-06-24 | 2022-09-27 | 北京天融信网络安全技术有限公司 | 僵尸网络检测的方法、装置、电子设备及可读存储介质 |
CN115118491B (zh) * | 2022-06-24 | 2024-02-09 | 北京天融信网络安全技术有限公司 | 僵尸网络检测的方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114513325B (zh) | 2023-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Asadi et al. | Detecting botnet by using particle swarm optimization algorithm based on voting system | |
Kirubavathi et al. | Botnet detection via mining of traffic flow characteristics | |
García et al. | Survey on network‐based botnet detection methods | |
Lu et al. | Clustering botnet communication traffic based on n-gram feature selection | |
Rahbarinia et al. | Peerrush: Mining for unwanted p2p traffic | |
CN114513325B (zh) | 基于saw社区发现的非结构化p2p僵尸网络检测方法及装置 | |
Tang et al. | The detection of low-rate DoS attacks using the SADBSCAN algorithm | |
Greensmith et al. | The DCA: SOMe comparison: A comparative study between two biologically inspired algorithms | |
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 | |
Velasco-Mata et al. | Real-time botnet detection on large network bandwidths using machine learning | |
Mizuno et al. | Botdetector: a robust and scalable approach toward detecting malware-infected devices | |
Zeng et al. | Improving the accuracy of network intrusion detection with causal machine learning | |
Le et al. | Unsupervised monitoring of network and service behaviour using self organizing maps | |
Savenko et al. | Botnet detection approach based on the distributed systems | |
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 | |
Hwa et al. | Review of peer-to-peer botnets and detection mechanisms | |
Kaur et al. | Detection of distributed denial of service attacks for IoT-based healthcare systems | |
Zurutuza et al. | A data mining approach for analysis of worm activity through automatic signature generation | |
Golchin et al. | Sscl-ids: Enhancing generalization of intrusion detection with self-supervised contrastive learning | |
Shinan et al. | BotSward: Centrality Measures for Graph-Based Bot Detection Using Machine Learning. |
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 |