CN112165464B - 一种基于深度学习的工控混合入侵检测方法 - Google Patents

一种基于深度学习的工控混合入侵检测方法 Download PDF

Info

Publication number
CN112165464B
CN112165464B CN202010967962.XA CN202010967962A CN112165464B CN 112165464 B CN112165464 B CN 112165464B CN 202010967962 A CN202010967962 A CN 202010967962A CN 112165464 B CN112165464 B CN 112165464B
Authority
CN
China
Prior art keywords
detection
industrial control
samples
dnn
data
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
CN202010967962.XA
Other languages
English (en)
Other versions
CN112165464A (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.)
Jiangnan University
Original Assignee
Jiangnan 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 Jiangnan University filed Critical Jiangnan University
Priority to CN202010967962.XA priority Critical patent/CN112165464B/zh
Publication of CN112165464A publication Critical patent/CN112165464A/zh
Application granted granted Critical
Publication of CN112165464B publication Critical patent/CN112165464B/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
    • 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
    • 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

Landscapes

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

Abstract

本发明公开了一种基于深度学习的工控混合入侵检测方法,属于工业控制系统网络信息安全技术领域。本发明方法先采用Borderline‑SMOTE过采样算法将SCADA系统数据集中少数类别的样本进行扩充,随之标准化处理;然后分别建立异常检测和误用检测;最后将AE异常检测和深度DNN误用检测组合混合入侵检测方法。其中,为了保证一次异常检测分类为正常的样本集中包含的异常样本接近为0,本发明将异常检测阈值设置的尽可能小,同时为了确保二次误用检测的高精度,通过堆叠多层DNN模型学习深层特征,再采用自动优化算法对深度DNN误用检测的超参数进行优化,进一步提高二次分类的准确性。

Description

