CN115221520A - 一种基于开集识别的工控网络未知攻击检测方法 - Google Patents
一种基于开集识别的工控网络未知攻击检测方法 Download PDFInfo
- Publication number
- CN115221520A CN115221520A CN202210877769.6A CN202210877769A CN115221520A CN 115221520 A CN115221520 A CN 115221520A CN 202210877769 A CN202210877769 A CN 202210877769A CN 115221520 A CN115221520 A CN 115221520A
- Authority
- CN
- China
- Prior art keywords
- class
- activation vector
- unknown
- loss function
- parameter
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Virology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于开集识别的工控网络未知攻击检测方法,包括以下步骤:S1:对要训练的模型的结构以及超参数进行初始化;S2:设计类距离损失函数,结合交叉熵损失函数建立联合损失函数;S3:预训练模型,迭代中更新每个类的激活向量中心和网络参数;S4:在预训练模型上计算激活向量,使用正确分类的样本拟合We i bu l l分布;S5:调整已知类的激活向量,计算未知攻击的激活向量,输出测试样本属于已知类和未知攻击的概率。本方法充分挖掘攻击具有区分性和泛化性的特征,提高未知攻击的检测率,在工业控制网络存在未知攻击时,能够在正确分类已知类型样本的同时识别未知攻击,大大提高了网络安全。
Description
技术领域
本发明属于人工智能、信息安全技术领域,尤其涉及对工业控制***存在网络攻击威胁的技术领域,主要涉及了一种基于开集识别的工控网络未知攻击检测方法。
背景技术
工业控制***指用于操作、控制自动化工业生产过程的设备、***、网络以及控制器的集合,通常应用于电力、污水处理、油气输送、化工和交通等工业领域。随着信息化与工业化深度融合以及物联网的快速发展,工业控制***开放的同时没有提高相应安全边界控制,导致面临严重的网络攻击威胁。
入侵检测技术通过分析从网络节点收集的信息来检测是否存在违反安全策略的行为以及网络攻击的迹象。区分正常流量和入侵行为,可以看作分类问题。由于机器学习和深度学习在分类问题上的优良性能,研究人员探索了其在入侵检测领域的应用,并证明了有效性。
大多数机器学习和深度学习算法以封闭集假设为前提,该假设指在测试阶段中的所有类都存在于训练数据中。然而,真实工控网络环境中的入侵检测并不是一个封闭式问题,面对不断增加的攻击类型,传统的基于机器学习的入侵检测算法也暴露出不足之处,它们通常在已知的攻击样本上进行训练,在训练集上已知的攻击类型上可以获得较高的检测率,但是很难检测出未知类型的攻击。
发明内容
本发明正是针对现有技术中工控网络环境对于未知类型攻击很难检测出来的问题,提供一种基于开集识别的工控网络未知攻击检测方法,包括以下步骤:S1:对要训练的模型的结构以及超参数进行初始化;S2:设计类距离损失函数,结合交叉熵损失函数建立联合损失函数;S3:预训练模型,迭代中更新每个类的激活向量中心和网络参数;S4:在预训练模型上计算激活向量,使用正确分类的样本拟合Weibull分布;S5:调整已知类的激活向量,计算未知攻击的激活向量,输出测试样本属于已知类和未知攻击的概率。本方法充分挖掘特征具有区分性和泛化性的特征,提高未知攻击的检测率,在工业控制网络存在未知攻击时,能够在正确分类已知类型样本的同时识别未知攻击,大大提高了网络安全。
为了实现上述目的,本发明采取的技术方案是:一种基于开集识别的工控网络未知攻击检测方法,包括以下步骤:
S1,数据初始化:使用深度神经网络作为训练模型,确定神经网络隐藏层节点数及层数,并对优化算法及超参数值进行初始化;
S2,建立联合损失函数L:设计类距离损失函数LCD,结合交叉熵损失函数LCE建立联合损失函数,所述联合损失函数的计算方法为:
L=LCE+λLCD
其中,超参数λ用于控制损失两个函数之间的关系;
S3,预训练模型:训练模型迭代中更新每个类的激活向量中心和网络参数,获得高精度的预训练模型;
S4,拟合Weibull分布:经过步骤S3迭代更新后的高精度预训练模型,在预训练模型上计算激活向量,使用正确分类的样本拟合Weibull分布;
S5,输出测试概率:在拟合Weibull分布的基础上,对已知类的激活向量进行校正并计算未知类的激活向量,输出测试样本属于已知类和未知攻击的概率。
与现有技术相比,本发明具有的有益效果:
(1)本发明基于开集识别的未知攻击检测算法,通过校准各类激活向量,增加输入来自未知类的概率计算方式,同时保留对已知正常流量和已知攻击样本的判别能力,解决了当前无监督方法不能对已知攻击进行细粒度分类的问题,弥补了闭集无法检测未知攻击的缺陷。
(2)本发明方法在训练阶段,联合类间距损失函数与交叉熵损失函数进行反向传播,能够学习具有足够区分性和泛化性的特征,提高了未知攻击的检测效果。
附图说明
图1为本发明检测方法的步骤流程图。
具体实施方式
下面结合附图和具体实施方式,进一步阐明本发明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
实施例1
一种基于开集识别的工控网络未知攻击检测方法,如图1所示,包括以下步骤:
S1,数据初始化:使用深度神经网络作为训练模型,确定神经网络隐藏层节点数及层数,并对优化算法及超参数值进行初始化;
本实施例中,深度神经网络使用4层网络结构,包括输入层、输出层和节点数分别为32和16的两个隐含层。学习率设置为0.005,批次大小设置为256,尾部尺寸为500,需要调整的已知类数量α设置为2,调节类中心变化率的参数β设置为0.005,联合损失函数中控制类距离损失函数的比例参数λ设置为0.01。
S2,建立联合损失函数L:
首先,进行类距离损失函数(Cluster Distance Loss Function,CD loss)的设计,CD loss的前半部分考虑类内距离,要求同一类中的样本应尽量接近,这相当于最小化每一类样本和和该类中心的距离;后半部分考虑类间距离,要求不同类之间的样本应相距较远,这相当于最大化不同类中心之间的距离。所述类距离损失函数的具体计算方法为:
因为本方法使用深度神经网络作为训练模型,深度神经网络进行多分类任务时,通常使用交叉熵损失函数(Cross Entropy Loss Function,CE loss)衡量误差:
联合损失函数由CE loss和CD loss组合而成,超参数λ用于控制损失两个函数之间的关系:
L=LCE+λLCD
S3,预训练模型:训练模型迭代中更新每个类的激活向量中心和网络参数,获得高精度的预训练模型,所述步骤进一步包括:
S31,划分数据集:
使用天然气管道数据集构建未知攻击检测数据集,按7:3的比例分割已知数据,其中70%作为训练集,其余30%作为测试集;
S32,在训练集上计算大小为M批次的反向传播误差:
其中,t为当前迭代次数;xi为第i个样本;λ为控制两个损失函数的超参数;
S33,基于批处理更新类激活向量中心:
其中,为当前第j类的激活向量中心,t为当前迭代次数;标量β用于控制类中心的变化率;ΔCj为第j类激活向量中心的变化量;M为一个批次的样本数量;vi为第i个样本的激活向量;当yi==j时,φ()函数值为1;
S34,更新网络参数:
式中,μ为学习率,t为迭代次数。
S4,拟合Weibull分布:经过步骤S3迭代更新后的高精度预训练模型,在预训练模型上计算激活向量,使用正确分类的样本拟合Weibull分布,所述步骤进一步包括:
S41:在获得较高的精度后保存预训练模型,然后在预训练模型上获取正确分类样本对应的激活向量v(x)。在所有已知类上计算每个类的平均激活向量MAV=[m1,m2,...,mN],第j类平均激活向量为:
式中,xi,j表示样本i被正确分类为j类,Nj是训练样本被正确分为j类的数量。
S42:计算各类上正确分类的样本到对应的MAV之间的距离,对距离排序后选取距离最大的tailsize(尾部尺寸)个样本拟合各类的Weibull分布,拟合模型包括比例参数λj、位置参数τj、形状参数Kj,这里通过libMR中的FitHigh函数实现。
S5,输出测试概率:在拟合Weibull分布的基础上,对已知类的激活向量进行校正并计算未知类的激活向量,输出测试样本属于已知类和未知攻击的概率,所述步骤进一步包括:
S51:在拟合Weibull分布的基础上,对已知类的激活向量进行校正并计算未知类的激活向量。将测试数据输入神经网络中,对获得的激活向量v(x)的所有分量降序排序,sj记录第j大的分量对应的下标。对前α个分量设置调整系数:
其中,λj为Weibull分布的比例参数;τj为位置参数;Kj为形状参数;
S52:利用调整系数重新计算激活向量v(x)*及未知攻击的激活向量v0(x):
v(x)*=v(x)oω(x)
S53:将v0(x)和v(x)*作为SoftMax的输入计算测试数据属于每一类的概率,这里既包括训练样本上的已知类,也包括未知类。第j类的概率为:
共计算出N+1个概率,其中最大概率对应的类别编号是预测的输出类别,0对应的类别为未知攻击。
本发明基于开集识别的未知攻击检测算法,通过校准各类激活向量,增加输入来自未知类的概率计算方式,同时保留对已知正常流量和已知攻击样本的判别能力,解决了当前无监督方法不能对已知攻击进行细粒度分类的问题,弥补了闭集无法检测未知攻击的缺陷。
需要说明的是,以上内容仅仅说明了本发明的技术思想,不能以此限定本发明的保护范围,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰均落入本发明权利要求书的保护范围之内。
Claims (7)
1.一种基于开集识别的工控网络未知攻击检测方法,其特征在于,包括以下步骤:
S1,数据初始化:使用深度神经网络作为训练模型,确定神经网络隐藏层节点数及层数,并对优化算法及超参数值进行初始化;
S2,建立联合损失函数L:设计类距离损失函数LCD,结合交叉熵损失函数LCE建立联合损失函数,所述联合损失函数的计算方法为:
L=LCE+λLCD
其中,超参数λ用于控制损失两个函数之间的关系;
S3,预训练模型:训练模型迭代中更新每个类的激活向量中心和网络参数,获得高精度的预训练模型;
S4,拟合Weibull分布:经过步骤S3迭代更新后的高精度预训练模型,在预训练模型上计算激活向量,使用正确分类的样本拟合Weibull分布;
S5,输出测试概率:在拟合Weibull分布的基础上,对已知类的激活向量进行校正并计算未知类的激活向量,输出测试样本属于已知类和未知攻击的概率。
2.如权利要求1所述的一种基于开集识别的工控网络未知攻击检测方法,其特征在于:所述步骤S1中的超参数至少包括学习率、批次大小、尾部尺寸、需要调整的已知类数量α、调节类中心变化率的参数β及联合损失函数中控制类距离损失函数的比例参数λ。
6.如权利要求5所述一种基于开集识别的工控网络未知攻击检测方法,其特征在于:所述步骤S42中,拟合模型包括比例参数λj、位置参数τj和形状参数Kj,通过libMR中的FitHigh函数实现。
7.使用如权利要求5或6所述方法的一种基于开集识别的工控网络未知攻击检测方法,其特征在于:所述步骤S5进一步包括:
S51:将测试数据输入神经网络中,对获得的激活向量v(x)的所有分量降序排序,sj记录第j大的分量对应的下标,对前α个分量设置调整系数:
其中,λj为Weibull分布的比例参数;τj为位置参数;Kj为形状参数;
S52:利用调整系数重新计算激活向量v(x)*及未知攻击的激活向量v0(x):
v(x)*=v(x)oω(x)
S53:将未知攻击的激活向量v0(x)和激活向量v(x)*作为SoftMax的输入计算测试数据属于每一类的概率,第j类的概率为:
共计算出N+1个概率,其中最大概率对应的类别编号是预测的输出类别,0对应的类别为未知攻击。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210877769.6A CN115221520A (zh) | 2022-07-25 | 2022-07-25 | 一种基于开集识别的工控网络未知攻击检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210877769.6A CN115221520A (zh) | 2022-07-25 | 2022-07-25 | 一种基于开集识别的工控网络未知攻击检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115221520A true CN115221520A (zh) | 2022-10-21 |
Family
ID=83614471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210877769.6A Pending CN115221520A (zh) | 2022-07-25 | 2022-07-25 | 一种基于开集识别的工控网络未知攻击检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115221520A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116628619A (zh) * | 2023-07-26 | 2023-08-22 | 西南交通大学 | 一种基于车网耦合的未知异常电气现象辨识方法 |
-
2022
- 2022-07-25 CN CN202210877769.6A patent/CN115221520A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116628619A (zh) * | 2023-07-26 | 2023-08-22 | 西南交通大学 | 一种基于车网耦合的未知异常电气现象辨识方法 |
CN116628619B (zh) * | 2023-07-26 | 2023-10-20 | 西南交通大学 | 一种基于车网耦合的未知异常电气现象辨识方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111291937A (zh) | 基于支持向量分类与gru神经网络联合的处理污水水质预测方法 | |
CN109116834B (zh) | 一种基于深度学习的间歇过程故障检测方法 | |
CN110334726A (zh) | 一种基于密度聚类和lstm的电力负荷异常数据的识别与修复方法 | |
CN111046961B (zh) | 基于双向长短时记忆单元和胶囊网络的故障分类方法 | |
CN114595732B (zh) | 基于深度聚类的雷达辐射源分选方法 | |
CN111723523B (zh) | 一种基于级联神经网络的河口余水位预测方法 | |
CN116542382A (zh) | 基于混合优化算法的污水处理溶解氧浓度预测方法 | |
CN115659174A (zh) | 基于图正则化CNN-BiLSTM的多传感器故障诊断方法、介质及设备 | |
CN115797694A (zh) | 基于多尺度孪生神经网络的显示面板微缺陷分类方法 | |
CN115221520A (zh) | 一种基于开集识别的工控网络未知攻击检测方法 | |
CN114897103A (zh) | 一种基于近邻成分损失优化多尺度卷积神经网络的工业过程故障诊断方法 | |
Yeganeh et al. | Using evolutionary artificial neural networks in monitoring binary and polytomous logistic profiles | |
CN105894014B (zh) | 基于多因素不一致度量的异常行为序贯检测方法 | |
CN112819087B (zh) | 一种基于模块化神经网络的出水bod传感器异常检测方法 | |
CN112580539A (zh) | 基于psvm-lstm的电子鼻信号长期漂移抑制方法 | |
CN117350146A (zh) | 一种基于ga-bp神经网络的排水管网健康性评价方法 | |
CN116303786A (zh) | 一种基于多维数据融合算法的区块链金融大数据管理*** | |
CN114037860B (zh) | 基于鲁棒最小二乘回归框架的图像分类和特征选择方法 | |
CN113836818B (zh) | 一种基于bp神经网络预测模型的洋流运动预测算法 | |
US20230052080A1 (en) | Application of deep learning for inferring probability distribution with limited observations | |
CN115049006A (zh) | 基于自适应前馈神经网络的通信信号识别方法和*** | |
CN112015894B (zh) | 一种基于深度学习的文本单类分类方法及*** | |
CN115174170A (zh) | 一种基于集成学习的vpn加密流量识别方法 | |
Salih et al. | Jaya: an evolutionary optimization technique for obtaining the optimal Dthr value of evolving clustering method (ECM) | |
CN112926052A (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 |