马 标 金映言 那幸仪 贾俊铖 唐 文
1(苏州大学计算机科学与技术学院 江苏 苏州 215006) 2(西门子(中国)有限公司 北京 100102)
传统的工业生产环境中,工业控制系统(Industrial Control System,ICS)主要负责协调和控制各种设备按照生产要求执行各种任务。随着信息化的不断发展和普及,德国在2013年提出工业4.0的概念,旨在利用信息化促进产业变革,从而提高工业的竞争力。在2015年,我国国务院提出《中国制造2025》战略部署,全面推进建设制造强国的伟大战略。目前,中德两国已经签署《中德合作行动纲要》,共同推进工业4.0的建设,推动第四次工业革命。
工业4.0带来机遇的同时也面临着挑战。在工业4.0的生产中,ICS在完成工业生产任务的基础上,还需要具有数据分析、远程操控等功能,这些功能都需要将ICS接入互联网才能实现,因此,越来越多的工控系统与互联网融合,走向了信息化。由于传统的工业控制网络的主要功能是完成工业生产,在设计时缺乏安全考虑,在开放的网络环境中容易遭受攻击[1]。从网络安全方面看,传统工控系统在物理隔离环境下,采用私有的通信协议和软硬件设施来保证网络安全,接入互联网后物理隔离被打破,系统的一些固有漏洞容易被攻击者利用,从而进行破坏性攻击[2]。从物理安全方面看[3],攻击者通过网络在工业设备中植入恶意软件可以造成复杂的语义攻击[4],攻击可以直接修改传感器设备的返回值,执行器的执行顺序等影响整个物理空间的生产逻辑,造成重大生产事故。2001年澳大利亚污水处理厂入侵事件,2010年伊朗核燃料提炼工厂攻击事件[5]等多起非法攻击事件都给工业生产和国家财产造成了巨大损失。
目前,针对ICS的安全问题,相关研究人员尝试通过借鉴互联网领域的防护技术来解决,并结合ICS本身的特性进行改良,创造了工业防火墙,PLC漏洞挖掘等安全防护技术[6]。但是这些技术是被动防御的安全技术,容易被找到漏洞进行攻击,也无法防御ICS内部攻击。入侵检测方法是一种主动防护技术,通过对ICS中通信行为的实时检测、分析来检测异常攻击,可以检测ICS内部攻击和更加复杂的语义攻击。
针对ICS入侵检测的研究,研究人员根据ICS的特性从不同角度提出了很多有效的方法。本文对前人的方法进行归纳总结,首先对ICS结构进行介绍并分析ICS面临的安全问题。然后将入侵检测方法分成两个大类,第一类为基于特征的入侵检测方法,第二类是基于行为周期的入侵检测方法,从这两个方向对入侵检测中具体方法进行总结分析。最后对ICS入侵检测方法进行展望,提出相关问题的研究发展方向。
工业控制系统是各种类型的控制系统的总称,包括数据采集和监视控制系统(Supervisory Control and Data Acquisition,SCADA)、分布式控制系统(Distributed Control System,DCS)和其他控制系统,如由PLC组成的控制系统。
SCADA控制系统常用于地理上较为分散的工业设备,DCS集成控制系统则被广泛应用于过程生产。以上两系统在控制工业设备和生产过程时,都需要PLC控制组件的支持。ICS通过整合DCS和SCADA系统的属性而模糊了两者之间的差异,因此实际的ICS可能是混合的控制系统。在ICS统一领域,ANSI/ISAG99[7]和IEC62443[8]等国际标准命名了5层结构。本文将其简化为三层结构,包括过程网络、控制网络和物理过程,网络架构如图1所示[67]。
图1 ICS网络架构图
过程网络层包含HMI、SCADA服务器、工程师工作站等设施负责监控反馈、信息展示,为企业信息网提供连接、生产信息的收集和生产管理的能力。
控制网络层由PLC和远程终端单元(Remote Terminal Unit,RTU)构成,负责连接物理过程中的传感器、执行器或其他设备,使用各种工业控制协议与传感器等设备进行通信,为物理设施提供控制、监控、管理功能。
物理过程层是工业生产过程使用的各种工业设备,其中还包含了各类传感器、执行器或其他工业生产所需电子设备。
由于ICS在设计之初强调的是可用性和有效性,安全方面考虑欠佳。ICS与远程网络的连接没有完善的安全边界准入机制,使得基于TCP/IP通信的工业互联网极易受到来自IT网络的入侵,比如中间人攻击、拒绝服务攻击等。攻击者通过互联网入侵到过程网络,并通过过程网络或系统漏洞将恶意程序植入到PLC等控制设备中,进而直接干扰物理过程的生产,给工业生产造成严重破坏。表1总结了典型的工控系统各类攻击。
表1 攻击种类表
在真实的工业生产中,ICS除了面对传统的网络攻击外,还要面临一种专门针对ICS的语义攻击。攻击者对工业生产流程和物理设备有着详细的了解,可以通过构造一组看似“合法”的消息序列来有针对性地对工业设备或者工业生产造成破坏。
ICS在通信协议、操作系统和应用软件上都存在漏洞,经常被攻击者利用并进行攻击。为了保障工业生产的安全稳定,实时的入侵检测就显得格外重要。
入侵检测在传统互联网中已经被广泛研究和使用,它主要分为误用检测和异常检测[16]。误用检测是对攻击行为本身进行分析,提取攻击行为的特征,建立攻击行为知识库,通过对比知识库来发现入侵。异常检测是对正常的通信行为进行建模,通过建立的正常行为模型来发现入侵。
在ICS中,IDS是确保ICS安全稳定的防护系统,通过对ICS中的设备和网络信息进行分析、识别,从而判断ICS是否正常运行,如果发现异常则进行相应的预警和处理。IDS[68]使用数据跟踪的方法检测入侵。入侵检测专家系统(Intrusion Detection Expert System,IDES)被提出,IDES根据工业系统的特征建立相应规则来检测入侵行为,可以做到实时检测。随着攻击对抗的升级[72],语义攻击开始出现,攻击者学会隐藏攻击行为,为了检测语义攻击,基于模型的入侵检测[69]方法被提出。目前,为了检测更加复杂的攻击类型,越来越多的研究者提出多层次结构的IDS,即将不同类型的方法组合起来分别检测不同类型的攻击行为。由于ICS与传统的互联网系统在入侵检测的要求和侧重点上有很大的不同,互联网的入侵检测侧重保证信息的安全性而ICS主要目标是保证工业生产的稳定性。同时ICS流量有高周期性、私有性等特点。针对不同的ICS,研究人员提出多种入侵检测技术分类方法,涵盖了结构层次、检测方法、攻击种类等。
本文分析总结大量研究成果,按照ICS的独特性和高周期性将入侵检测方法分为两大类:基于特征的入侵检测方法和基于行为周期的入侵检测方法。基于特征的入侵检测方法是通过分析ICS的数据特征比如攻击流量特征、日志文件、传感器数值范围等来判断ICS中是否存在入侵。基于行为周期的入侵检测方法是在ICS正常运行的状态下建立系统正常行为模式的行为模型,并通过正常行为模型来匹配要检测的流量行为,如果流量行为不符合模型则认为发生入侵并进行报警。
与传统IT网络相比,ICS使用特有的协议规范、操作系统和应用软件,在正常生产运行中遵循严格的标准。如图2所示,基于特征的入侵检测利用了正常行为下的系统特性、协议规范和行为特征,建立起对攻击操作的检测特征规则,从而实现了对不符合正常数据规范的攻击行为的有效检测。
图2 基于特征的入侵检测系统流程
2.1.1基于工控系统特性、流量特征和传感器状态的入侵检测方法
ICS正常运行时需要满足工业生产规则,通过对比ICS运行状态、流量特征、日志信息和传感器状态等可以发现不符合ICS正常运行特征的攻击行为。文献[17]从系统描述文件中提取信息来生成综合通信模型,然后使用通信模型生成安全措施的配置文件用以检测入侵。文献[18]通过分析基于IEC 61850的网络流量来检测异常事件,利用静态特征和动态特征这两个主要特征检测异常流量。文献[19]采用结构化方法来自动化PLC二进制文件的逆向工程,同时考虑到PLC二进制文件中固有的独特特性,让PLC特征挖掘更易实现。文献[20]提出了一个可信赖的PLC验证平台——TSV,它允许在控制命令影响物理系统之前对控制命令进行最后一步安全验证。文献[21-22]比较了SCADA系统和传统IT系统,发现SCADA流量在很大程度上不同于传统的IT流量,主要区别在于SCADA流量有明显周期性和自相似性。根据固定的网络设备数、有限的协议数和规则的通信模式三个重要特征来建立IDS。文献[23]通过研究典型SCADA系统内网络流量的周期性和遥测模式设计了一个名为PT-IDS的IDS,可以有效地处理针对SCADA系统的四类攻击:侦察、响应注入、命令注入和拒绝服务。文献[24]针对现场设备检索数据的轮询机制导致数据传输高度周期性的情况,提出了一种基于SCADA流量高度周期性观察的异常检测方法。文献[25]依赖于嵌入在几何空间中的传输层分组有效载荷之间相似性的计算,提出了一种快速有效的基于有效载荷的异常检测系统,该方法可用于检测网络流量中的未知攻击。文献[26]提出了一种基于改进灰色关联分析的数据完整性攻击检测算法。FDI攻击是最常见的数据完整性攻击之一,也是ICS中最严重的威胁之一,该算法通过相关性分析来识别工业控制系统中的隐蔽FDI攻击,并与基于数据分析的现有检测方法进行了比较。文献[27]提出一种基于自适应变异的粒子群优化算法,用于解决支持向量机参数寻优过程中标准粒子群优化算法易陷入局部最优的问题。文献[28]利用离散时间马尔可夫链(Discrete Time Markov Chain,DTMC)对从网络消息和日志条目中获取的若干ICS设备操作进行分析建模,可以检测序列攻击。文献[29]提出了蜜罐这种经典的检测机制,用蜜罐代替真实ICS来让攻击者攻击从而达到保护真实ICS的目的。文献[30]使用隐身攻击检测机制实时监控传感器测量的时间序列,从而发现改变工业生产过程的攻击行为。文献[31]提出了两种设备指纹识别方法,旨在增强ICS环境中现有的入侵检测方法。第一种方法测量数据响应处理时间,并利用专用ICS网络的静态和低延性来开发精确的指纹,而第二种方法使用物理操作时间为每种设备类型开发唯一的签名。文献[32]提出了一种基于物理质询响应的传感器主动防御方法——PyCRA,通过随机的物理刺激和子序列行为分析能够确定传感器是否受到攻击。研究结果表明,物理质询响应身份验证可以准确可靠地检测和减轻模拟传感器级别的恶意攻击。文献[33]提出一种基于增量单类支持向量机(One-class Support Vector Machine,OCSVM)的ICS入侵检测方法,解决工控入侵检测系统建立速度慢、模型更新代价高和扩展性差等不足问题。
上述方法主要通过两种方式检测异常:第一种是利用ICS正常运行下系统特性、正常流量的特征和传感器数值变化状态与攻击行为进行对比来发现攻击行为;第二种是通过匹配已有攻击的特征库进行异常检测。此类方法误报率低,可以有效检测功能码异常、缓冲区溢出等攻击,但是对符合特征规范的语义攻击无法进行有效检测。
2.1.2基于规则挖掘的入侵检测方法
由于基础设施的详细信息通常用于规范和配置文件,通过收集这些信息可以有效了解工业生产的实际运作模式,制定相应的规则来检测流量行为是否符合要求。文献[34]研究了如何选择高斯核参数以及如何将其应用于故障检测。高斯核是支持向量机(SVM)中最常用的核函数之一,而选择高斯核参数对分类器的性能影响很大。该论文提出了两种不同的方法来优化高斯核参数,这些方法分别属于该领域中的两类方法。文献[35]通过挖掘传感器和执行器的状态规则提出了一种针对顺序控制系统的过程用户序列攻击的入侵检测方法。方法分两个阶段:挖掘过滤阶段和检测阶段。所提出的方法在实际环境中可以有效检测序列攻击。文献[36]介绍了一种基于规则的入侵检测传感器,专用于监控AMI通信流量。该解决方案依赖于协议规范,安全要求和全面的安全策略来检测入侵行为,并在系统发生可疑行为时触发警报。文献[37]提出了一个基于Bro的入侵检测框架,它由三部分组成:DNP3解析器、事件处理程序、协议验证策略。在DNP3解析器的帮助下,分析仪能够观察与SCADA系统相关的所有DNP3事件。事件处理程序用于分析每个DNP3网络数据包的解析生成的网络事件,在解析过程中提取与每个事件有关的语义信息。针对提取出的语义信息,Bro框架通过设计准确的协议验证策略能有效检测入侵行为。文献[38]使用语法归纳算法来进行入侵检测,而无需任何先验知识。算法将连续的时间序列值离散化为符号形式,推断出上下文无关语法,并利用其层次结构有效地发现与异常相关的不规则性。
基于规则挖掘的入侵检测方法通过挖掘ICS运行过程的特征关系来判断当前的ICS运作是否如何正常工业生产要求,并对异常行为进行拦截预警。此方法可行性高,能直接部署在Snort、Bro等现有IDS中,并且可以在攻击行为产生实际影响前进行拦截,但是面对符合规则的语义攻击检测能力有限。
2.1.3基于机器学习的入侵检测方法
机器学习是人工智能的核心,广泛应用于数据挖掘、计算机视觉、模式识别等领域。工控网络入侵检测中所使用的基于机器学习的方法主要包含基于单类支持向量机和基于神经网络的方法。
传统的SVM属于监督学习方法,多被应用于多分类问题,需要多类带标签的样本作为训练数据,但是ICS中的数据有相关性高、数据维度高等特点,且多为正常数据,基于真实攻击捕获的异常数据很少。
而OCSVM算法可以只根据一类样本来训练异常检测模型,该算法时间复杂度低,对样本数量要求低,针对噪声有很好的鲁棒性。文献[39-40]提出基于PSO粒子群优化算法的PSO-OCSVM模型,模型只需要一类样本即可完成训练,可用于ICS通信模式的异常检测。文献[41]使用朴素的贝叶斯分类创建攻击识别模型,通过计算正常流量与异常流量的离群值来识别异常。文献[42]通过分析现有基础设施中的真实网络数据和人为合成的入侵数据,提出了基于特定窗口的特征提取方法。它通过计算有限数量的相邻分组的统计特征,在单个描述矢量中捕获分组流的时间序列性质,然后使用BP(Error-Back Propagation)和LM(Levenberg-Marquardt)两种神经网络算法的组合来进行建模。在深度学习训练中经常出现正常数据远多于异常数据,且异常数据间数量差异也很大,文献[70-71]使用生成对抗网络(Generative Adversarial Networks,GAN)来解决异常检测中数据不平衡问题,使用GAN来生成更加丰富的数据,进一步提高了IDS识别准确率。
基于机器学习的入侵检测方法可以通过训练模型或网络来挖掘工业流量隐藏特征来进行入侵检测,不需要对ICS运行机制和独特特征有深入的理解,降低了研究成本。
ICS的运行是为了完成固定的工业生产任务,它遵循着严格的生产逻辑,由于工业生产是高周期性的,所以ICS的行为模式也是高周期性的,通过对正常行为进行建模分析可以有效检测入侵攻击。如图3所示,基于行为周期的入侵检测主要利用ICS正常运行时的通信、运行、操作行为构建正常行为模型,对要检测的行为与模型进行实时对比发现异常。基于模型的一个优点是它可以检测未知的攻击。
图3 基于行为周期的入侵检测系统流程
2.2.1基于预测模型的入侵检测方法
在ICS的控制网络中,PLC根据编程逻辑发送指令来操作执行器和传感器。由于PLC的指令间是有逻辑关系的,所以根据前几个指令可以预测下一个指令。这些指令是通过ICS流量进行发送,根据流量的关系构建预测模型能进行异常检测。
渗透攻击会导致异常的流量波动,因此可以使用流量预测模型进行检测。文献[43]提出了一种名为HML-IDS的混合多级异常预测方法,用于SCADA系统中的入侵检测。该方法将包内容级别检测与另一个基于实例的学习器相结合,以检测新的攻击。使用从天然气管道SCADA系统生成的真实大规模数据集进行的实验结果表明,该方法的准确率达到了97%。文献[44]提出一个多层次化的IDS,其中包括流量预测模型和异常检测模型,基于整合移动平均自回归模型(Autoregressive Integrated Moving Average model,ARIMA)的流量预测模型,可以预测短期内的ICS网络流量,并根据流量模式的异常变化准确检测渗透攻击。使用OCSVM的异常检测模型能够通过分析IP数据包中的关键字段来检测恶意控制指令。为了保证网络的稳定性,文献[45]通过基于ARIMA的随机方法对网络流量建模,并以基于高带宽的传输协议(DSTP)为例进行验证,模型可以对时间敏感的控制器任务进行准确的时间规范,确保了控制回路的稳定性。文献[46]根据服务器I/O流和硬件信息,利用自相关回归模型(Autoassociative Kernel Regression,AAKR)对检测样本进行预测输出,并与实际样本值比较,通过偏差计算判别输入特征样本是否为异常行为模式。ICS的生产过程可能会很复杂,针对整个生成过程中的时间序列数据进行建模预测比较困难。文献[47]为了在不同的时间尺度上预测复杂的多分量时间序列数据,使用数字信号处理技术将复杂的多分量时间序列分解为几个基本分量,然后分别用不同的神经网络来对各个分量构建预测模型。不同类型的ICS攻击具有不同的强度和攻击侧重点,同样地,不同种类的预测模型也有各自的侧重,因此使用单类预测模型来检测所有类别的异常行为效果不佳,文献[48]将多个单类预测模型的预测结果集成在一起构建组合预测模型,以提高整体预测准确性,组合模型的权重由每个模型的均方误差确定。
基于预测模型的工控系统异常行为检测方法,根据ICS正常运行时的时间序列构建预测模型。检测时,预测模型根据预测的正常输出和实际值的绝对偏差检测异常攻击,可以检测出未知攻击和简单的语义攻击,但是当检测到异常行为时,工控系统已经遭到攻击。
2.2.2基于状态机和状态图的入侵检测方法
通过分析ICS流量可以了解ICS运行模式,根据流量的出入关系和频率构建状态图可以有效识别流量的周期模式。状态机是有限状态之间转换的计算模型,可以用于表示周期性流量的转换关系,运行效率极高。文献[46]使用确定性有限自动机(Deterministic Finite Automaton,DFA)来构建IDS,为了缩短DFA的长度,文献[50]通过将第一层DFA识别为未知的流量用来构建第二层DFA,此方法在简单流量中有不错的效果,但是面对复杂周期的流量会形成超长DFA,误报率也偏高。在许多情况下,可以通过DFA对每个单独的PLC和SCADA服务器之间的流量进行建模,但是文献[51]对美国自来水厂中网络流量的分析表明,网络中所有通道上的通信都是以数据包突发形式进行的,针对这样的情况提出一种新的Burst-DFA模型,对每个通道构建一个Burst-DFA,匹配该通道的所有突发流量。此模型成功地解释了数据语料库中95%到99%的数据包,并且在构建实际异常检测系统方面取得了很大进步。
文献[52]根据流量的出入关系构建离散时间马尔可夫链(Discrete Time Markov Chain,DTMC)并根据DTMC状态图中符号频率和节点出入关系将多周期混合的流量分解成多个子周期,并对每个子周期构建DFA模型,检测时通过DFA选择器将输入流量分解复用到子信道并将它们发送到各自的DFA中。状态图模型与单DFA模型相比,大大降低了误报率和学习模型的大小。文献[53]开发并应用了一种基于频谱分析的新状态图构建方法。首先将捕获的数据转换为“信号”,并对其应用傅里叶变换以识别频域中的主导周期。然后通过切换回时域来确定循环模式,确定模式的符号,并推导模式中每个符号的实例数量以及模式中符号的正确顺序。最后为PLC-HMI通道中的每个循环模式(子通道)创建DFA,形成一个多DFA的异常检测模型。该方法验证了SCADA流量状态图模型的可行性,为实际异常检测系统提供了坚实的基础。
基于状态机和状态图的入侵检测方法根据ICS流量的出入关系对流量行为进行建模,能够有效检测入侵行为,模型运行效率高,漏报率低,但是DFA的敏感性高,导致了比较高的误报率。
2.2.3基于周期性模式挖掘的入侵检测方法
时间序列是将统一指标的数值或符号按照时间先后排序而成的数列[54]。时间序列周期性模式挖掘是数据挖掘中非常重要的一个研究领域,找出序列数据中所有超过最小支持度阈值的序列模式可以有效挖掘序列的周期关系,周期性模式挖掘的最终目标是从原始数据或转换后的数据中查找隐藏的信息或知识[55]。工业流量具有高周期性的特点,使用周期性模式挖掘的方法可以有效识别ICS的周期行为,让建模准确度更高,从而提高入侵检测准确度。文献[56]使用多个最佳傅里叶系数来表述每个时间序列,设计了一种能够自动发现重要周期数的算法,这个算法能够提供时间序列之间欧氏距离的上限。异步周期性模式挖掘一直是周期性挖掘的一个难点。文献[57]针对固定时间间隔内包含多个事件的符号序列提出一个通用的异步周期模式模型,使用三个参数min rep、max dis和global rep来指定有效的无中断模式发生段所需的最小重复次数,两个连续有效段之间的最大允许干扰,以及有效序列所需的总重复次数。实验证明此方法性能良好,可扩展性强。文献[58]也提出了一种挖掘异步周期模式的通用模型,其中每个有效段都需要具有模式的最大和最小连续匹配。文献[58]将问题分解为有效段发现和异步子序列组合两个子问题,并提出了一种基于时间序列的渐进验证算法(PTV),实验结果表明,该方法在周期事件较多的情况下具有较好的性能。由于传感器数据流是实时且不断生成的,对于这类增量式数据的周期性挖掘,文献[59]提出一种在线的增量算法——STAGGER,算法通过维护最大子模式树来挖掘数据周期性并提出使用“滞后”阈值来维持挖掘阈值。
ICS运行过程中常常有人工干预的操作,在数据预处理阶段,将自动事件与人类活动引起的事件分开,可以改善统计模型构建并增强异常检测能力。文献[60]介绍了一种用于识别事件时间周期性变更点的检测框架。每个子序列的打开事件可以被解释为人类行为,然后生成自动的周期性过程,解决了由于存在重复和丢失数据而引起的周期难以挖掘的困难。文献[61]通过采用贪婪搜索来确定模式的周期性规律,其基本思想是通过消除基于次优解的非周期模式来发现所有周期性频繁模式,确定频繁模式周期性方法的最佳和最差情况下的时间复杂度分别是O(1)和O(n)。文献[62]使用简单傅里叶分析技术识别流量中的轮询行为,用于检测周期性行为的方法是对每个IP到IP事件的计数过程依次应用傅里叶分析。文献[63]提出了一种基于改进的单类支持向量机的工业通信入侵检测算法。该算法通过使用改进的单类支持向量机和基于粒子群算法的PSO-OCSVM算法来优化参数,建立了一个正常的通信行为控制模型,以实现工业控制网络中的异常检测。文献[64]从不完全观测中进行周期检测。首先提出一个周期行为的概率模型,设计了一种新的周期度量方法和一种在实际场景中检测周期的实用算法。其次应用大数定理给出了一个严格证明其有效性的概率框架,最后应用傅里叶变换和自相关进行实验对比。实验研究表明,该方法对不完全收集的数据和复杂的周期行为具有较强的鲁棒性。文献[65]提出了一种基于改进支持向量机的新型网络安全算法,从智慧城市的角度出发,使用单类支持向量机来缓解入侵。文献[66]使用周期分析器来构建ICS流量模型。周期分析器由三个模块组成。首先,多路复用器对被监控的网络流量进行预处理,将流量分为不同的流量。然后,记号赋予器将每个数据包转换成一种协议相关的格式,称为记号。最后,学习者处理每个令牌,以识别和描述周期性活动。所有识别周期的信息构成了ICS网络中的通信模型,周期分析器模型可以有效检测数据注入攻击。
数据挖掘中的周期性模式挖掘能够帮助寻找ICS的周期性模式,发现ICS中各数据流量的内在逻辑关联,在更高的维度上构建ICS周期行为模型,使得模型能识别更加复杂的语义攻击。
表2为基于特征的入侵检测方法的优缺点比较,表3为基于行为周期的入侵检测方法的优缺点比较。
在ICS的入侵检测中,基于特征的方法根据系统自身的数值、状态特征来检测异常,方法针对已知的攻击有着很高的识别率并且误报率低,但是对于符合系统特征但是不符合ICS实际运行逻辑的语义攻击显得无能为力;基于行为周期的方法通过挖掘ICS行为周期来发现ICS实际的运行逻辑,然后根据挖掘出的行为周期进行建模检测异常,此方法可以检测复杂的语义攻击,并且能够检测未知类型的攻击,但是在周期挖掘的准确度上需要进行进一步研究。
表2 基于特征的入侵检测方法分析表
表3 基于行为周期的入侵检测方法分析表
为了应对越来越复杂的工业生产需求,ICS的网络化已经是一种必然趋势,这使得ICS面临着前所未有的安全威胁。本文首先结合ICS的网络框架分析了ICS存在的安全隐患,介绍了针对ICS的常见攻击和语义攻击。然后在深入分析ICS后,根据ICS的独特性和高周期性将现有的方法分为基于特征的入侵检测方法和基于行为周期的入侵检测方法,针对这两大类方法中的具体方法进行了详细介绍。最后比较了这些方法各自的应用场景和优缺点。
与IT系统相比,不同的ICS由于采用不同的生产工艺、设备配置、协议种类等,ICS之间的差异很大,这导致很多入侵检测方法的普适性较差,针对不同的ICS需要定制不同的入侵检测系统。为了保障ICS安全生产,很多ICS相关的专有协议和应用软件都没有开源,在一定程度上隔绝了外来攻击,但是也给相关入侵检测研究增加难度。因为ICS生产涉及很多商业机密,基于实际工业生产的开源数据集很少,所以入侵检测的相关研究多是在私有数据集上进行,很难有统一的衡量指标,复现难度高。
针对目前入侵检测方法的研究现状,将基于特征的入侵检测方法和基于行为周期的入侵检测方法结合,构建一个多层次的入侵检测系统来检测不同类型ICS的复杂攻击是以后研究的一个重要方向。同时,倡导一个开源的ICS入侵检测社区,对推动入侵检测相关研究的发展有着重要意义。