一种基于深度学习的工控混合入侵检测方法
技术领域
本发明涉及一种基于深度学习的工控混合入侵检测方法,尤其是一种自编码器异常检测结合超参数自动优化的DNN误用检测的工控网络混合入侵检测方法,属于工业控制系统网络信息安全技术领域。
背景技术
研究表明,工业控制系统的信息安全性较弱,尤其是数据采集监控(SCADA)系统。SCADA系统用于监视和控制与关键基础架构相关的物理过程。但是,应用程序层协议的缺陷使SCADA网络容易受到攻击。2015年发生的BlackEnergy病毒和2017年的“永恒之蓝”病毒使得工控系统网络的信息安全受到了严重的威胁。
入侵检测是一种通过从计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和遭到袭击的迹象的安全技术。目前,针对工控网络的入侵检测方案更多采用的是基于传统的机器学习的检测方法,如最小二乘支持向量机、决策树、随机森林、人工神经网络等。按照分析方法/检测原理分类,入侵检测可以分为误用入侵检测、异常入侵检测。误用入侵检测方法是采用包含正常和攻击类标签样本进行训练,分类时虽然可以检测到攻击样本的类别,但却无法识别未知的攻击,从造成漏报率较高。异常入侵检测方法是只采用正常样本进行训练,通过学习正常样本的特征,之后根据正常样本与异常样本之间的差异完成异常检测,分类时虽然可以检测到未知的攻击,但却无法检测到已知攻击样本的类别,导致误报率较高。
连续工作的工控网络会产生大量的高维、非线性数据,而传统的检测方法在处理此类数据时易出现局限性,如连续产生的数据中包含一些噪声,决策树算法在处理包含噪声数据时会产生过拟合的情况,从而造成较低的分类准确率;支持向量机则难以处理大量的数据样本,因为这会消耗大量的计算机资源。当前工控网络数据不仅包含协议等字段,而且包含有效载荷。定义有效载荷的状态似乎是不可能的,因为有效载荷包含一个数据区,并且是不可预测的,它基于传输数据而急剧变化,属于非线性特征,传统检测方法针对这些特征学习能力不足,然而却可以通过深度学习技术进行预测。此外,由于深度学习模型中超参数优化属于黑盒优化问题,其超参数难以确定。当前超参数优化方法更多的是通过经验和大量人工尝试实验得到相对较优的超参数组,此类方法耗时耗力且具有较多的不确定因素,缺乏理论依据。
基于以上的分析可知:误用检测存在误报率低漏报率高的特点,异常检测存在漏报率低误报率高的特点,传统检测方法在当前的工控网络环境存在一定的局限性。此外,人工搜索深度入侵检测模型最优超参数组要求使用者具有专业的背景知识和实践经验,但随着超参数的数量和值的范围增加,由于人类不善于处理高维数据并且容易误解或错过超参数的趋势和关系,所以变得非常难以管理,所以更需要采用一种自动搜索的方法来克服手动搜索的局限性。
当前已有的混合入侵检测模型采用的是基于传统机器学习的分类算法,如专利CN110086767A采用KNN进行异常检测,但是KNN属于懒惰算法,对测试样本分类时的计算量很大,检测时间长。此外,KNN算法必须保存全部的数据集,如果训练数据集很大,那么就需要耗费大量的存储空间。KNN必须对待测试数据计算与每一个训练数据的距离,这非常耗时,在处理高维度的数据时常常会发生维度灾难。而工控网络数据具有数据量大、维度高的特点,此外工控网络入侵检测对检测的实时性要求较高,因此KNN不适用于连续工作的工控网络的入侵检测。
此外,对于入侵检测存在的样本不平衡的情况,专利CN109327464A采用ADASYN算法根据数据分布的情况为不同的少数类样本生成不同数量的新样本,该算法虽然可以自适应决定少数类别样本的合成数量,但不能抵抗噪声的干扰。且如果对其他少类别样本进行扩充可能会影响分类精度,因为扩充样本的特征表现力通常低于真实样本,若对其他少类别样本进行扩充,可能会弱化深度学习模型对该类别样本特征的学习。
发明内容
[技术问题]
针对连续工作的工控网络的入侵检测,误用检测存在误报率低漏报率高的问题,异常检测存在漏报率低误报率高的问题,传统检测方法在当前的工控网络环境存在一定的局限性。
[技术方案]
本发明提供了一种针对工控网络的混合的入侵检测方法,是基于自动编码器(AE)结合深度神经网络(DNN)的混合入侵检测方法,包括以下步骤:
步骤1:数据预处理:先对包括正常样本和攻击样本的SCADA系统应用层所采集的数据集中少数类别的样本进行扩充,再对所有数据进行数值化、标准化处理;
步骤2:建立基于自编码器的工控异常检测模型:将经过步骤一中数据预处理得到的向量输入至编码器,编码器执行从输入到潜在空间的降维,得到样本的低维表示;再将该低维表示传递给解码器进行升维,实现样本重构;最后通过比较重构误差完成异常检测;
步骤3:建立基于深度神经网络的误用入侵检测模型:将工控网络数据输入至多层DNN模型中进行特征提取,然后将提取特征传递给Softmax函数完成多分类任务,采用贝叶斯优化算法对该误用检测模型的超参数进行自动优化,最后选取最优的超参数组;
步骤4:工控网络混合入侵检测:将工控网络数据先传递给步骤二中的异常检测模型进行异常检测,所得的正常样本归类为正常,异常样本需要再次传递给步骤3中的误用检测模型进行进一步的检测。
在本发明的一种实施方式中,步骤1采用Borderline-SMOTE过采样算法对少数类别的样本数据进行采样,保持样本数据的平衡;然后对处理后的数据依次进行数值化和标准化的处理,标准化是将样本映射到[0,1]之间,归一化能够消除奇异样本,提高训练速度和检测效果;最后将样本分为训练集Xtrain、验证集Xvalid、测试集Xtest
在本发明的一种实施方式中,步骤2采用自动编码器对训练样本依次进行降维、升维处理,并根据重构误差和阈值之间的关系完成分类任务。自编码器由输入层、隐藏层、输出层组成,为了加强对与正常样本相近的异常样本的识别能力,通过添加多个隐藏层的方式加强其学习,更高级别的特征。此外,还在训练集中加入高斯噪声,在重构原始样本未失真输入时可以实现鲁棒的表示,从而加强模型的泛化能力。
DNN对于模式的离散和连续识别被广泛接受,一层DNN包含输入层、隐藏层、输出层。在本发明的一种实施方式中,步骤3通过搭建3层的全连接层建立深层DNN提取攻击样本的深层特征,然后将输出特征传递给softmax分类器实现检测。由于深度学习算法一直以来都存在一个问题,即过度拟合,其会威胁到入侵检测的准确性。为了避免模型出现过拟合,在经过深层DNN学习后的特征传递给全连接层和softmax层前先采用dropout技术随机丢弃一定比例的神经元并使其停止工作,这种做法可以有效地防止模型出现过度拟合的情况,从而使模型的泛化能力得到加强来。此外,由于神经元的删除,计算量也会得到减少,满足工控入侵检测实时性的要求。
在本发明的一种实施方式中,为了提高DNN误用检测的精度,通过贝叶斯优化自动搜索超参数的最优值。贝叶斯优化可将未知函数的先验信息与样本信息结合,使用贝叶斯公式得到函数分布的后验信息,最后根据该信息推断出获取函数最优值的位置。贝叶斯优化过程中会参考前面时刻的超参数组的信息来推断下一组超参数的设定,所以会在尽可能少的迭代次数下获取最优值。此外,开采和勘探可避免陷入局部最优。
具体地,可以采用一种有效的贝叶斯优化算法-序贯模型优化(SMBO)完成检测模型超参数的优化,首先对深度DNN误用检测模型p(error|φ)进行初始化,然后根据采集函数S获取新的超参数组,将新的超参数组带入深度DNN误用检测模型进行迭代训练并获取分类误差分数,
Figure BDA0002683037340000041
S(φ,p(error|φ))是采集函数,用来勘探更有利的待搜索区域,避免陷入局部优化;p(error|φ)是模型分类误差的概率分布,通过Paraen估计获得,理论依据是贝叶斯定理,
Figure BDA0002683037340000042
p(φ|error)是生成模型,通过超参数组和每组超参数所对应的DNN误用检测分类误差获得。
最后采用所优化的最优超参数组带入深度DNN误用检测模型,完成误用检测。
在本发明的一种实施方式中,完成误用检测和异常的离线训练后,将步骤2所建立的AE异常检测视为一次分类,首先将工控网络的测试数据传递给AE进行异常检测,被分类为正常的样本归纳为正常,被分类为异常的样本再送入深度DNN误用检测进行二次检测以完成混合入侵检测的实现。AE和DNN的网络权重和偏置等内部参数是在训练过程中采用Adam优化算法完成的。
[有益效果]
(1)本发明采用自编码器建立异常入侵检测并在训练集中加入噪声训练,可以有效地提高模型的泛化能力。此外,通过增加多个隐藏层,在测试时提高对与正常样本相近的异常样本的识别能力。
(2)采用Borderline-SMOTE过采样算法对原始数据中少数类别的样本类型进行扩充,有效的避免了因样本数量不足导致模型出现过拟合的问题,保证了训练精度。
(3)采用深度DNN建立误用检测,通过堆叠多层的全连接层加强对攻击样本的学习,提高对攻击样本的识别能力;采用贝叶斯优化算法对DNN误用检测模型的超参数进行自动搜索,有效避免了手动搜索和引用超参数方法的弊端,充分的发挥了模型的适用性。此外,本发明采用Borderline-SMOTE算法只对MFCI样本进行采样,不需要再进行扩充,能够更好的控制采样的类别和数量。且,深度学习能够通过其深度的隐藏层对工控数据特征进行充分的学习,在海量高维的工控数据分析方面有突出的表现。
(4)将AE异常检测和DNN误用检测组成混合入侵检测,提出一种将异常检测阈值尽可能小来增加正常样本的分类精度的思想提升正确样本的分类正确性,异常的样本再送入误用检测中再次分类确定攻击样本,同时降低了误报率和漏报率。
附图说明
图1是贝叶斯优化算法优化深度DNN误用检测超参数流程
图2是混合入侵检测流程
图3是天然气数据集阈值走向
图4是储水池数据集阈值走向
具体实施方式
实施例1
步骤一:数据预处理中的Borderline-SMOTE过采样和标准化处理
(1)平衡样本
在天然气管道和储水池的数据采集与监控(SCADA)系统数据集中包含8种类型的样本,1种是正常样本和7种攻击类型的样本,正常样本的标签为0,攻击样本的标签为1~7。但是,天然气SCADA系统数据集中原始数据中的8种类型的数据分布极为不平衡,其中,恶意命令注入攻击类别(MFCI)的样本数量极少,10000条数据中仅含有31条。因此,本实施例采用Borderline-SMOTE算法对该类别的样本进行扩充平衡,其方式如下:
先通过欧氏距离寻找到MCFI样本中每个样本点pi的k近邻,再根据k近邻中属于其他类别样本的数量k′划分是否为边界样本点pi′,如果k/2≤k′≤k时,pi为边界样本点;
syntheticj=pi′+rand·dj
其中,j=1,2,…,γ;dj为边界样本点pi′与MCFI样本k近邻之间的距离;rand是0到1闭区间的随机数。
(2)消除奇异样本
为了能够消除奇异样本,降低不同特征之间的影响,避免数值大小因素对于训练速度和检测效果的影响,将平衡后的样本通过MinMax标准化将其映射到[0,1]之间:
Figure BDA0002683037340000051
其中,xmax、xmin分别是特征属性的最大值和最小值;x是特征初始值,并定义训练集X、验证集V、测试集T。
步骤二:AE异常检测
现实中的工业控制系统网络环境大多是正常的,得到的基本都是正常样本信息,攻击型样本通常难以获得,因此针对工控网络的无监督异常检测是十分必要的。本实施例采用自动编码器实现工控网络异常检测。
y=s(wx+b) (1)
x′=t(w′y+b′) (2)
其中,w、w′是神经网络的权重;b、b′是神经网络的偏差;s是非线性变换函数;
式(1)中的编码器通过遵循非线性的映射将输入向量x映射到隐藏表示y;
式(2)中的解码器通过与编码器相同的变换将隐藏表示y映射回原始输入空间进行重构x′。
声明:步骤二中的x表示经过步骤一中数据预处理操作后输入到自编码器中的向量。
自动编码器包含三层:输入层、隐藏层、输出层。输入工控网络数据和输出数据的维度为m,中间的隐藏层有n维度。权重矩阵为
Figure BDA0002683037340000061
偏置分别为矢量
Figure BDA0002683037340000062
自动编码器通过以下映射方式将输入向量x∈[0,1]m转换为隐藏表示y∈[0,1]n
y=fθ(x)=s(wx+b) (3)
其中,θ=w,b;fθ是编码器;s是非线性激活函数ReLU;y是工控数据的潜在特征表示。之后将该潜在特征表示y传递给解码器gθ′进行重构,重构输入x′为:
x′=gθ′(y)=t(w′y+b′) (4)
其中,θ′=w′,b′;t是将提取的特征转换回原始输入的非线性函数;此外,将θ′设置为参数θ的转置以减少参数的数量;在训练阶段,我们优化参数θ、θ′以最小化重构误差,如下所示:
Figure BDA0002683037340000063
其中,ψ是原始输入(即输入向量)x和重构输入x′之间的重构函数,损失函数采用均方误差(MSE),即:
Figure BDA0002683037340000064
由于自编码器泛化能力较差,所以在原始的工控数据训练集中加入高斯噪声,自动编码器必须学习去消除噪声而获得真正的没有被噪声污染过的输入数据。因此,这就迫使编码器去学习工控数据的更加鲁棒的表达。通过使用噪声过程
Figure BDA0002683037340000065
将原始输入x破坏为
Figure BDA0002683037340000066
然后,使用x的随机映射结果
Figure BDA0002683037340000067
将编码器构造为
Figure BDA0002683037340000068
将解码器构造为gθ′(y)=t(w′y+b′)。为了计算重构误差,使用与基本自动编码器相同的方法,不同之处在于,从
Figure BDA0002683037340000071
重构x′的方法如下:
Figure BDA0002683037340000072
最后,通过重构误差ψ和阈值A完成异常检测,令测试样本为x″:
Figure BDA0002683037340000073
步骤三:深度DNN误用检测
声明:步骤三的x表示输入DNN网络中的工控数据的输入向量,是步骤一中预处理后的数据。
在这一步骤中,构建深度DNN误用检测模型。将x传递给DNN网络,依次经过输入层、中间层、输出层形成工控数据特征的输出。本实施例在输出层中使用了非线性激活函数softmax,该函数将输出特征向量映射为所属类别的概率σ(x),以进行误用入侵检测分类。通过softmax函数回归的概率分布如下:
Figure BDA0002683037340000074
其中,x是输入向量;xl为第l个节点的输出值;q为输出节点的个数;l索引输出单元的数量;l=1,2,…,q。
DNN使用庞大的训练数据集进行训练,并且迭代地修改每个输入连接的权重,以最大程度地减少训练期间发生的错误。此外,DNN还具有模型参数,如隐藏层单元数、学习率、丢失率、激活函数等,这些参数称为超参数,它们直接影响着检测的精度。本实施例采用贝叶斯优化算法对深度DNN误用检测模型中的超参数进行优化以提升模型的适用性,采用分类误差分数作为目标函数。令深层DNN中每层全连接层的隐藏层单元数为nu、学习率为lr、丢失率为dropout、激活函数(fact);训练集为X、验证集为V、测试集为T;目标函数是f(Mh)。采用一种贝叶斯优化算法-SMBO优化DNN误用检测模型Mh的超参数组。
SMBO算法基本步骤如下:
步骤1:深度学习模型p(error|φ)的初始化。
Figure BDA0002683037340000075
式(9)中,p(φ|error)是生成模型,由l(φ)和g(φ)组成,前者是D中的评估在分类误差范围内的密度分布,g(φ)则是分类误差外的密度分布。
步骤2:通过公式
Figure BDA0002683037340000081
得到新的超参数组。
步骤3:根据f(Mφ)评估
Figure BDA0002683037340000082
步骤4:存储
Figure BDA0002683037340000083
Figure BDA0002683037340000084
D是一个知识库,用来存储多组超参数和其对应的分类误差
步骤5:由D估计新的p(error|φ,D)。
步骤6:返回步骤2循环迭代。
φ是所需优化模型Mφ的一组超参数,包括学习率(lr)、隐藏层神经元数量(nu)、丢失率(dropout)、激活函数(fact);p(error|φ)是DNN模型误差的概率分布;f(Mφ)是目标函数,用来评估参数化模型的误差,f(Mφ)选择所建立的工控入侵检测模型的分类误差分数,
Figure BDA0002683037340000085
S(φ,p(error|φ))是采集函数,选择最大化改进
Figure BDA0002683037340000086
用来勘探更有利的待搜索区域,避免陷入局部优化。
由于该实施例的目标函数采用DNN误用检测模型的分类误差分数
Figure BDA0002683037340000087
因此本次的优化问题可以理解为最小化目标函数的值:
Figure BDA0002683037340000088
Figure BDA0002683037340000089
其中,pi是真实结果,
Figure BDA00026830373400000810
为实际分类结果;1(·)为指示函数。
首先定义每个超参数的取值范围,lr取值范围[0.01,0.2]、nu取值范围[50,100]、dropout取值范围[0,0.5]、fact为激活函数的索引("tanhUnit","maxoutUnit","softplusUnit","sigmoidUnit")(1L,4L)、DNN层数为3,然后选取训练集和验证集再五折交叉验证的基础上完成模型的评估。
贝叶斯优化算法优化深度DNN误用检测超参数的流程如图1所示,算法步骤为:
Step1:将训练集X和验证集V传递给深层DNN,权重和偏置等网络内部参数采用Adam算法进行优化,外部超参数组h根据SMBO算法的基本步骤先完成超参数的初始化。
Step2:根据初始化的超参数采用训练集X对深层DNN权重、偏置等参数进行迭代训练,达到最大迭代次数时,结合验证集V和公式(11)的计算结果评估超参数组h的适用性并将其超参数和对应的结果添加到知识库中,该过程在五折交叉验证的意义下完成。
Step3:根据知识库中的多组超参数组和对应的评估结果和采集函数推测下一组超参数组
Figure BDA0002683037340000091
如SMBO算法基本步骤中的步骤2。
Step4:将所获得超参数组继续赋给深层DNN中,设定相同的网络迭代次数再次训练优化其内部参数,将其新的超参数组和验证结果添加到知识库中为下组超参数的获取提供参考。
Step5:重复Step2~Step4,直到达到超参数优化的最大迭代次数使优化过程收敛,选取知识库中分类误差分数最低时所对应的超参数组作为最优超参数组。
所得最优超参数组为:各层DNN的nu分别为82、68、59;学习率为0.053;dropout分别为0.4113、0.4817、0.4432;fact分别为3、1、2。
步骤四:混合入侵检测
将AE异常检测和深度DNN误用检测组合成混合入侵检测,如图2所示。AE和DNN的网络权重和偏置等内部参数是在训练过程中采用Adam优化算法完成的。测试时首先将工控网络数据传递给AE异常检测模型。由于AE异常检测通过利用重构误差和阈值来区正常样本和异常样本,所以阈值的大小直接影响着分类结果,阈值过大导致大量的异常样本被分类为正常,阈值较小则导致大量的正常样本被分类为异常。通常阈值的设置与测试样本中异常样本的数量相关。
实施例2
应用实施例1所述方法检测天然气工控网络测试集、储水池工控网络测试集。
采用的天然气工控网络测试集中的异常样本占总样本数量的37%,储水池工控网络数据中异常样本占总样本的45%,通常情况,应该设置的阈值分别为63、55。但为了确保经过异常检测被分类为正常样本的数据为真实的异常样本,本发明通过将阈值设置尽可能设置较低,虽然该方法会将一些与异常样本相似的正常样本分类为异常,但却保证了被分类为正常样本的准确性,本发明从准确率(Acc)、检测率(DR)、误报率(FPR)三个方面考察阈值选取的合理性,如图3和图4所示,其中迭代次数为100次、自编码器维度分别为20-10-20-26、12-7-12-23。之后再将正常样本传递给深度DNN误用检测进行攻击样本准确识别,从而提升检测精度。
本发明的混合入侵检测方法步骤如下:
Step1:将测试数据先传递给AE异常检测,令天然气数据阈值Agas为20、储水池数据阈值Awater为20。
Step2:测试数据的重构得分ψ>A为异常,ψ<A为正常。
Step3:将被AE异常检测分类为正常的样本最终归纳为正常。
Step4:将被AE异常检测分类为异常的样本再传递给DNN误用检测进行再次分类,被分类为正常的样本最终归纳为正常,被分类为异常的样本最终归纳为攻击样本。
基于以上的阐述,使用Python对混合入侵检测方法进行验证,通过图3和图4可以发现当阈值较小时检测率皆接近100%,这是因为检测率是检测出的异常样本数占异常样本总数的比例,当阈值若设置的较小虽然会有大量的正常样本被分类为异常样本,但是几乎所有的异常样本都能被检测出来。因此,我们将阈值最小化以保证被分类的异常样本不会出错,本发明在该混合检测中对两个数据集上设置的阈值皆为20。
为了考察本发明在工控入侵检测中的有效性,通过表1和表2中的对比实验可以看出,本发明无论是在天然气还是储水池数据集上的检测准确率(Acc)、误报率(FPR)、漏报率(FAR)上,其效果都优于其他几种方法。
表1天然气SCADA系统数据集测试结果
检测模型 Acc/% FPR/% FAR/%
PSO-SVM 93.21 4.67 5.37
CNN 96.81 1.98 3.72
DNN 96.57 2.21 3.91
LSTM 97.52 1.86 2.97
AE 96.61 2.13 1.42
本发明方法 98.88 0.97 0.68
表2储水池SCADA系统数据集测试结果
Figure BDA0002683037340000101
Figure BDA0002683037340000111
虽然本发明已以较佳实施例公开如上,但其并非用以限定本发明,任何熟悉此技术的人,在不脱离本发明的精神和范围内,都可做各种的改动与修饰,因此本发明的保护范围应该以权利要求书所界定的为准。

