CN111629006B - 融合深度神经网络和层级注意力机制的恶意流量更新方法 - Google Patents

融合深度神经网络和层级注意力机制的恶意流量更新方法 Download PDF

Info

Publication number
CN111629006B
CN111629006B CN202010474182.1A CN202010474182A CN111629006B CN 111629006 B CN111629006 B CN 111629006B CN 202010474182 A CN202010474182 A CN 202010474182A CN 111629006 B CN111629006 B CN 111629006B
Authority
CN
China
Prior art keywords
data
representing
attack
traffic
updating
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
CN202010474182.1A
Other languages
English (en)
Other versions
CN111629006A (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.)
Jiangsu Dongyun Cloud Computing Co ltd
Yami Technology Guangzhou Co ltd
Original Assignee
Chongqing University of Technology
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 Chongqing University of Technology filed Critical Chongqing University of Technology
Priority to CN202010474182.1A priority Critical patent/CN111629006B/zh
Publication of CN111629006A publication Critical patent/CN111629006A/zh
Application granted granted Critical
Publication of CN111629006B publication Critical patent/CN111629006B/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
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • 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/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • 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

Landscapes

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

Abstract

本发明提出了一种融合深度神经网络和层级注意力机制的恶意流量更新方法,包括以下步骤:S1,获取原始流量数据,对获取的所述原始流量数据进行预处理;S2,通过时序处理特征向量捕获每个流量数据之间的特征信息;S3,分配得到注意力向量;S4,对其流量数据进行特征融合;并对融合的特征进行线性变换;S5,将流量数据进行分类;S6,对其迭代更新。本发明能够对恶意流量进行检测,增强性能。

Description

