CN110149331A - 一种P2P botnet检测方法、装置和介质 - Google Patents

一种P2P botnet检测方法、装置和介质 Download PDF

Info

Publication number
CN110149331A
CN110149331A CN201910429292.3A CN201910429292A CN110149331A CN 110149331 A CN110149331 A CN 110149331A CN 201910429292 A CN201910429292 A CN 201910429292A CN 110149331 A CN110149331 A CN 110149331A
Authority
CN
China
Prior art keywords
botnet
value
network
neural network
flow data
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
Application number
CN201910429292.3A
Other languages
English (en)
Other versions
CN110149331B (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.)
Changchun Institute of Optics Fine Mechanics and Physics of CAS
Original Assignee
Changchun Institute of Optics Fine Mechanics and Physics of CAS
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 Changchun Institute of Optics Fine Mechanics and Physics of CAS filed Critical Changchun Institute of Optics Fine Mechanics and Physics of CAS
Priority to CN201910429292.3A priority Critical patent/CN110149331B/zh
Publication of CN110149331A publication Critical patent/CN110149331A/zh
Application granted granted Critical
Publication of CN110149331B publication Critical patent/CN110149331B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • 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/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly 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
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/144Detection or countermeasures against botnets
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种P2P botnet检测方法、装置和介质,获取正常网络流量数据以及异常网络流量数据;计算网络流量数据的时域特征值、频域特征值和连通特征值;将时域特征值、频域特征值、连通特征值及其对应的P2P botnet爆发结果作为样本数据,对初始BP神经网络进行训练,得到满足准确率要求的BP神经网络。利用BP神经网络对待检测网络流量数据进行处理,确定出待检测网络流量数据所对应的P2P botnet爆发结果。当P2P botnet爆发时,会使得网络流量数据的特征发生变化。依据网络流量数据的上述特征值对BP神经网络进行训练,提升了BP神经网络对P2P botnet爆发检测的准确性。

Description