Claims (8)

1.一种工业控制网络混合入侵检测方法,其特征在于,是基于自动编码器结合深度神经网络的混合入侵检测方法,包括以下步骤:
步骤1:数据预处理:先对包括正常样本和攻击样本的SCADA系统应用层所采集的数据集中少数类别的样本进行扩充,再对所有数据进行数值化、标准化处理;具体过程为:采用Borderline-SMOTE过采样算法对少数类别的样本数据进行采样、保持样本数据的平衡;然后对处理后的数据依次进行数值化和标准化的处理;所述标准化是将样本映射到[0,1]之间,归一化能够消除奇异样本,提高训练速度和检测效果,最后将样本分为训练集、验证集、测试集;
步骤2:建立基于自编码器的工控异常检测模型:将经过步骤一中数据预处理得到的向量输入至编码器,编码器执行从输入到潜在空间的降维,得到样本的低维表示;再将该低维表示传递给解码器进行升维,实现样本重构;最后通过比较重构误差完成异常检测;
步骤3:建立基于深度神经网络的误用入侵检测模型:将工控网络数据输入至多层DNN模型中进行特征提取,然后将提取特征传递给Softmax函数完成多分类任务,采用贝叶斯优化算法对该误用检测模型的超参数进行自动优化,最后选取最优的超参数组;
步骤4:工控网络混合入侵检测:将工控网络数据先传递给步骤二中的异常检测模型进行异常检测,所得的正常样本归类为正常,异常样本需要再次传递给步骤3中的误用检测模型进行进一步的检测。
2.根据权利要求1所述的一种工业控制网络混合入侵检测方法,其特征在于,步骤2中所述自编码器由输入层、隐藏层、输出层组成,通过添加多个隐藏层的方式加强自编码器的学习,以加强对与正常样本相近的异常样本的识别能力;还在训练集中加入高斯噪声。
3.根据权利要求1所述的一种工业控制网络混合入侵检测方法,其特征在于,步骤2所述的自动编码器是一种通过无监督学习训练的神经网络,由编码器和解码器组成,其基本算法模型如下:
y=s(wx+b).....................................(1)
x′=t(w′y+b′)...............................(2)
其中,w、w′是神经网络的权重;b、b′是神经网络的偏差;s是非线性变换函数;
式(1)中的编码器通过遵循非线性的映射将输入向量x映射到隐藏表示y;
式(2)中的解码器通过与编码器相同的变换将隐藏表示y映射回原始输入空间进行重构x′。
4.根据权利要求1所述的一种工业控制网络混合入侵检测方法,其特征在于,步骤3所述超参数包括:丢失率、隐藏层神经元的数量、学习率、激活函数。
5.根据权利要求1所述的一种工业控制网络混合入侵检测方法,其特征在于,多层DNN模型是指:共有3层,每一层DNN包含输入层、隐藏层、输出层,3层的全连接层建立深层DNN提取攻击样本的深层特征,然后将输出特征传递给softmax分类器实现检测。
6.根据权利要求1所述的一种工业控制网络混合入侵检测方法,其特征在于,步骤2:
先在工控数据中加入噪声,然后将此有噪声的工控网络数据作为训练集传递给自编码器进行降维和重构的过程,得到重构样本x′,最后采用重构误差作为异常评分,具有高评分的被视为异常,反之为正常,重构误差如下:
Figure FDA0003258745600000021
7.根据权利要求1所述的一种工业控制网络混合入侵检测方法,其特征在于,步骤3中采用一种贝叶斯优化算法-SMBO对基于DNN的误用检测模型的超参数进行自动寻优,其算法如下:
步骤1:深度学习模型p(error|φ)的初始化,
步骤2:通过公式
Figure FDA0003258745600000022
得到新的超参数组,
步骤3:根据f(Mφ)评估
Figure FDA0003258745600000023
步骤4:存储
Figure FDA0003258745600000024
步骤5:由D估计新的p(error|φ,D),
步骤6:返回步骤2循环迭代;
φ是所搭建的DNN检测模型的一组超参数,其中包括学习率(lr)、隐藏层神经元数量(nu)、丢失率(dropout)、激活函数(fact);p(error|φ)是DNN模型误差的概率分布;p(error|φ)的估计通过贝叶斯规则完成:
Figure FDA0003258745600000025
式(9)中,p(φ|error)是生成模型,由l(φ)和g(φ)组成,前者是D中的评估在分类误差范围内的密度分布,g(φ)则是分类误差外的密度分布,S(φ,p(error|φ))表示采集函数,选择最大化改进
Figure FDA0003258745600000031
目标函数f(Mφ)选择所建立的工控入侵检测模型的分类误差分数,
Figure FDA0003258745600000032
其中,pi是真实结果、
Figure FDA0003258745600000033
是检测结果;
最后选取知识库中使分类误差分数最小时所对应的超参数组作为最优超参数组。
8.根据权利要求1所述的一种工业控制网络混合入侵检测方法,其特征在于,步骤4,AE和DNN的网络权重和偏置等内部参数是在训练过程中采用Adam优化算法完成的。
CN202010967962.XA 2020-09-15 2020-09-15 一种基于深度学习的工控混合入侵检测方法 Active CN112165464B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010967962.XA CN112165464B (zh) 2020-09-15 2020-09-15 一种基于深度学习的工控混合入侵检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010967962.XA CN112165464B (zh) 2020-09-15 2020-09-15 一种基于深度学习的工控混合入侵检测方法