融合深度神经网络和层级注意力机制的恶意流量更新方法
技术领域
本发明涉及一种恶意流量监测技术领域,特别是涉及一种融合深度神经网络和层级注意力机制的恶意流量监测系统。
背景技术
随着计算机网络的不断发展,它正在不断改变人们的生活、学习和工作方式,但是目前面临着各种安全威胁,并且这种威胁变得越来越严重。于是人们提出了网络安全,其包括为防止和监视计算机网络和可以通过网络访问资源而进行的未经授权访问、滥用、修改或拒绝的策略和实践。网络安全主要包括其承载者信息的保密性,完整性和可用性(Confidentiality Integrity Availability,CIA)。任何一种试图破坏CIA 或绕过设定网络安全机制的活动都可以视为网络入侵。目前安全领域针对安全攻击检测办法一般采用入侵检测系统(Intrusion Detection System,IDS),它是监视网络或系统是否存在恶意活动或违反策略的设备或软件应用程序。通常将任何入侵活动或违规行为报告给管理员,或使用安全信息和事件管理系统集中收集。IDS通常会检查特定网络的所有传入和传出数据包,以确定每个数据包是否具有入侵迹象。精心设计的IDS以及其中相关的功能部件,可以识别大多数入侵活动的特征,并通过写入安全日志或发出警告来自动响应它们。
根据入侵检测系统的技术分类可以分为两类:滥用检测和异常检测。滥用检测又称为基于规则的入侵检测。在滥用检测中,入侵过程模型在被观察系统中保留下的踪迹是决策的基础,因此实现根据经验规则或者专家知识定义某些非法的特征行为,然后将观察对象与之进行比较做出是否具有此种非法行为系统的判别。滥用检测基于已知的系统缺陷和入侵模式,它能够准确地检测到某些特定的攻击,但却过度依赖事先定义好的安全策略。
异常检测又称为基于行为的入侵检测。与滥用检测不同的是,在异常检测中,观察到的不是已知入侵行为,而是研究的正常通信过程中异常现象。异常检测通过检测系统的行为或使用情况的变化来完成。在建立异常检测的模型之前,首先必须建立统计概率模型,明确所观察对象的正常情况,然后决定在何种程度上将一个行为标为“异常”,并给出相应的具体措施。异常检测只能识别出,那些与正常过程有较大偏差的行为,而无法知道具体入侵情况。由于各种网络环境的适应性不强,很难获得精确的判定准则,异常检测经常会出现虚警情况。但尽管误报率可能很高,但它可以检测未知攻击。当前,网络结构越来越复杂,入侵方法也随着多样化和复杂化的趋势而发展,给入侵检测系统带来了更多的挑战。
从机器学习的兴起,关于机器学习学习的许多研究开发了具有机器智能的入侵检测技术。比如支持向量机(Support Vector Machine,SVM),人工神经网络(ArtificialNeural Network,ANN),XGBoost,遗传学算法(Genetic Algorithm,GA)和集成学习在入侵检测领域都取得了不错的成绩。但是因为机器学习算法只能作为一个分类器使用,具有许多的局限性,而当入侵变得越来越复杂和多样化。于是需要更好学习方法,尤其在自动提取入侵特征和分析。
因深度学习的广泛研究研究与应用,尤其在自然语言处理、图像处理和语音处理,以及天气预报方面取得了巨大的成功。使用深度学习建立的模型具有高度非线性的结构,能够出色处理复杂数据集的能力。并且近年来并行计算以及其硬件的发展,为深度学习算法推广和应用带来了新契机。
由于在训练难易程度和计算复杂性的问题,递归神经网络(Recurrent NeuralNetwork,RNN)在过去几年中未能成为主流网络模型。近年来,随着深度学习理论的发展,RNN开始进入快速发展时期。目前,RNN已成功应用于手写识别体,语音识别和机器翻译。RNN的主要特性是它在隐藏的层中循环信息,该层可以记住以前处理过的信息,从而为处理时间序列信息带来了结构上的优势。相似地,许多网络入侵行为可以抽象为来自底层网络层次模型的特定时间序列的事件。因此,RNN被认为适合构建IDS中恶意流量检测模型。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种融合深度神经网络和层级注意力机制的恶意流量监测系统。
为了实现本发明的上述目的,本发明提供了一种融合深度神经网络和层级注意力机制的恶意流量监测系统,包括流量获取模块、流量特征转换模块、数据特征划分模块、数据特征捕获模块、数据特征融合模块、线性变换模块、流量分类模块和恶意流量展示模块;
所述流量获取模块的数据输出端与流量特征转换模块的数据输入端,流量特征转换模块的数据输出端与数据特征划分模块的数据输入端相连,数据特征划分模块的数据输出端与数据特征捕获模块的数据输入端相连,数据特征捕获模块的数据输出端与数据特征融合模块的数据输入端相连,数据特征融合模块的数据输出端与线性变换模块的数据输入端相连,线性变换模块的数据输出端与流量分类模块的数据输入端相连,流量分类模块的数据输出端与恶意流量展示模块的数据输入端相连;
所述流量获取模块用于获取原始流量数据,并对获取的所述原始流量数据保存为能识别的文件格式的流量数据;所述流量特征转换模块用于对流量获取模块中保存的流量数据进行特征转换;所述数据特征划分模块用于对流量特征转换模块中转换后的流量数据进行数据包分段,得到数据包段;所述数据特征捕获模块用于通过时序处理特征向量捕获每个数据包段之间的特征信息;所述数据特征融合模块用于对其流量数据进行特征融合;所述线性变换模块用于对其数据特征融合模块中融合的特征进行线性变换;所述流量分类模块用于将流量数据进行分类;所述恶意流量展示模块用于对恶意流量的展示。
在本发明的一种优选实施方式中,在流量获取模块中,原始流量数据的获取方法为采用抓包工具,并把抓好的数据包保存为pcap文件格式的流量数据;
在流量特征转换模块中,对保存的流量数据进行特征转换的方法为利用CICFlowmeter-V4.0特征转换工具,将pcap数据解析成79个数字特征,即每一个数据包由一个79维度向量构成;
在数据特征划分模块中,对流量数据进行数据包分段的方法为根据时间的先后顺序把流量数据按长度l进行分段,每个数据包段中有l个数据分段,记作[l,f],f表示每个数据分段中的特征数量。
在本发明的一种优选实施方式中,在流量特征转换模块中,利用 CICFlowMeter-V4.0工具提取到的特征,若样本存在缺失值,则对缺失值的特征采用平均值法进行处理,即是利用其他样本未在该特征上未缺失进行加权平均,然后将其补上。
在本发明的一种优选实施方式中,在数据特征捕获模块中以下步骤:
S41,根据输入的流量数据计算获得更新门数据;
S42,根据输入的流量数据计算得到重置门数据;
S43,根据步骤S41计算得到当前内存内容;
S44,根据步骤S42和步骤S43获取在当前时间步长的最后内存内容。
在本发明的一种优选实施方式中,在步骤S41中,更新门数据的计算方法为:
zt=σ(Wzxt+Uzht-1),
σ()表示激活函数sigmoid;
Wz表示更新门的权重;
xt表示时刻t输入的数据;
Uz表示前一时刻隐藏状态矩阵ht-1的更新门权重;
ht-1表示t-1时刻隐藏状态矩阵;
zt表示更新门数据;
在步骤S42中,重置门数据的计算方法为:
rt=σ(Wrxt+Urht-1),
σ()表示激活函数sigmoid;
Wr表示重置门的权重;
xt表示时刻t输入的数据;
Ur表示前一时刻隐藏状态矩阵ht-1的重置门权重;
ht-1表示t-1时刻隐藏状态矩阵;
rt表示重置门数据;
在步骤S43中,当前内存内容的计算方法为:
Figure RE-GDA0002567792080000051
Wh表示流量数据xt的权重矩阵;
xt表示时刻t输入的数据;
rt表示重置门数据;
⊙表示按元素点乘;
U表示候选集的权重;
ht-1表示t-1时刻的隐藏状态矩阵;
tanh()表示双曲正切函数;
Figure RE-GDA0002567792080000052
表示当前候选集;
在步骤S44中,最后内存内容的计算方法为:
Figure RE-GDA0002567792080000053
zt表示更新门数据;
ht-1表示t-1时刻隐藏状态矩阵;
Figure RE-GDA0002567792080000061
表示当前候选集;
ht表示t时刻的隐藏状态矩阵。
在本发明的一种优选实施方式中,在数据特征融合模块中,对其流量数据进行特征融合的计算方法为:
Figure RE-GDA0002567792080000066
max()表示取最大值函数;
Ci,j表示隐藏层h矩阵中i行j列的值;
Ci,j+1表示隐藏层h矩阵中i行j+1列的值;
得到一维的向量
Figure RE-GDA0002567792080000065
在本发明的一种优选实施方式中,在线性变换模块中,对其融合的特征进行线性变换的计算方法为:
Figure RE-GDA0002567792080000062
H表示下一层有多少个神经单元;
Wkj表示第j个稠密单元的权重向量;
xk表示输入的信息;
bj表示第j个稠密单元的偏差;
f()表示激活函数;
将每个单元的输出连接起来得到稠密结果D=[D1,D2,D3,...,Dl]。
在本发明的一种优选实施方式中,在流量分类模块中,对流量数据的分类方法为:
Figure RE-GDA0002567792080000063
Figure RE-GDA0002567792080000064
是归一化的因子;
y(i)表示第i个样本的标签值;
x(i)表示第i个样本的值;
θ表示模型中被训练的权重;
K表示分类的类别数;
T表示矩阵的转置;
P(|)表示条件概率;
若样本分类概率hθ(x(i))在预设样本分类阈值范围内,则该样本为正常流量;
若样本分类概率hθ(x(i))未在预设样本分类阈值范围内,则该样本为恶意流量。
在本发明的一种优选实施方式中,在恶意流量展示模块中,统计监测到的恶意流量的总数目和恶意流量所对应的时刻,以及展示一段时间内恶意流量的攻击次数曲线,该一段时间为当天、每个星期、每个月、每个季度、当年之一或者任意组合。
本发明还包括注意力向量分配模块,所述分配注意力向量分配模块用于得到注意力向量,此时所述流量获取模块的数据输出端与流量特征转换模块的数据输入端,流量特征转换模块的数据输出端与数据特征划分模块的数据输入端相连,数据特征划分模块的数据输出端与数据特征捕获模块的数据输入端相连,数据特征捕获模块的数据输出端与注意力向量分配模块的数据输入端相连,注意力向量分配模块的数据输出端与数据特征融合模块的数据输入端相连,数据特征融合模块的数据输出端与线性变换模块的数据输入端相连,线性变换模块的数据输出端与流量分类模块的数据输入端相连,流量分类模块的数据输出端与恶意流量展示模块的数据输入端相连;
在注意力向量分配模块中,注意力向量的计算方法为:
ui=tanh(Wwhi+bw),
tanh()表示双曲正切函数;
Ww表示隐藏状态矩阵hi的权重矩阵;
hi表示GRU模型在i时刻输出的隐藏状态矩阵;
bw表示权重矩阵Ww的偏置;
ui表示经过一层感知机后计算得到的值;
Figure RE-GDA0002567792080000081
ui表示经过一层感知机后计算得到的值;
T表示矩阵的转置;
uw表示注意力权重矩阵;
l表示数据包段中数据分段的个数;
αi表示权重占比矩阵;
Vi=∑lαihi
αi表示权重占比矩阵;
hi表示GRU模型在i时刻输出的隐藏转态矩阵;
Vi表示注意力机制加权后注意力向量;
l表示数据包段中数据分段的个数。
本发明还包括注意力向量分配模块,所述分配注意力向量分配模块用于得到注意力向量,此时所述流量获取模块的数据输出端与流量特征转换模块的数据输入端,流量特征转换模块的数据输出端与数据特征划分模块的数据输入端相连,数据特征划分模块的数据输出端与数据特征捕获模块的数据输入端相连,数据特征捕获模块的数据输出端与注意力向量分配模块的数据输入端相连,注意力向量分配模块的数据输出端与数据特征融合模块的数据输入端相连,数据特征融合模块的数据输出端与线性变换模块的数据输入端相连,线性变换模块的数据输出端与流量分类模块的数据输入端相连,流量分类模块的数据输出端与恶意流量展示模块的数据输入端相连;
在注意力向量分配模块中,注意力向量的计算方法为:
ui=tanh(Wwhi+bw),
tanh()表示双曲正切函数;
Ww表示隐藏状态矩阵hi的权重矩阵;
hi表示GRU模型在i时刻输出的隐藏状态矩阵;
bw表示隐藏状态矩阵hi的偏置;
ui表示经过一层感知机后计算得到的值;
Figure RE-GDA0002567792080000091
ui表示经过一层感知机后计算得到的值;
T表示矩阵的转置;
uw表示注意力权重矩阵;
l表示数据包段中数据分段的个数;
αi表示权重占比矩阵;
Vi=∑lαihi
αi表示权重占比矩阵;
hi表示GRU模型在i时刻输出的隐藏转态矩阵;
Vi表示注意力机制加权后注意力向量;
l表示数据包段中数据分段的个数。
在本发明的一种优选实施方式中,在流量分类模块和恶意流量展示模块间还包括性能评估模块,性能评估模块包括对准确率、查准率、检测率、误报率、综合率之一或者任一组合评估参数进行评估;
其准确率的计算方法为:
Figure RE-GDA0002567792080000092
其中,TP表示实际攻击被归类为攻击;
TN表示实际正常记录被分类为正常;
FP表示实际的正常记录被归类为攻击;
FN表示实际攻击被归类为正常记录;
Accuracy表示准确率;
其查准率的计算方法为:
Figure RE-GDA0002567792080000101
TP表示实际攻击被归类为攻击;
FP表示实际的正常记录被归类为攻击;
Precision表示查准率;
其检测率的计算方法为:
Figure RE-GDA0002567792080000102
TP表示实际攻击被归类为攻击;
FN表示实际攻击被归类为正常记录;
DR表示检测率;
其误报率的计算方法为:
Figure RE-GDA0002567792080000103
FP表示实际的正常记录被归类为攻击;
TN表示实际正常记录被分类为正常;
FPR表示误报率;
其综合率的计算方法为:
Figure RE-GDA0002567792080000104
β表示一个权重因子;
Precision表示查准率;
DR表示检测率;
F-score表示综合率。
综上所述,由于采用了上述技术方案,本发明能够对恶意流量进行检测,增强性能。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明恶意流量检测模型示意框图。
图2是本发明流量数据包段示意图。
图3是本发明GRU的结构示意图。
图4是本发明网络攻击频率示意图。
图5是本发明数据包分段大小对模型的影响示意图。
图6是本发明在CSE-CIC-IDS2018数据集上的表现示意图。
图7是本发明在CSE-CIC-IDS2018中各类别样本评估示意表(单位是百分数(%))。
图8是本发明在CIC-IDS2017数据集上的表现示意图。
图9是本发明在CIC-IDS2017中各类别样本评估示意图(单位是百分数(%))。
图10是本发明在NSL-KDD数据集上的表现示意图。
图11是本发明在NSL-KDD中各类样本评估示意图(单位是百分数(%))。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
本发明提出了一种层级注意力模型(HAGRU)用于恶意流量检测,且该模型基于目前有效、可靠的深度循环神经网络。层级注意力模型与之前所提出的用于恶意流量检测的神经网络相比,具有较高检测的准确率,较低的误报率和相对较好的实时性。恶意流量检测所提出的层级注意力模型的示意图如图1所示。
本发明所设计的用于恶意流量检测的层级注意力模型(HAGRU)共分为五个部分,即输入层,特征转换部分、双向门控记忆单元部分,注意力层级部分以及多层感知机输出部分。下面本发明将逐一介绍其中的每一个部分的功能:
首先是模型的输入层,输出层接收的是原始流量数据,它的数据来源于抓包工具(例如wireshark),并把抓好的数据包保存为pcap文件格式。
接下来就是特征转换部分,该部分用于处理抓取的原始的pcap流量进行特征处理,所用到工具是CICFlowmeter-V4.0,它能够让pcap数据解析成79个数字特征,即每一个数据包由一个79维度向量构成。但由于网络的数据流量具有时序性,且用于训练的数据包数量有上百万个,考虑到模型训练的硬件限制,把数据进行分段处理,划分每一个数据包段用于模型的训练。
数据包段是根据时间的先后顺序,把流量数据按长度l进行分段,图2是一个具体的数据包段Seqi∈{Seq1,Seq2,Seq3,...,SeqI},里面包含有v1,v2,v3,...,vl共计l个数据分段,I为数据包段的总个数,i为1,2,3,……,I;且流量数据包段内含有正常的流量和恶意流量(也叫攻击流量),那么每一次输入到层级注意模型数据形如[l,f],f指数据分段中的特征数量。
双向门控记忆单元通过时序处理特征向量,也是在图1标注的连接层,该层采用了双向的GRU,即数据可以从头到尾和从尾到头进行训练,更能够捕获每个数据包段之间的特征信息。
剩下两部分是注意力机制和多层感知机输出。注意力机制能够使模型在计算力不变的情况,获得更多模型性能的提升,并且在恶意流量与普通流量之间能够做出更好的识别。本发明不仅使用了注意力机制提取重要特征,还使用最大池化特征进行融合,在原有特征映射提取丰富的特征信息,使得模型具有高的检测精度。而多层感知机把层级融合的特征进行线性变换,最终输出流量的类别。
用于恶意流量检测层级注意模型(HAGRU)中的细节内容逐一进行详细的阐释。
1.1 门控循环单元GRU
GRU是一种循环神经网络,也是一种门控的神经网络。由Kyunghyun Cho等人于2014年所提出。如果想要明白GRU的工作机制,就需要先了解LSTM网络,它是由Hochreiter&Schmidhuber最早提出的一个特殊的循环神经网络。而GRU网络是根据LSTM网络变种得到的,GRU与LSTM相比由于缺少一个门,因此其参数量比LSTM少。在网络流量检测领域中,网络安全人员希望检测的设备能够快速检测经过的流量,而不希望网络流量在传输中产生比较大的延迟,模型的参数减少势必会使计算力需求下降,从而减少流量通过检测模型的时间,提升流量传输实时性。同时网络传输的流量数据包都有较强时序性,即上一时刻的数据和下一时刻的数据可能具有高度关联,因此模型的需要能够处理时序数据的能力。从本段所讲,流量检测模型需要至少两个特点:①能够尽可能减少参数,②能够处理时序数据。所以采用GRU作为模型的一部分。
根据图3所示,展示GRU模型的内部具体一些结构,GRU模型主要由更新门和重置门分别使用zt和rt表示,相比LSTM模型少了一个门控信号,于是GRU的参数量就下降了。
更新门数据zt用于控制前一时刻的状态信息被带入到当前状态中的程度,更新门数据的值越大说明前一时刻的状态信息带入越多。
zt=σ(Wzxt+Uzht-1) (1)
σ()表示激活函数sigmoid;
Wz表示更新门的权重;
xt表示时刻t输入的流量数据;
Uz表示前一时刻隐藏状态矩阵ht-1的更新门权重;
ht-1表示t-1时刻隐藏状态矩阵;
zt表示更新门数据;
重置门数据rt控制前一状态有多少信息被写入到当前的候选集
Figure RE-GDA0002567792080000142
重置门数据越小,前一状态的信息被写入的越少。
rt=σ(Wrxt+Urht-1) (2)
σ()表示激活函数sigmoid;
Wr表示重置门的权重;
xt表示时刻t输入的流量数据;
Ur表示前一时刻隐藏状态矩阵ht-1的重置门权重;
ht-1表示t-1时刻隐藏状态矩阵;
rt表示重置门数据;
当xt插入网络单元时,它乘以自身的权重Wr。同样的,它包含了之前t-1时刻的信息,并乘以它自身的权重Ur。将这两个结果相加,并应用一个sigmoid激活函数来压缩0到1之间的结果。
当前内存内容为:
Figure RE-GDA0002567792080000141
Wh表示流量数据xt的权重矩阵;
xt表示时刻t输入的流量数据;
rt表示重置门;
⊙表示按元素点乘;
U表示候选集的权重;
ht-1表示t-1时刻的隐藏状态矩阵;
tanh()表示双曲正切函数;
Figure RE-GDA0002567792080000151
表示当前内存内容,即是当前候选集;
将输入xt乘以一个权重Wh,ht-1和一个权重U,计算重置门rt和Uht-1之间的Hadamard(元素方面的)乘积。
在当前时间步长的最后内存内容为:
Figure RE-GDA0002567792080000152
zt表示更新门;
ht-1表示t-1时刻隐藏状态矩阵;
Figure RE-GDA0002567792080000153
表示当前候选集;
ht表示当前时刻t步长的最后内存内容,即是t时刻的隐藏状态矩阵;
步骤1:应用元素方式的乘法到更新门zt,ht-1
步骤2:应用元素方式的乘法到更新门(1-zt),
Figure RE-GDA0002567792080000154
步骤3:对步骤1和2的结果求和。
1.2 激活函数
在神经网络中激活函数主要用于把神经网络单元的数值进行非线性变换,增加神经网络模型的非线性,提升神经网络模型表达能力。公式(5)表示的双曲正切函数,用于在注意力机制的一个激活函数。公式(6)表示ReLU(The Rectified Linear Unit)在网络模型中层之间的激活函数。
f1(x)=tanh(x) (5)
f2(x)=max(0,wTx+b) (6)
tanh()表示双曲正切函数;
max()表示取最大值函数;
w表示输入数据x的权重向量;
T表示矩阵的转置;
b表示输入数据x的偏置;
1.3 注意力机制
在网络中流量检测环境通常部署在防火墙上,而防火墙所承载的硬件平台通常计算资源和存储资源都有限制,超过额定的带宽流量让防火墙成为网络传输链路上瓶颈,不利于网络的传输。特别是有限的计算资源情况下,更应该使流量实时通过防火墙,因此流量检测器必须使用合理的计算机资源。而注意力机制恰好能解决一个难点,注意力机制是解决信息超载问题的主要手段的一种资源分配方案,将计算资源分配给更重要的任务。合理有效的利用计算资源让检测模型集中注意力在恶意流量特征映射上的识别。
注意力机制分为软注意力、硬注意力和自注意力。本发明采用软注意力的机制方式,首先模型有一个可以训练的注意力权重矩阵,通过激活函数后把值传输给 Softmax函数得到一个权值和为1的K(数据集标签类别)维度权重向量,最后与GRU 的隐藏层加权计算得到注意力向量。
ui=tanh(Wwhi+bw) (7)
Figure RE-GDA0002567792080000161
Vi=∑lαihi (9)
tanh()表示双曲正切函数;
Ww表示隐藏状态矩阵hi的权重矩阵;
hi表示GRU模型在i时刻输出的隐藏状态矩阵;
bw表示隐藏状态矩阵hi的偏置;
ui表示经过一层感知机后计算得到的值;
T表示矩阵的转置;
uw表示注意力权重矩阵;
l表示数据包段中数据分段的个数;
αi表示权重占比矩阵;
Vi表示注意力机制加权后注意力向量。
此时令i=t;则有:
ut=tanh(Wwht+bw);
Figure RE-GDA0002567792080000171
Vt=∑lαtht
tanh()表示双曲正切函数;
Ww表示隐藏状态矩阵ht的权重矩阵;
ht表示GRU模型在t时刻输出的隐藏状态矩阵;
bw表示权重矩阵Ww的偏置;
ut表示经过一层感知机后计算得到的值;
T表示矩阵的转置;
uw表示注意力权重矩阵;
l表示数据包段中数据分段的个数;
αt表示权重占比矩阵;
Vt表示注意力机制加权后注意力向量。
1.4 最大池化
最大池化是基于样本的离散化过程,主要用于对隐藏层(循环神经网络)输出或者图像的张量进行下采样,以减少其尺寸。本发明使用最大池化主要使用在第一阶段中,对GRU循环神经网络输出的隐藏层进行下采样,这样得到流量的显著特征,帮助模型减少过拟合。同样,它通过减少学习参数的数量来减少计算成本,并为内部表示提供基本的平移不变形。在本发明使用的一维的最大池化,对隐藏层 h={h1,h2,h3,...,ht-1,ht}最大池化,h1为在1时刻输出的隐藏状态矩阵,h2为在2时刻输出的隐藏状态矩阵,h3为在3时刻输出的隐藏状态矩阵,……ht-1为在t-1时刻输出的隐藏状态矩阵,ht为在t时刻输出的隐藏状态矩阵;用Ci,j表示隐藏层h中的每个特征映射值,通过式(10),以滤波器大小为2,计算每个维度最大值
Figure RE-GDA0002567792080000181
Figure RE-GDA0002567792080000182
max()表示取最大值函数;
Ci,j表示隐藏层h矩阵中i行j列的值;
Ci,j+1表示隐藏层h矩阵中i行j+1列的值;
隐藏层h最终通过最大池化结果,得到一维的向量
Figure RE-GDA0002567792080000183
l表示序列长度(即数据包段中数据分段的个数)。
1.5 多层感知机
MLP(Multilayer Perceptron)是一种前向结构的人工神经网络,是映射一组输入向量到输出向量。在每个结点的地方都有一个非线性激活函数单元,如公式(11)表示一个神经网络完成计算后,需要经过激活函数(11),把值传递到下一神经单元。
Figure RE-GDA0002567792080000184
D=[D1,D2,D3,...,Dl] (12)
H表示下一层有多少个神经单元;
Wkj表示第j个稠密单元的权重向量;
xk表示输入的信息;即
bj表示第j个稠密单元的偏差;
f()表示激活函数,通常是relu激活函数;l表示数据包段中数据分段的个数;
对于每个单元可以得到输出Dj,最后将每个单元的输出连接起来得到稠密结果D。
1.6 输出Softmax
Softmax回归是逻辑回归函数的一种,在数据集K类标签下,得到值在(0,1)的K 维度的一维向量σ(x),计算该向量公式如(13)所示。
Figure RE-GDA0002567792080000191
xj表示输入到softmax层的值;
K表示分类的类别数;
在流量分类输出的最后阶段使用Softmax regression能够完成这一个多分类任务。为了建立一个多分类器,MLP输出x到Softmax,需要一个假设函数来估计每个类j的概率P(y=j|x)。也就是说,需要估计每个可能的分类输出的概率。具体来讲,假设函数应该输出一个K维向量(向量元素之和为1)以表示估计的概率。假设函数的公式如 (14)所示。
Figure RE-GDA0002567792080000192
y(i)表示第i个样本的标签值;
x(i)表示第i个样本的值;
θ表示模型中被训练的权重;
K表示分类的类别数;
T表示矩阵的转置;
P(|)表示条件概率;
式中,假设函数是hθ(x(i)),且θ01,...,θK是确定的参数,
Figure RE-GDA0002567792080000193
是归一化的因子。若样本分类概率hθ(x(i))在预设样本分类阈值范围内,则该样本为正常流量;若样本分类概率hθ(x(i))未在预设样本分类阈值范围内,则该样本为恶意流量。此外,如果θ→∞,那么Softmax会变成最大函数。当采取不同的有限值,Softmax可以被认为是一个参数化和最大化的软化功能。
在显示屏上显示统计监测到的恶意流量的总数目和恶意流量所对应的时刻,以及展示当天、每个星期、每个月、每个季度、当年之一或者任意组合的恶意流量的攻击次数曲线及其准确率、查准率、检测率、误报率、综合率等性能评价参数。
1.7 损失函数
使用交叉熵损失函数(目标函数),用于计算真值和模型预测值之间的损失值,然后使用损失值,反向传播求导,梯度更新迭代,最后得到模型近似最优解θ。式(15) 是交叉熵损失表达式,适用于二分类或者多分类loss函数的计算。
Figure RE-GDA0002567792080000201
其中,x(i)表示第i个样本的值,y(i)表示第i个样本的标签值,m为训练样本的数量,模型中被训练的权重θ,训练集{(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))},训练样本标签有K类,则y(i)∈{1,2,...,K}。
2 实验和分析
2.1 实验环境
本发明提出的模型的超参数:初始化学习率0.01;学习率参数调整方式采用余弦退火;梯度参数优化器Adam,且其中参数betas为0.9和0.99;Epoch为320。
实验的硬件环境是处理器CPU是I7-4790K@4.4GHz,内存是64GB,存储SSD 容量为2TB,用于实验的网络模型加速训练设备是NVIDIARTX-2080TI。本实验操作系统是Ubuntu18.04LTS,CUDA 10.1,cuDNN 7.5,网络模型使用PyTorch框架编写。
2.1 数据集
实验的数据集是用来验证本发明所提出的HAGRU模型性能,接下来分析三个数据集(NSL-KDD、CIC-IDS2017和CSE-CIC-IDS2018)的组成和数据集的一些特征。
2.2.1 NSL-KDD
NSL-KDD数据集于2009年被生成,然后被广泛用于入侵检测实验。在一些网络安全入侵检测实验中,几乎所有的研究人员都将NSL-KDD用作基准数据集, NSL-KDD不仅有效地解决了KDD Cup 1999数据集固有的冗余样本问题,而且合理调整数据集的各类样本的比例,使数据集类别更加的平衡,这样流量分类器模型就不会偏向更频繁的数据样本类别。NSL-KDD数据集包含训练集(KDDTrain+)和测试接(KDDTest+),它们具有正常流量记录和四种不同类型的攻击流量的记录。如表1 所示,统计训练集和测试集包含的流量数据标签类别分别是正常流量和四种攻击流量:Dos(拒绝服务攻击)、R2L(unauthorized access froma remote machine)、 U2R(unauthorized access to local superuser(root)privileges)、Probe(surveillance and other probin)。如表2展示每一条流量经过数值特征化后得到一条流量的特征向量,共有41个特征,其中包含基本特征(编号0-9的特征)、内容特征(编号10-21)、通信特征(编号22-40)。并且在测试集中有一些独特的攻击类型,但是训练集并没有出现,模型在这样测试集上更能够反应模型实际的恶意流量检测的能力。
表1 NSL-KDD数据中标签分类
Toal Normal Dos Probe R2L U2R
KDDTrain<sup>+</sup> 125973 67343 45927 11656 995 52
KDDTest+ 22544 9711 7458 2421 2754 200
表2 NSL-KDD数据集特征
Figure RE-GDA0002567792080000211
Figure RE-GDA0002567792080000221
2.2.2 CIC-IDS2017
CIC-IDS2017数据集包含良性和最近的常见攻击流量数据,是在真实的背景流量(正常流量)下展开模拟黑客攻击,并通过监视器收集到网络数据流量。为了解决用于训练的恶意流量检测模型的数据真实有效性,于是CIC-IDS2017涵盖了非常广泛的流量,例如:具有完整的网络拓扑,包括调制解调器、防火墙、交换机、路由器、以及各类操作系统(Windows,Ubuntu and Mac OS)和多样性的攻击,大约包含基于Web攻击、暴力破解、DoS、DDoS、常见渗透攻击、心脏滴血、僵尸网络、网络扫描。另外根据每个时间段的攻击来标定攻击流量的数据类型,如表3展示 CIC-IDS2017数据集各类攻击样本的分布情况,由于正常的流量比攻击流量样本多,因此需要进行数据平衡,保证模型泛化能力的性能。CIC-IDS2017数据与 CSE-CIC-IDS2018一样使用CICFlowmeter-V4.0把流量数据进行特征处理变成数值向量信息,并且流量特征达到79项,比NSL-KDD特征数量还多,这样更容易让恶意流量检测模型精度的提高。
表3 CIC-IDS2017数据集攻击类型分布
Figure RE-GDA0002567792080000222
Figure RE-GDA0002567792080000231
2.2.3 CSE-CIC-IDS2018
CSE-CIC-IDS2018数据集由加拿大网络安全研究所(Canadian Cyber SecurityResearch Institute,CIC)和通信安全机构(CSE)创建的数据集,模拟真实的网络通信环境下恶意用户可能发起的网络攻击而收集到的流量数据,该数据集记录了10天网络流量(其中包含合法流量和恶意流量)。数据集收集了七种不同场景的攻击,包括暴力破解,Heartbleed,僵尸网络,DoS,DDoS,Web攻击以及内网络的渗透。
CSE-CIC-IDS2018数据集中包含样本流量类别标签。类别标签分为正常网络流量和具有攻击性的网络活动产生的流量。数据特征信息包含了网络交互的信息)例如,协议名称、时间段、源IP、目标IP,源端口,目的端口等信息)。表4列出具体攻击类型以及相应的样本的数量。
表4 CSE-CIC-IDS2018中不同攻击类型样本统计
Attack Name Frequency Attack Name Frequency
'DDOS attack-HOIC 686012 DoS attacks-SlowHTTPTest 139890
DDoS attacks-LOIC-HTTP 576191 DoS attacks-GoldenEye 41508
DoS attacks-Hulk 461912 DoS attacks-Slowloris 10990
Bot 286191 DDOS attack-LOIC-UDP 1730
FTP-BruteForce 193360 Brute Force-Web 611
SSH-Bruteforce 187589 Brute Force-XSS 230
Infilteration 161934 SQL Injection 87
CIC团队每天记录原始数据,包括网络流量和事件日志。在从原始数据进行特征提取的过程中,他们使用CICFlowMeter-V4.0提取了超过了80多个网络流量特征。最后,将这些数据保存为CSV文件方便机器学习方法的研究。
2.3 数据预处理
2.3.1 数字化
实验使用的三个数据集中当中,只有NSL-KDD数据集需要数值处理,目的是把字符类型的特征转化成数值特征。在NSL-KDD数据中有38个数值型特征和3个字符型特征。因为恶意流量检测模型输入必须为数值型特征向量,必须对非数值型特征进行数值化处理,例如“protocol_type”,“service”和“flag”特征。例如特征‘protocol_type’有三种属性,分别是‘tcp’,‘udp’and‘icmp’,将这个特征进行one-hot 编码为(1,0,0),(0,1,0),(0,0,1)向量。同上,‘service’有70种属性,‘flag’有11种属性都需要进行one-hot编码。
2.3.2 归一化
本论文实验所使用三个数据集都需要数据归一化操作,数据归一化的能够让模型的参数梯度更新每次都朝向正确的方向,同时也能稳定收敛。例如“duration[0,58329]”,“src_bytes[0,1.3×109]”,“dst_bytes[0,1.3×109]”,这些特征值最大和最小值相差较大,需要min-max标准化,对原始数据进行线性变换,使特征值映射到(0-1)之间。进行数值归一化使用Min-Max的方法,公式如(16)。
Figure RE-GDA0002567792080000241
Min表示数据中的最小值;
Max表示数据中的最大值;
xi表示数据中的第i个数据;
2.3.3 数据缺失值处理
流量数据通过CICFlowMeter-V4.0工具提取到的特征,有少部分样本的存在缺失值,本发明针对缺失值的特征采用平均值法进行处理,利用其他样本未在该特征上未缺失进行加权平均,然后将其补上。
另外一个不同于缺失值的情况,在特征上出现“NAN”和“Infinity”的情况,本发明采用了平均值法,将其填充。
2.3.4 数据采样
(1)恶意流量频次采样
根据攻击对攻击行为的分析,一般情况下,网络攻击基本是连续性的,那么其对应产生的攻击流量会在某一个段时间内频繁出现。为了把训练的数据模拟成真实环境下的攻击请求频率,采用局部攻击数据采样。如图4所示,网络攻击的在时间段上频率,当频率值为0时,即表示此时没有网络攻击流量。
根据图4的网络攻击频率在和结合本发明所提出的数据包段方式,如图2,即在数据包段内出现攻击数据包的频次作网络攻击频率。显然当没有出现攻击时数据包段内部并没有攻击数据包,当攻击频次很少时,相对应的在数据包段的攻击数据包也很少,同理当攻击频次非常高时,那数据包段内几乎都是攻击数据包。
(2)数据样本不平衡
在文章中用于实验的三个数据集,其中有CIC-IDS2017、CSE-CIC-IDS2018数据集的样本类别数量不平衡,因为在网络环境中收集的数据大多数是正常的流量,只有少部分是攻击的流量,如果不处理数据平衡问题那么就可能导致训练的模型具有偏向性,导致模型的泛化能力比较差。于是本发明应对正常流量样本比攻击流量多很多情况下,决定使用欠采样,即对正常流量样本抽取部分用于模型的训练,保证数据类别的平衡性。
2.4 性能评估
对于分类问题,可以有二分类和多分类,二分类的结果分为正确或不正确,而多分分类是按标签进行多分类,但是多分类的问题可以拆解为多个二分类的问题,那么所有可能的结果可以分为以下四个情况,如表5所示。
表5 混淆矩阵
Figure RE-GDA0002567792080000251
Figure RE-GDA0002567792080000261
TP(True Positive):实际攻击被归类为攻击;
TN(True Negative):实际正常记录被分类为正常;
FP(False Positive):实际的正常记录被归类为攻击;这种情况也称为假警报;
FN(False Negative):实际攻击被归类为正常记录。
接下来使用不同评价指标来评估所提出的模型的性能:
Figure RE-GDA0002567792080000262
准确率衡量被正确分类流量样本占总流量样本的比例。
Figure RE-GDA0002567792080000263
查准率是衡量恶意流量检测模型把标签为恶意的流量样本预测为恶意流量样本占整个恶意流量样本之比。
Figure RE-GDA0002567792080000264
检测率是衡量标签为恶意流量占被模型检测到恶意流量之比,来衡量模型检测恶意流量的能力。
Figure RE-GDA0002567792080000265
误报率是衡量正常流量被检测模型分为恶意攻击型流量的概率。
Figure RE-GDA0002567792080000266
Precision表示查准率;
F-score是由查准率和检测率两个因素平衡构成的综合率,这是有效评价一个模型综合检测的有效性度量。式(21)中的β是一个权重因子,通常取值为1。
一方面,从模型分类器的角度来看,查准率和检测率是一对相互矛盾的指标。更高的查准率意味着更少的误报,但是更高的检测率也意味着更少的误报。例如,如果将更多可疑攻击归为攻击(那么在极端情况是将所有流量归为攻击流量),则检测率将会提高,但查准率将大大降低,反之亦然。因此,单个高查准率或检测率并没有意义的。另一方面,从入侵检测的角度来看,尤其是在某些严格的环境中(需要高度的安全的网络环境,尤其在电商、银行等网络环境),入侵的容忍度很低,因此单独的检测率也是重要指标。F-score度量是对查准率和检测率的综合考虑,F-score 是基于查准率和检测率的谐波平均值。F-score值越高,那么意味着准确率和检测率越高。
2.5 实验结果
本发明提出一种层级注意力的恶意流量检测模型HAGRU,然后用实验证明该模型在NSL-KDD、CIC-IDS2017以及CES-CIC-IDS2018三个不同数据集上的有效可行性。在实验中进行了数据频率采样和数据不平衡处理,并在每个数据集上进行了训练集和测试集的划分,其比例为8:2。采用了三种机器学习模型和三种深度学习模型与所提出的HAGRU模型进行对比分析。被选择的三个机器学习模型为SVM、 XGBoost、Random Forest,三个模型都其具体的代表性,SVM是单一分类器,XGBoost 是一种串行流的集成学习算法,而RandomForest是一种并行的集成学习算法。而在深度学习模型方面对比,本发明采用的是经典神经网络作为对比,分别是多层感知机(MLP)、LSTM、GRU。所提出的HAGRU模型是基于GRU模型之上,因此选择与GRU模型进行对比是很有必要的。
实验结果均是模型在测试集上的表现。如表6~表8所示,表6~表8的列显示各个数据集内具体样本类型,表6~表8的行显示提出的HAGRU模型和其余6个对比模型。本发明选择了准确率(Acc)、误报率(FPR)、F-score作为主要的评估指标,而有关本发明所提出HAGRU模型在这三个数据集详细评估指标和混淆矩阵在附录(如图6~图11)展示。评估指标的数均在[0-1]之间,其中准确率(Acc)评估指标越高。模型的在这类数据上效果越好,同理F-score也是。但是误报率(FPR)是值越低越好,误报率越小,模型在恶意流量检测越好,可以提高网络安全,减少因误报造成的安全问题。
表6 数据集NSL-KDD各模型性能对比,单位是百分数(%)
Figure RE-GDA0002567792080000281
表7 数据集CIC-IDS2017各模型性能对比,单位是百分数(%)
Figure RE-GDA0002567792080000282
表8 数据集CES-CIC-IDS2018各模型性能对比,单位是百分数(%)
Figure RE-GDA0002567792080000283
接下来分析所提出的HAGRU模型和6个经典模型在各个数据集上评估指标分析。
表6中是各个模型在NSL-KDD数据集上的评估指标。为了便于观察,表格内所有数值均是百分制单位。通过表6可知,本发明所提出HAGRU模型在总样本的准确率和总样本的F-score比对照的模型稍好。HAGRU模型在NSL-KDD数据集的 Normal、DoS、Probe、R2L类别上并没有在性能指标上领先对比模型,而在最后一个类别U2R上比对比模型性能突出,这样使HAGRU模型在总的样本上评估指标比对照模型的指标要优异一些且达到了准确率为99.74%和F-score为95.56%。由于 NSL-KDD数据集上存在数据样本类别不平衡,且即使已经进行了数据采样处理,也不能完全解决这一个问题,且在恶意流量检测中所使用数据无法进行数据增强方式来扩充数据多样性。但由于HAGRU模型采用了注意力机制方式,即针对数据量比较少样本的情况也能够做出好的识别,使得HAGRU模型在类别不平衡数据集也取得相对较好的性能。
表7中是各个模型在CIC-IDS2017数据集上的表现。实验中把CIC-IDS2017重新进行归类采样,原有的数据类别(表3)Web Attack&Brute、Web Attack&XSS、Web Attack&Sql,因为数据量太小,无法满足实验的需求,于是把这个三个类别都重新划分为Web Attack。同理其他类似样本,都按照攻击类型的相似性进行类别划分,于是得到了Bot、DDoS、DoS、Patator、PortScan、Web Attack六种攻击类别。根据表 7可知,HAGRU同样在总样本的性能上比对照模型优异一些,准确率和F-score分别为99.73%、96.10%,但同样得指出并不是在所有类别上每个评估指标都良好,例如Bot类别提出的模型并没有比其他模型表现突出。但从综合的角度来考量所提出的HAGRU模型比其他模型好,尤其在某些类别不平衡的情况下,例如Web Attack 类别的F-score值达到了89.72%,均比其他模型的F-score值高。在表7中当FPR的值为0时即使误报率为0,这种情况不一定模型表现性能就好,需要进一步查看F-score的值,例如使用Random Forest模型对Bot分类,虽然FPR为0,但F-score 值为1.51,远小于其他模型的值,这种情况下Random Forest模型对Bot类别分类性能非常槽糕,同理但凡模型出现这种类似的情况都可以认定为模型的性能比较差。而提出的HAGRU模型对CIC-IDS2017数据各类别流量样本分类比其他模型具有一定的提升。
表8中是各类模型在CSE-CIC-IDS2018数据集上的表现。根据CSE-CIC-IDS2018 数据集中各攻击样本统计如表4所示,有些攻击类别非常少,造成与其他样本出现严重的数据集平衡。因此不仅需要做样本不平衡处理,同时也要进行样本重定义标签,本发明依据攻击近似前提下对Brute Force-Web、Brute Force-XSS、SQL Injection 这个三类合成WebAttack。于是在CSE-CIC-IDS2018数据集中一共分为13个类别: Benign、DDoSAttacksLOIC-HTTP、Bot、DDoS attack-HOIC、DoS Attack-Hulk、 FTP-Brute Force、SSH-Brute Force、Infilteration、DoS Attacks lowHTTPTest、DoS Attacks-GoldenEye、DoSAttacks-SlowLoris、DDoS Attack-LOIC-UDP、Web-Attack。本发明提出的HAGRU模型依然能够在总样本情况下取得不错的成绩,准确率和 F-score的值分别是94.87%和93.95%。在每个攻击类别上,HAGRU模型与其他模型相比基本都有一些性能上的提升,并且HAGRU模型在DDoS Attack-LOIC-UDP、 SSH-Brute Force、DDoS attack-HOIC这三类中实现了0误报率,准确度和F-score都接近100%,表明该模型能够非常好的识别这类攻击。
本发明还进行了数据包段长度对HAGRU模型的影响,因此选择数据包段长度为64、128、256、512、1024进行对比。实验结果如图5所示,经过综合指标precision、 DetectionRate、FPR、F-score的考虑,当数据包段长度为384时,HGRU模型性能表现良好。于是在实验中HAGRU模型数据包分段大小都选择384这个值。
通过在三个数据集上实验进行分析来看,本发明所提出的HAGRU模型在总的样本分类性能具有一定的优势,且相比NSL-KDD这种小型数据集,在CIC-IDS2017 和CSE-CIC-IDS2018相对较大数据集上,HAGRU模型不仅在总的样本分类取得不错的成绩,同时在多数攻击类别上也取得不错的成绩。因此越大的数据集和越多样本类别来训练提出的HAGRU模型,会使模型的性能越来越好。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。

