CN116633639B - 基于无监督与有监督融合强化学习的网络入侵检测方法 - Google Patents

基于无监督与有监督融合强化学习的网络入侵检测方法 Download PDF

Info

Publication number
CN116633639B
CN116633639B CN202310622371.2A CN202310622371A CN116633639B CN 116633639 B CN116633639 B CN 116633639B CN 202310622371 A CN202310622371 A CN 202310622371A CN 116633639 B CN116633639 B CN 116633639B
Authority
CN
China
Prior art keywords
unsupervised
agent
intrusion
supervised
data set
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
CN202310622371.2A
Other languages
English (en)
Other versions
CN116633639A (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.)
Beijing Jiaotong University
Original Assignee
Beijing Jiaotong University
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 Beijing Jiaotong University filed Critical Beijing Jiaotong University
Priority to CN202310622371.2A priority Critical patent/CN116633639B/zh
Publication of CN116633639A publication Critical patent/CN116633639A/zh
Application granted granted Critical
Publication of CN116633639B publication Critical patent/CN116633639B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • 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/088Non-supervised learning, e.g. competitive learning
    • 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/09Supervised learning
    • 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/092Reinforcement learning
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

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

Abstract

本发明提供了一种基于无监督与有监督融合深度强化学习的网络入侵检测方法。该方法包括:构建无监督数据与有监督数据混合的污染数据集;构建结合无监督学习和深度强化学习的入侵检测模型,利用污染数据集对入侵检测模型进行训练,得到训练好的入侵检测模型;利用训练好的入侵检测模型对目标网络进行入侵检测。本发明将无监督数据作为污染样本和有监督数据混合来模拟网络入侵的现实场景,并提出将无监督学习引入深度强化学习的入侵检测模型中,进一步探索网络入侵检测的新方法。

Description