Publications (2)

Publication Number Publication Date
CN112165464A CN112165464A (zh) 2021-01-01
CN112165464B true CN112165464B (zh) 2021-11-02

Family

ID=73857412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010967962.XA Active CN112165464B (zh) 2020-09-15 2020-09-15 一种基于深度学习的工控混合入侵检测方法

Country Status (1)

Country Link
CN (1) CN112165464B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112967251A (zh) * 2021-03-03 2021-06-15 网易(杭州)网络有限公司 图片检测方法、图片检测模型的训练方法及装置
CN113328987A (zh) * 2021-04-09 2021-08-31 国网浙江省电力有限公司金华供电公司 基于深度学习的增量学习流量异常检测方法
CN112804270B (zh) * 2021-04-15 2021-06-18 工业信息安全(四川)创新中心有限公司 一种基于自编码的通用工业协议异常检测模块及方法
CN113409105B (zh) * 2021-06-04 2023-09-26 山西大学 一种电商网络异常用户检测方法及系统
CN113536299A (zh) * 2021-07-08 2021-10-22 浙江网安信创电子技术有限公司 一种基于贝叶斯神经网络的入侵检测系统的设计方法
CN113778054B (zh) * 2021-09-09 2022-06-14 大连理工大学 一种针对工业控制系统攻击的双级检测方法
CN114124460B (zh) * 2021-10-09 2023-07-18 广东技术师范大学 工控系统入侵检测方法、装置、计算机设备及存储介质
CN114785589B (zh) * 2022-04-20 2023-11-14 浙江大学 基于控制不变量建模的入侵检测与定位方法及系统
CN115174268B (zh) * 2022-09-05 2022-11-18 北京金睛云华科技有限公司 基于结构化正则项的入侵检测方法
CN116032615A (zh) * 2022-12-27 2023-04-28 安徽江淮汽车集团股份有限公司 车载can总线入侵检测方法
CN116304641B (zh) * 2023-05-15 2023-09-15 山东省计算中心(国家超级计算济南中心) 基于参考点搜索和特征交互的异常检测解释方法及系统
CN116415201B (zh) * 2023-06-07 2023-08-15 哈尔滨工业大学(威海) 基于深度同心学习的船舶主动力异常检测方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3179323A1 (en) * 2015-12-10 2017-06-14 Deutsche Telekom AG Method and system for detecting a plc in a scada system that is sending false telemetry data
CN107194803A (zh) * 2017-05-19 2017-09-22 南京工业大学 一种p2p网贷借款人信用风险评估的装置
CN107609574A (zh) * 2017-08-18 2018-01-19 上海电力学院 基于数据挖掘的风电机组故障预警方法
CN109495920A (zh) * 2017-09-13 2019-03-19 中国移动通信集团设计院有限公司 一种无线通信网络特征画像方法、设备和计算机程序产品
CN110633734A (zh) * 2019-08-22 2019-12-31 成都信息工程大学 一种基于图论相关理论进行异常检测的方法
CN110691100A (zh) * 2019-10-28 2020-01-14 中国科学技术大学 基于深度学习的分层网络攻击识别与未知攻击检测方法
CN111062425A (zh) * 2019-12-10 2020-04-24 中国人民解放军海军工程大学 基于c-k-smote算法的不平衡数据集处理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101399672B (zh) * 2008-10-17 2011-03-02 章毅 一种多神经网络融合的入侵检测方法
KR101747079B1 (ko) * 2011-02-17 2017-06-14 세이블 네트웍스 인코포레이티드 하이 레이트 분산 서비스 거부(DDoS) 공격을 검출하고 완화하는 방법 및 시스템
US9497204B2 (en) * 2013-08-30 2016-11-15 Ut-Battelle, Llc In-situ trainable intrusion detection system
CN110163261A (zh) * 2019-04-28 2019-08-23 平安科技(深圳)有限公司 不平衡数据分类模型训练方法、装置、设备及存储介质
CN111556016B (zh) * 2020-03-25 2021-02-26 中国科学院信息工程研究所 一种基于自动编码器的网络流量异常行为识别方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3179323A1 (en) * 2015-12-10 2017-06-14 Deutsche Telekom AG Method and system for detecting a plc in a scada system that is sending false telemetry data
CN107194803A (zh) * 2017-05-19 2017-09-22 南京工业大学 一种p2p网贷借款人信用风险评估的装置
CN107609574A (zh) * 2017-08-18 2018-01-19 上海电力学院 基于数据挖掘的风电机组故障预警方法
CN109495920A (zh) * 2017-09-13 2019-03-19 中国移动通信集团设计院有限公司 一种无线通信网络特征画像方法、设备和计算机程序产品
CN110633734A (zh) * 2019-08-22 2019-12-31 成都信息工程大学 一种基于图论相关理论进行异常检测的方法
CN110691100A (zh) * 2019-10-28 2020-01-14 中国科学技术大学 基于深度学习的分层网络攻击识别与未知攻击检测方法
CN111062425A (zh) * 2019-12-10 2020-04-24 中国人民解放军海军工程大学 基于c-k-smote算法的不平衡数据集处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于行为分析的SCADA系统异常检测方法研究;陈土生;《中国优秀硕士学位论文全文数据库 信息科技辑》;20200215;全文 *

