工控入侵检测_第1页
工控入侵检测_第2页
工控入侵检测_第3页
工控入侵检测_第4页
工控入侵检测_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

0引言工业控制系统(IndustrialControlSystem)在运输、供电以及水处理等领域应用广泛,是工业基础设施的核心组成部分,也是国民经济、社会运行和国家安全的重要基础。自澳大利亚Maroochy废水系统攻击、Stuxnet蠕虫攻击以及德国钢铁厂之后,工业控制系统的安全提升到一个新的高度,受到人们越来越多的重视。大多数入侵检测系统(IntrusionDetectionSystem,IDS)采用CIDF通用模型。CIDF模型将IDS分为4个相互关联的部分——事件生成器(EventGenerators)、事件分析器(EventAnalyzers)、响应单元(ResponseUnits)和事件记录器(EventRecorder)。EG负责采集和预处理原始数据,包括ICS中的数据报文、日志以及传感器数据等,格式化为事件并传递给其他3个模块。EA是入侵检测系统的核心。EA实现入侵检测算法,分析传递给它的事件行为,判断事件是否构成异常或入侵行为,并将判断结果传递到RU。RU根据EA的判断结果做出响应,包括发出切断电源、停止数据传输命令或改变访问权限。ER将入侵检测系统的工作流程记录成日志,以供安全人员查看。具体模型如图1所示。图1CIDF通用模型传统的IDS通常没有考虑ICS特有的通信协议,如DNP3和Modbus,且ICS的异常检测不能完全依赖网络流量,还需要查看与物理过程控制相关的传感器或执行器信息,增加了数据特征数目和各项数据关联性的复杂程度。传感器传递的数据很有可能受到噪声的影响,导致异常检测设备产生高误报率和低攻击检测率。国内外已有大量研究人员进行了大量研究,但大多数方法高度依赖预定义的模型和特征来检测异常行为,且现有的入侵检测方法大多针对特定的协议和系统定制,缺少一定的通用性。此外,攻击往往具有时间依赖性,在大多数检测方案中没有涉及。本文设计并实现一个基于LSTM的IDS方案,并在SWaT数据集上评估效果。为了获得更好的对比效果,根据文献[6-7]的描述,实现了IsolationForest、OSCVM和MatrixProfile这3种检测方案。实验结果表明,基于LSTM的检测方法比其他3种检测方法具有更高的正确率,且测试所需要的时间更短,需要的上下文环境更少。本文余下部分组织如下:第1部分概述目前已有的检测方法;第2部分说明实验中的数据集;第3部分阐述降维方法和主要算法;第4部分分析评估结果并讨论;第5部分为结论。1相关工作作为一种有效的防御手段,异常检测已经被广泛应用在各个领域,如检测僵尸网络、检测物联网的攻击以及检测程序的异常行为等。提出使用一类支持向量机(OneClassSupportVectorMachine,OCSVM)来检测攻击。他们将原始的网络跟踪文件分割为两个独立集合用于训练与测试,但数据集较小,只有不到2000条独立完整的跟踪记录。通过使用递归神经网络,检测网络物理系统的攻击。他们同样使用安全水处理(SecureWaterTreatment,SWaT)数据集。在他们的工作中,使用RNN是为了预测在接下来的一段时间内某一物理属性或某一传感器接收到的数据的变化曲线。如果预测曲线和实际信号曲线有较大差别,说明可能存在入侵。此外,国内外对工业控制系统的入侵检测还有许多研究成果。提出了利用特征码来检测Modbus数据中攻击的方法;在研究中,他们通过自动编码器,以无监督的方式检测工业数据集中的真实攻击;提出了保护工业网络安全的方法;则针对电力系统网络入侵检测问题进行了讨论。2SWaT数据集新加坡理工大学网络安全中心iTrust提出的SWaT模拟一个工业水处理厂,通过膜超滤和反渗透装置,每分钟生产5加仑的过滤水。SWaT在正常模式下运行7天,在攻击模式下运行4天,最终生成与水处理厂和水处理过程有关的物理特性,并与实验中网络流量共同构成数据集。水处理分为生水存储(RawWaterStorage)、预处理(Pre-treatment)、膜超滤(Ultrafiltration,UF)、紫外线(Ultraviolet,UV)灯脱氯、反渗透(ReverseOsmosis,RO)和处理(Disposal)6个子过程。子过程之间的联系和转换关系如图2所示。工厂将准备处理的水储存起来,用不同的化学物质预处理。之后使用膜超滤再进行脱氯处理,输送给反渗透设备。根据水清洁度的高低,决定存储在干净的储水池中还是回到膜超滤环节。图2模拟处理过程SWaT数据集基于攻击的特点,区分了4种类型的攻击。(1)单级别单点攻击(SingleStageSinglePoint,SSSP):在一个子过程中,对一个点(传感器或执行器)进行攻击。(2)单级别多点攻击(SingleStageMultiplePoint,SSMP):在一个子过程中,集中对多个点进行攻击。(3)多级别单点攻击(MultipleStageSinglePoint,MSSP):在多个子过程中,分别对一个点攻击。(4)多级别多点攻击(MultipleStageMultiplePoint,MSMP):在多个子过程中,对多个点进行攻击,可以看做是单级别多点攻击在多个子过程上的实现。在11天的数据收集过程中,共有36次攻击。表1列出了攻击的分类。表1SWaT中攻击类型和次数3研究方法3.1基于LSTM的入侵检测建立网络模型3.1.1PCA降维虽然SWaT是较为简单的典型工业控制系统,一项物理属性记录中只有53个数据项,物理控制过程可以抽象为只有51个属性的数据(其他两个数据项分别为时间戳和标签Normal/Attack),但为了不失一般性,抽取数据特征对数据进行降维处理。使用卡方检验返回最佳特征,并使用PCA(主成分分析)算法进行降维。为了获得最好的降维效果,在SWaT数据集上测试最佳特征返回数目为8~14时降维数据的完整性,具体测试结果如表2所示。抽取数据保留11个属性(时间戳和标签除外),分别是'LIT101'、'AIT203'、'FIT201'、'DPIT301'、'FIT301'、'LIT301'、'AIT402'、'LIT401'、'AIT502'、'PIT501'、'PIT503'。此时数据的损失较少,数据完整性保留程度高。图3与图4分别显示了降维前后特征之间的关联性。PCA处理前,各个属性之间均存在一定关联,其中有部分属性存在明显的正相关与负相关联系。PCA提取出主要特征分量,将抽取后的特征变换为线性无关的表示,因此图4显示各个维度之间关联性为0。表2保留属性与完整性图3降维前特征间关联性图4降维后特征间关联性为了能够更好地应用SWaT数据集(以及其他工业控制系统中数据)的时序性特点,将降维后的数据每30条分作一组,每一组内部数据都是时序的。将每一组数据组成的矩阵转置,形成类似字符串embedding后的编码结果。3.1.2LSTM网络LSTM是一种特殊的RNN。通过精巧的设计,解决长序列训练过程中梯度消失和梯度爆炸问题。标准RNN由简单的神经网络模块按时序展开成链式,内部结构如图5所示。这个重复模块结构简单且单一,记忆叠加方式显得简单粗暴。图5RNN网络内部结构LSTM内部有较为复杂的结构,能通过门控状态选择调整传输的信息,记住需要长时记忆的信息,忘记不重要的信息,如图6所示。图6LSTM网络内部结构LSTM内部主要有3个阶段。(1)忘记阶段。这个阶段主要是对上一个节点传进来的输入进行选择性忘记——“忘记不重要的,记住重要的”。通过计算得到的zf(f表示forget)作为忘记门控,ct-1来控制上一个状态哪些需要保留哪些需要遗忘。(2)选择记忆阶段。该阶段将输入有选择性地进行“记忆”。主要对输入xt进行选择记忆,重要内容着重记录,不重要内容则少记一些。当前的输入内容由前面计算得到的z表示。选择的门控信号则由zi(i代表information)进行控制。将上面两步得到的结果相加,即可得到传输给下一个状态的ct。(3)输出阶段。这个阶段将决定哪些将会被当成当前状态的输出。主要通过zo控制,且对上一阶段得到的co进行放缩(通过一个tanh激活函数进行变化)。LSTM通过门控状态控制传输状态,记住需要长时间记忆的,同时忘记不重要的信息。这对很多需要“长期记忆”的任务尤其好用,但也因为引入了很多内容导致参数变多,加大了训练难度。3.1.3网络结构本文实现了一个基于LSTM的深度网络。网络包含2个LSTM网络层和1个全连接层,最后使用Sigmoid进行归一化。由于Sigmoid会带来过拟合问题,在网络各层间添加Dropout并设置LSTM的recurrent_dropout为0.2。第4部分评估结果显示,这样的方法是合适的。3.2其他入侵检测方法3.2.1OCSVMOCSVM即一类支持向量机。该模型将数据样本通过核函数映射到高维特征空间,使其具有良好的聚集性。在特征空间中求解一个最优超平面,实现目标数据与坐标原点的最大分离。OCSVM使用一个类进行训练,以确定测试用例的元素是否属于该类,非常适合单类占主导地位的应用场景,如异常检测。3.2.2孤立森林孤立森林算法是一种适用于连续数据的无监督异常检测方法。与其他异常检测算法通过距离、密度等量化指标来刻画样本间的疏离程度不同,孤立森林算法的核心是通过孤立数据点检测异常值。孤立森林利用一种名为孤立树的数据结构来孤立样本。孤立树是一种二叉树。因为异常值的数量较少,且与大部分样本具有疏离性,因此异常值更容易被孤立出来,即异常值会距离孤立树的根节点更近,而正常值距离根节点更远。此外,相较于LOF、K-means等传统算法,孤立森林算法对高维度的数据具有较好的鲁棒性。3.2.3MatrixProfile于2016年开发了MatrixProfile,将其作为模式识别算法。具有时序性的数据集被分割成长度为m的序列。每个序列从数据集中的一个点开始,以滑动窗口的方式计算每个序列之间的距离,如用z代表归一化距离。欧式距离与归一化距离有如下关系:式中,x和y都是具有时序性的序列,μ是各自的均值,σ是各自的标准差。MatrixProfile将最小距离保存在一个矩阵中。一个较大的最小距离表示了一个异常值,因为这说明序列中没有与他相似的序列。相反,一个小的最小距离表明在数据集中这个序列有较多相似序列,因此异常的可能性较低。4实验评估将SWaT数据集应用到第3部分介绍的算法中。这里选取了近50万条(449920)物理设备数据记录。在原始的csv文件中,各条记录按时间戳的顺序排列,每条记录对应一个标签Normal/Attack。实验在显卡GeForce940MX、处理器I7-7500U的硬件环境下进行。第3部分中的4个模型训练与测试所需时间分别为5min、3h、3.6min和5h。4.1基于LSTM的入侵检测评估训练过程中的损失如图7所示。可以看到,网络在训练过程中不存在梯度爆炸或梯度消失问题。如图8所示,在测试集中,LSTM网络达到96.5%的准确率,而其他方法效果较差:一类支持向量机在运行3h后能达到87.96%的正确率,孤立森林只有不到40%(37.14%)的正确率。为了对比查准率和查全率,将测试结果可视化为图9的混淆矩阵。图7训练中的损失图8正确率对比4.2其他检测方法评估4.2.1OCSVM按照第3部分方法介绍中所描述的,实现了一个一类支持向量机。由于实验中样本数较多而特征数目较少,训练模型时选择的核函数为高斯核函数,即rbf。LSTM网络混淆矩阵,如图9所示。同样的,将测试结果表示为混淆矩阵,并绘制为图10。对比图9的左下部分,可以明显看出,OCSVM将更多的攻击判定为正常数据,表明使用OCSVM作为检测方法会隐含更大的风险。图9LSTM网络混淆矩阵图10OCSVM网络混淆矩阵4.2.2孤立森林孤立森林在同一个数据集上的表现比预期结果糟糕——调参过程中,分类准确率最高只有37.14%。与前两种算法相同,将PCA降维后的数据输入孤立森林模型进行训练,混淆矩阵绘制如图11所示。对比OCSVM的结果,孤立森林在检测过程中漏掉的攻击更少,但误报率相当高。在实际的系统中,误报率高会显著增加系统运营和人工排查的成本。图11孤立森林混淆矩阵尽管样本数据是按顺序输入模型进行训练的,但无论是OCSVM算法还是孤立森林算法,都没有将时间戳当作影响模型的因素之一。打乱样本后再测试的结果相同,这与基于LSTM的检测方法和MatrixProfile有显著不同。4.2.3MatrixProfileMatrixProfile和评估过的3种算法有较大差别。MatrixProfile针对某一物理属性在一个连续时间段内的取值进行分析,计算长度为m的序列之间的距离并确定距离的阈值,因此直观上对单点的攻击检测更有效。经过多次测试,最终将超参数m确定为500,此时绘制的图像对比最明显。图12显示了SWaT系统中水箱LIT-401的水位分析结果。其中,第1行为经过z分数规范化后的样本数据,第2行为计算得到的序列之间距离,第3行为修正弧曲线。可以看到,在噪音的影响下,攻击被隐藏,MatrixProfile算法的检测效果不理想。图12LIT-401的水位分析4.3讨论基于LSTM的检测方法在检测准确率上,显著优于孤立森林和一类支持向量机。孤立森林不仅准确率较低(只有不到40%),而且误报率非常高,难以应用到实际的工业生产过程。OCSVM尽管测试数据集的准确率接近90%,但对比图9和图10的混淆矩阵可以明显看到,OCSVM将更多的攻击判定为正常数据,表明相比于LSTM,使用OCSVM作为检测方法会隐含更大的风险,即更多的攻击无法被检测出来。MatrixProfile则严重受到数据中噪音的影响。正常数据中的噪音会导致模型计算的序列距离更大,一定程度上将实际的攻击数据隐藏起来。而在实际的工业生产过程中,夹杂噪音的数据往往很常见。除此之外,基于LSTM的检测方法在测试和部署上也有较大优势。为了计算最小距离,MatrixProfile需要至少m+1个数据(研究中m为500),且为了存储最小距离矩阵,空间复杂度为n2。为了获得更准确的最小距离,研究中尝试输入40万条数据,模型运行时间超过6h。OCSVM模型需要的计算时间同样较长,需要至少3h。通过多次实验,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论