基于边云协同的智能工控系统入侵检测技术

2020-11-12 10:39吴秋新张铭坤安晓楠龚钢军
计算机应用与软件 2020年11期
关键词:边缘准确率卷积

陈 思 吴秋新 张铭坤 安晓楠 龚钢军 刘 韧 秦 宇

1(北京信息科技大学 北京 100192) 2(华北电力大学北京市能源电力信息安全工程研究中心 北京 102206) 3(北京卓识网安技术股份有限公司 北京 102206) 4(中国科学院软件研究所 北京 100190)

0 引 言

随着信息化与工业化的深度融合以及“互联网+”与智慧能源、能源互联网、综合能源服务等发展模式的改变[1],工业技术体系在开放性、互联互通性和智能化等方面的需求越来越强烈[2]。工业控制系统物理隔离的传统封闭环境面临着“固守与发展”的矛盾,传统信息系统所面临的病毒、木马工具等网络危害,也开始逐渐向工业控制领域扩散。2011年“Duqu”病毒从工业控制系统制造商那里隐藏和收集有关其目标的信息,致使超过1 400名旅客滞留;2017年“WannaCry”的勒索病毒在世界各地进行了大规模攻击,导致100多个国家和地区受到影响,受到影响的行业包括医疗系统、快递公司、石油和石化公司、学校、银行和警察局等。2019年3月7日下午,委内瑞拉包括首都加拉加斯在内,经历了全国范围内的大规模停电,直至8日晚部分地区才恢复供电,但9日中午,电力系统遭受新一轮网络攻击导致再次崩溃。上述事件都揭示了信息安全在工业控制系统中占据越来越重要的地位。因此,工业控制系统的安全日渐堪忧。由于攻击手段的多种多样,短时间就可对工业生产生活造成恶劣影响,所以对入侵检测的实时性要求越来越高。随着工业控制系统入侵检测的发展,入侵检测的方法也取得了一定的成果,从目前的研究工作表明,主要有以下三种入侵检测方法:(1) 基于专家的经验、知识来进行推理判断,典型的系统主要是首先采用规则表示专家经验和设备参数,建立规则知识库,通过对检测到的网络信息传输到推理机中进行系统故障诊断。(2) 基于模型的入侵检测,主要根据工业控制系统中特定参数[3],并选取检测特征,构建基于工控环境的入侵检测数学模型,并通过该模型实现对系统状态的检测与预测。(3) 基于机器学习的入侵检测,机器学习是一种了解数据、提取重要模式和趋势的研究方法,广泛应用于数据挖掘、计算机视觉、模式识别等领域。

通过入侵检测技术,可以监测主机和网络等边缘侧的异常数据[4],随着云计算的广泛应用,云计算中心聚集了大量的数据,云中心具有强大的处理性能,可以处理海量数据[5]。但是云计算存在两个局限性[6]。一是数据的重量,由于数据需要大量的存储空间以及带宽等,使得通信传输的拥塞;二是时延,传输海量数据需要时间,云中心处理数据也需要时间,这将增加请求响应时间。工业控制系统一旦遭受恶意入侵,如果不能及时检测将会造成难以想象的后果,边缘计算可以很好地解决此问题。目前基于云环境下的入侵检测已经成熟。文献[7]提出了一种基于云计算理论的入侵检测算法来检测入侵行为,提高了对复杂入侵的检测能力。文献[8]将边缘计算引入入侵检测的思想,但是没有提出实际的业务场景。文献[9]将边缘计算的应用场景放到了配电网信息物理系统中,根据边缘计算的价值提出了对物理信息系统的管控模型评价体系。文献[10]提出了基于卷积神经网络的工业控制系统入侵检测算法,可以学习如何从现有的混合数据中识别正常和异常,并从正常数据中学习正常行为。虽然在云计算以及边缘计算都已经针对入侵检测进行研究,但是还没有体现边云协同的思想,将边缘计算和云计算进行协同能够更好地提高入侵检测的速度和准确率。

本文通过建立边云协同的入侵检测模型,利用机器学习算法提高工业控制系统的入侵检测的效率。

1 边缘计算、云计算和ICS入侵检测

1.1 模型架构

2016年11月,边缘计算产业联盟定义了包含设备、网络、数据与应用四域的边缘计算参考架构[11],并于2019年提出了边缘计算3.0参考体系结构。新架构侧重体现边缘云以及边缘智能的应用价值。边缘计算能够应用、处理和分析网络边缘的数据。在边缘节点处处理这些数据可使响应时间最短、减少网络负载并及时检查工业控制系统受到的入侵检测。边缘计算能够将云计算的计算能力下沉到数据端。因此,边缘计算能够在本地进行信息服务,时效性更高,能够存储短时的数据,而云计算可存储大量数据,在远程进行大数据分析[12],支撑边缘计算在本地的决策能力。通过分析边缘计算和云计算在入侵检测业务场景下的融合,构建了如图1所示的三维立体模型图,其能够体现边云协同在入侵检测的各个业务环节发挥着重要作用。