Claims (13)

1.一种融合深度神经网络和层级注意力机制的恶意流量更新方法,其特征在于,包括以下步骤:
S1,获取原始流量数据,对获取的所述原始流量数据进行预处理;
S2,通过时序处理特征向量捕获每个流量数据之间的特征信息;步骤S2具体包括以下步骤:
S21,根据输入的流量数据计算获得更新门数据;其更新门数据的计算方法为:
zt=σ(Wzxt+Uzht-1),
σ()表示激活函数sigmoid;
Wz表示更新门的权重;
xt表示时刻t输入的数据;
Uz表示前一时刻隐藏状态矩阵ht-1的更新门权重;
ht-1表示t-1时刻隐藏状态矩阵;
zt表示更新门数据;
S22,根据输入的流量数据计算得到重置门数据;其重置门数据的计算方法为:
rt=σ(Wrxt+Urht-1),
σ()表示激活函数sigmoid;
Wr表示重置门的权重;
xt表示时刻t输入的数据;
Ur表示前一时刻隐藏状态矩阵ht-1的重置门权重;
ht-1表示t-1时刻隐藏状态矩阵;
rt表示重置门数据;
S23,根据步骤S22计算得到当前内存内容;其当前内存内容的计算方法为:
Figure FDA0003296051650000011
Wh表示流量数据xt的权重矩阵;
xt表示时刻t输入的数据;
rt表示重置门数据;
⊙表示按元素点乘;
U表示候选集的权重;
ht-1表示t-1时刻的隐藏状态矩阵;
tanh()表示双曲正切函数;
Figure FDA0003296051650000021
表示当前候选集;
S24,根据步骤S21和步骤S23获取在当前时间步长的最后内存内容;其最后内存内容的计算方法为:
Figure FDA0003296051650000022
zt表示更新门数据;
ht-1表示t-1时刻隐藏状态矩阵;
Figure FDA0003296051650000023
表示当前候选集;
ht表示t时刻的隐藏状态矩阵;
S3,分配得到注意力向量;其注意力向量的计算方法为:
ui=tanh(Wwhi+bw),
tanh()表示双曲正切函数;
Ww表示隐藏状态矩阵hi的权重矩阵;
hi表示GRU模型在i时刻输出的隐藏状态矩阵;
bw表示权重矩阵Ww的偏置;
ui表示经过一层感知机后计算得到的值;
Figure FDA0003296051650000024
T表示矩阵的转置;
uw表示注意力权重矩阵;
l表示数据包段中数据分段的个数;数据包段是根据时间的先后顺序,把流量数据按长度进行分段;
αi表示权重占比矩阵;
Vi=Σlαihi
Vi表示注意力机制加权后的注意力向量;
S4,对其流量数据进行特征融合;并对融合的特征进行线性变换;对其流量数据进行特征融合的计算方法为:
Figure FDA0003296051650000031
max()表示取最大值函数;
Ci,j表示隐藏层h矩阵中i行j列的值;
Ci,j+1表示隐藏层h矩阵中i行j+1列的值;
得到一维的向量
Figure FDA0003296051650000032
对其融合的特征进行线性变换的计算方法为:
Figure FDA0003296051650000033
H表示下一层有多少个神经单元;
Wkj表示第j个稠密单元的权重向量;
xk表示输入的信息;
bj表示第j个稠密单元的偏差;
f()表示激活函数;
将每个单元的输出连接起来得到稠密结果D=[D1,D2,D3,...,Dl];
S5,将流量数据进行分类;
S6,对其迭代更新。
2.根据权利要求1所述的融合深度神经网络和层级注意力机制的恶意流量更新方法,其特征在于,在步骤S1中原始流量数据的获取方法为采用抓包工具,该抓包工具包括wireshark;
在步骤S1中对获取的原始流量数据预处理的方法包括以下步骤:
S11,对获取的所述原始流量数据保存为能识别的文件格式的流量数据;
S12,对步骤S11中保存的流量数据进行特征转换。
3.根据权利要求2所述的融合深度神经网络和层级注意力机制的恶意流量更新方法,其特征在于,在步骤S111中保存为能识别的文件格式的流量数据为pcap文件格式的流量数据。
4.根据权利要求2所述的融合深度神经网络和层级注意力机制的恶意流量更新方法,其特征在于,在步骤S12中对保存的流量数据进行特征转换的方法为利用CICFlowmeter-V4.0工具,将pcap数据解析成79个数字特征,即每一个数据包由一个79维度向量构成。
5.根据权利要求3所述的融合深度神经网络和层级注意力机制的恶意流量更新方法,其特征在于,在步骤S12中利用CICFlowMeter-V4.0工具提取到的特征,若样本存在缺失值,则对缺失值的特征采用平均值法进行处理。
6.根据权利要求1所述的融合深度神经网络和层级注意力机制的恶意流量更新方法,其特征在于,在步骤S5中,对流量数据的分类方法为:
Figure FDA0003296051650000041
Figure FDA0003296051650000042
是归一化的因子;
y(i)表示第i个样本的标签值;
x(i)表示第i个样本的值;
θ表示模型中被训练的权重;
K表示分类的类别数;
T表示矩阵的转置;
P(|)表示条件概率;
若样本分类概率hθ(x(i))在预设样本分类阈值范围内,则该样本为正常流量;
若样本分类概率hθ(x(i))未在预设样本分类阈值范围内,则该样本为恶意流量。
7.根据权利要求1所述的融合深度神经网络和层级注意力机制的恶意流量更新方法,其特征在于,在步骤S6中,迭代更新的计算方法为:
Figure FDA0003296051650000051
m表示训练样本的数量;
y(i)表示第i个样本的标签值;
hθ(x(i))表示假设函数;
x(i)表示第i个样本的值;
若损失值J(θ)大于或者等于预设损失值阈值,反向传播求导,梯度更新迭代;
若损失值J(θ)小于预设损失值阈值,则停止更新。
8.根据权利要求1所述的融合深度神经网络和层级注意力机制的恶意流量更新方法,其特征在于,还包括步骤S7,
S7,对其性能进行评估,其评估参数包括准确率、查准率、检测率、误报率、综合率之一或者任一组合。
9.根据权利要求8所述的融合深度神经网络和层级注意力机制的恶意流量更新方法,其特征在于,其准确率的计算方法为:
Figure FDA0003296051650000052
其中,TP表示实际攻击被归类为攻击;
TN表示实际正常记录被分类为正常;
FP表示实际的正常记录被归类为攻击;
FN表示实际攻击被归类为正常记录;
Accuracy表示准确率。
10.根据权利要求8所述的融合深度神经网络和层级注意力机制的恶意流量更新方法,其特征在于,其查准率的计算方法为:
Figure FDA0003296051650000061
TP表示实际攻击被归类为攻击;
FP表示实际的正常记录被归类为攻击;
Precision表示查准率。
11.根据权利要求8所述的融合深度神经网络和层级注意力机制的恶意流量更新方法,其特征在于,其检测率的计算方法为:
Figure FDA0003296051650000062
TP表示实际攻击被归类为攻击;
FN表示实际攻击被归类为正常记录;
DR表示检测率。
12.根据权利要求8所述的融合深度神经网络和层级注意力机制的恶意流量更新方法,其特征在于,其误报率的计算方法为:
Figure FDA0003296051650000063
FP表示实际的正常记录被归类为攻击;
TN表示实际正常记录被分类为正常;
FPR表示误报率。
13.根据权利要求8所述的融合深度神经网络和层级注意力机制的恶意流量更新方法,其特征在于,其综合率的计算方法为:
Figure FDA0003296051650000064
β表示一个权重因子;
Precision表示查准率;
DR表示检测率;
F-score表示综合率。
CN202010474182.1A 2020-05-29 2020-05-29 融合深度神经网络和层级注意力机制的恶意流量更新方法 Active CN111629006B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010474182.1A CN111629006B (zh) 2020-05-29 2020-05-29 融合深度神经网络和层级注意力机制的恶意流量更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010474182.1A CN111629006B (zh) 2020-05-29 2020-05-29 融合深度神经网络和层级注意力机制的恶意流量更新方法

