CN113364787A - 一种基于并联神经网络的僵尸网络流量检测方法 - Google Patents
一种基于并联神经网络的僵尸网络流量检测方法 Download PDFInfo
- Publication number
- CN113364787A CN113364787A CN202110649454.1A CN202110649454A CN113364787A CN 113364787 A CN113364787 A CN 113364787A CN 202110649454 A CN202110649454 A CN 202110649454A CN 113364787 A CN113364787 A CN 113364787A
- Authority
- CN
- China
- Prior art keywords
- network
- layer
- data
- flow
- size
- 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
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
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- 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
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- 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
- H04L63/1458—Denial of Service
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- 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)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Virology (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于并联神经网络的僵尸网络流量检测方法,该方法步骤为:根据数据包传输五元组<源IP、目的IP、源端口、目的端口、传输协议>将原始网络流量pcap文件划分为多个网络流;对每个网络流进行预处理转化成两种神经网络的输入格式;利用卷积神经网络提取网络流灰度图的空间特征,输出10维特征向量;利用门控循环单元网络提取网络流序列的时序特征,输出10维向量;利用串行特征融合方案将两种神经网络提取的特征进行拼接,输出20维特征;通过softmax分类器,进行模型训练,并输出僵尸流量检测模型;最后将捕获的目标网络的流量数据经预处理后,输入模型完成僵尸网络流量的检测。本发明具有准确度高、可以有效检测出僵尸网络流量。
Description
技术领域
本发明属于网络安全技术领域,涉及一种基于并联神经网络的僵尸网络流量检测方法。
背景技术
僵尸网络是指由于计算机存在安全漏洞而被网络攻击者通过感染木马或僵尸程序控制的计算机集群,其重要的特点就是攻击者能够通过一对多的命令与控制信道操纵被控主机执行相同的恶意命令,如同时控制主机对某目标网站发动DDOS攻击或向某一服务器发送大量垃圾邮件等。近年来,物联网技术不断发展,物联网产业规模不断扩大,随着而来的是物联网设备海量部署,为僵尸网络活动滋生提供了有利条件,在今后一段时间内僵尸网络依然会是网络安全威胁的重要来源,利用僵尸网络发动大规模、破坏性攻击事件也将时有发生。研究僵尸网络检测技术对保护个人财产及隐私、保护公司合法权益、保护国家网络空间安全等具有十分重要的意义。僵尸网络检测技术也成为近年来的研究热点,对现有文献检索发现,相关文献如下:
乔森等人在《软件,2015,36(03):83-88.》上发表了题为“基于snort僵尸网络检测系统的设计与实现”的文章。该文章提出以snort为核心模块,通过对网络流量的抓取、分析,以及后端数据库和前端页面的相关设计,实现了一个入侵检测系统。该方法是基于规则对网络流量进行精确匹配,准确度高,但建立规则的前提是对现有僵尸网络有一定研究,对于一些未知的僵尸网络(使用新型的协议和僵尸程序等)却束手无策。
R.U.Khan等人在《2019Cybersecurity and Cyberforensics Conference(CCC),2019:136-142.》上发表了题为“A Hybrid Technique To Detect Botnets,Based on P2PTraffic Similarity”的文章。该文章基于数据流特征和流相似度提取会话特征,并使用决策树算法完成P2P僵尸网络检测。该方法基于传统机器学习算法,存在依赖人工设计和提取特征、多针对指定类型僵尸网络、多使用简单的分类算法等问题。
Torres P等人在《2016IEEE Biennial Congress of Argentina,2016:1-6.》上发表了题为“An Analysis of Recurrent Neural Networks for Botnet DetectionBehaviour”的文章。该文章采用LSTM网络提取流量序列特征完成僵尸网络的检测。该文章首先提取网络流的三维特征,然后将特征用符号代替,并利用LSTM间接提取符号序列间的特征,进而完成僵尸网络检测。该方法存在依赖人工设计和提取特征、未使用原始数据间接提取特征、提取特征维度单一等问题。
牛伟纳等人在《电子与信息学报,2020,42(08):1872-1880.》上发表了题为“基于流量时空特征的fast-flux僵尸网络检测方法”的文章。该文章基于DenseNet和LSTM提取时空特征实现了fast-flux僵尸网络检测。该方法网络结构过于简单,导致信息丢失且只针对特定类型僵尸网络。
综上,由相关研究可知,目前僵尸网络检测方法存在难以识别加密流量、需建立精确的匹配规则库和特征阈值、无法检测未知僵尸网络、依赖人工设计和提取特征、未使用原始数据间接提取特征、提取特征维度单一等问题。
发明内容
为解决上述问题,本发明的目的在于提供一种基于并联神经网络的僵尸网络流量检测方法,基于深度学习的僵尸网络检测算法CNN-GRU。CNN-GRU算法通过两种神经网络自动化提取网络流量的时空特征,然后对僵尸网络流量检测。该算法解决了传统机器学习算法依赖人工设计特征、提取特征维度单一等问题,能够利用神经网络自动化从原始数据中提取网络流的时空特征。该方法训练和检测速度快,能够高准确率完成僵尸网络流量的检测。
为达到上述目的,本发明提供如下技术方案:
一种基于并联神经网络的僵尸网络流量检测方法,包括以下步骤:
S1:将原始网络流量pcap文件划分为多个网络流;
S2:进行对网络流进行预处理转化成两种神经网络的输入格式;
S3:利用卷积神经网络提取网络流灰度图的空间特征,输出10维特征向量;
S4:利用门控循环单元网络提取网络流序列的时序特征,输出10维向量;
S5:将两种神经网络所提取的特征进行融合;
S6:通过softmax分类器,进行模型训练,输出僵尸流量检测模型;
S7:将捕获的目标网络的流量数据经预处理后,输入模型完成僵尸网络流量的检测。
进一步,所述S1具体为:定义xp=<src_ip,src_port,dest_ip,dest_port,protocol>,
表示数据分组传输五元组,由源IP、源端口、目的IP、目的端口、传输协议组成;lp表示该数据分组的字节大小;tp表示数据分组发送的时间;p=(xp,lp,tp),表示一个数据包。那么根据定义,原始数据集pcap文件可表示为多个数据分组的集合。所有具有相同五元组的数据包按照发送时间顺序排列组成的集合成为网络流,定义P={p1=(x1,l1,t1),…,pi=(xi,li,ti)},其中x1=…=xi表示同一个网络流中的数据包拥有相同的五元组;t1<…<ti表示网络流中数组分组发送的先后顺序;P表示一条网络流。基于以上定义,根据数据包的传输五元组将多个数据包聚合到一条网络流中,把原始流量pcap文件以网络流为单位进行划分。
进一步,所述S2具体为:在时域特征学习之前,需要对数据进行规范化处理,也就是将数据转化成符合GRU网络输入的统一格式。截取网络流中前8个数组分组的前100个字节,网络连接信息大多蕴藏在前几个数组分组的前几十个字节中,这样做的目的也是尽可能地保留节点间通信的网络连接的原始信息,如果截取的数据分组个数不够或字节数不足,则进行补0x00处理,并对。在进行空域特征学习前,需要对网络流进行规范化处理,也就是将数据转化成符合CNN网络输入的统一格式。取网络流的前M个字节,其中M=N×N,N∈N*,本文取N=32,也就是说截取网络流的前1024B,将其转化成32×32的二维灰度图片,若不够1024B,则进行补0x00处理。
进一步,所述S3具体为:根据S2中数据预处理所得到的GRU网络的输入数据,输入到GRU网络中进行时域特征的提取。GRU具体网络结构的各层参数及功能具体是:
(1)数据规范化层:首先从每个网络流中的前8个数据分组中,提取前100字节的数据,并把每个字节转成十进制数组成100维向量,即每个数据分组p=(d1,d2,…,di),其中且0≤di≤255。数据规范化是将特征向量的每一个分量值都压缩在(0,1)范围内,把有量纲表达式转变为无量纲表达式,本发明选取最值规范化,计算公式如式为其中dmin=0,dmax=255,代入公式中,也就是di/255。规范化完成后,每个网络流中有8个100维的特征矩阵。
(2)GRU层G1:由128个GRU单元组成,输入为数据字节经过归一化的特征向量矩阵,输出为128维向量。
(3)全连接层D1:由128个神经元组成,输入为G1层的高维特征向量序列,输出为128维向量序列。
(4)GRU层G2:由64个GRU单元组成,输入为128维向量序列,输出为64维向量。
(5)全连接层D2:由10个神经元组成,最终输出10维特征向量。
进一步,所述S4具体为:根据S2中数据预处理所得到的CNN网络的输入数据,输入到CNN网络中进行空域特征的提取。CNN具体网络层参数及功能具体是:
(1)卷积层C1:该层使用64个尺寸为3×3的过滤器,卷积步长设置为1,并且设置padding属性为same,即输出与输入尺寸相同,也就是说经过卷积层C1后生成了64个尺寸为32×32的特征图。
(2)最大池化层M1:该层使用尺寸为2×2的最大化池对C1层输出的特征图进行降维压缩,也就对每个特征图以步长为2大小为2×2过滤,每次取池中4个像素值的最大值。经过该层后,特征图的尺寸降为原来一半为16×16,但输出深度保持不变,即有64张尺寸为16×16的特征图。
(3)卷积层C2:该层使用64个尺寸为3×3的过滤器,卷积步长为1,padding设置为valid,即不对输入图像进行填充操作。经过该层后,生成64张大小为14×14的特征图。
(4)最大池化层M2:该层使用尺寸为2×2的最大化池对C2层输出的特征图进行降维压缩,也就对每个特征图以步长为2大小为2×2过滤,每次取池中4个像素值的最大值。经过该层后,特征图的尺寸降为原来一半为7×7,但输出深度保持不变,即有64张尺寸为7×7的特征图。
(5)卷积层C3:该层使用128个尺寸为3×3的过滤器,卷积步长为1,padding设置为valid,即不对输入图像进行填充操作。经过该层后,生成128张大小为3×3的特征图。
(6)数据压平层F1:由于卷积层的数据无法直连到全连接层,该层的主要目的是卷积层到全连接层的过渡,具体是将C3层数据压为1行,生成1152维特征向量。
(7)全连接层D1:该层使用512个神经元,与C3层组成全连接结构,主要对特征进行重新拟合,减少特征信息的丢失。经过该层后,输出512维特征向量。
(8)输出层D2:该层使用10个神经元,本质是一个全连接层,为网络输出做准备。经过该层后,输出10维特征向量。
进一步,所述S5具体为:时空特征融合,将S3和S4中分别提取的时空两组特征连接成一组特征。若两个维数分别为p和q的输入特征x和y,则输出特征z的维数为p+q。因此将两种神经网络所提取的特征进行融合后得到20维特征向量。
进一步,所述S6具体为:通过Softmax分类器,进行模型训练,输出僵尸流量检测模型。Softmax分类器的输入是K*1的向量,输出也是K*1的向量,这个向量的每个值表示这个样本属于每个类的概率,每个值的大小范围为0到1。假设Xk×1是Softmax的输入向量,其中k是分类类别数,那么对于输出样本向量Xk×1被分为类别i的概率pi,可由Xk×1在类别i上的分量xi通过公式计算而来。本发明主要是进行僵尸网络的检测工作,是一个二分类问题,故取k=2。分类器的损失函数选用交叉损失熵,二分类问题中的交叉损失熵可由公式
计算而来,其中w为权值矩阵,x(i)为样本输入,y(i)为该样本的真实检测结果,σw,b(x(i))为输入样本通过分类器的输出结果,m为样本个数。本发明中选用Adam优化算法来加速参数更新,算法的参数更新过程如下式:其中α=0.001、 分别代表学习率、一阶矩估计和二阶矩估计的指数衰减率;mt、νt分别代表梯度的指数移动平均和梯度的平方;ε是防止分母为零的很小值,默认取10-8。
进一步,所述S7具体为:将捕获的目标网络的流量数据存储为pcap文件,经S1-S2过程处理后,输入S6中训练的模型中,完成僵尸网络流量的检测。
本发明的有益效果在于:本发明不依赖人工设计特征,而是直接从原始流量中提取时空多个维度特征,网络结构稍复杂,但能保留更多的信息且训练时间也比较快。检测准确率在95%以上,且漏报率及误报率小于6%。
附图说明
图1为本发明的流程图;
图2为本发明的GRU网络结构图;
图3为本发明的CNN网络结构图;
图4为本发明在训练轮数epoch从1增加到30时模型准确率变化曲线图;
图5为本发明在训练轮数epoch从1增加到30时模型交叉损失熵变化曲线图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。需要说明的是,下面描述中使用的词语“前”、“后”、“左”、“右”、“上”和“下”指的是附图中的方向,词语“内”和“外”分别指的是朝向或远离特定部件几何中心的方向。
本实施例为一种基于并联神经网络的僵尸网络流量检测方法,如图1所示,具体包括:
第一步:定义xp=<src_ip,src_port,dest_ip,dest_port,protocol>,表示数据分组传输五元组,由源IP、源端口、目的IP、目的端口、传输协议组成;lp表示该数据分组的字节大小;tp表示数据分组发送的时间;p=(xp,lp,tp),表示一个数据包。那么根据定义,原始数据集pcap文件可表示为多个数据分组的集合。所有具有相同五元组的数据包按照发送时间顺序排列组成的集合成为网络流,定义P={p1=(x1,l1,t1),…,pi=(xi,li,ti)},其中x1=…=xi表示同一个网络流中的数据包拥有相同的五元组;t1<…<ti表示网络流中数组分组发送的先后顺序;P表示一条网络流。基于以上定义,根据数据包的传输五元组将多个数据包聚合到一条网络流中,把原始流量pcap文件以网络流为单位进行划分。
第二步:在时域特征学习之前,需要对数据进行规范化处理,也就是将数据转化成符合GRU网络输入的统一格式。截取网络流中前8个数组分组的前100个字节,网络连接信息大多蕴藏在前几个数组分组的前几十个字节中,这样做的目的也是尽可能地保留节点间通信的网络连接的原始信息,如果截取的数据分组个数不够或字节数不足,则进行补0x00处理,并对。在进行空域特征学习前,需要对网络流进行规范化处理,也就是将数据转化成符合CNN网络输入的统一格式。取网络流的前M个字节,其中M=N×N,N∈N*,本文取N=32,也就是说截取网络流的前1024B,将其转化成32×32的二维灰度图片,若不够1024B,则进行补0x00处理。
第三步:根据第二步中数据预处理所得到的GRU网络的输入数据,输入到GRU网络中进行时域特征的提取。GRU具体网络结构如附图2所示,各层参数及功能具体是:
(1)数据规范化层:首先从每个网络流中的前8个数据分组中,提取前100字节的数据,并把每个字节转成十进制数组成100维向量,即每个数据分组p=(d1,d2,…,di),其中且0≤di≤255。数据规范化是将特征向量的每一个分量值都压缩在(0,1)范围内,把有量纲表达式转变为无量纲表达式,本发明选取最值规范化,计算公式如式为其中dmin=0,dmax=255,代入公式中,也就是di/255。规范化完成后,每个网络流中有8个100维的特征矩阵。
(2)GRU层G1:由128个GRU单元组成,输入为数据字节经过归一化的特征向量矩阵,输出为128维向量。
(3)全连接层D1:由128个神经元组成,输入为G1层的高维特征向量序列,输出为128维向量序列。
(4)GRU层G2:由64个GRU单元组成,输入为128维向量序列,输出为64维向量。
(5)全连接层D2:由10个神经元组成,最终输出10维特征向量。
第四步:根据第二步中数据预处理所得到的CNN网络的输入数据,输入到CNN网络中进行空域特征的提取。CNN具体网络结构各层参数及功能具体是:
(1)卷积层C1:该层使用64个尺寸为3×3的过滤器,卷积步长设置为1,并且设置padding属性为same,即输出与输入尺寸相同,也就是说经过卷积层C1后生成了64个尺寸为32×32的特征图。
(2)最大池化层M1:该层使用尺寸为2×2的最大化池对C1层输出的特征图进行降维压缩,也就对每个特征图以步长为2大小为2×2过滤,每次取池中4个像素值的最大值。经过该层后,特征图的尺寸降为原来一半为16×16,但输出深度保持不变,即有64张尺寸为16×16的特征图。
(3)卷积层C2:该层使用64个尺寸为3×3的过滤器,卷积步长为1,padding设置为valid,即不对输入图像进行填充操作。经过该层后,生成64张大小为14×14的特征图。
(4)最大池化层M2:该层使用尺寸为2×2的最大化池对C2层输出的特征图进行降维压缩,也就对每个特征图以步长为2大小为2×2过滤,每次取池中4个像素值的最大值。经过该层后,特征图的尺寸降为原来一半为7×7,但输出深度保持不变,即有64张尺寸为7×7的特征图。
(5)卷积层C3:该层使用128个尺寸为3×3的过滤器,卷积步长为1,padding设置为valid,即不对输入图像进行填充操作。经过该层后,生成128张大小为3×3的特征图。
(6)数据压平层F1:由于卷积层的数据无法直连到全连接层,该层的主要目的是卷积层到全连接层的过渡,具体是将C3层数据压为1行,生成1152维特征向量。
(7)全连接层D1:该层使用512个神经元,与C3层组成全连接结构,主要对特征进行重新拟合,减少特征信息的丢失。经过该层后,输出512维特征向量。
(8)输出层D2:该层使用10个神经元,本质是一个全连接层,为网络输出做准备。经过该层后,输出10维特征向量。
第五步:时空特征融合,将第三步和第四步中分别提取的时空两组特征连接成一组特征。若两个维数分别为p和q的输入特征x和y,则输出特征z的维数为p+q。因此将两种神经网络所提取的特征进行融合后得到20维特征向量。
第六步:通过Softmax分类器,进行模型训练,输出僵尸流量检测模型。Softmax分类器的输入是K*1的向量,输出也是K*1的向量,这个向量的每个值表示这个样本属于每个类的概率,每个值的大小范围为0到1。假设Xk×1是Softmax的输入向量,其中k是分类类别数,那么对于输出样本向量Xk×1被分为类别i的概率pi,可由Xk×1在类别i上的分量xi通过公式计算而来。本发明主要是进行僵尸网络的检测工作,是一个二分类问题,故取k=2。分类器的损失函数选用交叉损失熵,二分类问题中的交叉损失熵可由公式计算而来,其中w为权值矩阵,x(i)为样本输入,y(i)为该样本的真实检测结果,σw,b(x(i))为输入样本通过分类器的输出结果,m为样本个数。本发明中选用Adam优化算法来加速参数更新,算法的参数更新过程如下式:其中α=0.001、 分别代表学习率、一阶矩估计和二阶矩估计的指数衰减率;mt、νt分别代表梯度的指数移动平均和梯度的平方;ε是防止分母为零的很小值,默认取10-8。
第七步:将捕获的目标网络的流量数据存储为pcap文件,经第一步和第二步处理后,输入第六步中训练的模型中,完成僵尸网络流量的检测。
在本实施例中,图4给出了本实施例方法模型准确率随训练轮数epoch从1增加到30的变化曲线图;
图5给出了本实施例方法交叉损失熵随训练轮数的变化曲线图。
由图4和图5可见:所提实施方法交叉损失熵在epoch=10,即训练10轮后,模型开始收敛,至20轮训练后模型基本收敛,实验效果基本不变,图5的准确率曲线也说明了20轮后,检测模型的准确率基本不变,维持在0.99左右。通过实施例中的实验分析,验证了本发明中所提出的方法能够有效检测出僵尸网络流量,且算法收敛速度较快、准确率高、误报率和漏报率低,具有很高的实用价值。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。
Claims (8)
1.一种基于并联神经网络的僵尸网络流量检测方法,其特征在于:
该方法包括以下步骤:
S1:将原始网络流量pcap文件划分为多个网络流;
S2:进行对网络流进行预处理转化成两种神经网络的输入格式;
S3:利用卷积神经网络提取网络流灰度图的空间特征,输出10维特征向量;
S4:利用门控循环单元网络提取网络流序列的时序特征,输出10维向量;
S5:将两种神经网络所提取的特征进行融合;
S6:通过softmax分类器,进行模型训练,输出僵尸流量检测模型;
S7:将捕获的目标网络的流量数据经预处理后,输入模型完成僵尸网络流量的检测。
2.根据权利要求1所述的一种基于并联神经网络的僵尸网络流量检测方法,其特征在于:所述S1具体为:
定义p=(xp,lp,tp),xp=<src_ip,src_port,dest_ip,dest_port,protocol>,
表示数据分组传输五元组,由源IP、源端口、目的IP、目的端口、传输协议组成;lp表示该数据分组的字节大小;tp表示数据分组发送的时间;这里p表示一个数据包;那么根据定义,原始数据集pcap文件可表示为多个数据分组的集合;所有具有相同五元组的数据包按照发送时间顺序排列组成的集合成为网络流,定义P={p1=(x1,l1,t1),…,pi=(xi,li,ti)},其中x1=…=xi表示同一个网络流中的数据包拥有相同的五元组;t1<…<ti表示网络流中数组分组发送的先后顺序;P表示一条网络流;基于以上定义,根据数据包的传输五元组将多个数据包聚合到一条网络流中,把原始流量pcap文件以网络流为单位进行划分。
3.根据权利要求1所述的一种基于并联神经网络的僵尸网络流量检测方法,其特征在于:所述S2具体为:
S2.1:在时域特征学习之前,需要对数据进行规范化处理,也就是将数据转化成符合GRU网络输入的统一格式;截取网络流中前8个数组分组的前100个字节,网络连接信息大多蕴藏在前几个数组分组的前几十个字节中,这样做的目的也是尽可能地保留节点间通信的网络连接的原始信息,如果截取的数据分组个数不够或字节数不足,则进行补0x00处理,并对;
S2.2:在进行空域特征学习前,需要对网络流进行规范化处理,也就是将数据转化成符合CNN网络输入的统一格式;取网络流的前M个字节,其中M=N×N,N∈N*,本文取N=32,也就是说截取网络流的前1024B,将其转化成32×32的二维灰度图片,若不够1024B,则进行补0x00处理。
4.根据权利要求1所述的一种基于并联神经网络的僵尸网络流量检测方法,其特征在于:所述S3具体为:根据S2中数据预处理所得到的GRU网络的输入数据,输入到GRU网络中进行时域特征的提取;GRU具体网络结构各层参数及功能具体是:
(1)数据规范化层:首先从每个网络流中的前8个数据分组中,提取前100字节的数据,并把每个字节转成十进制数组成100维向量,即每个数据分组p=(d1,d2,…,di),其中且0≤di≤255。数据规范化是将特征向量的每一个分量值都压缩在(0,1)范围内,把有量纲表达式转变为无量纲表达式,本发明选取最值规范化,计算公式如式为其中dmin=0,dmax=255,代入公式中,也就是di/255;规范化完成后,每个网络流中有8个100维的特征矩阵;
(2)GRU层G1:由128个GRU单元组成,输入为数据字节经过归一化的特征向量矩阵,输出为128维向量;
(3)全连接层D1:由128个神经元组成,输入为G1层的高维特征向量序列,输出为128维向量序列;
(4)GRU层G2:由64个GRU单元组成,输入为128维向量序列,输出为64维向量;
(5)全连接层D2:由10个神经元组成,最终输出10维特征向量。
5.根据权利要求1所述的一种基于并联神经网络的僵尸网络流量检测方法,其特征在于:所述S4具体为:根据S2中数据预处理所得到的CNN网络的输入数据,输入到CNN网络中进行空域特征的提取;CNN具体网络结构各层参数及功能具体是:
(1)卷积层C1:该层使用64个尺寸为3×3的过滤器,卷积步长设置为1,并且设置padding属性为same,也就是说经过卷积层C1后生成了64个尺寸为32×32的特征图;
(2)最大池化层M1:该层使用尺寸为2×2的最大化池对C1层输出的特征图进行降维压缩,也就对每个特征图以步长为2大小为2×2过滤,每次取池中4个像素值的最大值。经过该层后,特征图的尺寸降为原来一半为16×16,但输出深度保持不变,即有64张尺寸为16×16的特征图;
(3)卷积层C2:该层使用64个尺寸为3×3的过滤器,卷积步长为1,padding设置为valid,即不对输入图像进行填充操作;经过该层后,生成64张大小为14×14的特征图;
(4)最大池化层M2:该层使用尺寸为2×2的最大化池对C2层输出的特征图进行降维压缩,也就对每个特征图以步长为2大小为2×2过滤,每次取池中4个像素值的最大值。经过该层后,特征图的尺寸降为原来一半为7×7,但输出深度保持不变,即有64张尺寸为7×7的特征图;
(5)卷积层C3:该层使用128个尺寸为3×3的过滤器,卷积步长为1,padding设置为valid,即不对输入图像进行填充操作。经过该层后,生成128张大小为3×3的特征图;
(6)数据压平层F1:由于卷积层的数据无法直连到全连接层,该层的主要目的是卷积层到全连接层的过渡,具体是将C3层数据压为1行,生成1152维特征向量;
(7)全连接层D1:该层使用512个神经元,与C3层组成全连接结构,主要对特征进行重新拟合,减少特征信息的丢失。经过该层后,输出512维特征向量;
(8)输出层D2:该层使用10个神经元,本质是一个全连接层,为网络输出做准备。经过该层后,输出10维特征向量。
6.根据权利要求1所述的一种基于并联神经网络的僵尸网络流量检测方法,其特征在于:所述S5具体为:时空特征融合,将S3和S4中分别提取的时空两组特征连接成一组特征;
若两个维数分别为p和q的输入特征x和y,则输出特征z的维数为p+q;因此将两种神经网络所提取的特征进行融合后得到20维特征向量。
7.根据权利要求1所述的一种基于并联神经网络的僵尸网络流量检测方法,其特征在于:所述S6具体为:通过Softmax分类器,进行模型训练,输出僵尸流量检测模型;Softmax分类器的输入是K*1的向量,输出也是K*1的向量,这个向量的每个值表示这个样本属于每个类的概率,每个值的大小范围为0到1;假设Xk×1是Softmax的输入向量,其中k是分类类别数,那么对于输出样本向量Xk×1被分为类别i的概率pi,可由Xk×1在类别i上的分量xi通过公式计算而来;本发明主要是进行僵尸网络的检测工作,不做具体分类,即网络流量是否存在异常是一个二分类问题,故取k=2;分类器的损失函数选用交叉损失熵,二分类问题中的交叉损失熵可由公式计算而来,其中w为权值矩阵,x(i)为样本输入,y(i)为该样本的真实检测结果,σw,b(x(i))为输入样本通过分类器的输出结果,m为样本个数;本发明中选用Adam优化算法来加速参数更新,算法的参数更新过程如下式:其中α=0.001、分别代表学习率、一阶矩估计和二阶矩估计的指数衰减率;mt、νt分别代表梯度的指数移动平均和梯度的平方;ε是防止分母为零的很小值,默认取10-8。
8.根据权利要求1所述的一种基于并联神经网络的僵尸网络流量检测方法,其特征在于:所述S7具体为:将捕获的目标网络的流量数据存储为pcap文件,经S1-S2过程处理后,输入S6中训练的模型中,完成僵尸网络流量的检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110649454.1A CN113364787B (zh) | 2021-06-10 | 2021-06-10 | 一种基于并联神经网络的僵尸网络流量检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110649454.1A CN113364787B (zh) | 2021-06-10 | 2021-06-10 | 一种基于并联神经网络的僵尸网络流量检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113364787A true CN113364787A (zh) | 2021-09-07 |
CN113364787B CN113364787B (zh) | 2023-08-01 |
Family
ID=77533717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110649454.1A Active CN113364787B (zh) | 2021-06-10 | 2021-06-10 | 一种基于并联神经网络的僵尸网络流量检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113364787B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113965393A (zh) * | 2021-10-27 | 2022-01-21 | 浙江网安信创电子技术有限公司 | 一种基于复杂网络和图神经网络的僵尸网络检测方法 |
CN114254704A (zh) * | 2021-12-20 | 2022-03-29 | 北京天融信网络安全技术有限公司 | 一种http隧道检测方法、装置、电子设备及存储介质 |
CN114884693A (zh) * | 2022-03-31 | 2022-08-09 | 广州大学 | 跨域物联网僵尸网络群落检测方法和系统 |
CN115086029A (zh) * | 2022-06-15 | 2022-09-20 | 河海大学 | 一种基于双通道时空特征融合的网络入侵检测方法 |
CN116647411A (zh) * | 2023-07-17 | 2023-08-25 | 厦门巴掌互动科技有限公司 | 游戏平台网络安全的监测预警方法 |
CN118316731A (zh) * | 2024-06-05 | 2024-07-09 | 湖北省楚天云有限公司 | 一种基于加密流量识别的智能网络安全隔离系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112839034A (zh) * | 2020-12-29 | 2021-05-25 | 湖北大学 | 一种基于cnn-gru分层神经网络的网络入侵检测方法 |
-
2021
- 2021-06-10 CN CN202110649454.1A patent/CN113364787B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112839034A (zh) * | 2020-12-29 | 2021-05-25 | 湖北大学 | 一种基于cnn-gru分层神经网络的网络入侵检测方法 |
Non-Patent Citations (2)
Title |
---|
吕政权 等: ""基于GRU-CNN的综合能源网络安全攻击检测方法"", 《华电技术》 * |
张家颖: ""基于深度学习模型的网络流量分类方法研究"", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113965393A (zh) * | 2021-10-27 | 2022-01-21 | 浙江网安信创电子技术有限公司 | 一种基于复杂网络和图神经网络的僵尸网络检测方法 |
CN113965393B (zh) * | 2021-10-27 | 2023-08-01 | 浙江网安信创电子技术有限公司 | 一种基于复杂网络和图神经网络的僵尸网络检测方法 |
CN114254704A (zh) * | 2021-12-20 | 2022-03-29 | 北京天融信网络安全技术有限公司 | 一种http隧道检测方法、装置、电子设备及存储介质 |
CN114884693A (zh) * | 2022-03-31 | 2022-08-09 | 广州大学 | 跨域物联网僵尸网络群落检测方法和系统 |
CN115086029A (zh) * | 2022-06-15 | 2022-09-20 | 河海大学 | 一种基于双通道时空特征融合的网络入侵检测方法 |
CN116647411A (zh) * | 2023-07-17 | 2023-08-25 | 厦门巴掌互动科技有限公司 | 游戏平台网络安全的监测预警方法 |
CN116647411B (zh) * | 2023-07-17 | 2023-09-22 | 厦门巴掌互动科技有限公司 | 游戏平台网络安全的监测预警方法 |
CN118316731A (zh) * | 2024-06-05 | 2024-07-09 | 湖北省楚天云有限公司 | 一种基于加密流量识别的智能网络安全隔离系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113364787B (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113364787B (zh) | 一种基于并联神经网络的僵尸网络流量检测方法 | |
Zhang et al. | Network intrusion detection: Based on deep hierarchical network and original flow data | |
CN112163594B (zh) | 一种网络加密流量识别方法及装置 | |
Zheng et al. | Learning to classify: A flow-based relation network for encrypted traffic classification | |
CN109450842B (zh) | 一种基于神经网络的网络恶意行为识别方法 | |
CN111340191B (zh) | 基于集成学习的僵尸网络恶意流量分类方法及系统 | |
CN108768986B (zh) | 一种加密流量分类方法及服务器、计算机可读存储介质 | |
Yang et al. | TLS/SSL encrypted traffic classification with autoencoder and convolutional neural network | |
CN112804253B (zh) | 一种网络流量分类检测方法、系统及存储介质 | |
CN110113353B (zh) | 一种基于cvae-gan的入侵检测方法 | |
CN114697096A (zh) | 基于空时特征和注意力机制的入侵检测方法 | |
CN112995150A (zh) | 一种基于cnn-lstm融合的僵尸网络检测方法 | |
Kong et al. | Identification of abnormal network traffic using support vector machine | |
CN112910853A (zh) | 基于混合特征的加密流量分类方法 | |
CN114972836A (zh) | 一种基于多模块融合的加密流量分类方法 | |
CN112261063A (zh) | 结合深度分层网络的网络恶意流量检测方法 | |
CN115473850B (zh) | 一种基于ai的实时数据过滤方法、系统及存储介质 | |
CN113222930A (zh) | 基于图像分析的恶意流量检测方法、终端设备及存储介质 | |
CN112491894A (zh) | 一种基于时空特征学习的物联网网络攻击流量监测系统 | |
CN116471048A (zh) | 一种实时高效的物联网DDoS攻击检测方法及系统 | |
CN114726802A (zh) | 一种基于不同数据维度的网络流量识别方法及装置 | |
CN114362988A (zh) | 网络流量的识别方法及装置 | |
Zhou et al. | Malicious encrypted traffic features extraction model based on unsupervised feature adaptive learning | |
CN116451138A (zh) | 基于多模态学习的加密流量分类方法、装置及存储介质 | |
CN117155595A (zh) | 一种基于视觉注意力网络的恶意加密流量检测方法及模型 |
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 |