一种P2P botnet检测方法、装置和介质
技术领域
本发明涉及计算机安全技术领域,特别是涉及一种基于多维特征与BP神经网络的P2P botnet检测方法、装置和介质。
背景技术
僵尸网络(botnet)是一种恶意主机群,攻击者可以利用二次注入对bot节点的负载进行改变,从而非常便捷迅速地改变最终要发送攻击的种类,例如分布式拒绝服务攻击、网络钓鱼和垃圾邮件攻击等。当前新型P2P botnet采用P2P网络的分散式结构来构建其命令与控制机制(C&C,Command and Control),因为该结构没有控制中心,所以有效避免了单点失效,健壮性和可靠性更强。
目前,关于P2P botnet分析和检测方面的研究处于兴起阶段。大多数检测方法主要从P2P botnet的某几个特有的、细致的特征入手进行检测,未对网络流量的宏观特征进行足够深入的分析和刻画。当出现某种新型P2P botnet,并且该botnet的网络结构、协议和攻击类型等与现有P2P botnet不同时,将会导致P2P botnet检测出现较大的漏报率。
可见,如何提升僵尸网络检测的准确性,是本领域技术人员亟待解决的问题。
发明内容
本发明实施例的目的是提供一种基于多维特征与BP神经网络的P2P botnet检测方法、装置和介质,可以提升僵尸网络检测的准确性。
为解决上述技术问题,本发明实施例提供一种基于多维特征与BP神经网络的P2Pbotnet检测方法,包括:
获取网络流量数据;其中,所述网络流量数据包括正常网络环境下正常网络流量数据以及P2P botnet网络环境下的异常网络流量数据;
计算所述网络流量数据的时域特征值、频域特征值和连通特征值;
将所述时域特征值、所述频域特征值、所述连通特征值及其对应的P2P botnet爆发结果作为样本数据,对初始BP神经网络进行训练,得到满足准确率要求的BP神经网络;
利用所述BP神经网络对待检测网络流量数据进行处理,确定出所述待检测网络流量数据所对应的P2P botnet爆发结果。
可选的,所述计算所述网络流量数据的时域特征值、频域特征值和连通特征值包括:
利用分形理论,计算所述网络流量数据的Hurst指数以及Holder指数;将所述Hurst指数和所述Holder指数作为时域特征值;
计算所述网络流量数据中单个时间窗口的功率谱密度;并依据所述功率谱密度,计算相邻两个时间窗口的功率谱密度的相对熵;将所述相对熵作为频域特征值;
将所述网络流量数据的源IP地址以及目的IP地址作为二元组,计算所述二元组的信息熵;将所述信息熵作为连通特征值。
可选的,所述利用所述BP神经网络对待检测网络流量数据进行处理,确定出所述待检测网络流量数据所对应的P2P botnet爆发结果包括:
计算所述待检测网络流量数据的时域特征值、频域特征值和连通特征值;
将所述时域特征值、所述频域特征值以及所述连通特征值输入所述BP神经网络,以得到所述待检测网络流量数据所对应的P2P botnet爆发的输出结果;
依据预先设置的决策规则,确定所述输出结果所对应的P2P botnet爆发结果。
可选的,所述BP神经网络包括两路输出;
相应的,所述依据预先设置的决策规则,确定所述输出结果所对应的P2P botnet爆发结果包括:
对输出结果进行归一化处理,并判断归一化后的输出结果R=(r1,r2)是否满足r1>r2并且r1≥0.5;
当所述输出结果R=(r1,r2)满足r1>r2并且r1≥0.5,则输出P2P botnet未爆发的结果;
当所述输出结果R=(r1,r2)不满足r1>r2并且r1≥0.5,则判断所述输出结果是否满足r2>r1并且r2≥0.5;
若是,则输出P2P botnet爆发的结果;
若否,则输出无法判定P2P botnet爆发的提示信息。
可选的,所述将所述时域特征值、所述频域特征值、所述连通特征值及其对应的P2P botnet爆发结果作为样本数据,对初始BP神经网络进行训练,得到满足准确率要求的BP神经网络包括:
将所述时域特征值、所述频域特征值、所述连通特征值及其对应的P2P botnet爆发结果作为样本数据,并将所述样本数据划分为训练样本集和测试样本集;
利用所述训练样本集对所述初始BP神经网络进行训练,得到训练好的BP神经网络;
将目标测试样本输入所述BP神经网络,得到输出结果;所述目标测试样本为所述测试样本集中未经测试的任意一个测试样本;
按照预先设置的决策规则,将所述输出结果转化为目标P2P botnet爆发结果;
判断所述目标P2P botnet爆发结果与所述测试样本的P2P botnet爆发结果是否一致;
若否,则返回所述利用所述训练样本集对所述初始BP神经网络进行训练,得到训练好的BP神经网络的步骤;
若是,则从所述测试样本集中选取一个未经测试的测试样本作为目标测试样本,并返回所述将目标测试样本输入所述BP神经网络,得到输出结果的步骤,直至所述测试样本集中的所有测试样本均完成测试,则将所述BP神经网络作为满足准确率要求的BP神经网络。
本发明实施例还提供了一种基于多维特征与BP神经网络的P2Pbotnet检测装置,包括获取单元、特征值计算单元、训练单元和处理单元;
所述获取单元,用于获取网络流量数据;其中,所述网络流量数据包括正常网络环境下正常网络流量数据以及P2P botnet网络环境下的异常网络流量数据;
所述特征值计算单元,用于计算所述网络流量数据的时域特征值、频域特征值和连通特征值;
所述训练单元,用于将所述时域特征值、所述频域特征值、所述连通特征值及其对应的P2P botnet爆发结果作为样本数据,对初始BP神经网络进行训练,得到满足准确率要求的BP神经网络;
所述处理单元,用于利用所述BP神经网络对待检测网络流量数据进行处理,确定出所述待检测网络流量数据所对应的P2P botnet爆发结果。
可选的,所述特征值计算单元包括时域特征值计算子单元、频域特征值计算子单元和连通特征值计算子单元;
所述时域特征值计算子单元,用于利用分形理论,计算所述网络流量数据的Hurst指数以及Holder指数;将所述Hurst指数和所述Holder指数作为时域特征值;
所述频域特征值计算子单元,用于计算所述网络流量数据中单个时间窗口的功率谱密度;并依据所述功率谱密度,计算相邻两个时间窗口的功率谱密度的相对熵;将所述相对熵作为频域特征值;
所述连通特征值计算子单元,用于将所述网络流量数据的源IP地址以及目的IP地址作为二元组,计算所述二元组的信息熵;将所述信息熵作为连通特征值。
可选的,所述处理单元包括计算子单元、输出子单元和确定子单元;
所述计算子单元,用于计算所述待检测网络流量数据的时域特征值、频域特征值和连通特征值;
所述输出子单元,用于将所述时域特征值、所述频域特征值以及所述连通特征值输入所述BP神经网络,以得到所述待检测网络流量数据所对应的P2P botnet爆发的输出结果;
所述确定子单元,用于依据预先设置的决策规则,确定所述输出结果所对应的P2Pbotnet爆发结果。
可选的,所述BP神经网络包括两路输出;
相应的,所述确定子单元具体用于对输出结果进行归一化处理,并判断归一化后的输出结果R=(r1,r2)是否满足r1>r2并且r1≥0.5;当所述输出结果R=(r1,r2)满足r1>r2并且r1≥0.5,则输出P2P botnet未爆发的结果;当所述输出结果R=(r1,r2)不满足r1>r2并且r1≥0.5,则判断所述输出结果是否满足r2>r1并且r2≥0.5;若是,则输出P2P botnet爆发的结果;若否,则输出无法判定P2P botnet爆发的提示信息。
可选的,所述训练单元包括划分子单元、训练子单元、测试子单元、判断子单元和选取子单元;
所述划分子单元,用于将所述时域特征值、所述频域特征值、所述连通特征值及其对应的P2P botnet爆发结果作为样本数据,并将所述样本数据划分为训练样本集和测试样本集;
所述训练子单元,用于利用所述训练样本集对所述初始BP神经网络进行训练,得到训练好的BP神经网络;
所述测试子单元,用于将目标测试样本输入所述BP神经网络,得到输出结果;所述目标测试样本为所述测试样本集中未经测试的任意一个测试样本;
所述判断子单元,用于按照预先设置的决策规则,将所述输出结果转化为目标P2Pbotnet爆发结果;判断所述目标P2P botnet爆发结果与所述测试样本的P2P botnet爆发结果是否一致;若否,则返回所述训练子单元;若是,则触发所述选取子单元;
所述选取子单元,用于从所述测试样本集中选取一个未经测试的测试样本作为目标测试样本,并返回所述测试子单元,直至所述测试样本集中的所有测试样本均完成测试,则将所述BP神经网络作为满足准确率要求的BP神经网络。
本发明实施例还提供了一种基于多维特征与BP神经网络的P2Pbotnet检测装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述基于多维特征与BP神经网络的P2P botnet检测方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述基于多维特征与BP神经网络的P2P botnet检测方法的步骤。
由上述技术方案可以看出,获取网络流量数据;其中,网络流量数据包括正常网络环境下正常网络流量数据以及P2P botnet网络环境下的异常网络流量数据;计算网络流量数据的时域特征值、频域特征值和连通特征值;将时域特征值、频域特征值、连通特征值及其对应的P2P botnet爆发结果作为样本数据,对初始BP神经网络进行训练,得到满足准确率要求的BP神经网络。当P2P botnet爆发时,会使得网络流量数据的特征发生变化,利用网络流量数据的自相似性和局部奇异性反映网络流量数据的时域特征;利用网络流量数据的功率谱密度反映网络流量数据的频域特征;利用网络流量数据的二元组的信息熵反映网络流量数据的连通特征。通过依据网络流量数据的不同特征特征值对BP神经网络进行训练,有效的提升了BP神经网络对P2Pbotnet爆发检测的准确性。当需要对待检测网络流量数据的网络环境进行分析时,则可以利用BP神经网络对待检测网络流量数据进行处理,确定出待检测网络流量数据所对应的P2P botnet爆发结果,预测出的爆发结果具有较高的准确性。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于多维特征与BP神经网络的P2P botnet检测方法的流程图;
图2为本发明实施例提供的一种利用训练好的BP神经网络对待检测网络数据流量进行P2P botnet检测的逻辑框图;
图3为本发明实施例提供的一种利用训练好的BP神经网络对待检测网络数据流量进行P2P botnet检测的整体流程图;
图4为本发明实施例提供的一种基于多维特征与BP神经网络的P2P botnet检测装置的结构示意图;
图5为本发明实施例提供的一种基于多维特征与BP神经网络的P2P botnet检测装置的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种基于多维特征与BP神经网络的P2Pbotnet检测方法。图1为本发明实施例提供的一种基于多维特征与BP神经网络的P2Pbotnet检测方法的流程图,该方法包括:
S101:获取网络流量数据。
在本发明实施例中,获取的网络流量数据包括正常网络环境下正常网络流量数据以及P2P botnet网络环境下的异常网络流量数据。
S102:计算网络流量数据的时域特征值、频域特征值和连通特征值。
网络流量数据的特征值与P2P botnet是否爆发具有紧密的联系。在本发明实施例中,通过计算网络流量数据的时域特征值、频域特征值和连通特征值来实现对BP神经网络的训练。
在具体实现中,针对于网络流量数据的时域特征值可以用Hurst指数以及Holder指数表示。在实际应用中,可以利用分形理论中的Hurst指数衡量网络流量数据的自相似性,记为Ftime1,取值范围为[0,1];利用分形理论中的Holder指数衡量网络流量数据的局部奇异性,记为Ftime2,取值范围为[0,1]。当P2P botnet爆发时,会使得网络流量的自相似性减弱、局部奇异性增强。
针对于网络流量数据的频域特征值可以用功率谱密度的相对熵表示。计算网络流量数据中单个时间窗口的功率谱密度;并依据功率谱密度,计算相邻两个时间窗口的功率谱密度的相对熵;将所述相对熵作为频域特征值。在实际应用中,首先计算当前时间窗口的功率谱密度(Power Spectral Density,PSD),然后计算相邻两个时间窗口的功率谱密度的相对熵;将所述相对熵作为频域特征值,以衡量网络流量数据的周期性。为了保证各特征值采用统一的标准表示,需要将功率谱密度的相对熵进行归一化处理,记为Ffrequency,取值范围为[0,1]。当P2P botnet爆发时,会使得网络流量出现更加明显的周期性。
针对于网络流量数据的连通特征值可以用二元组的信息熵表示。可以将网络流量数据的源IP地址以及目的IP地址作为二元组,计算二元组的信息熵;将该信息熵作为连通特征值。在实际应用中,利用二元组的信息熵衡量衡量网络流量数据的连通性。二元组的定义为
A=(SrcIP,DstIp),其中SrcIP表示IP包的源IP地址,DstIp表示IP包的目的IP地址,计算上述二元组的信息熵,并进行归一化处理,记为Flink,取值范围为[0,1]。当P2Pbotnet爆发时,会使得网络流量出现更加明显的连通性。
本发明实施例主要关注P2P botnet的共有异常,用时域特征值、频域特征值、连通特征值来描述网络流量的多维度特征,上述特征不依赖于P2P botnet的网络类型、拓扑结构和发动攻击类型,因此当出现与现有P2P botnet不同的新型botnet时仍能保证一定检测准确度。
S103:将时域特征值、频域特征值、连通特征值及其对应的P2P botnet爆发结果作为样本数据,对初始BP神经网络进行训练,得到满足准确率要求的BP神经网络。
本发明实施例主要关注网络流量的时域特征、频域特征、连通特征,无须对数据包内容进行分析和检测,在P2P botnet对其数据包采用加密处理时仍可以对其进行检测。本发明实施例采用BP神经网络具有较强的分类能力。
在本发明实施例中,正常网络环境下各特征值对应的P2P botnet爆发结果可以用(1,0)表示,即(1,0)表示P2P botnet未爆发。P2P botnet网络环境下的各特征值对应的P2Pbotnet爆发结果可以用(0,1)表示,即(0,1)表示P2P botnet爆发。
根据BP神经网络的输出结果制定相应的决策准则,可以更加精确的判定当前网络环境是否出现P2P botnet爆发。
样本数据的格式如表1a所示,
数据类型 F<sub>time1</sub> F<sub>time2</sub> F<sub>frequency</sub> F<sub>link</sub> R
(r<sub>1</sub>,r<sub>2</sub>)
表1a
以表1a所示的格式为例,对于正常网络流量数据其对应的样本数据的格式如表1b所示:
数据类型 F<sub>time1</sub> F<sub>time2</sub> F<sub>frequency</sub> F<sub>link</sub> R
(1,0)
表1b
以表1a所示的格式为例,对于P2P botnet网络环境下的异常网络流量数据其对应的样本数据的格式如表1c所示:
数据类型 F<sub>time1</sub> F<sub>time2</sub> F<sub>frequency</sub> F<sub>link</sub> R
(0,1)
表1c
在本发明实施例中,可以将各网络复杂度特征及其对应的P2Pbotnet爆发结果作为样本数据,并将样本数据划分为训练样本集和测试样本集。利用训练样本集对初始BP神经网络进行训练,得到训练好的BP神经网络。其具体训练过程如下:
(1)将样本数据划分为训练样本集和测试样本集。
不失一般性随机选取样本数据中的70%作为训练样本集、30%作为测试样本集。
(2)确定拓扑结构、参数配置。
拓扑结构:
②输入层:层数为1,节点数为4。
②隐含层:层数为1,节点数根据经验公式(1)和学习训练结果相结合来确定,其中i为输入层的节点数,o为输出层的节点数,a为
[1,10]区间内的整数。
③输出层:层数为1,节点数为2。
(2)确定BP神经网络的激活函数、学习算法。
参数配置:
选择Sigmoid函数作为激活函数,选择Levenberg-Marquard算法作为学习算法。
(3)确定决策准则,用于根据BP神经网络的输出判断P2P botnet是否爆发。
设BP神经网络的输出为R=(r1,r2),对R进行归一化处理使得r1和r2的取值范围为[0,1]。决策准则如下:
如果r1>r2且r1≥0.5,那么检测结果为“P2P botnet未爆发”;
如果r2>r1且r2≥0.5,那么检测结果为“P2P botnet爆发”;
否则,检测结果为“无法判定”。
(4)利用训练样本集对BP神经网络进行训练。
(5)利用测试样本集对BP神经网络进行测试。
(6)将测试样本的特征数据输入到BP神经网络中,得到BP神经网络的输出结果。
将测试样本输入到训练好的概率神经网络中,验证BP神经网络给出的P2P botnet检测结果与测试样本的真实情况是否一致,若两者一致,则选择下一个测试样本进行处理,否则认为测试未通过,修改参数配置后重新进行训练、测试。若当前BP神经网络针对测试样本集中所有测试样本的P2P botnet检测结果与真实情况一致,则认为测试通过,该BP神经网络可以用于后续的P2P botnet检测。
(7)按照决策准则,根据神经网络的输出结果得到该测试样本对应的P2P botnet检测结果。
(8)将上述检测P2P botnet检测结果与该测试样本的实际结果比较,若两者一致,则该测试样本测试通过;否则,该测试样本测试不通过。
(9)若所有测试样本均测试通过,则BP神经网络训练完毕,此时该BP神经网络可以用于P2P botnet检测;否则,修改参数配置后重新进行训练、测试。
将样本数据划分为训练样本集和测试样本集。利用训练样本集对初始BP神经网络进行训练,得到训练好的BP神经网络。然后将测试样本输入到训练好的BP神经网络中,验证BP神经网络给出的P2Pbotnet检测结果与测试样本的真实情况是否一致,若两者一致,则选择下一个测试样本进行处理,否则认为测试未通过,修改参数配置后重新进行训练、测试。若当前BP神经网络针对测试样本集中所有测试样本的P2P botnet检测结果与真实情况一致,则认为测试通过,该BP神经网络即为满足准确率要求的BP神经网络,可以用于后续的P2Pbotnet检测。
S104:利用BP神经网络对待检测网络流量数据进行处理,确定出待检测网络流量数据所对应的P2P botnet爆发结果。
在本发明实施例中,利用网络流量数据的特征值作为样本数据训练,因此,当需要分析待检测网络流量数据的网络环境时,需要将待检测网络流量数据以特征值的形式输入到BP神经网络。
具体的,可以计算待检测网络流量数据的时域特征值、频域特征值和连通特征值,计算方式可以参见S102中特征值的计算方式,在此不再赘述。
将时域特征值、频域特征值以及连通特征值输入BP神经网络,可以得到待检测网络流量数据所对应的P2P botnet爆发的输出结果。结合上述介绍输出结果以R=(r1,r2)的形式呈现,因此,在得到输出结果之后,可以依据预先设置的决策规则,确定输出结果所对应的P2Pbotnet爆发结果。
决策规则用于表示输出结果与P2P botnet爆发结果之间的关系。在具体实现中,可以对输出结果进行归一化处理,并判断归一化后的输出结果R=(r1,r2)是否满足r1>r2并且r1≥0.5;当输出结果R=(r1,r2)满足r1>r2并且r1≥0.5,则输出P2P botnet未爆发的结果;当输出结果R=(r1,r2)不满足r1>r2并且r1≥0.5,则判断输出结果是否满足r2>r1并且r2≥0.5。当输出结果满足r2>r1并且r2≥0.5时,则输出P2P botnet爆发的结果;
当归一化后的输出结果R=(r1,r2)既不满足r1>r2并且r1≥0.5,也不满足r1>r2并且r1≥0.5时,则输出无法判定P2P botnet爆发的提示信息。
在本发明实施例中,BP神经网络的训练过程中以数字“0”和数字“1”表示P2Pbotnet爆发结果,相应的,BP神经网络的输出结果R=(r1,r2)进行归一化处理之后r1和r2的取值范围在0至1之间。
结合上述介绍中以时域特征值、频域特征值、连通特征值作为训练数据为例,利用训练好的BP神经网络对待检测网络数据流量进行P2P botnet检测的逻辑框图如图2所示,获取到待检测网络流量数据时,可以计算出待检测网络流量数据的时域特征值、频域特征值、连通特征值,并将其作为输入数据输入训练好的BP神经网络中,可以得到P2P botnet爆发的输出结果,由于BP神经网络训练时输出层有两路输出,为了便于管理人员直接的获取P2P botnet爆发结果,可以按照设置的决策规则,将输出结果转化为用户可直接识别的P2Pbotnet爆发结果,图2中botnet表示出现P2P botnet爆发,normal表示网络环境正常,即P2Pbotnet未爆发。
需要说明的是,在本发明实施例中按照S101至S103的操作得到满足准确率要求的BP神经网络之后,后续需要对待检测网络流量数据所处的网络环境进行P2P botnet爆发检测时,可以直接利用该BP神经网络对待检测网络流量数据进行分析处理,无需再重复训练BP神经网络。
在上述介绍中,分别对BP神经网络的训练过程以及应用过程展开了说明,如图3所示为本发明实施例提供的一种利用训练好的BP神经网络对待检测网络数据流量进行P2Pbotnet检测的整体流程图,图3中测试通过表示所有测试样本均测试通过,此时BP神经网络满足准确率要求,可以用于实现P2P botnet检测。
由上述技术方案可以看出,获取网络流量数据;其中,网络流量数据包括正常网络环境下正常网络流量数据以及P2P botnet网络环境下的异常网络流量数据;计算网络流量数据的时域特征值、频域特征值和连通特征值;将时域特征值、频域特征值、连通特征值及其对应的P2P botnet爆发结果作为样本数据,对初始BP神经网络进行训练,得到满足准确率要求的BP神经网络。当P2P botnet爆发时,会使得网络流量数据的特征发生变化,利用网络流量数据的自相似性和局部奇异性反映网络流量数据的时域特征;利用网络流量数据的功率谱密度反映网络流量数据的频域特征;利用网络流量数据的二元组的信息熵反映网络流量数据的连通特征。通过依据网络流量数据的上述特征特征值对BP神经网络进行训练,有效的提升了BP神经网络对P2Pbotnet爆发检测的准确性。当需要对待检测网络流量数据的网络环境进行分析时,则可以利用BP神经网络对待检测网络流量数据进行处理,确定出待检测网络流量数据所对应的P2P botnet爆发结果,预测出的爆发结果具有较高的准确性。
图4为本发明实施例提供的一种基于多维特征与BP神经网络的P2P botnet检测装置的结构示意图,包括获取单元41、特征值计算单元42、训练单元43和处理单元44;
获取单元41,用于获取网络流量数据;其中,网络流量数据包括正常网络环境下正常网络流量数据以及P2P botnet网络环境下的异常网络流量数据;
特征值计算单元42,用于计算网络流量数据的时域特征值、频域特征值和连通特征值;
训练单元43,用于将时域特征值、频域特征值、连通特征值及其对应的P2P botnet爆发结果作为样本数据,对初始BP神经网络进行训练,得到满足准确率要求的BP神经网络;
处理单元44,用于利用BP神经网络对待检测网络流量数据进行处理,确定出待检测网络流量数据所对应的P2P botnet爆发结果。
可选的,特征值计算单元包括时域特征值计算子单元、频域特征值计算子单元和连通特征值计算子单元;
时域特征值计算子单元,用于利用分形理论,计算网络流量数据的Hurst指数以及Holder指数;将所述Hurst指数和所述Holder指数作为时域特征值;
频域特征值计算子单元,用于计算网络流量数据中单个时间窗口的功率谱密度;并依据功率谱密度,计算相邻两个时间窗口的功率谱密度的相对熵;将所述相对熵作为频域特征值;
连通特征值计算子单元,用于将网络流量数据的源IP地址以及目的IP地址作为二元组,计算二元组的信息熵;将所述信息熵作为连通特征值。
可选的,处理单元包括计算子单元、输出子单元和确定子单元;
计算子单元,用于计算待检测网络流量数据的时域特征值、频域特征值和连通特征值;
输出子单元,用于将时域特征值、频域特征值以及连通特征值输入BP神经网络,以得到待检测网络流量数据所对应的P2P botnet爆发的输出结果;
确定子单元,用于依据预先设置的决策规则,确定输出结果所对应的P2P botnet爆发结果。
可选的,BP神经网络包括两路输出;
相应的,确定子单元具体用于对输出结果进行归一化处理,并判断归一化后的输出结果R=(r1,r2)是否满足r1>r2并且r1≥0.5;当输出结果R=(r1,r2)满足r1>r2并且r1≥0.5,则输出P2P botnet未爆发的结果;当输出结果R=(r1,r2)不满足r1>r2并且r1≥0.5,则判断输出结果是否满足r2>r1并且r2≥0.5;若是,则输出P2P botnet爆发的结果;若否,则输出无法判定P2P botnet爆发的提示信息。
可选的,训练单元包括划分子单元、训练子单元、测试子单元、判断子单元和选取子单元;
划分子单元,用于将时域特征值、频域特征值、连通特征值及其对应的P2P botnet爆发结果作为样本数据,并将样本数据划分为训练样本集和测试样本集;
训练子单元,用于利用训练样本集对初始BP神经网络进行训练,得到训练好的BP神经网络;
测试子单元,用于将目标测试样本输入BP神经网络,得到输出结果;目标测试样本为测试样本集中未经测试的任意一个测试样本;
判断子单元,用于按照预先设置的决策规则,将输出结果转化为目标P2P botnet爆发结果;判断目标P2P botnet爆发结果与测试样本的P2P botnet爆发结果是否一致;若否,则返回训练子单元;若是,则触发选取子单元;
选取子单元,用于从测试样本集中选取一个未经测试的测试样本作为目标测试样本,并返回测试子单元,直至测试样本集中的所有测试样本均完成测试,则将BP神经网络作为满足准确率要求的BP神经网络。
图4所对应实施例中特征的说明可以参见图1至图3所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,获取网络流量数据;其中,网络流量数据包括正常网络环境下正常网络流量数据以及P2P botnet网络环境下的异常网络流量数据;计算网络流量数据的时域特征值、频域特征值和连通特征值;将时域特征值、频域特征值、连通特征值及其对应的P2P botnet爆发结果作为样本数据,对初始BP神经网络进行训练,得到满足准确率要求的BP神经网络。当P2P botnet爆发时,会使得网络流量数据的特征发生变化,利用网络流量数据的自相似性和局部奇异性反映网络流量数据的时域特征;利用网络流量数据的功率谱密度反映网络流量数据的频域特征;利用网络流量数据的二元组的信息熵反映网络流量数据的连通特征。通过依据网络流量数据的上述特征特征值对BP神经网络进行训练,有效的提升了BP神经网络对P2Pbotnet爆发检测的准确性。当需要对待检测网络流量数据的网络环境进行分析时,则可以利用BP神经网络对待检测网络流量数据进行处理,确定出待检测网络流量数据所对应的P2P botnet爆发结果,预测出的爆发结果具有较高的准确性。
图5为本发明实施例提供的一种基于多维特征与BP神经网络的P2P botnet检测装置50的硬件结构示意图,包括:
存储器51,用于存储计算机程序;
处理器52,用于执行计算机程序以实现如上述基于多维特征与BP神经网络的P2Pbotnet检测方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述基于多维特征与BP神经网络的P2Pbotnet检测方法的步骤。
以上对本发明实施例所提供的一种基于多维特征与BP神经网络的P2P botnet检测方法、装置和介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

