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