Also Published As

Publication number Publication date
CN112165464A (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
CN112165464B (zh) 一种基于深度学习的工控混合入侵检测方法
Hui et al. Collaborative graph convolutional networks: Unsupervised learning meets semi-supervised learning
CN114120041B (zh) 一种基于双对抗变分自编码器的小样本分类方法
Al Iqbal et al. Knowledge based decision tree construction with feature importance domain knowledge
CN112560596B (zh) 一种雷达干扰类别识别方法及系统
Mittal et al. Fake-face image classification using improved quantum-inspired evolutionary-based feature selection method
CN116781346A (zh) 基于数据增强的卷积双向长短期记忆网络入侵检测方法
Zheng Network intrusion detection model based on convolutional neural network
Chu et al. Co-training based on semi-supervised ensemble classification approach for multi-label data stream
CN115048983A (zh) 数据流形拓扑感知的人工智能系统对抗样本防御方法
Lee et al. Boundary-focused generative adversarial networks for imbalanced and multimodal time series
Ravipati et al. A survey on different machine learning algorithms and weak classifiers based on KDD and NSL-KDD datasets
Zhang et al. Consumer credit risk assessment: A review from the state-of-the-art classification algorithms, data traits, and learning methods
Soleymanzadeh et al. A Stable generative adversarial network architecture for network intrusion detection
Farooq Genetic algorithm technique in hybrid intelligent systems for pattern recognition
Huynh et al. On the performance of intrusion detection systems with hidden multilayer neural network using DSD training
Faraoun et al. Neural networks learning improvement using the k-means clustering algorithm to detect network intrusions
Ma et al. Rethinking Safe Semi-supervised Learning: Transferring the Open-set Problem to A Close-set One
Zhu et al. Software defect prediction model based on stacked denoising auto-encoder
Sheng et al. Network traffic anomaly detection method based on chaotic neural network
Kim et al. Proportional voting based semi-unsupervised machine learning intrusion detection system
Yin et al. The active leaning-based nearest neighbor mean distance novelty detection for large data set
Mo et al. A deep auto-encoder based LightGBM approach for network intrusion detection system
CN113283537B (zh) 面向成员推理攻击的基于参数共享的深度模型隐私保护方法和装置
Wanga et al. A Deep-forest based approach for detecting fraudulent online transactions

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