Claims (10)

1.一种基于多维特征与BP神经网络的P2P botnet检测方法,其特征在于,包括:
获取网络流量数据;其中,所述网络流量数据包括正常网络环境下正常网络流量数据以及P2P botnet网络环境下的异常网络流量数据;
计算所述网络流量数据的时域特征值、频域特征值和连通特征值;
将所述时域特征值、所述频域特征值、所述连通特征值及其对应的P2P botnet爆发结果作为样本数据,对初始BP神经网络进行训练,得到满足准确率要求的BP神经网络;
利用所述BP神经网络对待检测网络流量数据进行处理,确定出所述待检测网络流量数据所对应的P2P botnet爆发结果。
2.根据权利要求1所述的方法,其特征在于,所述计算所述网络流量数据的时域特征值、频域特征值和连通特征值包括:
利用分形理论,计算所述网络流量数据的Hurst指数以及Holder指数;将所述Hurst指数和所述Holder指数作为时域特征值;
计算所述网络流量数据中单个时间窗口的功率谱密度;并依据所述功率谱密度,计算相邻两个时间窗口的功率谱密度的相对熵;将所述相对熵作为频域特征值;
将所述网络流量数据的源IP地址以及目的IP地址作为二元组,计算所述二元组的信息熵;将所述信息熵作为连通特征值。
3.根据权利要求1所述的方法,其特征在于,所述利用所述BP神经网络对待检测网络流量数据进行处理,确定出所述待检测网络流量数据所对应的P2P botnet爆发结果包括:
计算所述待检测网络流量数据的时域特征值、频域特征值和连通特征值;
将所述时域特征值、所述频域特征值以及所述连通特征值输入所述BP神经网络,以得到所述待检测网络流量数据所对应的P2P botnet爆发的输出结果;
依据预先设置的决策规则,确定所述输出结果所对应的P2P botnet爆发结果。
4.根据权利要求3所述的方法,其特征在于,所述BP神经网络包括两路输出;
相应的,所述依据预先设置的决策规则,确定所述输出结果所对应的P2P botnet爆发结果包括:
对输出结果进行归一化处理,并判断归一化后的输出结果R=(r1,r2)是否满足r1>r2并且r1≥0.5;
当所述输出结果R=(r1,r2)满足r1>r2并且r1≥0.5,则输出P2P botnet未爆发的结果;
当所述输出结果R=(r1,r2)不满足r1>r2并且r1≥0.5,则判断所述输出结果是否满足r2>r1并且r2≥0.5;
若是,则输出P2P botnet爆发的结果;
若否,则输出无法判定P2P botnet爆发的提示信息。
5.根据权利要求1-4任意一项所述的方法,其特征在于,所述将所述时域特征值、所述频域特征值、所述连通特征值及其对应的P2P botnet爆发结果作为样本数据,对初始BP神经网络进行训练,得到满足准确率要求的BP神经网络包括:
将所述时域特征值、所述频域特征值、所述连通特征值及其对应的P2P botnet爆发结果作为样本数据,并将所述样本数据划分为训练样本集和测试样本集;
利用所述训练样本集对所述初始BP神经网络进行训练,得到训练好的BP神经网络;
将目标测试样本输入所述BP神经网络,得到输出结果;所述目标测试样本为所述测试样本集中未经测试的任意一个测试样本;
按照预先设置的决策规则,将所述输出结果转化为目标P2P botnet爆发结果;
判断所述目标P2P botnet爆发结果与所述测试样本的P2P botnet爆发结果是否一致;
若否,则返回所述利用所述训练样本集对所述初始BP神经网络进行训练,得到训练好的BP神经网络的步骤;
若是,则从所述测试样本集中选取一个未经测试的测试样本作为目标测试样本,并返回所述将目标测试样本输入所述BP神经网络,得到输出结果的步骤,直至所述测试样本集中的所有测试样本均完成测试,则将所述BP神经网络作为满足准确率要求的BP神经网络。
6.一种基于多维特征与BP神经网络的P2P botnet检测装置,其特征在于,包括获取单元、特征值计算单元、训练单元和处理单元;
所述获取单元,用于获取网络流量数据;其中,所述网络流量数据包括正常网络环境下正常网络流量数据以及P2P botnet网络环境下的异常网络流量数据;
所述特征值计算单元,用于计算所述网络流量数据的时域特征值、频域特征值和连通特征值;
所述训练单元,用于将所述时域特征值、所述频域特征值、所述连通特征值及其对应的P2P botnet爆发结果作为样本数据,对初始BP神经网络进行训练,得到满足准确率要求的BP神经网络;
所述处理单元,用于利用所述BP神经网络对待检测网络流量数据进行处理,确定出所述待检测网络流量数据所对应的P2P botnet爆发结果。
7.根据权利要求6所述的装置,其特征在于,所述特征值计算单元包括时域特征值计算子单元、频域特征值计算子单元和连通特征值计算子单元;
所述时域特征值计算子单元,用于利用分形理论,计算所述网络流量数据的Hurst指数以及Holder指数;将所述Hurst指数和所述Holder指数作为时域特征值;
所述频域特征值计算子单元,用于计算所述网络流量数据中单个时间窗口的功率谱密度;并依据所述功率谱密度,计算相邻两个时间窗口的功率谱密度的相对熵;将所述相对熵作为频域特征值;
所述连通特征值计算子单元,用于将所述网络流量数据的源IP地址以及目的IP地址作为二元组,计算所述二元组的信息熵;将所述信息熵作为连通特征值。
8.根据权利要求6所述的装置,其特征在于,所述处理单元包括计算子单元、输出子单元和确定子单元;
所述计算子单元,用于计算所述待检测网络流量数据的时域特征值、频域特征值和连通特征值;
所述输出子单元,用于将所述时域特征值、所述频域特征值以及所述连通特征值输入所述BP神经网络,以得到所述待检测网络流量数据所对应的P2P botnet爆发的输出结果;
所述确定子单元,用于依据预先设置的决策规则,确定所述输出结果所对应的P2Pbotnet爆发结果。
9.一种基于多维特征与BP神经网络的P2P botnet检测装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至5任意一项所述基于多维特征与BP神经网络的P2P botnet检测方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述基于多维特征与BP神经网络的P2P botnet检测方法的步骤。
CN201910429292.3A 2019-05-22 2019-05-22 一种P2P botnet检测方法、装置和介质 Expired - Fee Related CN110149331B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910429292.3A CN110149331B (zh) 2019-05-22 2019-05-22 一种P2P botnet检测方法、装置和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910429292.3A CN110149331B (zh) 2019-05-22 2019-05-22 一种P2P botnet检测方法、装置和介质