基于无监督与有监督融合强化学习的网络入侵检测方法
技术领域
本发明涉及媒体通信技术领域,尤其涉及一种基于无监督与有监督融合强化学习的网络入侵检测方法。
背景技术
深度强化学习利用深度神经网络的数据表征能力来处理复杂高维的环境,用来拟合强化学习中的状态价值函数和动作价值函数,然后使用强化学习算法训练模型。深度强化学习是深度学习和强化学习的结合,利用了深度学习的感知能力来解决策略和值函数的建模问题,然后使用误差反向传播算法来优化目标函数。同时利用了强化学习的决策能力,来定义问题和优化目标。深度强化学习在一定程度上具备了解决复杂问题的通用智能。
现有技术中的一种基于CNN(Convolutional Neural Network,卷积神经网络)的入侵检测模型的处理过程包括以下几个步骤:
1.数据预处理:将原始数据预处理为CNN所需的格式,例如将网络流量数据转换为图像格式。
2.特征提取:使用卷积层、池化层等结构从原始数据中提取特征。
3.特征转换:将提取的特征进行扁平化操作,并通过全连接层进行特征转换。
4.分类器:最后使用softmax分类器对网络流量进行分类。
上述现有技术中的一种基于CNN的入侵检测模型的缺点包括:CNN模型能充分学习到多数类的特征,并能保持较高的识别率,而对于少数类特征的学习十分有限,因此对少数类入侵的检测水平较低。样本种类变多时,模型的整体准确率也会下降。
现有技术中的一种基于DQN的入侵检测模型包括:基于深度强化学习的入侵检测模型可以通过智能体学习网络流量数据的状态,采取一系列行动并获得奖励,以实现对网络的入侵检测。其中,基于深度Q网络(Deep Q-Network,DQN)的入侵检测模型是一种常用的深度强化学习模型。
DQN模型是基于Q-learning算法的深度强化学习模型。其通过使用深度神经网络来估计Q值函数,并使用经验回放技术和固定Q目标网络来提高学习效率和稳定性。在入侵检测中,DQN模型能够自动地从网络流量数据中学习策略,以最大化累积奖励,并进行入侵检测。
DQN模型的基本流程如下:
1.数据预处理:将原始网络流量数据转换为智能体所需的状态向量,并进行归一化处理。
2.状态表示:使用状态向量作为智能体的状态表示,包括网络流量数据的特征和状态。
3.行动选择:使用DQN模型选择智能体的行动,例如放行、拒绝、记录等。
4.奖励计算:根据智能体的行动和网络状态计算奖励,例如对正常流量的放行得到正奖励,对攻击流量的拒绝得到负奖励。
5.Q值更新:使用Q-learning算法更新DQN模型的Q值函数,以最大化累积奖励。
6.经验回放:使用经验回放技术随机地从智能体的历史经验中选取样本,以训练DQN模型。
上述现有技术中的一种基于DQN的入侵检测模型的缺点包括:DQN算法的目标Q值是通过贪心策略直接获取的,使用贪心策略虽然可以让Q值更快速地向优化目标靠拢,但会导致对Q值的过度估计,算法模型会存在一定偏差,因此DQN模型可以进一步优化。
DQN模型的训练过程比较复杂,需要大量的数据和计算资源,并且需要调整多个超参数以获得最佳效果。
现有技术中的一种基于Double DQN的入侵检测模型包括:基于双重深度Q网络(Double Deep Q-Network,Double DQN)的入侵检测模型是对基于DQN的入侵检测模型的改进,旨在解决DQN模型中高估Q值的问题,以提高入侵检测的准确性和稳定性。
在DQN模型中,因为Q值函数的更新需要使用目标Q值,而目标Q值又依赖于当前Q值函数的最大值,因此容易导致Q值的高估。而在Double DQN模型中,通过使用两个独立的Q值函数,分别负责选择最优动作和评价最优动作的价值,以减少Q值的高估。
Double DQN模型的基本流程如下:
1.数据预处理:将原始网络流量数据转换为智能体所需的状态向量,并进行归一化处理。
2.状态表示:使用状态向量作为智能体的状态表示,包括网络流量数据的特征和状态。
3.行动选择:使用Double DQN模型选择智能体的行动,其中一个Q值函数选择最优动作,另一个Q值函数评价最优动作的价值。
4.奖励计算:根据智能体的行动和网络状态计算奖励,例如对正常流量的放行得到正奖励,对攻击流量的拒绝得到负奖励。
5.Q值更新:使用Double DQN算法更新Q值函数,以最大化累积奖励,并解决Q值高估的问题。
6.经验回放:使用经验回放技术随机地从智能体的历史经验中选取样本,以训练Double DQN模型。
基于Double DQN的入侵检测模型相较于基于DQN的模型,在入侵检测准确性和稳定性方面具有一定的提升。但是,Double DQN模型的训练过程同样比较复杂,需要大量的数据和计算资源,并且需要调整多个超参数以获得最佳效果。
上述现有技术中的基于Double DQN的入侵检测模型的缺点包括:这些模型在训练和测试过程中使用的都是有监督数据,即每个样本包含特征和标签两部分。在现实的网络入侵场景中,许多网络入侵是未知的,现有的公开数据集无法囊括所有未知的网络入侵。
发明内容
本发明的实施例提供了一种基于无监督与有监督融合强化学习的网络入侵检测方法,以实现有效地对网络进行入侵检测。
为了实现上述目的,本发明采取了如下技术方案。
一种基于无监督与有监督融合深度强化学习的网络入侵检测方法,包括:
构建无监督数据与有监督数据混合的污染数据集;
构建结合无监督学习和深度强化学习的入侵检测模型,利用所述污染数据集对所述入侵检测模型进行训练,得到训练好的入侵检测模型;
利用所述训练好的入侵检测模型对目标网络进行入侵检测。
优选地,所述的构建无监督数据与有监督数据混合的污染数据集,包括:
对原始数据集进行预处理,预处理的步骤包括数值型特征归一化和字符型特征数值化,将预处理后的原始数据集按不同入侵种类划分成多个子数据集,不同的原始数据集分别对应不同的子数据集;
利用污染因子表示污染数据集中的无监督的污染样本数与对应有监督数据集样本数的比例,设置多个污染因子等级,每个污染因子等级逐步递增设定数值;
将来至于同一个原始数据集的所有子数据集的数据组成一个有监督数据集,对原始数据集进行去标签处理再按照污染因子大小进行随机采样得到有监督数据集,将所述有监督数据集按照70%和30%的比例划分成训练集和测试集;
从某个有监督数据集对应的原始数据集不同的其它原始数据集中按污染因子的比例随机抽取,与所述某个有监督数据集融合的无监督数据,抽取的无监督数据包含正常样本和/或入侵样本,将有监督数据集与抽取的无监督数据进行融合,得到无监督数据与有监督数据混合的污染数据集。
优选地,所述的原始数据集包括NSL-KDD、UNSW-NB15和AWID3,NSL-KDD数据集包含4种入侵类型,UNSW-NB15包含9种入侵类型,AWID3包含13种入侵类型,共得到26个单独的子数据集,如表1所示:
表1:按入侵类别划分的子数据集
优选地,所述的构建结合无监督学习和深度强化学习的入侵检测模型,利用所述污染数据集对所述入侵检测模型进行训练,得到训练好的入侵检测模型,包括:
根据所述污染数据集设置马尔可夫决策过程中的关键元素,该关键元素包括智能体、环境、状态空间和动作空间,使用孤立森林算法来设计马尔可夫决策过程中的无监督学习奖励机制,利用所述无监督学习奖励机制鼓励智能体积极探索无监督数据中可能存在的未知入侵,
在马尔可夫决策过程建模完毕后,提出结合已知和未知入侵检测的深度强化学习框架,该深度强化学习框架包含:入侵检测智能体A、无监督奖励函数g和偏向入侵的环境E,环境E中包含观测采样函数和有监督奖励函数f,智能体A受到有监督奖励函数f的无监督奖励函数g的联合驱动,与环境E交互,从监督数据集Dl和无监督数据集Du中学习入侵特征;
所述深度强化学习框架的工作流程包含五个步骤:
第一步:在t时刻,智能体A接收由观测采样函数输出的观测状态st,并执行动作at来最大化它可能获得的累计奖励;
第二步:环境E中的下一个观测采样函数根据智能体在状态st下执行的动作at,来反馈一个新的观测状态st+1,通过采样函数/>返回未知入侵的观测状态,向智能体反馈已知入侵样本;
第三步:如果智能体正确识别Dl中的已知入侵,利用有监督奖励函数给予智能体正反馈;
第四步:无监督奖励函数g(st)给智能体反馈无监督学习奖励,鼓励智能体检测Du中可能存在的入侵;
第五步:智能体得到由有监督奖励和无监督奖励组成的双重奖励;
重复上述五个步骤,利用深度强化学习算法对智能体进行多个轮次的迭代训练,每个轮次包含固定数量的观测状态,深度强化学习算法使用Double DQN算法,将CNN模型引入深度强化学习框架,通过CNN模型提取观测状态的特征,进行值函数拟合,并输出观测状态对应的两个动作概率,将实例化后的所述深度强化学习框架命名为基于双重奖励的Double DQN模型,将所述基于双重奖励的Double DQN模型作为训练好的入侵检测模型。
优选地,所述的根据所述污染数据集设置马尔可夫决策过程中的关键元素,该关键元素包括智能体、环境、状态空间和动作空间,包括:
(5)智能体
根据污染数据集设置智能体A,将智能体作为网络入侵检测模型,网络入侵检测模型,分析观测状态,并从可能的动作中选取最优动作来执行;
(6)环境
环境E供智能体A进行交互的,在环境E中定义一个偏向入侵类别的观测采样函数该观测采样函数/>基于t时刻的观测状态st和执行的动作at给t+1时刻的智能体反馈观测状态st+1,观测采样函数由/>和/>两部分组成,/>是从Dl中随机抽取样本st+1的函数,每个入侵样本被智能体抽取的概率相同,/>是基于当前观测状态的邻近度从Du中抽取样本st+1的函数,其表达式如下:
其中,S是Du的随机样本子集,θe是从Double DQN模型的最后一层隐藏层得到的特征嵌入函数ψ(·;θe)的参数,d(st,s;θe)返回的是ψ(st;θe)和ψ(s;θe)之间的欧氏距离,用来捕获智能体在特征空间中感知的距离,通过不断更新s和θe来计算d(st,s;θe),当智能体认为当前观测状态st是入侵种类并执行动作a1时,返回st的最近邻,当智能体认为当前观测状态st是正常类别并执行动作a0时,/>返回st的最远邻,智能体探索远离正常观测状态的潜在入侵观测状态;
(7)状态空间
环境E中的状态空间定义在污染数据集D上的,每个D中的样本s都是一个观测状态;
(8)动作空间
动作空间定义为集合{a0,a1},a0表示智能体将观测状态s标记为正常,而a1表示智能体将观测状态s标记为入侵。
优选地,所述的使用孤立森林算法来设计马尔可夫决策过程中的无监督学习奖励机制,利用所述无监督学习奖励机制鼓励智能体积极探索无监督数据中可能存在的未知入侵,包括:
设置基于Dl的有监督奖励函数当智能体正确标记已知入侵的观测时,有监督奖励函数/>就给予智能体奖励值;设置基于Du的无监督奖励函数g(st),用来衡量智能体感知的观测结果相对于其它观测结果的新奇程度;
3)基于Dl的有监督奖励rl
奖励rl是根据智能体在检测已知入侵时的性能而产生的奖励信号,其表达式如下:
4)基于Du的无监督奖励ru
无监督奖励ru鼓励智能体探索Du中可能存在的入侵,利用iForest算法来设计无监督学习奖励ru,iForest算法递归地随机分割数据集,直到所有样本点都是孤立的,iForest算法利用孤立树的二叉搜索树结构来孤立样本,Forest算法分为两个阶段,在第一阶段需要训练出多棵iTree,组成iForest,在第二阶段将每个样本点代入iForest中的每棵iTree,计算平均高度,计算每个样本点的异常指数,根据样本点异常指数定义无监督奖励ru的表达式:
ru=g(st;θe)=iForest(st;θe) (4-6)
其中,iForest(st;θe)的输出被归一化,ru的取值范围是[0,1],ru越大,表示当前观测状态st是入侵种类的可能性越大;
智能体在t时刻获得的累积奖励rt是有监督奖励和无监督奖励的和,即:
由上述本发明的实施例提供的技术方案可以看出,本发明将无监督数据作为污染样本和有监督数据混合来模拟网络入侵的现实场景,并提出将无监督学习引入深度强化学习的入侵检测模型中,进一步探索网络入侵检测的新方法。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于无监督与有监督融合强化学习的网络入侵检测方法的处理流程图;
图2为本发明实施例提供的一种已知和未知入侵检测联合优化的深度强化学习框示意图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
本发明实施例提供的一种基于无监督与有监督融合强化学习的网络入侵检测方法的处理流程如图1所示,包括如下的处理步骤:
步骤S10、构建无监督数据与有监督数据混合的污染数据集。
对数据集进行重构,包括数据集的分割和样本的去标签处理。引入污染因子的概念,将无监督的入侵样本数据视作未知入侵,并按不同的污染因子比例与有监督数据进行混合,来模拟网络入侵的现实场景。
数据集分割和污染因子设置是构建新的污染数据集的两个准备工作,下面分别介绍处理步骤。
(1)分割数据集
在对数据集进行分割前,需要先对原始数据集进行预处理,预处理的步骤包括数值型特征归一化和字符型特征数值化,还需要进行特征选择来降低模型的计算复杂度。
此部分使用的公开数据集有三个,分别是NSL-KDD、UNSW-NB15和AWID3。这三个数据集包含的入侵种类各不相同,不同数据集的入侵特征也不同。其中NSL-KDD数据集包含4种入侵,UNSW-NB15包含9种入侵,AWID3包含13种入侵,三个数据集一共存在26种入侵。将预处理后的三个数据集按不同入侵种类划分成子数据集,每个子数据集用入侵类别的名称来命名,共得到26个单独的子数据集,如表1所示。
表1:按入侵类别划分的子数据集
(2)设置污染因子
污染因子是污染数据集中的无监督的污染样本数与对应有监督数据集样本数的比例,用表示。为了比较模型在不同污染程度的污染数据集上的性能表现,本发明设置5个污染因子等级,从2%开始,每个污染因子等级增加2%,即:
α=k*2%,k=1,2,3,4,5 (1)
完成数据集分割和污染因子设置后,下面开始构建污染数据集。
污染数据集需要同时包括有监督数据和无监督数据。有监督数据的部分来自表1中划分出的子数据集,而无监督数据是对原数据集进行去标签处理再按照污染因子大小进行随机采样得到的。
规定污染数据集的有监督数据部分需要包含3个来自于同一原数据集的入侵种类。具体地,抽取来自NSL-KDD数据集的DoS、Probe和U2R三个子数据集组成一个新的有监督数据集,记作抽取来自UNSW-NB15数据集的Generic、Exploits和Fuzzers三个子数据集组成一个新的有监督数据集,记作/>抽取来自AWID3数据集的Disass、SSH和Malware三个子数据集组成一个新的有监督数据集,记作/>将上述3个有监督数据集按照70%和30%的比例进一步划分成训练集和测试集。
对三个原数据集进行去标签处理,得到三个无监督的数据集。在融合无监督的污染数据和有监督数据集时,为了保证同一污染数据集中的有监督数据和无监督数据的特征不重合,无监督的污染数据来源应避开待融合的有监督数据集来源。因此,与有监督数据集融合的无监督数据应该从去标签后的UNSW-NB15和AWID3两个数据集中按污染因子伪的比例随机抽取;与有监督数据集/>融合的无监督数据应该从去标签后的NSL-KDD和AWID3两个数据集中按污染因子伪的比例随机抽取;与有监督数据集/>融合的无监督数据应该从去标签后的NSL-KDD和UNSW-NB15两个数据集中按污染因子伪的比例随机抽取。将随机抽取得到的无监督数据集记作/>需要注意的是,/>中的样本可能包含正常样本,也可能包含入侵样本。假设/>的样本数是n,/>的样本数是m,那么m和n满足:
n=m*α (2)
将融合得到的污染数据集记作Di,那么有:
至此,无监督数据与有监督数据混合的污染数据集已构建完毕。Dl是抽取表1中原数据集的子数据集组成的有监督数据集,共有三个/>DU是无监督数据集,/>按污染因子α的比例随机抽取与/>不同的原数据集中的数据,/>
步骤S20、构建结合无监督学习和深度强化学习的入侵检测模型,利用所述污染数据集对所述入侵检测模型进行训练,得到训练好的入侵检测模型。
新构建的污染数据集中既含有已知入侵,也含有少量的未知入侵。有监督模型已经不足以检测未知入侵。本发明实施例提出了一种结合无监督学习和Double DQN的入侵检测算法,该算法可以利用污染数据集中的有监督数据来学习已知入侵的特征,同时使用孤立森林算法来设计无监督学习奖励,鼓励智能体积极探索无监督数据中可能存在的未知入侵,不断细化学习到的入侵特征。
马尔可夫决策过程建模
设置马尔可夫决策过程的关键元素包括智能体、环境、状态空间、动作空间和奖励机制,下面分别进行详细介绍。
(9)智能体
根据污染数据集设置智能体A,将智能体作为网络入侵检测模型,网络入侵检测模型,分析观测状态,并从可能的动作中选取最优动作来执行;
(10)环境
环境E是供智能体A进行交互的。为此,在E中定义一个偏向入侵类别的观测采样函数它基于t时刻的观测状态st和执行的动作at给t+1时刻的智能体反馈观测状态st+1,观测采样函数由/>和/>两部分组成,来平衡对污染数据集的搜索和探索。/>是从Dl中随机抽取样本st+1的函数,每个入侵样本被智能体抽取的概率相同,/>是基于当前观测状态的邻近度从Du中抽取样本st+1的函数,其表达式如下:
其中,S是Du的随机样本子集,θe是从Double DQN模型的最后一层隐藏层得到的特征嵌入函数ψ(·;θe)的参数,d(st,s;θe)返回的是ψ(st;θe)和ψ(s;θe)之间的欧氏距离,用来捕获智能体在特征空间中感知的距离,需要不断更新S和θe来计算d(st,s;θe)。当智能体认为当前观测状态st是入侵种类并执行动作a1时,会返回st的最近邻。当智能体认为当前观测状态st是正常类别并执行动作a0时,/>会返回st的最远邻,这种情况下,智能体会探索远离正常观测状态的潜在入侵观测状态。上述两种情况下,智能体都能积极探索Du中可能存在的未知入侵。
在智能体与环境交互的过程中,环境使用和/>作为观测采样函数的概率都为0.5,使得智能体在探索Du的同时,也能充分利用Dl中的已知入侵。
(11)状态空间
环境E中的状态空间是定义在污染数据集D上的,每个D中的样本s都是一个观测状态。
(12)动作空间
动作空间定义为集合{a0,a1},a0表示智能体将观测状态s标记为正常,而a1表示智能体将观测状态s标记为入侵。
(13)奖励机制
不同于单一奖励机制,这里针对有监督学习和无监督学习的融合,设定了双重奖励的机制。一种是基于Dl的有监督奖励函数当智能体正确标记已知入侵的观测时,就给予它高的奖励值。另一种是基于Du的无监督奖励函数g(st),用来衡量智能体感知的观测结果相对于其它观测结果的新奇程度。当智能体在探索Du的过程中发现新的观测结果时,就给予它高的奖励值。下面详细阐述这两种奖励函数。
5)基于Dl的有监督奖励rl
奖励rl是根据智能体在检测已知入侵时的性能而产生的奖励信号,其表达式如下:
只有当智能体正确地标记已知入侵时,才会接收到环境给予的正反馈。如果智能体正确识别Du中的正常观测,它不会接收到环境给予的任何奖励。当智能体产生错误检测时,它会接收到环境给予的负反馈。因此,奖励rl鼓励智能体充分利用Dl。为了最大化奖励,智能体会自我驱动并通过与环境的交互来学习已知入侵,提升对已知入侵的检测水平。
6)基于Du的无监督奖励ru
无监督奖励ru鼓励智能体探索Du中可能存在的入侵,
异常检测(Anomaly Detection)是机器学习领域里一项常见的任务,例如网络中的入侵检测和流量异常分析。异常样本有两个要求,一是异常样本的数量很小,二是异常样本的特征与正常样本差距很大。在本发明中,按照设置的污染因子伪,Du只占Dl的2%到10%。Du中可能存在的入侵,其特征与Dl中的入侵完全不同,并且Du中的入侵样本数量也较少。因此,Du中的入侵样本满足异常样本的要求,探索Du中可能存在的入侵可以被视作异常检测任务。孤立森林(Isolation Forest,iForest)算法是一种无监督的异常检测算法,因其简洁而高效的算法特性,被广泛用于异常检测任务。这里利用iForest算法来设计无监督学习奖励ru
iForest算法基于“隔离”的思想,递归地随机分割数据集,直到所有样本点都是孤立的。在随机分割的策略下,具有入侵特征的异常点通常具有较短的路径。iForest算法利用孤立树(Isolation Tree,iTree)的二叉搜索树结构来孤立样本。若为孤立树T的一个节点,T存在两种情况:一是没有子节点的外部节点,二是有两个左右子节点(Tl,Tr)。在T上的样本由一个属性q和一个分割点p组成,如果q<p,那么样本属于左子节点Tl,反之属于右子节点Tr。样本点x在T中的路径长度h(x)是指样本点x从iTree的根节点到叶子节点经过的边的数量。iForest算法可以分为两个阶段,在第一阶段需要训练出多棵iTree,组成iForest。在第二阶段将每个样本点代入iForest中的每棵iTree,计算平均高度,最后计算每个样本点的异常指数。iForest算法的详细流程如算法5所示:
样本点的异常指数的值域是[0,1]。异常指数越靠近1,表示样本点是异常点的可能性越高。异常指数越靠近0,表示样本点是正常点的可能性越高。如果大部分训练样本的异常指数都靠近0.5,就说明整个数据集中都没有明显的异常点。
根据样本点异常指数的特点,定义无监督奖励ru的表达式如下:
ru=g(st;θe)=iForest(st;θe) (4-6)
其中,iForest(st;θe)的输出被归一化,因此ru的取值范围是[0,1]。ru越大,表示当前观测状态st是入侵种类的可能性越大。也就是说,当智能体认为当前观测状态相比历史观测状态更新奇时,环境就会给予它更高的无监督学习奖励。这样设置无监督学习奖励,能够鼓励智能体检测Du中可能存在的入侵。
至此,双重奖励的机制已经设定完毕。为了平衡对污染数据集的搜索和探索,智能体在t时刻获得的累积奖励是有监督奖励和无监督奖励的和,即:
/>
结合已知和未知入侵检测的深度强化学习模型
在马尔可夫决策过程建模完毕后,提出结合已知和未知入侵检测的深度强化学习框架。该框架包含三个主要模块:入侵检测智能体A、无监督奖励函数g和偏向入侵的环境E。环境E中包含观测采样函数和有监督奖励函数f。智能体A受到有监督奖励函数f和无监督奖励函数g的联合驱动,与环境E交互,从Dl和Du中同时学习入侵特征。
本发明实施例提供的一种已知和未知入侵检测联合优化的深度强化学习框如图2所示。结合已知和未知入侵检测的深度强化学习框架的工作流程包含五个步骤。第一步:在t时刻,智能体A接收由观测采样函数输出的观测状态st,并执行动作at来最大化它可能获得的累计奖励。第二步:环境E中的下一个观测采样函数/>根据智能体在状态st下执行的动作at,来反馈一个新的观测状态st+1。为了有效利用Dl和Du,观测采样函数/>应尽可能返回未知入侵的观测状态,同时向智能体反馈已知入侵样本。第三步:如果智能体正确识别Dl中的已知入侵,那么有监督奖励函数/>会给予智能体正反馈。第四步:无监督奖励函数g(st)随后给智能体反馈一个无监督学习奖励,鼓励智能体检测Du中可能存在的入侵。第五步:智能体得到由有监督奖励和无监督奖励组成的双重奖励。
重复上述五个步骤,利用深度强化学习算法对智能体进行多个轮次的迭代训练,每个轮次包含固定数量的观测状态。将提出的结合已知和未知入侵检测的深度强化学习框架实例化为具体模型,深度强化学习算法使用表现优异的Double DQN算法,并将CNN模型引入深度强化学习框架。通过CNN模型提取观测状态的特征,进行值函数拟合,并输出观测状态对应的两个动作概率。将实例化后的模型命名为基于双重奖励的Double DQN模型,将所述基于双重奖励的Double DQN模型作为训练好的入侵检测模型。
步骤S30、利用上述训练好的入侵检测模型对目标网络进行入侵检测。
上述训练好的入侵检测模型利用输入数据集构建污染数据集,利用污染数据集模拟现实网络入侵场景,利用模拟的现实网络入侵场景对目标网络进行入侵检测。
综上所述,本发明实施例基于公开数据集构建了污染数据集来模拟现实的网络入侵场景。将数据集进行分割,并提出了污染因子概念。然后去除原数据集的标签特征,随机抽取无监督样本,并按不同的污染因子将无监督样本与有监督样本混合,构建了污染数据集。
在新构建的污染数据集基础上,提出结合无监督学习和深度强化学习的入侵检测模型。提出了融合有监督奖励和无监督奖励的双重奖励机制。在无监督奖励的设计上,使用了无监督的iForest算法。然后提出了已知和未知入侵检测联合优化的深度强化学习框架,并采用表现较好的Double DQN算法将该入侵检测框架实例化,提出了基于双重奖励的Double DQN(DRDDQN)模型。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (3)

