针对不同的异常检测方法的差异及应用于工业物联网(IIoT)安全防护的适用性问题,从技术原理出发,调研分析2000—2021年发表的关于网络异常检测的论文,总结了工业物联网面临的安全威胁,归纳了9种网络异常检测方法及其特点,通过纵向对比梳理了不同方法的优缺点和适用工业物联网场景。另外,对常用数据集做了统计分析和对比,并从4个方向对未来发展趋势进行展望。分析结果可以指导按应用场景选择适配方法,发现待解决关键问题并为后续研究指明方向。
随着 5G 通信技术的快速发展,以及传感器和处理器等嵌入式设备的计算和存储能力不断增加,这些网络通信和嵌入式设备在工业系统中的应用越来越普遍。工业物联网(IIoT, industrial Internet of things)是由应用程序、软件系统和物理设备三者组成的大型网络,这三者与外部环境以及人类之间进行通信和共享智能[1]。据埃森哲预测,到2030年,美国的工业物联网价值将出到7.1 万亿美元,对欧洲而言价值将超过 1.2 万亿美元[2]。
在这波工业发展浪潮中,物联网安全是影响工业物联网广泛使用的重要因素之一。事实上,物联网设备的安全性通常很差,因此很容易成为攻击者的目标。攻击者利用这些设备可以进行毁灭性的网络攻击,如分布式拒绝服务(DDoS, distributed denial of service)[3-4]。传统的工业环境在过去一直遭受攻击,有的还造成了灾难性的后果(例如,震网病毒[5]或故障超驰/工业破坏者[6])。因此,如果没有安全性,工业物联网将永远无法发挥其全部潜力。另外,工业系统对性能和可用性有严格的要求,即使系统受到网络攻击,维护系统不间断和安全地运行也常常是优先考虑的。
异常检测在防御系统和网络的恶意活动中是至关重要的。近年来,为了缓解网络攻击,工业物联网异常检测方面的研究迅速增多,许多检测机制被提出。另一方面,在异常检测方面研究者已经从技术手段、应用场景等方面做了一些调研工作,如文献[7-10],但这些工作很少专门针对工业物联网的特性和适用性进行深入剖析。近两年,虽然出现了针对工业物联网异常检测的综述性文章,但介绍的都不够全面。例如,文献[2]只介绍了基于系统规则、建模系统物理状态的检测方法,文献[4]则只介绍了基于统计和机器学习的检测方法。除了文献[2,4]提到的检测方法之外,还存在许多新颖的检测技术。
因此,本文从技术原理的角度,梳理了基于系统不变性和物理状态的建模、基于统计学习、特征选择、机器学习、图、边缘/雾计算、指纹、生物免疫等算法的异常检测技术,并详细分析了各类技术的优缺点。由于用于工业异常检测研究的数据集繁杂且多样,本文详细归纳了常用数据集的特点及其使用频率,方便读者对比和选择。除此之外,本文针对工业物联网典型场景的网络威胁和异常检测方法进行调研和综述,介绍了边缘/雾计算方法在异常检测方面的应用,增加了对2021 年最新论文的调研,对不同检测方法的特点和适用场景进行了深入分析。
工业4.0将信息通信技术应用于工业制造和自动化领域,极大地提高了生产力和效率。然而,这一进步的代价是扩大了工业系统的受攻击面。针对工业物联网的攻击,可以分为被动攻击和主动攻击。被动攻击是隐蔽的,通常无法检测到,如窃听和流量分析。主动攻击包括丢包、回注、干扰网络的正常运行等。恶意软件感染、拒绝服务(DoS, denial of service)、未授权访问和虚假数据包注入等主动攻击通常是可以检测到的[9]。下面简要总结几种主动攻击的特点和目标。
恶意包注入攻击。重放抓包,发送伪造或篡改的报文,以达到干扰或破坏系统操作的目的。
DoS攻击。消耗系统或网络资源,导致资源不可用。
未授权访问攻击。探测计算机或网络以发现漏洞;对报文进行嗅探或拦截,用于收集信息。
除此之外,还涌现出了一些针对工业物联网典型场景的威胁。
物理攻击。例如针对交通运输物联网的物理攻击,对交通设备节点本身进行物理上的破坏,如断电、移动节点位置等,造成信息缺失、信息泄露等。
感知数据破坏。非授权地增删、修改或破坏感知数据,例如针对新能源发电厂的电力物联网生产数据篡改。
控制命令伪造攻击。发送伪造的控制命令,从而达到破坏系统或恶意利用系统的目的,例如针对数控机床设备物联网的控制命令伪造。
为了保护工业系统免受网络攻击,涌现出了各种安全措施,如加密通信数据、数据完整性校验和访问控制等方法,可以保护系统免受多种类型的攻击。然而,即使这些安全措施已经到位,攻击者仍然可以成功地对系统发起攻击,如恶意包注入和DDoS攻击等。因此,有必要对网络进行异常检测,以此来进一步保障工业系统的安全。
本节首先介绍了工业物联网中存在的异常种类,进而详细分析和梳理了现有的针对不同异常类别和不同应用场景的异常检测方法。
网络攻击以损害系统信息的机密性、完整性和资源的可用性为目标,通常以某种方式造成网络运行偏离正常,表现出异常行为。因此,可以通过发现数据中不符合预期行为的模式来识别异常。现阶段IIoT中主要存在3种异常[8]。
点异常。即个别数据实例相对于其余数据是异常的。例如,假设水温传感器值的预定义范围是30℃~40℃,那么超出这个范围的值将是一个异常点。
上下文异常。仅在特定上下文中表现异常的数据实例称为上下文异常。这类异常多为空间数据或时序数据中的异常。
集合异常。如果相关数据实例的集合相对于整个数据集是异常的,则称为集合异常。集合异常中的单个数据实例本身可能不是异常,但它们一起作为一个集合出现就是异常。例如,单个TCP连接请求是正常的,但是连续从同一个源收到多个这种请求就有可能是DoS攻击,也就是异常。
网络异常检测是指检测网络流量数据中的异常,利用设备或软件应用程序对网络流量进行监控和分析,从而检测出恶意活动。现有工业物联网异常检测方法可以分为基于系统不变性、物理状态建模、统计学习、特征选择、机器学习、边缘/雾计算、图、指纹以及生物免疫等算法的检测方法。下面将针对每一种检测方法的技术原理、现有研究成果、优缺点及适用应用场景做介绍梳理和深入分析。
系统不变性是指系统运行过程的“物理”或“化学”特性中的一个条件,每当系统处于给定状态时,必须满足该条件。通过分析物理不变性来检测异常已经被应用于许多网络信息物理系统(CPS, cyber-physical system)[11-14]。文献[11]将所有组件的稳定性和正确性约束以逻辑不变性的形式表示出来,系统动作只有在保证不违反这些不变性时才能执行。针对 CPS 各个模块的不变性,文献[12]提出了统一不变性,开发了跨越系统各个层面的公共语义。然而,文献[11-12]都是通过人工来产生物理不变性,开销很大,且很容易出错。为了解决这个问题,文献[13]提出利用关联规则挖掘算法自动识别系统不变性,该算法的优点是可以发现隐藏在设计布局中的不变性,避免了手动寻找的烦琐。但是,这项技术仅适用于成对出现的传感器和执行器,而在真实的CPS中,所有传感器和执行器都是跨多个过程协同工作的。也有一些使用机器学习算法来挖掘CPS物理不变性的研究。例如,Momtazpour 等[14]采用预先发现潜在变量的外源性输入自动回归模型,以发现多个时间步内无线传感器数据之间的不变性。Chen 等[15]利用代码变异程序生成异常数据轨迹,然后利用支持向量机(SVM, support vector machine)分类器和统计模型检验来发现安全水处理实验台传感器数据之间的不变性。文献[16]采用几种机器学习和数据挖掘技术的组合,系统地从工业控制系统(ICS, industrial control system)的操作日志以及执行器的状态信息生成不变性。
CPS的底层过程一般由其工作原理控制,因此其过程状态是可预测的。基于物理模型的异常检测方法根据物理状态对正常的物理操作进行建模,从而能够从偏离物理操作模型的异常状态中检测到网络攻击。
基于统计的异常检测方法为数据集创建一个分布模型,并与目标数据对象相匹配。假设正常数据落在高概率区间,而异常数据相对落在低概率区间,根据目标数据集中数据落在模型中的概率来判断是否异常。Rajasegarar等[23-24]建立了2种异常检测模型:统计检测模型和非参数检测模型。这2种模型可以应用于不同的场景,其中前者适用于数据类型和采样周期预先确定的应用;而后者在没有先验知识的情况下,通过比较当前数据和相邻数据的行为识别异常。费欢等[25]提出一种多源数据异常检测方法。该方法主要应用于平台空间,通过二维坐标的位置来确定2个节点之间的关系。类似地,文献[26]提出基于密度的模型,通过分析电数据来发现太阳能发电系统的异常行为。
异常检测处理的数据是人工从复杂的网络系统中提取出来的。这些数据一般具有高维、强冗余、低相关性等特点。直接使用原始数据,检测算法的性能会很差。而特征选择的作用是从原始数据中选择有用的特征,选出的特征具有更强的相关性、非冗余特性和更少的噪声。这些特征可以帮助相关算法更高效、快速地区分、检测和分类出不同的目标。因此许多研究者将其应用于入侵检测系统(IDS, intrusion detection system)的设计中,以提高检测精度,减少检测时间。
上述方法有一个共同的缺点,即选择的特征具有一定的随机性和不确定性,不能应用于下次选择。为了克服这个问题以及明确不同特征对异常检测的影响,文献[37]基于最大相关最小冗余特征选择算法和 SVM 分类方法进行了一系列实验。另外,为了进一步选取有效的特征,文献[38]结合群体智能算法和强化学习,提出了一个名叫 QBSO-FS 的特征选择模型,实验结果表明,该模型确实优于传统特征选择算法。工业系统中基于特征选择的异常检测方法对比如表2所示。
在工业系统中,机器学习方法(如贝叶斯网络、k-means、ELM[39]、SVM、回归等)已经被成功用于识别和检测工业物联网中的异常行为[10]。除此之外,聚类[40-42]、随机森林[43]、孤立森林[44]和隐马尔可夫模型[45]等算法也取得了不错的成绩。表3 总结了工业系统中基于机器学习的异常检测方法。
单分类支持向量机(OCSVM, one class suport vector machine)是一种非常著名的异常检测算法,被应用于许多应用领域中,它能够学习可见数据的边界,并将边界之外的所有事件或数据点识别为系统异常行为[43,46-47]。为了进一步提升OCSVM 的性能,文献[48]采用云灰狼优化算法对OCSVM参数进行优化。实验结果表明,该算法在一定程度上确实提高了模型的检测精度。与文献[48]的工作不同,文献[49]提出 2 种将OCSVM扩展到张量空间的异常检测算法,即单分类支持塔克机和基于张量塔克分解以及遗传算法的遗传单分类支持塔克机。两者都是针对传感器大数据的无监督异常检测,保留了数据结构信息的同时,提高了检测的准确率和效率。
聚类方法以无监督的方式将特征相似的对象归为一组,经过这种自动分组后,如果新的数据点不能被放入预定义的集群(组)中,则系统会将该数据点判为异常情况并生成警报[40,42]。梯度提升树是一种集成学习分类器,文献[50]用其检测风力机螺栓断裂问题的早期异常。该算法首先生成多棵决策树,然后综合所有树的结果从而做出最终决策。梯度提升树有个令人不容忽视的缺点,即不能处理海量数据。为了解决这个问题,文献[51]提出结合轻量级梯度提升机和贝叶斯优化来检测工业网络流量中的异常。该方法在提高检测效率和准确率的同时,减少了人工对模型训练的参与度。
深度神经网络的进展极大地支持异常物联网数据的实时检测。然而,由于计算能力和能源供应有限,物联网设备几乎负担不起复杂的深度神经网络模型。虽然可以将异常检测的任务转移到云上,但当数千个物联网设备同时将数据传到云上时,会导致时延和网络拥塞。
一种新兴架构——雾(边缘)计算的出现,解决了上述问题。该架构旨在通过将计算、通信、存储和分析等资源密集型功能转移到终端用户来减轻云和核心网络的网络负担。雾计算系统能够处理对时间要求严格的物联网的能源效率和时延敏感型应用,如工厂的火灾报警系统、地下采矿环境等,都需要快速检测出异常。
专知便捷查看
便捷下载,请关注专知公众号(点击上方蓝色专知关注)
后台回复“IOTAD” 就可以获取《「工业物联网异常检测技术」最新2022研究综述》专知下载链接