Publications (2)

Publication Number Publication Date
CN110149331A true CN110149331A (zh) 2019-08-20
CN110149331B CN110149331B (zh) 2021-07-06

Family

ID=67592722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910429292.3A Expired - Fee Related CN110149331B (zh) 2019-05-22 2019-05-22 一种P2P botnet检测方法、装置和介质

Country Status (1)

Country Link
CN (1) CN110149331B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113965393A (zh) * 2021-10-27 2022-01-21 浙江网安信创电子技术有限公司 一种基于复杂网络和图神经网络的僵尸网络检测方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821002A (zh) * 2011-06-09 2012-12-12 ***通信集团河南有限公司信阳分公司 网络流量异常检测方法和***
CN108156174A (zh) * 2018-01-15 2018-06-12 深圳市联软科技股份有限公司 基于c&c域名分析的僵尸网络检测方法、装置、设备及介质
US20190089719A1 (en) * 2012-07-05 2019-03-21 Tenable, Inc. System and method for strategic anti-malware monitoring

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102821002A (zh) * 2011-06-09 2012-12-12 ***通信集团河南有限公司信阳分公司 网络流量异常检测方法和***
US20190089719A1 (en) * 2012-07-05 2019-03-21 Tenable, Inc. System and method for strategic anti-malware monitoring
CN108156174A (zh) * 2018-01-15 2018-06-12 深圳市联软科技股份有限公司 基于c&c域名分析的僵尸网络检测方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113965393A (zh) * 2021-10-27 2022-01-21 浙江网安信创电子技术有限公司 一种基于复杂网络和图神经网络的僵尸网络检测方法
CN113965393B (zh) * 2021-10-27 2023-08-01 浙江网安信创电子技术有限公司 一种基于复杂网络和图神经网络的僵尸网络检测方法