1.一种基于无监督与有监督融合深度强化学习的网络入侵检测方法,其特征在于,包括:
构建无监督数据与有监督数据混合的污染数据集;
构建结合无监督学习和深度强化学习的入侵检测模型,利用所述污染数据集对所述入侵检测模型进行训练,得到训练好的入侵检测模型;
利用所述训练好的入侵检测模型对目标网络进行入侵检测;
所述的构建无监督数据与有监督数据混合的污染数据集,包括:
对原始数据集进行预处理,预处理的步骤包括数值型特征归一化和字符型特征数值化,将预处理后的原始数据集按不同入侵种类划分成多个子数据集,不同的原始数据集分别对应不同的子数据集;
利用污染因子表示污染数据集中的无监督的污染样本数与对应有监督数据集样本数的比例,设置多个污染因子等级,每个污染因子等级逐步递增设定数值;
将来自于同一个原始数据集的所有子数据集的数据组成有监督数据集,对原始数据集进行去标签处理再按照污染因子大小进行随机采样得到无监督数据集,将所述有监督数据集按照70%和30%的比例划分成训练集和测试集;
从与某个有监督数据集对应的原始数据集不同的其它原始数据集中按污染因子的比例随机抽取,与所述某个有监督数据集融合的无监督数据,抽取的无监督数据包含正常样本和/或入侵样本,将有监督数据集与抽取的无监督数据进行融合,得到无监督数据与有监督数据混合的污染数据集;
所述的构建结合无监督学习和深度强化学习的入侵检测模型,利用所述污染数据集对所述入侵检测模型进行训练,得到训练好的入侵检测模型,包括:
根据所述污染数据集设置马尔可夫决策过程中的关键元素,该关键元素包括智能体、环境、状态空间和动作空间,使用孤立森林算法来设计马尔可夫决策过程中的无监督学习奖励机制,该无监督学习奖励机制为双重奖励的机制;
利用所述无监督学习奖励机制鼓励智能体积极探索无监督数据中可能存在的未知入侵;
在马尔可夫决策过程建模完毕后,提出结合已知和未知入侵检测的深度强化学习框架,该深度强化学习框架包含:入侵检测智能体A、无监督奖励函数g和偏向入侵的环境E,环境E中包含观测采样函数和有监督奖励函数f,智能体A受到有监督奖励函数f和无监督奖励函数g的联合驱动,与环境E交互,从有监督数据集Dl和无监督数据集Du中学习入侵特征;
所述深度强化学习框架的工作流程包含五个步骤:
第一步:在t时刻,智能体A接收由观测采样函数输出的观测状态st,并执行动作at来最大化它可能获得的累计奖励;
第二步:环境E中的下一个观测采样函数根据智能体A在观测状态st下执行的动作at,来反馈一个新的观测状态st+1,通过观测采样函数/>返回未知入侵的观测状态,向智能体A反馈已知入侵样本;
第三步:如果智能体正确识别Dl中的已知入侵,利用有监督奖励函数给予智能体正反馈;
第四步:无监督奖励函数g(st)给智能体反馈无监督学习奖励,鼓励智能体检测Du中可能存在的入侵;
第五步:智能体得到由有监督奖励和无监督奖励组成的双重奖励;
重复上述五个步骤,利用深度强化学习算法对智能体进行多个轮次的迭代训练,每个轮次包含固定数量的观测状态,深度强化学习算法使用Double DQN算法,将CNN模型引入深度强化学习框架,通过CNN模型提取观测状态的特征,进行值函数拟合,并输出观测状态对应的两个动作概率,将实例化后的所述深度强化学习框架命名为基于双重奖励的DoubleDQN模型,将所述基于双重奖励的Double DQN模型作为训练好的入侵检测模型;
所述的使用孤立森林算法来设计马尔可夫决策过程中的无监督学习奖励机制,利用所述无监督学习奖励机制鼓励智能体积极探索无监督数据中可能存在的未知入侵,包括:
设置基于Dl的有监督奖励函数当智能体正确标记已知入侵的观测时,有监督奖励函数/>就给予智能体奖励值;设置基于Du的无监督奖励函数g(st),用来衡量智能体感知的观测结果相对于其它观测结果的新奇程度;
1)基于Dl的有监督奖励rl
奖励rl是根据智能体在检测已知入侵时的性能而产生的奖励信号,其表达式如下:
2)基于Du的无监督奖励ru
无监督奖励ru鼓励智能体探索Du中可能存在的入侵,利用iForest算法来设计无监督学习奖励ru,iForest算法递归地随机分割数据集,直到所有样本点都是孤立的,iForest算法利用孤立树的二叉搜索树结构来孤立样本,iForest算法分为两个阶段,在第一阶段需要训练出多棵iTree,组成iForest,在第二阶段将每个样本点代入iForest中的每棵iTree,计算平均高度,计算每个样本点的异常指数,根据样本点异常指数定义无监督奖励ru的表达式:
其中,iForest(st;θe)的输出被归一化,ru的取值范围是[0,1],ru越大,表示当前观测状态st是入侵种类的可能性越大;
智能体在t时刻获得的累积奖励rt是有监督奖励和无监督奖励的和,即:
2.根据权利要求1所述的方法,其特征在于,所述的原始数据集包括NSL-KDD、UNSW-NB15和AWID3,NSL-KDD数据集包含4种入侵类型,UNSW-NB15包含9种入侵类型,AWID3包含13种入侵类型,共得到26个单独的子数据集,如表1所示:
表1:按入侵类别划分的子数据集
3.根据权利要求2所述的方法,其特征在于,所述的根据所述污染数据集设置马尔可夫决策过程中的关键元素,该关键元素包括智能体、环境、状态空间和动作空间,包括:
(1)智能体
根据污染数据集设置智能体A,将智能体作为网络入侵检测模型,网络入侵检测模型,分析观测状态,并从可能的动作中选取最优动作来执行;
(2)环境
环境E供智能体A进行交互的,在环境E中定义一个偏向入侵类别的观测采样函数该观测采样函数/>基于t时刻的观测状态st和执行的动作at给t+1时刻的智能体反馈观测状态st+1,观测采样函数由/>和/>两部分组成,/>是从Dl中随机抽取样本st+1的函数,每个入侵样本被智能体抽取的概率相同,/>是基于当前观测状态的邻近度从Du中抽取样本st+1的函数,其表达式如下:
其中,S是Du的随机样本子集,θe是从Double DQN模型的最后一层隐藏层得到的特征嵌入函数ψ(·;θe)的参数,d(st,s;θe)返回的是ψ(st;θe)和ψ(s;θe)之间的欧氏距离,用来捕获智能体在特征空间中感知的距离,通过不断更新S和θe来计算d(st,s;θe),当智能体认为当前观测状态st是入侵种类并执行动作a1时,返回st的最近邻,当智能体认为当前观测状态st是正常类别并执行动作a0时,/>返回st的最远邻,智能体探索远离正常观测状态的潜在入侵观测状态;
(3)状态空间
环境E中的状态空间定义在污染数据集D中,每个D中的样本s都是一个观测状态;
(4)动作空间
动作空间定义为集合{a0,a1},a0表示智能体将观测状态s标记为正常,而a1表示智能体将观测状态s标记为入侵。
CN202310622371.2A 2023-05-30 2023-05-30 基于无监督与有监督融合强化学习的网络入侵检测方法 Active CN116633639B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310622371.2A CN116633639B (zh) 2023-05-30 2023-05-30 基于无监督与有监督融合强化学习的网络入侵检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310622371.2A CN116633639B (zh) 2023-05-30 2023-05-30 基于无监督与有监督融合强化学习的网络入侵检测方法

