(数字广东网络建设有限公司,广东 广州 510030)
工业物联网作为人工智能、大数据、云计算、互联网、信息化等各种先进技术高度融合的产物,以深度分析、精准估计、灵敏感应技术为特征,将全球的工业系统进行快速连接,涵盖工业控制、供应链管理、大数据存储分析、人工智能快速决策等功能,是智能制造的核心基础设施[1]。工业物联网驱动全球智能制造发展的同时,也带来复杂多变的网络安全问题,从而限制了工业物联网的高效、安全发展。鉴于此,很多学者纷纷投入大量的精力来研究工业互联网的安全问题和应对策略。比如程月平[2]通过分析工业物联网数据交互、转换等核心作用后,分析工业物联网主要面对设备层面、控制系统层面、网络层面、数据层面、人员管理层面以及APT攻击层面的安全威胁后,提出主动排查安全漏洞、保障远程访问的安全性、应急响应与攻击检测、补丁和漏洞管理、态势感知以及 PCS 策略等安全管理措施;张宏斌等人[3]提出我国在工业4.0 时代存在工控网络安全防护手段的问题,结合不同环境、业务对工控网络进行实时监测和智能化分析,实现工控网络安全事件及时发现、故障快速定位、数据存储回溯等功能;刘廉如[4]等人针对工业物联网存在工业安全事件高频化,漏洞增长快速化,攻击方式多元化,网络边界模糊化等问题,提出防护对象、防护措施和防护管理三个维度的安全框架;吴东方[5]针对工业网络入侵监测的不确定性问题,提出一种基于流量特征图的工业物联网入侵模型,解决工业网络检测不确定性和泛化能力差的问题;李青[6]针对基于流量特征检测工业网络入侵行为样本不足的问题,提出一种基于概率估计的快速决策树分类算法,提升模型对数据流演变的适应性问题。
从上述研究可知,工业物联网的安全研究通常是从流量数据入手,通过对流量进行降维、特征提取等处理方式实现工业物联网异常行为的检测。工业物联网作为一个开放的系统,难以构建统一的安全防护平台,因此,本文将利用工业物联网簇头对工业物联网网络节点进行巡视,结合节点数据包完整性、数据包传输率和传输延迟等异常行为检测指标和信誉阈值的变化情况,形成一种以数据驱动为主要方式的巡视间隔自适应设置机制,实现工业物联网异常行为检测的自适应巡视。该算法在不增加网络负担的情况下实现高精度、自适应的巡视,更加符合节能环保和工业物联网网络安全的需求。
传统的工业物联网由于过分追求覆盖范围的广域性,存在各节点能量消耗不平衡、节点功能划分不科学等问题。针对上述问题,本文兼顾效率和能耗两方面,提出一种自适应巡视算法的工业物联网安全异常行为检测模型。在介绍模型之前,先介绍基于节点层级划分的异常行为检测网络模型。节点层级划分是将工业物联网所有的节点分为3 类:普通节点、簇头节点和汇聚节点。普通节点负责基础数据采集和通信数据交互等任务;簇头节点负责记录普通节点的通信行为,动态更新普通节点的信誉值,对接汇聚节点的通信行为,协助汇聚节点对普通节点行为进行检测和信誉值更新等任务;汇聚节点通常位于网关的位置,是网络结构中最高权限的节点,负责无线网络和路由之间数据汇聚,与簇头节点进行通信,并对网络所有节点通信行为管理等任务。异常行为检测网络结构模型如图1 所示。
图1 异常行为检测网络结构模型
图1 展现了基于节点层级划分的异常行为检测网络结构。如何选取簇头节点是构建检测网络结构模型的关键问题。
在进行网络分组前需要选取簇头节点,本文采用网络节点重要度方法来选取簇头节点。而网络节点重要度往往通过介数和信誉度来衡量。
节点的介数定义为网络传输过程中所有最短路径中经过该节点的路径数目占最短路径总数的比例。
其中,Bi表示节点i的介数,njk(i) 表示表示数据从节点j传到节点k经过节点i的最短路径数量,njk表示网络传输中所有最短路径的数量。
节点信誉度定义为网络传输过程中该节点数据包完整性、数据包传输率和传输延迟的综合评估值。
数据包完整性表示检测节点是否存在篡改数据包的异常行为。
其中,Pi表示节点i转发数据包的完整性。NiR表示节点i正确转发数据包的次数;Ni表示节点i转发数据包的次数。通常采用帧头+数据长度+数据+校验值的方式判断数据包转发数据的正确性。
数据包传输率表示下一路由节点能够成功接收到源节点数据包的概率。
其中,Di表示节点i转发数据包的传输率;表示节点q接收来自节点i的数据包数量;Diq表示节点i发出数据包数量。q∈Γ(i) 表示节点i的邻居节点。
传输时延Ti表示节点i接收或者转发数据包的时间间隔。
Td表示节点i接收或者转发数据的实际时间;Tc表示通信周期。
那么节点i的信誉度为:
其中,ω1+ω2+ω3=1。
那么,节点i的重要度为:
将节点重要性按照降序排序,选取前k个节点作为簇头节点;然后,采用K-means 的算法实现网络分组,以k个簇头节点作为聚类中心,计算其他节点与簇头节点的距离;最后,根据距离远近的原则将节点聚类到不同的簇头中,实现网络分组,构建异常行为检测的网络结构。
检测节点是否存在异常是工业物联网异常行为检测的主要目标,基于节点通信行为评估计算节点信誉度,结合信誉度的变化来更新巡视频率,进而判定节点是否存在异常。考虑到工业物联网是一个全天候运行的系统,需要在无人干预的情况下,在数据传输过程中引入信誉度评估和自适应巡视机制,在不增加网络负荷的情况下实现网络异常节点判定。异常行为检测模型如图2 所示。
图2 安全异常行为检测模型
自适应巡视机制,是基于汇聚节点检测到的普通节点真实信誉值与预测值之间的误差,对巡视间隔进行自适应更新,采取不同的频率对普通节点进行检测。自适应巡视机制如图3 所示。
图3 自适应巡视机制
基于采样时刻、前一时刻和后一时刻的节点异常行为检测指标,计算节点在当前时刻的信誉度,然后结合前一时刻和后一时刻节点的信誉度对当前时刻节点的信誉度进行预测。基于时间序列预测节点i的信誉度预测值为:
进一步,对比真实采样时刻节点信誉度和基于时间序列预测的节点信誉度之间的误差,根据误差大小调整巡视间隔:如果误差大于设定误差阈值,缩小巡视间隔,反之亦然。
本文实验区域是某个区的LoRa 物联网试验网,覆盖半径1.25 公里,在此区域内随机部署了200 个信息采集节点(包括10 个簇头节点),其中汇聚节点和簇头节点的位置固定,信息采集节点传输数据的时间是随机的。为了验证本文算法的有效性,实验区域设置40 个恶意节点,恶意节点会在任何时候对其他节点进行连续性攻击。本实验所有汇聚节点可在所有采集节点之间实现自由通信。汇聚节点仿真参数设置如表1 所示。
为了清晰展示本文算法和LEACH-C[7-10]传统算法的能耗性能差异,本文将参考相关学者[11]的研究,将本文算法的信誉度阈值设置为0.8,检测时间是300 s。从信息采集节点的存活时间和网络能量消耗两方面进行对比。
表1 汇聚节点的参数设置
图4 是本文模型与LEACH-C 传统算法在受到恶意节点攻击后存活节点数量的对比情况。从图4 可知,本文模型与传统的路由协议相比,其存活时间延长了25.8%。出现这种情况的原因是:当出现死亡节点后,汇聚节点通过巡视机制识别恶意节点并将其移除到网络外。
图4 显示,本文模型在10 分钟之内识别并移除了所有恶意节点到网络之外,正常节点在19 分钟以后能量逐渐消耗殆尽,节点最长存活时间为31 分钟;而LEACH-C 传统算法则在16 分钟时出现第一个死亡节点,并迅速恶化,节点存活时间仅为23 分钟。
图4 网络剩余节点对比
网络中每一个采集节点的初始能耗为2 焦/ 分钟,恶意节点对其他信息采集节点进行攻击后,信息采集节点的能耗迅速提升,图5 展示了采用本文的自适应巡视机制和LEACH-C 传统算法下的能量消耗对比。
图5 网络能量消耗对比
受到恶意节点攻击后,LEACH-C 传统算法的能量消耗平均为17 焦/分钟;而本文模型的能量消耗平均为12焦/分钟。这是因为本文模型采用自适应巡视机制发现异常节点并对异常节点进行快速清除,从而实现能耗的降低。
本文针对工业物联网存在高能耗安全防护问题,提出基于自适应巡视算法的工业物联网异常行为检测模型。该模型在构建异常行为检测网络结构的基础上,结合节点的网络介数和信誉度选取簇头节点;然后,采用自适应巡视机制确定汇聚节点巡视时间间隔;最后,根据工业物联网实际情况自适应调整节点巡视频率。实验证明,本文所采用的自适应巡视机制能够在一定程度上降低网络能耗和延长节点的生存时间。本文的方法虽然能够较为全面检测恶意节点,但是没有涉及节点的抗毁性问题。拟在后续工作中针对该问题继续研究。