Also Published As

Publication number Publication date
CN110149331B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
Nancy et al. Intrusion detection using dynamic feature selection and fuzzy temporal decision tree classification for wireless sensor networks
CN108600200B (zh) 域名检测方法、装置、计算机设备及存储介质
CN111355697B (zh) 僵尸网络域名家族的检测方法、装置、设备及存储介质
CN111259204B (zh) 基于图算法的apt检测关联分析方法
Tufan et al. Anomaly-based intrusion detection by machine learning: A case study on probing attacks to an institutional network
CN109218304B (zh) 一种基于攻击图和协同进化的网络风险阻断方法
US20200014713A1 (en) Hierarchical activation of scripts for detecting a security threat to a network using a programmable data plane
CN113408609A (zh) 一种网络攻击检测方法及***
Elejla et al. Labeled flow-based dataset of ICMPv6-based DDoS attacks
CN108965248A (zh) 一种基于流量分析的p2p僵尸网络检测***及方法
Wang et al. Network anomaly detection: A survey and comparative analysis of stochastic and deterministic methods
CN104506356A (zh) 一种确定ip地址信誉度的方法和装置
Ding et al. Research and implementation on snort-based hybrid intrusion detection system
Singh et al. Computational method to prove efficacy of datasets
Silva et al. A statistical analysis of intrinsic bias of network security datasets for training machine learning mechanisms
CN108683654A (zh) 一种基于零日攻击图的网络脆弱性评估方法
Xu et al. [Retracted] DDoS Detection Using a Cloud‐Edge Collaboration Method Based on Entropy‐Measuring SOM and KD‐Tree in SDN
Liao et al. ENAD: An ensemble framework for unsupervised network anomaly detection
CN110149331A (zh) 一种P2P botnet检测方法、装置和介质
Oudah et al. A novel features set for internet traffic classification using burstiness
Ioulianou et al. Ml-based detection of rank and blackhole attacks in RPL networks
Dwivedi et al. Event correlation for intrusion detection systems
CN108566307A (zh) 一种定量化的网络安全保护强度评估方法及***
WO2024108913A1 (zh) 一种信息传播源的确定方法、***、电子设备及存储介质
RU2472211C1 (ru) Способ защиты информационно-вычислительных сетей от компьютерных атак

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210706