Publications (2)

Publication Number Publication Date
CN116633639A CN116633639A (zh) 2023-08-22
CN116633639B true CN116633639B (zh) 2024-04-12

Family

ID=87613096

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310622371.2A Active CN116633639B (zh) 2023-05-30 2023-05-30 基于无监督与有监督融合强化学习的网络入侵检测方法

Country Status (1)

Country Link
CN (1) CN116633639B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117407615A (zh) * 2023-10-27 2024-01-16 北京数立得科技有限公司 一种基于强化学习的Web信息抽取方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107392015A (zh) * 2017-07-06 2017-11-24 长沙学院 一种基于半监督学习的入侵检测方法
CN115766094A (zh) * 2022-10-21 2023-03-07 联合汽车电子有限公司 一种数据处理方法、网络入侵检测装置、介质及控制器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210243226A1 (en) * 2020-02-03 2021-08-05 Purdue Research Foundation Lifelong learning based intelligent, diverse, agile, and robust system for network attack detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107392015A (zh) * 2017-07-06 2017-11-24 长沙学院 一种基于半监督学习的入侵检测方法
CN115766094A (zh) * 2022-10-21 2023-03-07 联合汽车电子有限公司 一种数据处理方法、网络入侵检测装置、介质及控制器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于机器学习的网络流量异常检测技术研究;刘忠平;硕士电子期刊(第2023年02期) *

