CN115622806B - 一种基于bert-cgan的网络入侵检测方法 - Google Patents
一种基于bert-cgan的网络入侵检测方法 Download PDFInfo
- Publication number
- CN115622806B CN115622806B CN202211553706.1A CN202211553706A CN115622806B CN 115622806 B CN115622806 B CN 115622806B CN 202211553706 A CN202211553706 A CN 202211553706A CN 115622806 B CN115622806 B CN 115622806B
- Authority
- CN
- China
- Prior art keywords
- bert
- network
- data
- classifier
- network traffic
- 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
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
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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
- 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
-
- 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
Abstract
本发明公开了一种基于BERT‑CGAN的网络入侵检测方法,包括以下步骤:数据预处理,将非文本的网络流量统计特征数据转化为文本格式的数据,用于适应大规模语言模型BERT;通过生成器对数据集进行增广,根据条件控制信息生成不同种类的网络攻击流量样本,用于对数据集进行增广;通过BERT增强分类器,利用BERT提取网络流量数据的特征并编码成高维的数值表示,分类网络模块对来BERT和生成器的网络流量高维特征表示进行分类;本方法可以对数据集进行增广,缓解数据不平衡问题并提升模型的泛化能力,有效的提升了网络入侵检测的准确率。
Description
技术领域
本发明涉及网络攻击检测领域,特别涉及一种基于BERT-CGAN的网络入侵检测方法。
背景技术
随着互联网的飞速发展,网络中攻击事件出现的频率和规模呈现出逐年增加的趋势。分布式拒绝服务Distributed Denial of Service, DDoS攻击、挖矿活动、Web 攻击、利用系统漏洞等形式攻击越来越频繁,对国家安全、经济发展和社会稳定带来严重隐患。因此,如何有效地防护来自网络中的攻击行为已成为当前亟需解决的问题。入侵检测系统Intrusion Detection System, IDS是一种安全防护方案。通过分析实时网络流量和监视主机,IDS能够辨识网络中的入侵行为,为安全管理人员提供响应决策。
机器学习方法适合处理大规模网络中的复杂决策问题,成为解决网络入侵检测的重要技术手段。在机器学习框架下,入侵检测可以看作一个分类问题,即:对主机数据和网络流量进行二分类或多分类的判断。面对海量网络数据,加之数据的复杂性和特征的多样性,传统浅层机器学习难以提取网络流量数据细节特征进行分析和预测,无法提供满意的检测效果。通过学习网络流量样本数据的内在规律和表示层次,深度学习方法可以构建多个隐藏层组建的非线性网络结构,从而适应较高维度学习和预测的要求。特别是,深度学习方法可以节省大量特征提取的时间,并能根据问题自动建立模型,在解决网络入侵检测问题中很有前景。尽管如此,随着网络攻击手段的不断变化、攻击种类不断增加,基于深度学习入侵检测依然面临许多挑战性问题。
例如:正常情况下,网络中异常流量数据远远少于正常流量数据,存在类别不平衡问题。此外,异常数据中不同类型攻击的流量条目在数量和内在特征上也存在明显差距。深度学习方法依赖样例数据,所以用类别比率不平衡的数据集训练模型会降低检测准确率。平衡的数据集有利于提高模型分类准确率,但会降低模型的实用性。因此,数据不平衡问题是入侵检测中的一个难点。
此外,入侵检测数据集中通常包含大量冗余、噪声数据及不相关数据。对数据进行特征提取能够去除冗余数据、降低特征维度、减小计算开销,提升分类器的泛化能力和检测性能。因此,网络流量特征提取是入侵检测最必不可少的环节。以往的一些研究只考虑正常网络流量和异常攻击的二分类情况。由于不同类型攻击的模式大相径庭,简单的二分类不足以为安全人员提供有价值的参考。实现准确多分类的一个先决条件是有效提取不同类型攻击的细节特征信息。然而,由于数据的复杂性和网络攻击多样性,如何提升特征提取能力以支持检测模型精准的多分类面临严峻的挑战。
发明内容
为实现上述目的,发明人提供了一种基于BERT-CGAN的网络入侵检测方法,包括以下步骤:
数据预处理,将非文本的网络流量统计特征数据转化为文本格式的数据,用于适应大规模语言模型BERT;
通过生成器对数据集进行增广,根据条件控制信息生成不同种类的网络攻击流量样本,用于对数据集进行增广;
通过BERT增强分类器,利用BERT提取网络流量数据的特征并编码成高维的数值表示,分类网络模块对来BERT和生成器的网络流量高维特征表示进行分类。
作为本发明的一种优选方式,所述数据预处理包括步骤:
通过CICFlowMeter 提取网络流量统计特征,特征提取后,将不同日期生成的不同类型攻击数据进行整合;
将非字符形式的特征转换成文本格式的数据,转换后的每一条流量数据对应一个句子,流量数据的统计特征对应句子中的词,通过BERT对相应句子提取隐藏的特征信息,并将标签编码为one-hot向量,用于支持分类训练。
作为本发明的一种优选方式,所述网络流量统计特征包括流量持续时间、前向数据包总量、前向数据包最大长度、源端口、目的端口、通信协议和/或前向报头的总字节数。
作为本发明的一种优选方式,通过生成器对数据集进行增广还包括以下步骤:
在CGAN框架下,生成器具有额外的条件控制信息,网络流量类标签被选择为条件
控制信息,生成器的输入来自先验空间的随机噪声向量和条件控制信息,生成器利
用输入生成新的网络流量高维特征表示,表达式为,其中,是生成器G根据网络
流量数据类标签和随机噪声向量生成的网络流量高维特征表示;
将随机噪声向量和条件控制信息一同输入网络,经过全连接层,本层使用
Leaky ReLU激活函数, Reshape层将形状大小转为二维,二维矩阵再经过反卷积上采样,卷
积核大小为4×4,步长为2×2,激活函数为Leaky ReLU,重复进行一次反卷积上采样,卷积
核大小为4×4,步长为2×2,激活函数为Leaky ReLU,两次反卷积上采样后,再使用卷积进
行下采样,卷积核大小为5×5,步长为1×1,激活函数为tanh,最后经过全连接层,得到输出
结果。
作为本发明的一种优选方式,所述分类器采用3层全连接层,第一层全连接层包括10个输出单元,激活函数使用Softmax函数,BERT和分类器组合成检测模块对网络流量数据进行分类。
作为本发明的一种优选方式,还包括以下步骤:
采用预训练模型中参数初始化BERT,然后使用网络入侵数据集微调BERT,BERT被
用于提取预处理后网络流量特征,并根据提取的特征的内在关联编码形成具有网络流量特
征之间内在关联信息的数值向量,表示为,其中,表示向量维度;
通过分类器对输入的和进行分类,其中,是预处理后网络流量信息数据经过
BERT编码映射到高维空间的真实概率分布的数据,是生成器G根据网络流量数据类标
签和随机噪声向量生成的网络流量高维特征表示,表达式为:;
作为本发明的一种优选方式,还包括以下步骤:训练时,生成器尝试生成接近真实概率分布的网络流量高维特征表示来混淆分类器,分类器试图正确区分网络流量数据类别;
BERT和分类器组合成的检测模型进行端到端训练,损失函数是交叉熵误差,使用Adam做参数更新,损失函数表达式为:
作为本发明的一种优选方式,还包括对BERT-CGAN进行训练,训练包括以下步骤:
使用预训练模型参数初始化BERT模型,生成器和分类器的参数随机初始化;
第一个步骤是微调BERT和更新分类器的参数;
第二个步骤是训练CGAN;
两个步骤交替进行,直到完成BERT-CGAN模型的训练。
区别于现有技术,上述技术方案所达到的有益效果有:
(1)为了识别不同类型的网络攻击,本方法设计了一种基于CGAN的网络入侵检测框架,通过设置额外的条件控制信息,该框架能够生成多种占比少网络攻击类样本,对数据集进行增广,缓解数据不平衡问题并提升模型的泛化能力;
(2)本方法中的大规模预训练语言模型BERT被嵌入至CGAN的判别器中.目的是利用BERT强大的特征提取能力捕获更多隐藏特征信息,以提升判别器对网络异常攻击流量辨识能力,通过生成对抗的博弈,BERT辅助的判别器促使生成器生成接近真实概率分布的网络流量高维特征表示,进而有效的提升了网络入侵检测的准确率;
(3)实验结果表明,相比现有典型的基准算法,本方法提出的BERT-CGAN案在准确率、精确率、F1值等指标上都展现出了优越性。相较于BiLSTM和LSTM,BERT-CGAN在不同网络流量类型加权平均F1值提升幅度达到14%。相较于BERT,BERT-CGAN对Infilteration这一识别难度较大攻击类的F1值提升幅度达到4%。
附图说明
图1为具体实施方式所述BERT-CGAN的功能性结构图。
图2为具体实施方式所述生成器的网络结构图。
图3为具体实施方式所述分类器的网络结构图。
图4为具体实施方式所述良性和各个攻击类别的精确率对比图。
图5为具体实施方式所述BERT提取的高维空间表示可视化图。
图6为具体实施方式所述不同方法检测特定类型网络流量时的召回率对比图。
图7为具体实施方式所述不同方法检测特定类型网络流量时的F1值对比图。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
本实施例提供了一种基于BERT-CGAN的网络入侵检测方法;通过学习真实样本的概率分布,GAN能够生成接近真实概率分布的异常攻击样本。生成的异常攻击样本可以扩展原有的数据集,从而缓解异常攻击数据不足的问题。传统的GAN框架只能支持二分类。一般而言,若想在GAN的框架下生成不同类型的攻击数据,每个攻击类型都需要单独训练对应的GAN,这样的训练方式显然缺乏灵活性。CGAN可以控制生成网络异常攻击的类别,控制不同类型攻击生成样本的比例,从而支持多样化的攻击分类。尽管如此,CGAN往往难以准确识别一些特征不明显异常攻击类别。针对本问题,本方法将BERT嵌入到CGAN中,构建BERT-CGAN网络入侵检测框架,目的是在增强网络异常攻击特征信息的捕获能力的同时缓解入侵数据集不平衡带来的准确率降低问题。如图1所示,本方法提出的基于BERT-CGAN的入侵检测框架主要包含以下三个部分:
数据预处理,将非文本的网络流量统计特征数据转化为文本格式的数据,用于适应大规模语言模型BERT;
通过生成器对数据集进行增广,根据条件控制信息生成不同种类的网络攻击流量样本,用于对数据集进行增广;
通过BERT增强分类器,利用BERT提取网络流量数据的特征并编码成高维的数值表示,分类网络模块对来BERT和生成器的网络流量高维特征表示进行分类。
对于上述实施例中的数据预处理,早期的网络入侵的数据集缺乏流量多样性,无法反映当前趋势。本实施例选择CSE-CIC-IDS2018网络入侵数据集,包含与实际数据相似的正常数据和最新类型的攻击。CSE-CIC-IDS2018 数据集由Communications SecurityEstablishment(CSE)和Canadian Institute for Cyber-security(CIC)合作开发,以满足当前网络安全领域对网络攻击基准数据集的需求。CSE-CIC-IDS2018数据集是在实验室网络中生成的基于流量的网络数据包,不同的日期所生成的网络攻击类型不同,数据集按生成日期分别存储。
由CICFlowMeter 提取的网络流量统计特征包括流量持续时间、前向数据包总量、前向数据包最大长度、源端口、目的端口、通信协议、前向报头的总字节数等。这些特征反映了网络流量流的数据特征、通信协议的运作细节,异常攻击网络流量与良性流量的不同之处会在特征上有所区别。
特征提取后,不同日期生成的不同类型攻击数据被整合到一起。本实施例共计整合了9种异常攻击数据,加上良性数据共10类,同时重复的数据会被删除。BERT可接受的输入类型是字符串,非字符形式的特征被转换成BERT能够处理的字符形式。转换后的每一条流量数据对应一个句子,流量数据的统计特征对应句子中的词。BERT对相应句子提取隐藏的特征信息相当于对网络流量数据提取高维的特征表示。最后标签被编码为one-hot向量,以支持分类训练。
现实网络中的良性数据流的占比明显多于异常攻击的数据流。本实施例在处理数据时并未对良性流量数据做过度消减,依然维持良性明显多余异常攻击数据这一常态。训练数据集包含70万条以上数据,测试数据集总量在30万条。
在上述实施例中,通过生成器对数据集进行增广还包括以下步骤:在CGAN框架下,
生成器具有额外的条件控制信息,网络流量类标签被选择为条件控制信息,生成器的
输入来自先验空间的随机噪声向量和条件控制信息,生成器利用输入生成新的网络
流量高维特征表示,表达式为,其中,是生成器G根据网络流量数据类标签
和随机噪声向量生成的网络流量高维特征表示;
生成器G的结构图如图2所示。将随机噪声向量和条件控制信息一同输入网
络,经过全连接层,本层使用Leaky ReLU激活函数,在网络参数更新过程中出现负值时,
Leaky ReLU激活函数梯度依然存在,避免了普通ReLU激活函数输入为负值时梯度为零无法
更新参数的问题。
Reshape层将形状大小转为二维,二维矩阵再经过反卷积上采样,卷积核大小为4×4,步长为2×2,激活函数为Leaky ReLU,重复进行一次反卷积上采样,卷积核大小为4×4,步长为2×2,激活函数为Leaky ReLU,两次反卷积上采样后,再使用卷积进行下采样,卷积核大小为5×5,步长为1×1,激活函数为tanh,最后经过全连接层,得到输出结果。
在上述实施例中,对于BERT增强的分类器,本实施例考虑的判别器属于多分类器(Classifier, C)。分类器的输出是预测该数据是正常数据或某一种具体网络攻击类型。分类器采用3层全连接层,如图3所示。第一层全连接层有10个输出单元,激活函数使用Softmax函数。BERT和分类器组合成检测模块对网络流量数据进行分类。本实施例采用预训练模型中参数初始化BERT,然后使用网络入侵数据集微调BERT。比起随机初始化BERT参数,使用预训练模型的参数可以加速学习网络流量特征,有利于检测网络更快的收敛。
在本实施例的框架下,BERT承担网络流量特征编码器的作用;具体而言,BERT被用
于提取预处理后网络流量特征,并根据提取的特征的内在关联编码形成具有网络流量特征
之间内在关联信息的数值向量,表示为其中,表示向量维度;
通过分类器对输入的和进行分类,其中,是预处理后网络流量信息数据经过
BERT编码映射到高维空间的真实概率分布的数据,是生成器G根据网络流量数据类
标签和随机噪声向量生成的网络流量高维特征表示,表达式为:;
BERT和分类器组合成的检测模型进行端到端训练,损失函数是交叉熵误差,使用Adam做参数更新,损失函数表达式为:
在BERT增强的分类器中,BERT 的作用并非单纯用于增强网络流量特征提取能力。更重要的是,BERT同生成器形成了一种相互促进的关系。具体而言,为了学习到真实概率分布的网络流量特征,生成器生成网络流量高维特征表示伴随着BERT参数微调而变化。生成器不断学习网络流量高维特征表示,而分类器为了正确区分类别也会不断更新参数以提高性能。
生成器要学习BERT学习到的网络流量高维特征表示;本实施例在CGAN中嵌入了BERT,整个模型训练方式依然是生成器与分类器交替进行参数更新。BERT-CGAN训练算法的实现细节被归纳为Algorithm 1。首先,使用预训练模型参数初始化BERT模型,生成器和分类器的参数随机初始化。由于BERT在微调前并未学到有用信息,第一个步骤是微调BERT和更新分类器的参数,见第2-8行。经过第一个步骤,BERT学到了网络流量高维特征表示,再进入第二个步骤训练CGAN,见第9-16行。两个步骤交替进行,直到完成BERT-CGAN模型的训练。
Output: ,w denotes parameters of BERT, p denotes parameters
of Classifier, q denotes parameters of Generator.
Initialize: the BERT with pre-training models’s parameters, G and Cwith stochastic initialization
1: for i = 1 to I do
2: for j = 1 to J1 do
6: Update and via Adam
7: end for
8: for j =1 to J2 do
14: Freeze and update using the Adam method
15: Freeze and update using the Adam method
16: end for
17: end for
为了验证上述实施例,本实施例对本方法进行了实验验证,实验方法为:
预处理后的CSE-CIC-IDS2018数据集被用于实验和性能评价。表1所示的训练集包含715792条数据,其中最少的攻击类有13416条数据,这样的占比接近真实的网络环境。表1和表2分别给出了训练集和测试集中各个攻击类别的数量。数量最少的攻击类在整个数据集中的占比不到2%。如果模型训练时完全随机抽取数据,在一个batch内很可能抽取不到最少的类别。考虑到这种情况,本实施例重新编写了select_sample()函数,按需设置每个batch中各个攻击类别的数量和占比。
在实验中一个batch中的网络数据的数目被固定设置为100。一个batch中有50条数据对应Benign,有3条数据对应DoS attacks-SlowHTTPTest,这是数据条目最少的一类攻击。每个batch的数据均以随机取样的方式得到。训练集中Benign类型攻击的数据条目总数为360162条。对于一个batch,约有50条Benign类型数据被从中随机抽取。其余的类别由此类推。
具有提取时间序列的时序特征能力神经网络,LSTM和BiLSTM,被选为基准方法,以分析和对比特征提取能力对检测效果的影响。另一方面,为了考察CGAN框架对检测性能的提升作用,BERT也被选为基准方法。在实验中,BERT结合由全连接层构成的网络输出单元对网络流量数据的进行多分类。
表1:训练集的各类别数量
表2:测试集的各类别数量
实验的度量质标:
被相关领域广泛采纳的准确率Accuracy、召回率Recall、精确率Precision、F1等指标被用于性能评价。准确率是反映模型性能最直观的评价指标。当数据类不平衡时,F1、精确率和召回率作为补充可以更全面地评价模型性能。以下是准确率、召回率、精确率、F1的计算公式:
其中,TP表示攻击类型被正确分类;TN表示正常类型被正确分类;FP表示正常类型被错误分类,即误报;FN表示攻击类型被错误分类,即漏报。
由式Recall的公式可知,精确率侧重于查准。精确率越高意味着误报概率越低。召回率侧重于查全。召回率越高意味着漏报的概率越低。F1值作为综合指标能够同时反映模型查准和查全性能。
从查准的角度,精确率被定义为正确识别的网络攻击类数量占识别出的网络攻击类总数的百分比;从查全的角度,召回率被量化为正确识别的网络攻击类数量占所有该类标注网络攻击类的百分比;F1 值被定义为精确率和召回率的调和平均数,该指标从查准和查全2个角度综合反映模型的效果。本文用F1值对网络入侵检测实验进行整体评估。F1 值越大,模型能够正确识别的网络攻击类型越多且越全。准确率被量化为分类预测正确网络流量数量占总数量的
实验结果:
表3展示了不同方法在测试集上的准确率、精确率和F1值。BERT-CGAN对于不同攻击类型的分类平均精确率到达98.2%,是所有方法中最高的,BERT次之,BiLSTM和LSTM处于最低位。相较于BiLSTM,BERT-CGAN的精确率的提升幅度达到13.6%。这主要得益于BERT模型具有注意力机制。注意力机制允许对依赖关系建模,而不考虑特征在输入或输出序列中的距离。即使是序列中距离最远的网络流量统计特征,BERT也能通过注意力机制捕获网络统计特征之间的内在联系。集成BERT的分类器能从捕获的高维特征里得到更多有关攻击类别的信息,提升了分类的精确率。相比BERT,LSTM和BiLSTM对网络统计特征间的全局依赖关注能力较弱。在面对占比少的攻击类别时,两者往往无法正确区分攻击类型。
BERT-CGAN对于不同攻击类型的分类平均准确率达到98.1%,是所有方案中最高的。得益于较强的细节特征提取能力,BERT和CGAN-BERT模型的误分类的情况明显少于LSTM和BiLSTM。
BERT-CGAN对于不同攻击类型分类的平均F1值达到98.1%,相比BERT提升了0.8%。这表明BERT-CGAN模型在查准和查全两方面性能都有所提升。BERT-CGAN融合了BERT特征提取能力强和GAN模型泛化能力强的特点。这两方面的优势使得误分类和漏报进一步减少、F1值提升。
表3:不同方法在不同网络流量类型的加权平均性能
不同类型流量的分类精度分析:
表4展示不同方法在识别良性流量和9种可能的攻击类型的精确率情况,相应的可视化对比如图4所示。
和其余三种模型相比,BERT-CGAN模型检测所有10种不同的网络流量类型的精确率几乎都处于最高位。每一条网络流量对应由CICFlowMeter提取的多个统计特征。这些统计特征涵盖了网络流量通信特点和数据特征信息。每个统计特征相当于有特定含义的单词。统计特征之间的内在联系相当于句子里的上下文关系。
若采用LSTM和BiLSTM,在全部10个不同类别中分类精确率大于80%有4类,即:Benign、Bot、DDOS attack-HOIC和DoS attacks-Hulk。第一种类型是测试集占比最大的良性数据,后3种类型是测试集中数据条目最多的攻击类型。由于Infilteration、DoSattacks-GoldenEye、DoS attacks-SlowHTTPTest这三种类型在全部攻击类型中数量占比最少,这三种攻击的识别难度最高。LSTM对这三种类型的识别精确率低于26%。LSTM通过强制执行恒定的时间步长来学习弥补长距离离散时间步长的最小时间滞后。通过此方式,LSTM能够关注网络流量特征的前向依赖。由于时间序列的前向性,从上下文关系的角度看,LSTM主要关注网络流量特征的前向依赖,忽略了后向依赖。BiLSTM作为双向的LSTM,关注网络特征的前后两个方向的依赖,在一定程度上弥补了LSTM的缺陷。BiLSTM能够关注上下文,覆盖前向和后向依赖。由于增强的特征捕获能力,BiLSTM对网络攻击识别精确率高于传统LSTM。尽管如此,在面对数目占比最少的3类攻击,即:Infilteration、DoS attacks-GoldenEye和DoS attacks-SlowHTTPTest时,BiLSTM的识别精确率徘徊在50%到60%之间,依然无法令人满意。与基于注意力机制的BERT不同,LSTM和BiLSTM在处理长序列时存在信息衰减这一固有问题。因此,对于一些别占比少且隐藏特征信息复杂的网络攻击类型,两者容易形成误分类。
表4:良性和各个攻击类别的精确率
相较于BiLSTM,CGAN-BERT和BERT识别Infilteration攻击类型的精确率分别提升了30%、19%,到达81%、70%。其余类别的识别精确率都在95%以上。这表明BERT模型对一些原先难以识别的攻击类型,特别是占比少的类别,有明显提升作用。尽管如此,对于一些隐蔽性高的攻击类型(如:Infliteration),BERT依然存在误报概率大的问题。相较于BERT模型,BERT-CGAN模型在检测DoS attacks-GoldenEye和Infilteration这两种攻击时的精确率分别提高了约2%和11%,达到97%和81%。这表明在BERT和CGAN相互促进下,检测效果有进一步提升,特别是对于一些原先难以准确识别的攻击类型。
BERT根据流量隐藏特征信息将网络流量映射高维空间的不同位置,网络流量数据在高维空间里各类别已有明确的边界。图5展示了BERT提取的高维空间表示降维至三维空间后各类型网络攻击分布情况。由图5可见,不同网络流量类别边界是较为清晰的,意味着本文所提的BERT-CGAN框架能够实现准确的分类。回顾图4和表4中的结果,BERT和BERT-CGAN对于占比少的攻击类别的精确率相比其他方法有了显著提升,特别是Infilteration和DoS attacks-GoldenEye类型。这两种类型在图5中的边界较为清晰,说明BERT-CGAN具有提升的分类效果。
表5展示不同方法在识别良性流量和9种可能的攻击类型的召回率情况,相应的可视化对比如图6所示。
BERT和BERT-CGAN在除Infilteration以外的9个类别召回率都在95%及以上。这表明两种检测模型具有良好的查全性能,对所有攻击类别的漏报概率维持在低水平。一个值得注意的现象是,BERT模型对大多数网络攻击类的召回率高于精确率,但对占比最大的Benign良性类别95%的召回率低于精确率。由于重于查全,BERT在一些情况下会把Benign良性类别判别为攻击类,导致BERT模型在占比最多的Benign良性类别的召回率反而低于一些占比少攻击类的召回率。BERT在占比最大的Benign类别上的召回率为95%。采用BERT-CGAN后,召回率从提升了2%,达到97%。相比BERT,BERT-CGAN有更加优异的查全性能。
表5:良性和各个攻击类别的召回率表
不同类型流量的F1值分析:
表6展示不同方法在识别良性流量和9种可能的攻击类型的F1值情况,相应的可视化对比如图7所示。
值得注意的是,BERT模型在Infilteration网络攻击类型的召回率高于CGAN-BERT。但是,相比BERT,BERT-CGAN的模型在Infilteration网络攻击类型的F1值提升了4.4%达到84.7%。F1值的提升表明BERT-CGAN对Infilteration网络攻击的查准和查全两方面性能都有提高。
对于F1值达到99%,值逼近上界的类别而言,性能提升的空间变得十分有限。即使性能有所提升,对模型辨识其余类别的贡献也变得微弱。由表6可知,除却F1值已达到99%的类别,BERT-CGAN模型在其余类别的F1值都高于BERT模型。这表明BERT-CGAN在查全和查准两方面的性能都优于BERT。
表6:良性和各个攻击类别F1值表
BERT-CGAN在所有网络攻击类别上的综合指标F1值都优于其它方法。尤其是与LSTM和BiLSTM相比,BERT-CGAN对于Infilteration的F1值提升幅度到达74%。虽然BERT-CGAN相比BERT的优势有所减弱,但对于特定的类型,如:Infilteration,提升幅度依然能达到4%。
本实施例提出的一种基于BERT-CGAN的网络入侵检测方法,该方案基于CGAN框架,通过条件控制对占比少的数据类型进行增广,提升模型的泛化能力。BERT被嵌入至CGAN的判别器中,使得判别器可以捕获更多隐藏特征信息,从而增强了对网络攻击的辨识能力。判别器能力的增强被进一步引入生成器,促进生成器生成接近真实概率分布的网络流量高维特征表示,提升入侵检测性能。实验结果证明,相比BiLSTM、LSTM和BERT,本方法所提方案在准确率、精确率等指标上都展现出了优越性。
需要说明的是,尽管在本发明中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本发明所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
Claims (6)
1.一种基于BERT-CGAN的网络入侵检测方法,其特征在于,包括以下步骤:
数据预处理,将非文本的网络流量统计特征数据转化为文本格式的数据,用于适应大规模语言模型BERT;
通过生成器对数据集进行增广,根据条件控制信息生成不同种类的网络攻击流量样本,用于对数据集进行增广;
通过BERT增强分类器,利用BERT提取网络流量数据的特征并编码成高维的数值表示,分类网络模块对来BERT和生成器的网络流量高维特征表示进行分类;
所述数据预处理包括步骤:
通过CICFlowMeter提取网络流量统计特征,特征提取后,将不同日期生成的不同类型攻击数据进行整合;
将非字符形式的特征转换成文本格式的数据,转换后的每一条流量数据对应一个句子,流量数据的统计特征对应句子中的词,通过BERT对相应句子提取隐藏的特征信息,并将标签编码为one-hot向量,用于支持分类训练;
通过生成器对数据集进行增广还包括以下步骤:
在CGAN框架下,生成器具有额外的条件控制信息y,网络流量类标签被选择为条件控制信息y,生成器的输入来自先验空间的随机噪声向量z和条件控制信息y,生成器利用输入生成新的网络流量高维特征表示,表达式为g=G(z,y),其中,g是生成器G根据网络流量数据类标签y和随机噪声向量z生成的网络流量高维特征表示;
将随机噪声向量z和条件控制信息y一同输入网络,经过全连接层,本层使用LeakyReLU激活函数,Reshape层将形状大小转为二维,二维矩阵再经过反卷积上采样,卷积核大小为4×4,步长为2×2,激活函数为Leaky ReLU,重复进行一次反卷积上采样,卷积核大小为4×4,步长为2×2,激活函数为Leaky ReLU,两次反卷积上采样后,再使用卷积进行下采样,卷积核大小为5×5,步长为1×1,激活函数为tanh,最后经过全连接层,得到输出结果。
2.根据权利要求1所述的方法,其特征在于:所述网络流量统计特征包括流量持续时间、前向数据包总量、前向数据包最大长度、源端口、目的端口、通信协议和/或前向报头的总字节数。
3.根据权利要求1所述的方法,其特征在于,所述分类器采用3层全连接层,第一层全连接层包括10个输出单元,激活函数使用Softmax函数,BERT和分类器组合成检测模块对网络流量数据进行分类。
4.根据权利要求3所述的方法,其特征在于,还包括以下步骤:
采用预训练模型中参数初始化BERT,然后使用网络入侵数据集微调BERT,BERT被用于提取预处理后网络流量特征,并根据提取的特征的内在关联编码形成具有网络流量特征之间内在关联信息的数值向量,表示为h∈Rd,其中,d表示向量维度;
通过分类器对输入的h和g进行分类,其中,h是预处理后网络流量信息数据经过BERT编码映射到高维空间的真实概率分布p(x)的数据,g是生成器G根据网络流量数据类标签y和随机噪声向量z生成的网络流量高维特征表示,表达式为:g=G(z,y)∈Rd;
分类器输出的Y=C(x)表示网络流量类别的概率,其中,C表示分类器,x表示真实网络流量。
5.根据权利要求4所述的方法,其特征在于,还包括以下步骤:训练时,生成器尝试生成接近真实概率分布的网络流量高维特征表示来混淆分类器,分类器试图正确区分网络流量数据类别;
BERT和分类器组合成的检测模型进行端到端训练,损失函数是交叉熵误差,使用Adam做参数更新,损失函数表达式为:
Lc=-Ex~p(x)[log C(x)]
其中,Lc表示损失函数,E(·)表示数学期望;
分类器需要区分BERT对网络流量数据编码形成高维空间的特征表示h的类别,同时,分类器需要区分生成器产生的样本g的类别,生成器和分类器两者做极大极小优化的目标函数表达式为:
其中,x表示真实网络流量,p(x)表示真实网络流量的概率分布;z表示输入的随机噪声,p(z)代表先验空间里z的概率分布;
当模型训练完成后,分类器具备区别良性网络流量和不同类型的网络攻击的能力,与此同时,生成器生成的网络流量高维特征表示变得接近真实概率分布p(x)。
6.根据权利要求1所述的方法,其特征在于,还包括对BERT-CGAN进行训练,训练包括以下步骤:
使用预训练模型参数初始化BERT模型,生成器和分类器的参数随机初始化;
第一个步骤是微调BERT和更新分类器的参数;
第二个步骤是训练CGAN;
两个步骤交替进行,直到完成BERT-CGAN模型的训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211553706.1A CN115622806B (zh) | 2022-12-06 | 2022-12-06 | 一种基于bert-cgan的网络入侵检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211553706.1A CN115622806B (zh) | 2022-12-06 | 2022-12-06 | 一种基于bert-cgan的网络入侵检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115622806A CN115622806A (zh) | 2023-01-17 |
CN115622806B true CN115622806B (zh) | 2023-03-31 |
Family
ID=84880165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211553706.1A Active CN115622806B (zh) | 2022-12-06 | 2022-12-06 | 一种基于bert-cgan的网络入侵检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115622806B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116170237B (zh) * | 2023-04-25 | 2023-07-25 | 南京众智维信息科技有限公司 | 一种融合gnn和acgan的入侵检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113792820A (zh) * | 2021-11-15 | 2021-12-14 | 航天宏康智能科技(北京)有限公司 | 用户行为日志异常检测模型的对抗训练方法和装置 |
WO2021257817A1 (en) * | 2020-06-17 | 2021-12-23 | The Trustees Of Princeton University | System and method for secure and robust distributed deep learning |
CN113961736A (zh) * | 2021-09-14 | 2022-01-21 | 华南理工大学 | 文本生成图像的方法、装置、计算机设备和存储介质 |
WO2022115419A1 (en) * | 2020-11-25 | 2022-06-02 | Siemens Energy, Inc. | Method of detecting an anomaly in a system |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112613599A (zh) * | 2020-12-15 | 2021-04-06 | 江西师范大学 | 一种基于生成对抗网络过采样的网络入侵检测方法 |
CN113961922B (zh) * | 2021-10-27 | 2023-03-24 | 浙江网安信创电子技术有限公司 | 一种基于深度学习的恶意软件行为检测与分类系统 |
CN114254130A (zh) * | 2022-02-28 | 2022-03-29 | 南京众智维信息科技有限公司 | 网络安全应急响应知识图谱的关系提取方法 |
-
2022
- 2022-12-06 CN CN202211553706.1A patent/CN115622806B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021257817A1 (en) * | 2020-06-17 | 2021-12-23 | The Trustees Of Princeton University | System and method for secure and robust distributed deep learning |
WO2022115419A1 (en) * | 2020-11-25 | 2022-06-02 | Siemens Energy, Inc. | Method of detecting an anomaly in a system |
CN113961736A (zh) * | 2021-09-14 | 2022-01-21 | 华南理工大学 | 文本生成图像的方法、装置、计算机设备和存储介质 |
CN113792820A (zh) * | 2021-11-15 | 2021-12-14 | 航天宏康智能科技(北京)有限公司 | 用户行为日志异常检测模型的对抗训练方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115622806A (zh) | 2023-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109768985B (zh) | 一种基于流量可视化与机器学习算法的入侵检测方法 | |
CN112738015B (zh) | 一种基于可解释卷积神经网络cnn与图检测的多步攻击检测方法 | |
Ektefa et al. | Intrusion detection using data mining techniques | |
Tesfahun et al. | Intrusion detection using random forests classifier with SMOTE and feature reduction | |
CN108718310A (zh) | 基于深度学习的多层次攻击特征提取及恶意行为识别方法 | |
CN109413028A (zh) | 基于卷积神经网络算法的sql注入检测方法 | |
CN102420723A (zh) | 一种面向多类入侵的异常检测方法 | |
CN110213222A (zh) | 基于机器学习的网络入侵检测方法 | |
CN112560596B (zh) | 一种雷达干扰类别识别方法及系统 | |
CN112887325B (zh) | 一种基于网络流量的电信网络诈骗犯罪欺诈识别方法 | |
CN113556319B (zh) | 物联网下基于长短期记忆自编码分类器的入侵检测方法 | |
CN115622806B (zh) | 一种基于bert-cgan的网络入侵检测方法 | |
CN114372530A (zh) | 一种基于深度自编码卷积网络的异常流量检测方法及系统 | |
CN113269228A (zh) | 一种图网络分类模型的训练方法、装置、系统及电子设备 | |
CN116318928A (zh) | 一种基于数据增强和特征融合的恶意流量识别方法及系统 | |
Alqarni et al. | Improving intrusion detection for imbalanced network traffic using generative deep learning | |
Mohamed et al. | Denoising autoencoder with dropout based network anomaly detection | |
Harbola et al. | Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set | |
Zhu et al. | CMTSNN: A deep learning model for multi-classification of abnormal and encrypted traffic of Internet of Things | |
Xu et al. | Hybrid model for network anomaly detection with gradient boosting decision trees and tabtransformer | |
Luo et al. | Focal loss based two-stage training for class imbalance network intrusion detection | |
CN113902954A (zh) | 基于主特征增强的图像中毒防御方法、装置及其应用 | |
CN113852612A (zh) | 一种基于随机森林的网络入侵检测方法 | |
Ambala et al. | Design and Implementation of Machine Learning-Based Network Intrusion Detection | |
Li et al. | Solving the data imbalance problem in network intrusion detection: A MP-CVAE based method |
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 |