Publications (2)

Publication Number Publication Date
CN111629006A CN111629006A (zh) 2020-09-04
CN111629006B true CN111629006B (zh) 2021-11-23

Family

ID=72260762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010474182.1A Active CN111629006B (zh) 2020-05-29 2020-05-29 融合深度神经网络和层级注意力机制的恶意流量更新方法

Country Status (1)

Country Link
CN (1) CN111629006B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112766603B (zh) * 2021-02-01 2024-08-13 湖南大学 一种交通流量预测方法、系统、计算机设备及存储介质
CN113204641B (zh) * 2021-04-12 2022-09-02 武汉大学 一种基于用户特征的退火注意力谣言鉴别方法及装置
CN113132391B (zh) * 2021-04-20 2022-11-29 辽宁谛听信息科技有限公司 一种用于工控蜜罐的恶意行为识别方法
CN114338199B (zh) * 2021-12-30 2024-01-09 广东工业大学 一种基于注意力机制的恶意流量检测方法和系统
CN115086006B (zh) * 2022-06-13 2024-02-02 安徽工业大学 一种基于双向门控逻辑单元的分布式应用程序加密流量分类方法
CN115314239A (zh) * 2022-06-21 2022-11-08 中化学交通建设集团有限公司 基于多模型融合的隐匿恶意行为的分析方法和相关设备
CN115512717A (zh) * 2022-11-21 2022-12-23 东北石油大学三亚海洋油气研究院 一种基于集成学习的二阶段单传感器管道泄漏定位方法
CN116257884B (zh) * 2023-03-20 2023-09-05 杭州霖芮科技有限公司 一种基于流量分析的电商平台客户数据处理方法与系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110166484A (zh) * 2019-06-06 2019-08-23 中国石油大学(华东) 一种基于LSTM-Attention网络的工业控制系统入侵检测方法
CN110414219A (zh) * 2019-07-24 2019-11-05 长沙市智为信息技术有限公司 基于门控循环单元与注意力机制的注入攻击检测方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10963566B2 (en) * 2018-01-25 2021-03-30 Microsoft Technology Licensing, Llc Malware sequence detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110166484A (zh) * 2019-06-06 2019-08-23 中国石油大学(华东) 一种基于LSTM-Attention网络的工业控制系统入侵检测方法
CN110414219A (zh) * 2019-07-24 2019-11-05 长沙市智为信息技术有限公司 基于门控循环单元与注意力机制的注入攻击检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于深度学习的网络入侵检测方法研究》;许聪源;《中国博士学位论文全文数据库》;20191215;1-133 *