图1 边云入侵检测模型图

1.2 边云协同的ICS模型

边云协同模型在传统的ICS入侵检测模型的基础下,按照边缘计算3.0架构的提出了边云协同的工业控制系统入侵检测模型,如图2所示。

图2 ICS入侵检测模型

该模型由下至上共分为三层,分别是数据采集层、边缘计算层、云计算层。数据采集层由工业控制系统中现场控制层组成,其中包括数据采集与监控系统(SCADA)、分布式控制系统(DCS)、可编程控制器(PLC)、远程终端(RTU)[13]等。

上传ICS的数据进行并输出至第二层边缘计算层,边缘计算在本层的功能包括:(1) 本地消息通信。工业控制系统采集设备通过网络相互收发消息,而不仅仅依赖互联网,数据通信具备QoS质量保障能力。(2) 本地计算。边缘计算可通过函数计算的形式处理消息,将结果传递至下一阶段,所以可以利用深度学习,在边缘端解决信息处理。(3) 云数据同步。可将端与云的数据进行双向消息传递,能够实现在网络断开的情况下将消息暂存,等待网络通畅后再自动重试。数据进行预处理或分析后由边缘计算层上传到第三层对数据进行预处理或分析,然后将数据传入到云计算层,云计算层通过自身强大的计算能力,分析边缘端入侵检测模型处理结果的可靠性,并更新边缘端模型,以便边缘端模型能够解决未知入侵。云端对边缘端的模型进行更新后重新传回边缘端,通过这一滚动更新的过程,云端赋予边缘端更强的入侵检测能力。

虽然云端赋予了边缘端入侵检测诊断的能力,但是并不意味着边缘侧可以脱离与云端的交互,形成边缘侧的闭环。首先入侵形式是一个不断更新的过程,时刻都会有新的攻击类型,其次通过边缘计算不断将预处理数据上传增强云端的入侵检测能力,当其他边缘侧遇到相似问题,可将经验直接下放到该边缘侧,无须重新学习,直接将经验共享。

2 基于边云协同的入侵检测算法

2.1 卷积神经网络

卷积神经网络(Convolutional neural network,CNN)是一种不完全连接的前馈神经网络,具有从图像中识别视觉模式的能力。通过对采集到的信号进行逐层特征变换,构造出一个包含丰富特征的结构模型,实现特征的自动学习[14]。

其输入层可以处理多层数据。通常,一维卷积神经网络的输入层接收一维或二维数组,其中一维阵列通常用作频谱采样。二维阵列可以包含多个通道,二维卷积神经网络的输入层接收二维或三维数组。三维卷积神经网络的输入层接收一个四维数组[15]。

2.2 深度可分离卷积

就模型尺寸而言,传统卷积神经网络拥有大量参数,保存这些参数对设备的存储空间要求很高。所以为了加快模型处理的速度,通常会降低网络本身计算复杂度。与云端部署的服务器不同,边缘计算设备由于硬件资源的限制,难以支持大型软件的运行[16]。即使是ARM处理器的处理速度不断提高,功耗不断降低,但就目前情况来看,仍不足以支持复杂的数据处理应用[17]。因此,本文在边缘端使用一种轻量级算法Mobile Net模型,其具有结构小、延迟低、功耗低的特性,虽然是轻量级算法但是依旧可以像大规模模型一样,用于图像的分类、检测、嵌入、分割等任务,有效地最大化模型的准确性[18]。

图3为一个5×5的传统卷积得到特征值的过程与深度可分离模型的操作过程的异同对比。可以看出,传统卷积首先将增加堆叠卷积层的数量,这种方法最初是在AlexNet[20]中引入的,并且在VGG和其他网络中一直继续使用。然而,纯粹增加深度不会导致训练产生良好的结果,为了解决这一问题,本文将不同提取特征的算法与深度可分离卷积进行结合,能够更加有效地提取特征。然后将标准卷积分为了Depthwise和Pointwise两个部分,通过这样的方式打破通道数量,利用滤波和组合方式形成卷积,其本质为以优化延迟为重点,从深度可分离卷积的角度对模型进行重构[21]。在此基础上给出高效模型设计,并来构建轻量级深度神经网络,因此Mobile Net模型更加适用于边缘侧的应用服务。

图3 深度可分离卷积

一个卷积核处理输入数据时的计算量为:

Kwidth×Kheight×N×C×Iwidth×Iheight

(1)

式中:N是使用的卷积核个数;C为输入的通道数;Kheight和Kwidth为卷积核的宽和高;Iheight和Iwidth为输入的宽和高,且采用补0的方式。

在某一层如果使用N个卷积核,这一层的深度可分离卷积的计算量为:

Depthwise separable convolution:

Kwidth×Kheight×C×Iwidth×Iheight

(2)

Pointwise convolution:

N×C×Iwidth×Iheigh

