时间:2022年03月28日 分类:电子论文 次数:
摘 要:针对不同异常检测方法的差异及应用于工业物联网(IIOT)安全防护的适用性问题,从技术原理出发,调研分析 2000—2021 年发表的关于网络异常检测的论文,总结了工业物联网面临的安全威胁,归纳了 9 种网络异常检测方法及其特点,通过纵向对比梳理了不同方法的优缺点和适用工业物联网场景。另外,对常用数据集做了统计分析和对比,并从 4 个方向对未来发展趋势做展望。分析结果可以指导按应用场景选择适配方法,发现待解决关键问题并为后续研究指明方向。
关键词:工业物联网;异常检测;网络入侵;网络攻击
引言
随着 5G 通信技术的快速发展,以及传感器和处理器等嵌入式设备的计算和存储能力不断增加,这些网络通信和嵌入式设备在工业系统中的应用越来越普遍。工业物联网(IIoT, industrialInternet of things)是由应用程序、软件系统和物理设备三者组成的大型网络,这三者与外部环境以及人类之间进行通信和共享智能[1]。据埃森哲预测,到 2030 年,美国的工业物联网价值将出到7.1 万亿美元,对欧洲而言价值将超过 1.2 万亿美元[2]。在这波工业发展浪潮中,物联网安全是影响工业物联网广泛使用的最大因素之一。
物联网论文范例:物联网计算机网络安全与远程控制技术分析
事实上,物联网设备的安全性通常很差,因此很容易成为攻击者的目标。攻击者利用这些设备可以进行毁灭性的网络攻击,如分布式拒绝服务(DDoS, distributeddenial of service)[3 4]。传统的工业环境在过去一直遭受攻击,有的还造成了灾难性的后果(例如,震网病毒[5]或故障超驰/工业破坏者[6])。因此,如果没有安全性,工业物联网将永远无法发挥其全部潜力。另外,工业系统对性能和可用性有严格的要求,即使系统受到网络攻击,维护系统不间断和安全地运行也常常是最优先考虑的。异常检测在防御系统和网络的恶意活动中是至关重要的。近年来,为了缓解网络攻击,工业物联网异常检测方面的研究迅速增多,许多检测机制被提出。
另一方面,在异常检测方面研究者已经从技术手段、应用场景等方面做了一些调研工作,如文献[7 10],但这些工作很少专门针对工业物联网的特性和适用性进行深入剖析。近两年,虽然出现了针对工业物联网异常检测的综述性文章,但介绍的都不够全面。例如,文献[2]只介绍了基于系统规则、建模系统物理状态的检测方法,文献[4]则只介绍了基于统计和机器学习的检测方法。除了文献[2,4]提到的检测方法之外,还存在许多新颖的检测技术。
因此,本文从技术原理的角度,梳理了基于系统不变性和物理状态的建模、基于统计学习、特征选择、机器学习、图、边缘/雾计算、指纹、生物免疫等算法的异常检测技术,并详细分析了各类技术的优缺点。由于用于工业异常检测研究的数据集繁杂且多样,本文详细归纳了常用数据集的特点及其使用频率,方便读者对比和选择。除此之外,本文针对工业物联网典型场景的网络威胁和异常检测方法进行调研和综述,介绍了边缘/雾计算方法在异常检测方面的应用,增加了对 2021 年最新论文的调研,对不同检测方法的特点和适用场景进行了深入分析。
1 工业物联网面临的安全威胁工业
4.0 将信息通信技术应用于工业制造和自动化领域,极大地提高了生产力和效率。然而,这一进步的代价是扩大了工业系统的受攻击面。针对工业物联网的攻击,可以分为被动攻击和主动攻击。被动攻击是隐蔽的,通常无法检测到,如窃听和流量分析。
主动攻击包括丢包、回注、干扰网络的正常运行等。恶意软件感染、拒绝服务(DoS, denial ofservice)、未授权访问和虚假数据包注入等主动攻击通常是可以检测到的[9]。下面简要总结几种主动攻击的特点和目标。恶意包注入攻击。重放抓包,发送伪造或篡改的报文,以达到干扰或破坏系统操作的目的。DoS 攻击。消耗系统或网络资源,导致资源不可用。未授权访问攻击。探测计算机或网络以发现漏洞;对报文进行嗅探或拦截,用于收集信息。除此之外,还涌现出了一些针对工业物联网典型场景的威胁。物理攻击。例如针对交通运输物联网的物理攻击,对交通设备节点本身进行物理上的破坏,如断电、移动节点位置等,造成信息缺失、信息泄露等。
感知数据破坏。非授权地增删、修改或破坏感知数据,例如针对新能源发电厂的电力物联网生产数据篡改。控制命令伪造攻击。发送伪造的控制命令,从而达到破坏系统或恶意利用系统的目的,例如针对数控机床设备物联网的控制命令伪造。为了保护工业系统免受网络攻击,涌现出了各种安全措施,如加密通信数据、数据完整性校验和访问控制等方法,可以保护系统免受多种类型的攻击。然而,即使这些安全措施已经到位,攻击者仍然可以成功地对系统发起攻击,如恶意包注入和DDoS 攻击等。因此,有必要对网络进行异常检测,以此来进一步保障工业系统的安全。
2 工业物联网异常检测
本节首先介绍了工业物联网中存在的异常种类,进而详细分析和梳理了现有的针对不同异常类别和不同应用场景的异常检测方法。
2.1 异常种类
网络攻击以损害系统信息的机密性、完整性和资源的可用性为目标,通常以某种方式造成网络运行偏离正常,表现出异常行为。因此,可以通过发现数据中不符合预期行为的模式来识别异常。现阶段 IIoT 中主要存在 3 种异常[8]。点异常。即个别数据实例相对于其余数据是异常的。例如,假设水温传感器值的预定义范围是 30~40℃,那么超出这个范围的值将是一个异常点。上下文异常。仅在特定上下文中表现异常的数据实例称为上下文异常。这类异常多为空间数据或时序数据中的异常。集合异常。
如果相关数据实例的集合相对于整个数据集是异常的,则称为集合异常。集合异常中的单个数据实例本身可能不是异常,但它们一起作为一个集合出现就是异常。例如,单个 TCP 连接请求是正常的,但是连续从同一个源收到多个这种请求就有可能是 DoS 攻击,也就是异常。网络异常检测是指检测网络流量数据中的异常,利用设备或软件应用程序对网络流量进行监控和分析,从而检测出恶意活动。现有工业物联网异常检测方法可以分为基于系统不变性、物理状态建模、统计学习、特征选择、机器学习、边缘/雾计算、图、指纹以及生物免疫等算法的检测方法。下面将针对每一种检测方法的技术原理、现有研究成果、优缺点及适用应用场景做介绍梳理和深入分析。
2.2 基于系统不变性的检测方法
系统不变性是指系统运行过程的“物理”或“化学”特性中的一个条件,每当系统处于给定状态时,必须满足该条件。通过分析物理不变性来检测异常已经被应用于许多网络信息物理系统(CPS, cyber physical system)[11 14]。文献[11]将所有组件的稳定性和正确性约束以逻辑不变性的形式表示出来,系统动作只有在保证不违反这些不变性时才能执行。
针对 CPS 各个模块的不变性,文献[12]提出了统一不变性,开发了跨越系统各个层面的公共语义。然而,文献[11 12]都是通过人工来产生物理不变性,开销很大,且很容易出错。为了解决这个问题,文献[13]提出利用关联规则挖掘算法自动识别系统不变性,该算法的优点是可以发现隐藏在设计布局中的不变性,避免了手动寻找的烦琐。但是,这项技术仅适用于成对出现的传感器和执行器,而在真实的 CPS 中,所有传感器和执行器都是跨多个过程协同工作的。也有一些使用机器学习算法来挖掘 CPS 物理不变性的研究。
例如,Momtazpour 等[14]采用预先发现潜在变量的外源性输入自动回归模型,以发现多个时间步内无线传感器数据之间的不变性。Chen 等[15]利用代码变异程序生成异常数据轨迹,然后利用支持向量机(SVM, support vector machine)分类器和统计模型检验来发现安全水处理实验台传感器数据之间的不变性。文献[16]采用几种机器学习和数据挖掘技术的组合,系统地从工业控制系统(ICS, industrialcontrol system)的操作日志以及执行器的状态信息生成不变性。
2.3 基于物理状态建模的检测方法
CPS 的底层过程一般由其工作原理控制,因此其过程状态是可预测的。基于物理模型的异常检测方法根据物理状态对正常的物理操作进行建模,从而能够从偏离物理操作模型的异常状态中检测到网络攻击。文献[17]提出了一个 CPS 攻击弹性框架。该框架利用已知物理领域的数学描述,以及预测值和历史数据信息,验证预测值和测量值之间的相关性。文献[18]描述了如何使用流体动力学模型来检测供水网络的物理故障和网络攻击,并通过状态和测量方程以及未知输入来建模水系统。
该模型能够反映传感器、执行器故障或漏水等异常事件对系统的影响,但仅依靠建模物理模型来检测网络攻击是不够的,如果传感器的测量值被破坏,则很难检测到攻击。为了识别攻击者利用系统漏洞,注入合法的恶意控制命令来破坏电网的行为,文献[19]提出结合电网物理基础设施知识和网络信息来检测攻击。该方法基于协议规范对数据包进行检测,提取其中的关键控制命令,并通过电力系统运行方程进行仿真运行。通过仿真,对执行控制命令所产生的系统状态进行估计,并与可信度量进行比较,从而识别攻击。
文献[20]提出了一种针对电力领域的基于模型的异常检测算法。该算法验证了接收到的测量数据与控制底层物理系统运行的方程所获得的预测数据的一致性。文献[21]描述了一种基于模型的方法来保护智能电网。该方法基于系统状态动力学方程,评估系统状态,并与采集的测量值比较,检测出受损的测量值。文献[22]在一个水基础设施实验台上测试了基于控制理论建模的故障检测和基于网络安全的异常检测方法。结果表明,这 2 种方法都能有效地检测出故障和攻击,但存在一定的局限性。在物理故障和网络攻击同时进行的实验中,网络攻击者可以躲避控制理论建模方法的检测。因此,将物理动态建模方法中的状态估计与网络安全方法中的数据分析相结合,是提高 ICS 网络安全的关键。
2.4 基于统计学习的检测方法
基于统计的异常检测方法为数据集创建一个分布模型,并与目标数据对象相匹配。假设正常数据落在高概率区间,而异常数据相对落在低概率区间,根据目标数据集中数据落在模型中的概率来判断是否异常。Rajasegarar 等[23 24]建立了 2 种异常检测模型:统计检测模型和非参数检测模型。
这 2 种模型可以应用于不同的场景,其中前者适用于数据类型和采样周期预先确定的应用;而后者在没有先验知识的情况下,通过比较当前数据和相邻数据的行为识别异常。费欢等[25]提出一种多源数据异常检测方法。该方法主要应用于平台空间,通过二维坐标的位置来确定 2 个节点之间的关系。类似地,文献[26]提出基于密度的模型,通过分析电数据来发现太阳能发电系统的异常行为。另外,传感器数据的时间和频率属性能够为建立时频逻辑提供有价值的信息。时域信号(均值、标准差或方差等)可以描述有关系统行为的某些信息。
例如,基于频率的信号特性(傅里叶变换、小波变换等)可以单独或结合时域特征来理解系统的行为[27]。工业系统复杂而广泛,大量的传感器被用于监控空间和物体,以为异常行为预测提供全面、多维度的运行数据。对于这种情况,基于相关性分析的方法[28]被证明可以更有效地识别异常。该方法能够反映系统的真实表现,因为这些相关性可以从物理上反映系统的运行机制和条件。
2.5 基于特征选择的检测方法
异常检测处理的数据是人工从复杂的网络系统中提取出来的。这些数据一般具有高维、强冗余、低相关性等特点。直接使用原始数据,检测算法的性能会很差。而特征选择的作用是从原始数据中选择有用的特征,选出的特征具有更强的相关性、非冗余特性和更少的噪声。这些特征可以帮助相关算法更高效、快速地区分、检测和分类出不同的目标。因此许多研究者将其应用于入侵检测系统(IDS,intrusion detection system)的设计中,以提高检测精度,减少检测时间。这些研究通常来自 2 种观点。
一种是有效提取,如主成分分析(PCA, principal component analysis)。针对异常检测系统耗时长、性能下降等问题,文献[30]提出了一种混合的 PCA 神经网络算法。该算法利用 PCA 变换对特征降维,使训练时间减少约 40%,测试时间减少约 70%,同时还提高了检测精度。文献[31]基于核主成分分析和极限学习机(ELM, extremelearning machine)设计 IDS。其中,核主成分分析用于特征矩阵降维。实验结果表明,该系统比单纯基于 ELM 或者 SVM 算法的 IDS 效率更高,速度更快。类似地,文献[32]提出一种增量 ELM 与自适应PCA 相结合的方法,该方法可以自适应地选择相关特征以获得更高的精度。然而,所有这些方法都没有减少原始数据的特征量,总的时间消耗仍然非常大。
另一种是有效特征选择,如遗传算法和最大相关最小冗余算法。文献[33 34]将特征选择问题定义为组合优化问题,提出基于局部搜索最优解算法来选择有效的特征子集,用于检测“正常”和“DoS”攻击数据。虽然使用该算法选择出的有效特征子集在检测率和准确率方面都优于使用全部特征集,但也带来了较高的误报率。文献[35]提出了一种基于遗传算法的特征选择方法来设计 IDS 以选择最优特征,采用单点交叉而不是两点交叉优化该遗传算法的参数。总体而言,其给出了更好的结果,但在某些情况下分类率会下降。Feng 等[36]提出基于 K 近邻和树种子算法的 IDS 模型来选择特征,减少特征冗余,检测效率有所提升但准确率没有明显的改善。
2.6 基于机器学习的检测方法
在工业系统中,机器学习方法(如贝叶斯网络、k means、ELM[39]、SVM、回归等)已经被成功用于识别和检测工业物联网中的异常行为[10]。除此之外,聚类[40 42]、随机森林[43]、孤立森林[44]和隐马尔可夫模型[45]等算法也取得了不错的成绩。
2.6.1 深度学习方法
深度学习(DL, deep learning)是一种具有自动学习能力的智能算法,是机器学习的一个分支。由于 DL 对任何特征工程的独立性、对动态环境的适应性以及强大的学习能力(特别是从高维数据中),其很快成为解决上述局限性的新的学习范式。
各种各样的 DL 方法已经成功应用于异常和入侵检测,如卷积神经网络(CNN, convolutionalneural network)[52 53]、循环神经网络( RNN,recurrent neural network)[54 56]、生成对抗网络(GAN, generative adversarial network)[57 59]、脉冲神经网络[60]、粒子深框架[61]和长短期记忆(LSTM, long short term memory)网络[56,62 66]。Ferrag 等[53]对 CNN、RNN 和深度神经网络(DNN,deep neural network)进行了入侵检测研究,并对它们在不同配置下的性能进行了对比分析。
Bhuvaneswari 等[67]在基于雾的物联网中引入向量卷积构建入侵检测系统。但是,CNN 有一个让人无法忽视的缺点,即无法学习物联网流量的长时依赖特征,而这正是 LSTM 网络的优势。因此,Saharkhizan 等[68]提出使用 LSTM来学习时序数据之间的依赖关系。该研究使用一个 LSTM 集合作为检测器,将该检验器的输出合并成决策树,最终进行分类。然而,这些模型的计算成本很高。为了解决这个问题,Liaqat 等[69]提出了一个整合 CNN 和 CudaDNN LSTM 的方案,该方案能够及时有效地检测出医疗物联网环境中的复杂恶意僵尸网络。
文献[70]提出了一种压缩卷积变分自动编码器,用于 IIoT 中时间序列数据的异常检测。该方法减少了模型的大小和推理的时间,但是分类性能基本上没有提升。研究了卷积神经网络在工业控制系统异常检测的应用后,文献[52]提出了一种基于测量预测值与观测值的统计偏差的异常检测方法,并指出一维卷积网络在工业控制系统的异常检测方面优于循环神经网络。从网络包内容分析的角度出发,文献[66]提出了签名+LSTM 的多层异常检测方法。
其首先开发了一个数据包的基准签名数据库,并用布鲁姆过滤器存储该签名数据库同时检测包异常,然后将该签名数据库作为数据源输入 LSTM 中,来进行时间序列的异常检测。为了保护集成电路免受网络攻击,文献[71]采用 2 个异常检测算法来做异常检测,一个是传统机器学习算法 k means,另一个是卷积自编码算法,并取 2个算法结果的逻辑与来作为最终的检测结果。但是该方法在特征选择时,没有采用专有的特征选择算法,仅仅通过人工过滤掉了不产生影响的属性。另外,为了保护 IIoT 系统免受勒索软件攻击,文献[72]提出了一种基于堆叠变分自编码的检测模型,该模型具有一个全连接神经网络,能够学习系统活动的潜在结构,并揭示勒索软件的行为。
2.7 基于边缘/雾计算的检测方法
深度神经网络的进展极大地支持异常物联网数据的实时检测。然而,由于计算能力和能源供应有限,物联网设备几乎负担不起复杂的深度神经网络模型。虽然可以将异常检测的任务转移到云上,但当数千个物联网设备同时将数据传到云上时,会导致时延和网络拥塞。一种新兴架构——雾(边缘)计算的出现,解决了上述问题。该架构旨在通过将计算、通信、存储和分析等资源密集型功能转移到终端用户来减轻云和核心网络的网络负担。
雾计算系统能够处理对时间要求严格的物联网的能源效率和时延敏感型应用,如工厂的火灾报警系统、地下采矿环境等,都需要快速检测出异常。因此,涌现出许多基于雾(边缘)计算的异常检测框架[82 84]。文献[85]针对数据异常检测的准确性和时效性,提出了一种基于层次边缘计算(HEC, hierarchical edge computing)模型的多源多维数据异常检测方案。该研究首先提出了 HEC 模型,来实现传感器端和基站端负载均衡和低时延数据处理;然后设计了一种基于模糊理论的单源数据异常检测算法,该算法能够综合分析多个连续时刻的异常检测结果。
2.8 基于图的检测方法
基于图的异常检测在医疗保健、网络、金融和保险等各个领域都有应用。由于来自网络、电子邮件、电话等的数据相互依赖,使用图表检测异常变得越来越流行。文献[89]提出了一种基于知识图谱的工业物联网移动设备异常检测方法,并利用可视化技术对检测结果进行演示。具体地,作者使用优化后的基于频繁项集的数据挖掘算法对数据进行分析,使提出的方法能够准确地检测出不同类型的并发攻击。
另外,作者还设计了可以将结果多维度可视化的异常告警模块,帮助非专业用户在工业领域充分了解网络安全情况。文献[90 91]引入了一种新的基于图的异常检测方法,并将背景知识添加到传统图挖掘方法的评价指标中。背景知识以规则覆盖的形式添加,报告子结构实例覆盖了最终图的百分比。由于人们认为异常不会频繁出现,因此作者假定,通过为规则覆盖分配负权值,可以发现异常的子结构。该方法在不损失精度的同时,大大降低了检测时间。
3 公开的数据集
列举了对应技术下工业物联网中具有代表性的异常检测技术的研究,包括使用的数据集以及被引次数。数据集出现的频率,可以发现,研究者比较常用的数据集有 4 个,即 SWAT、NSL KDD、UNSW NB15 以及 KDD Cup99 数据集。除此之外,还有许多优秀的数据集可用于异常检测的研究。
4 未来展望
工业物联网的安全是大趋势,随着终端设备存储和计算能力的增加,终端设备将来必然拥有独立的操作系统,安全问题随之而来。未来,终端的智能性、自主性、互联的依赖性都会增加,工业物联网的安全问题会越来越严重。这些安全问题之间也存在依赖性以及相互影响的问题,同时,工业物联网也可能作为危险的翘板,蔓延到其他领域,如互联网。因此,对工业物联网的异常检测势在必行。
从上文的分析中可以发现,针对工业物联网异常检测,机器学习和深度学习等算法应用较广泛;而基于雾计算、知识图谱、生物免疫、联邦学习等的研究则略显不足。在工业系统中,稳健的、性能良好的异常检测方法对于降低系统宕机的可能性至关重要。虽然当前已经存在许多研究成果,但是,仍然有许多值得研究的方向。
1) 可视化检测结果。当前的研究只关注异常检测方案本身,检测结果需要专业人士解读,不方便非专业人士阅读;另外,可视化结果还能帮助非专业人士在工业领域充分了解网络安全情况。
2) 混合架构。由于工业物联网数据具有大量、高维、强冗余、低相关性、环境噪声等复杂性,直接使用原始数据,模型的训练时间和检测性能都不容乐观。因此,将特征选择、知识图谱和深度学习等知识结合是一个趋势。一方面,特征选择算法能够选择强相关的特征,降低数据的冗余和噪声;另一方面,深度学习由于其强大的自学习能力,能够精准地识别出异常。3) 深度学习方法尚未涵盖多个领域,因此有必要重新审视不同领域异常检测的问题,如 SCADA、智能电网、5G 和众多物联网平台,这些平台已经存在系统机器学习等异常检测方法。对不同领域的可扩展性需要真正反映目标环境的数据集,才能取得更好的效果。
4) 一旦工业系统遭受攻击,将会造成严重的损失。因此,有必要在异常行为损害工业系统前,对可能发生的异常进行预测和警告,并提供预防性解决方案。
5 结束语
多年来,异常检测一直是一个活跃的研究领域,得到了各个应用领域研究者的广泛关注。识别异常行为可以降低功能风险,避免系统宕机和其他难以预料的问题。本文尽可能全面地搜集了现有工业物联网中异常检测的研究工作,按照实现原理的角度,对现有工业物联网中的异常检测方法进行了归类分析。这些信息可以帮助研究者对最新提出的异常检测算法及其概要信息产生宏观认知。另外,还需要进一步研究新的智能检测和预测技术,来实时处理复杂工业系统产生的各种数据流,做到实时健康态势感知、异常检测、风险预警和及时预防。
参考文献:
[1] DAUGHERTY P, BERTHON B. Winning with the industrial Internetof things: how to accelerate the journey to productivity and growth[R].2015.
[2] TANGE K, DONNO M D, FAFOUTIS X, et al. A systematic survey ofindustrial Internet of things security: requirements and fog computingopportunities[J]. IEEE Communications Surveys & Tutorials, 2020,22(4): 2489 2520.
[3] SPOGNARDI A, DONNO M D, DRAGONI N, et al. Analysis ofDDoS capable IoT malwares[C]//Proceedings of the 2017 FederatedConference on Computer Science and Information Systems, Annals ofComputer Science and Information Systems. Piscataway: IEEE Press,2017: 807 816.
[4] ZHOU L Y, GUO H Q. Anomaly detection methods for IIoT networks[C]//Proceedingsof 2018 IEEE International Conference onService Operations and Logistics, and Informatics. Piscataway: IEEEPress, 2018: 214 219.
[5] LANGNER R. Stuxnet: dissecting a cyberwarfare weapon[J]. IEEESecurity & Privacy, 2011, 9(3): 49 51.
[6] LEE R. CRASHOVERRIDE: analysis of the threat to electric gridoperations[R]. 2017.
作者:孙海丽 1,龙翔 1,2,韩兰胜 1,3,黄炎 4,李清波 1