Also Published As

Publication number Publication date
CN116633639A (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
CN113990495B (zh) 一种基于图神经网络的疾病诊断预测系统
CN108563755A (zh) 一种基于双向循环神经网络的个性化推荐系统及方法
CN106951471B (zh) 一种基于svm的标签发展趋势预测模型的构建方法
CN116633639B (zh) 基于无监督与有监督融合强化学习的网络入侵检测方法
CN114998602B (zh) 基于低置信度样本对比损失的域适应学习方法及系统
CN115797637A (zh) 基于模型间和模型内不确定性的半监督分割模型
CN115358809A (zh) 一种基于图对比学习的多意图推荐方法及装置
CN115358337A (zh) 一种小样本故障诊断方法、装置及存储介质
CN114897085A (zh) 一种基于封闭子图链路预测的聚类方法及计算机设备
CN113781385B (zh) 用于大脑医学影像自动分类的联合注意力图卷积方法
CN113314188A (zh) 图结构增强的小样本学习方法、系统、设备及存储介质
CN113343123A (zh) 一种生成对抗多关系图网络的训练方法和检测方法
CN112329879A (zh) 基于反事实多智能体学习的图像场景图的生成方法和系统
Han et al. GA-GWNN: Detecting anomalies of online learners by granular computing and graph wavelet convolutional neural network
CN117058882A (zh) 一种基于多特征双判别器的交通数据补偿方法
Tang et al. Labeling Expert: A New Multi-Network Anomaly Detection Architecture Based on LNN-RLSTM
CN112086174B (zh) 一种三维知识诊断模型构建方法和系统
CN115062969A (zh) 一种食品安全风险的预警方法
CN114862496A (zh) 一种基于用户个性化建模的会话推荐方法、装置及介质
Shang et al. Imbalanced data augmentation for pipeline fault diagnosis: A multi-generator switching adversarial network
CN114218445A (zh) 基于元图动态异构信息网络表示的异常检测方法
CN114090890A (zh) 一种基于图卷积网络的反事实项目推荐方法
CN113360772A (zh) 一种可解释性推荐模型训练方法与装置
Vergara et al. A Schematic Review of Knowledge Reasoning Approaches Based on the Knowledge Graph
CN114898339B (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