(3)

2.3 Mobile Net模型实现流程

本文提出一种适用于边缘端的Mobile Net模型,具体模型结构和实现流程如图4所示。

图4 算法框架结构图

首先将数据堆叠三层,再将数据的特征进行归一化处理。然后通过深度可分离卷积神经网络模型进行入侵检测。入侵检测的深度可分离卷积模型一共有四层,包括两层卷积操作、一层池化操作、两层全连接操作。采用Same类型卷积运算,卷积核大小为3×3,步长值为1,池化层均采用最大池化方法,核的大小为2×2,步长值为1。选定每层卷积核个数为32。Depthwise卷积核大小为3×3,Pointwise卷积核大小为1×1。为防止过拟合采用dropout方法,并利用Adam算法替代传统梯度下降法,基于训练迭代更新网络权重[22]。该结构为了实现轻量化放弃了池化采用卷积进行运算。

图4右侧框架分成数据预处理、模型训练和模型测试三个部分,其中模型训练部分进行模型学习,模型测试则将测试数据集放入进行验证,最后可采用TensorBoard模块将模型结构以及训练、测试结果可视化。

由式(2)-式(3)可算出本文使用的Mobile Net模型各层的计算量。为了更好地对比新模型在计算量及准确率的优势,采用传统的CNN模型进行对比,令CNN模型层数与本文使用的Mobile Net模型层数相同,步长值、卷积核大小、个数、卷积运算类型基本一致。两种模型具体的输入参数以及计算量如表1-表2所示。

表1 Mobile Net计算量

表2 CNN计算量

可以看出,传统CNN的计算量是Mobile Net模型计算量将近两倍。经过深度可分离卷积操作后,全连接的计算量下降显著,该操作使得模型更加轻量。可得出Mobile Net模型能够有效地节省时间,提高入侵检测的效率。

3 实 验

本实验数据集总共由500万条记录构成,其中训练集和测试集的比例是9∶1。在训练数据集中包含了1种正常的标识类型normal和22种训练攻击类型,另有17种未知攻击类型出现在测试集中。

本文算例在单台CPU为2.6 GHz,内存为4 GB的个人计算机上完成。实验仿真过程采用Python 3.6.0版本,TensorFlow深度学习框架。

3.1 仿真模型

表3为实验仿真参数。

表3 实验仿真参数

本文采用的损失评价标准为:

(4)

式中:q表示真实值;p表示预测值;m表示数据量;n表示训练轮数。

仿真得到的损失如图5所示。

图5 Mobile Net模型训练损失

可以看出,模型的损失随着训练轮数的增加而下降,然后趋于稳定。由于数据量充分,模型正确,训练轮数足够长,模型最终达到收敛状态的损失随着训练轮数增加而减少,这都验证了模型训练的有效性。

3.2 实验结果分析

为了验证本文使用的Mobile Net模型在准确率以及时间的优势,采用上述的传统卷积模型进行对比实验。两种模型在训练集和测试集上的准确率分别如图6和图7所示。

图6 训练集准确率

图7 测试集准确率

可见两种算法模型都有很高的准确率,Mobile Net模型和CNN模型在趋势上都是先升高达到峰值后降低,Mobile Net在第500轮时,训练集和测试集准确率都达到最高,分别是100%和98.12%;CNN模型在第550轮时,训练集和测试集准确率都达到最高,分别是100%和97.92%。从整体准确率结果看,Mobile Net模型较传统的CNN模型准确率略有提高。

两种模型的计算时间对比如图8所示。

图8 模型计算时间对比

可见,两种模型除了在准确率上的差别外,需要训练的时间差距也非常明显。随着训练的轮数增加,时间差距越来越大,在第200轮后两者的时间差开始相差一倍左右,之后差距越来越明显。因此,采用的Mobile Net模型优于传统的CNN模型,更适合数据量大且延时需求低的边缘侧。

3.3 实验对比分析

使用针对同样训练样本,对比其他神经网络算法的准确率,包括传统BP、改进BP、DBN、RBF,对比结果如表4所示。

表4 性能对照表

可以看出,本文使用的两种卷积神经网络算法在本数据集上具有更好的分类效果,且Mobile Net模型准确率更高。

4 结 语

本文研究了基于边云协同的ICS入侵检测的仿真,在实验室条件下,改进现有的CNN模型,提高了入侵检测的准确率,减少了模型的计算量,减少了网络带宽,降低了数据的延时率。本文模型更加适用于边缘侧进行工业控制的入侵检测,通过云端对边缘端模型的优化,使得边缘端的模型更加完善,能够防御不断升级的入侵。这为ICS入侵检测提供了一种新的思路,但是模型还可通过进一步简化,例如可借助深度神经网络算法的剪枝技术进行模型压缩,使得模型更加轻量,更适合边缘侧的工作。

猜你喜欢
边缘准确率卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
一张图看懂边缘计算
在边缘寻找自我