Also Published As

Publication number Publication date
CN111629006A (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
CN111629006B (zh) 融合深度神经网络和层级注意力机制的恶意流量更新方法
CN111669384B (zh) 融合深度神经网络和层级注意力机制的恶意流量检测方法
CN111669385B (zh) 融合深度神经网络和层级注意力机制的恶意流量监测系统
Dong et al. Network abnormal traffic detection model based on semi-supervised deep reinforcement learning
Palmieri et al. A distributed approach to network anomaly detection based on independent component analysis
Sahu et al. Data processing and model selection for machine learning-based network intrusion detection
Chen et al. Network anomaly detection based on deep support vector data description
Liu et al. Malicious traffic detection combined deep neural network with hierarchical attention mechanism
Blanco et al. Anomaly detection using gaussian mixture probability model to implement intrusion detection system
Elfeshawy et al. Divided two-part adaptive intrusion detection system
Lambert II Security analytics: Using deep learning to detect cyber attacks
Pandey Design and performance analysis of various feature selection methods for anomaly‐based techniques in intrusion detection system
Wang et al. An Intelligent Digital Twin Method Based on Spatio-Temporal Feature Fusion for IoT Attack Behavior Identification
Wang et al. Intrusion detection using few-shot learning based on triplet graph convolutional network
Huynh et al. On the performance of intrusion detection systems with hidden multilayer neural network using DSD training
CN117454392A (zh) 一种基于元宇宙的社交网络安全管理系统
Bienias et al. Architecture of anomaly detection module for the security operations center
Maseer et al. Meta‐analysis and systematic review for anomaly network intrusion detection systems: Detection methods, dataset, validation methodology, and challenges
Sekhar Deep learning algorithms for intrusion detection systems: extensive comparison analysis
Gouveia et al. Deep Learning for Network Intrusion Detection: An Empirical Assessment
Herrero et al. Mobile hybrid intrusion detection
Deshpande A Review on Intrusion Detection System using Artificial Intelligence Approach
Bingu et al. Performance comparison analysis of classification methodologies for effective detection of intrusions
Alves et al. Evaluating the behaviour of stream learning algorithms for detecting invasion on wireless networks
Chahira Model for intrusion detection based on hybrid feature selection techniques

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230117

Address after: 212000 room 2208, 22nd floor, building 8, Xinyuan Huafu, No. 36, Huangshan South Road, Runzhou District, Zhenjiang City, Jiangsu Province

Patentee after: Jiangsu Dongyun Cloud Computing Co.,Ltd.

Address before: Room 801, No. 85, Kefeng Road, Huangpu District, Guangzhou City, Guangdong Province, 510000

Patentee before: Yami Technology (Guangzhou) Co.,Ltd.

Effective date of registration: 20230117

Address after: Room 801, No. 85, Kefeng Road, Huangpu District, Guangzhou City, Guangdong Province, 510000

Patentee after: Yami Technology (Guangzhou) Co.,Ltd.

Address before: No.69 Hongguang Avenue, Banan District, Chongqing

Patentee before: Chongqing University of Technology