基于机器学习的工业物联网入侵检测技术研究
2019-01-10王展鹏吴红光马蓓娇周梦甜张曼雨周驰航
王展鹏,吴红光,马蓓娇,周梦甜,张曼雨,周驰航
(中国电子科技集团有限公司第二十六研究所,浙江 嘉兴314033)
0 引言
随着物联网技术的快速发展,中国制造2025、德国工业4.0等战略的提出,工业物联网进入了迅猛发展的阶段。赛迪顾问数据预测,到2020年,工业物联网在中国物联网产业整体中占比将达到25%,规模突破4500亿元。在快速发展的同时,工业物联网也面临着不断攀升的网络安全威胁[1]。
入侵检测系统 (IDS,Intrusion Detection System)是信息安全防护的重要组成部分之一,能够帮助系统快速发现攻击,检测到入侵行为。入侵检测系统在传统互联网中有着广泛的应用,工业物联网融合了互联网和工控网络,针对性的应用入侵检测技术能够带来良好的安全防护效益[2]。本文采用数种机器学习的入侵检测技术,针对工业物联网安全防护进行讨论。
1 工业物联网安全威胁分析
工业物联网是工业网络、物联网、工业4.0等的融合产物。随着工业发展与信息化的高度融合,通过使用物联网技术、工业以太网让更多环节接入网络,使工业企业内部各层互连互通,从而提高运营效率和产品竞争力[3]。工业物联网可以深入到生产过程的每一个环节,设备将带有数据终端的功能,全方位的采集底层的生产数据,通过工业大数据的分析和挖掘,可以有效提高生产效率,优化运营配置。
工业物联网和物联网一样分为感知层、网络层和应用层[4]。感知层是工业物联网的基础,通过传感器、RFID、无线传感网络等实现底层数据的采集和发送,包括无线网络、传感网络(未接入互联网)。感知层可能遭受的安全威胁是信息窃取、劫持甚至发动物理攻击。黑客通过劫持感知层的节点,可以长期潜伏在感知层收集工业生产数据、窃取商业机密。感知层的电子设备由于数量众多,也可以被劫持作为拒绝服务攻击的武器[5]。同样,如果劫持其中的网络设备,就可以广播海量恶意的干扰信息,造成网络的堵塞阻断。由于感知层会接入网络层,黑客通过感知层作为跳板,对网络层进一步发起攻击,常见的有入侵渗透、非法访问、拒绝服务攻击等。感知层建立在大量物理电子设备基础上,包括传感器、电子标签、可编程逻辑控制器等。黑客可以抹除电子标签造成设备识别失效[6],也可以强制控制器中断操作,有可能造成现场人身安全伤害。
工业物联网的网络层建立在互联网和感知层的结合上,该层的任务是可靠高效的接收感知层的数据,提供给应用层进行处理,同时将应用层的操作下达到感知层。网络层的安全防护可以大量借鉴传统互联网的经验,重点关注数据的完整性和机密性。工业安全网关和入侵检测技术可以提供有效的安全保障。
工业物联网的应用层是体现信息化带来收益的环节。通过工业大数据、数据挖掘等技术找到企业生产经营中能够改善的环节,快速准确地抓取有价值的信息,提供更多更智慧的决策支持。应用层需要处理大量的数据,黑客可以攻击数据处理的过程,也可以悄悄窃取已经处理好的有价值的内容。工业物联网的安全防护必须全面考虑二个层级的整个过程。
2 基于机器学习的入侵检测技术
从检测方法类型上,入侵检测可分为误用检测和异常检测,异常检测通过判断当前行为与正常行为的背离度,超过背离度预期的行为将被判定为异常行为。基于机器学习的入侵检测即是属于异常检测。入侵检测技术能够检测和报告攻击者的入侵行为,是网络安全防护中的先锋侦察员。
机器学习在数据挖掘、模式识别、人工智能等方面具有的充分优势,同样可以使用在入侵检测的应用中。机器学习包含的众多算法,也有各自的优缺点和应用领域。罗耀峰(2013)[7]提出的基于工控协议的数据模型,使用支持向量机进行分类。Zhou(2015)等[8]利用了智能马尔科夫模型,提取过程自动化多模型数据特征,通过统计学习的方法得到较好的入侵检测效果。Stefanidis(2016)[9]等提出了基于隐马尔可夫模型(HMM)的入侵检测方法。本文使用了6种机器学习的入侵检测方法,并进行对比研究。
2.1 入侵攻击行为
工业物联网的入侵攻击可以分为4种:侦听、中断、修改、伪装。下表1进行详细的阐释。
表1 4种入侵攻击行为
本文使用2015年密西西比州立大学SCADA实验室提供的工业网络数据,分别采取了侦听数据、响应注入、命令注入、拒绝服务攻击等多种网络攻击手段[10]。各攻击的参数数值做了随机化处理,以提高跟真实网络攻击的拟真度。所有通信数据通过记录器收集。数据样本类别被详细分为8种,1种无攻击样本和7种攻击样本,如下表2所示。
表2 攻击类别表
数据集中各类攻击数量分布如下图1所示:
2.2 机器学习算法应用
图1 数据集中各类攻击数量分布图
入侵检测常用的机器学习算法有决策树、贝叶斯、基于规则的分类器、回归分析、神经网络等。通过数据集的训练集进行机器学习,测试集进行入侵检测性能验证[11]。
(1)决策树
决策树是一种预测模型,有3个组成部分,分别是决策结点、分支和叶结点。其中决策结点描述了一次测试决策,不同的测试结果通往不同的分支,分支的末端作为可能的分类结果。
1)C4.5决策树算法
C4.5是改进ID3算法的经典的决策树算法,其使用基于信息增益率(Gain Ratio)和信息增益结合的方法来作为属性选择度量。期望分支结点所包含的样本尽可能的属于同一类别,即样本“纯度”越来越高。通常用来衡量样本纯度的指标是信息熵(Information Entropy),若当前样本集D中的第k类样本所占比为pk(k=1,2,...,|y|),则D的信息熵为:
Ent(D)的值越小,也就代表D的纯度越高。实际上,信息增益有选取的偏好,趋向于取值数目更多的属性,为了消除这个不利影响,C4.5算法增加了信息增益率作为评价准则之一。增益率定义为:
IV(a)是分裂信息:
然而信息增益率却存在趋向于取值数目更少的属性的偏好,所以先从所有属性中选出信息增益较高的属性,再从中选择信息增益率最高的属性,作为最优划分属性。
2)REP Tree快速决策树算法
REP Tree(快速决策树)只对数值型属性值排序一次 (C4.5算法需要为每个数据子集进行排序),对于缺失值的处理方法和C4.5一样,让相应的样本走不同的路径,再把结果进行加权。不一样的是REP Tree增加了和Random Tree相似的Backfit函数,改变已经生成的分裂节点和子节点的分布,来达到消除过拟合的作用[12]。
(2)回归分析
回归分析方法可以进行异常分类。数理统计中的回归分析,可以确定多个变量之间相互依赖的定量关系。Simple Logistic是逻辑回归分析的一种,使用简单回归函数的LogitBoost作为基本学习器,用来拟合Logistic模型。
(3)贝叶斯
贝叶斯是一种在已知先验概率和类条件概率的前提下的分类方法,贝叶斯分类在理论上有充分的论证。
1)Naive Bayes
Naive Bayes是朴素贝叶斯分类器,其假定每一种属性的值对给定类的影响是相互独立的,这在现实中往往不能满足,但还是可以在实际应用中得到较高的精度和效率。工业物联网数据同样不是相互独立的,但是仍可以适用。在给定的训练数据集{(X1,y1),(X2,y2),(X3,y3),…,(Xm,ym)},其中 m 是训练样本的个数,本文使用了66%训练集(181254),33%测试集(93374)的分类算法使用策略,所以m=181254,每个样本包含了n个特征,通过上文特征选取,n=18,即 Xi=(xi1,xi2,...,xin)。类标记集合为{y1,y2,…,yk}。根据贝叶斯定理,求各类别后验概率的公式为:
由于朴素贝叶斯将各个特征之间假设为互相独立,则上式(4)可以写成
选取式(6)取值最大时类别yi作为判定结果。
2)Bayesian Network
Bayesian Network是贝叶斯网络,模拟人类推理过程中对因果关系的估计过程。其网络拓扑使用有向无环图模型(Directed Acyclic Graphical,DAG)来刻画属性之间的依赖关系。
(4)神经网络
神经网络是经典的机器学习方法,在本文的分类预测情形下,Multilayer Perceptron多层感知器(MLP)分类器是一种前馈神经网络,采用反向传播学习模型(BP算法)进行训练。多层感知器由至少二层节点组成,除了输入节点外,每个节点都采取非线性函数的神经元[13]。
3 方法检验和结果分析
将预处理完成,符合分类算法使用条件的数据,使用各算法进行分类,其结果显示见下表3。正确率 CCI Rate (Correctly Classified Instances Rate)表述的是分类正确的测试样本占总测试样本的比率。正确率可以直观观察每个算法对所有类别的总体分辨能力[14]。
表3 各分类算法正确率
从上表可知决策树分类算法总体的效果最好,正确率最高的算法C4.5(97.895%),第二高的REP Tree(97.497%)都属于决策树算法。但并不能仅仅通过正确率这一个属性来判别分类结果的优秀与否,下表4列出了对7种攻击和正常行为的辨识能力,用检测率表示。检测率也叫做查全率或真阳率 TPR (True Positive Rate)或者召回率(Recall Rate),反映了被正确判定类别的样本占该类别样本总数的比重。
表4 各分类算法检测率(查全率)
通过上表可以发现查全率排前二的依然是C4.5算法和REP Tree算法。由于工业物联网实际使用中,入侵攻击造成损失可能十分巨大,所以要尽量检测出每一次攻击,对漏警率(Missing Alarm Rate,MAR)要求更严格,要求尽量小。表5所示为C4.5算法和REP Tree算法的漏警率和虚警率。
表5 C4.5和REP Tree的漏警率和虚警率表
C4.5算法的漏警率比REP Tree算法低0.2%,而且虚警率FAR(False Alarm Rate)也低0.7%。在对漏警率要求严格的工业物联网场景,C4.5算法更加优秀。通过统计数据的对比分析,决策树C4.5算法是最适合该数据集的机器学习算法,拥有99.4%的高检测率和1.1%的低虚警率,同时检测时间很短。Turnipseed(2015)[10]同样使用该数据集,其使用PART算法的检测率达94.14%,性能不及本文使用的C4.5算法。
4 结语
本文分析了工业物联网在感知层、网络层、应用层上分别面临的安全威胁。使用了6种机器学习的入侵检测算法对数据集进行测试。通过实验结果表明属于决策树的C4.5算法拥有99.4%的高检测率、1.1%的低虚警率且计算迅速,适合用于工业物联网的入侵检测。入侵检测技术能够快速发现工业物联网的入侵行为,及时报警,但是确定入侵节点和途径较为困难。入侵定位是下一步需要解决的研究方向。