工业控制系统IDS技术研究综述

2019-07-08 07:09严益鑫邹春明
网络空间安全 2019年2期

严益鑫 邹春明

摘   要:工業控制系统(Industrial Control System,ICS)作为工业大脑,与互联网连接的趋势越来越明显,但是开放的同时也暴露出严重的脆弱性问题。入侵检测作为重要的安全防御措施,能及时发现可能或潜在的入侵行为。论文从ICS网络安全现状及国家法律政策入手,首先介绍了ICS系统架构及其特点,给出了IDS入侵检测系统(Intrusion Detection System,IDS)的介绍,其次从误用入侵检测、异常入侵检测两个方面,对现有的ICS IDS的技术、算法的研究现状进行分析,最后针对当前ICS IDS的发展与应用现状,对整个ICS IDS的研究趋势进行了展望。

关键词:工业控制系统;入侵检测系统;误用入侵检测;异常入侵检测

中图分类号:TP309          文献标识码:A

An overview of intrusion detection systems in industrial control system

Yan Yixin, Zou Chunming

(The Third Research Institute of Ministry of Public Security/Shanghai Engineering Research Center of Cyber and Information Security Evaluation, Shanghai 200031)

Abstract: As an industrial brain, the industrial control system (ICS) has become more and more open on the Internet. Therefore, the network security of industrial control systems has received more and more attention from the state. This paper starts with the current situation and national legal policy of ICS network security. Firstly, it introduces the architecture and characteristics of ICS system. Secondly, according to the two aspects of misuse intrusion detection and abnormal intrusion detection, this paper analyzes the current research status of ICS IDS technology and algorithm. Finally, the current development and application status of ICS IDS and research trend have been prospected.

Key words: industrial control system; intrusion detection system; misuse of intrusion detection; abnormal intrusion detection

1 引言

随着工业控制系统信息化发展的需求,工业控制系统日渐趋于形成了一个开放式的网络环境。由于传统工业控制系统是基于物理隔离的,主要关注系统的功能安全,缺乏对信息安全的考虑,缺少专门的安全防御措施[1]。

2010 年“震网(Stuxnet)”病毒的爆发让世界明白工业控制系统已成为黑客的主要目标[2],随后“毒区”(DuQu)和“火焰”(Flame)病毒又相继出现,与“震网”共同形成“网络战”攻击群。2014 年,功能更为强大的Havex 以不同工业领域为目标进行攻击,至2016年已发展到88个变种。2015 年底发生的乌克兰大面积停电事件又一次为工控安全拉响警报。2017年5月发生的WannaCry勒索病毒全球大爆发事件,至少150个国家、30万用户受害,造成损失达80亿美元,事件中受损的工控系统数量占总数的13.4%。2017年9月赛门铁克宣称,一年来美国、土耳其和瑞士的数百电网遭到大规模攻击,掌握电网登录凭证的黑客有可能具备制造断电事件的能力。高频率的工控安全事件引起了国家高度的重视。

国家发改委在2011年-2013年间发布信息安全专项指南时,均将工业控制安全保障列为重要研究方向[3,4]。2016 年,科技部将“工业控制系统深度安全技术”列入“网络空间安全”重点专项计划[5]。2017年12月,工业和信息化部正式印发了《工业控制系统信息安全行动计划(2018-2020)》(以下简称《行动计划》),旨在深入落实国家安全战略,加快工控安全保障体系建设,促进工业信息安全产业发展。

入侵检测作为一种主动的安全防护技术,通过对系统通信行为的实时监视、分析,以检测出异常的攻击行为操作,并在攻击行为产生危害之前进行拦截、报警、系统恢复等操作[6]。针对工业控制系统入侵检测的研究与应用,相关学者根据工控系统信息安全特点进行了大量的理论研究。本文对当前的工控入侵检测研究进行总结、归纳与分析,首先介绍了工控系统结构与安全脆弱性问题,对入侵检测技术在工控系统异常行为检测中的应用进行分析,讨论工控环境下异常行为检测的关键问题,最后对工控系统入侵检测研究进行展望,提出相关问题的研究发展方向。

2 ICS及IDS概述

当前的工业控制系统在具体部署时通常涉及几种网络:企业办公网络(简称办公网络)、过程控制与监控网络(简称监控网络)以及现场网络[7],ICS 拓扑结构如图1 所示。

2.1 ICS架构

(1) 企业办公网络包括以企业资源计划(ERP)[8]系统为代表的管理信息系统(MIS)以及制造执行系统(MES)。MIS集信息服务、决策支持于一体;MES负责生产管理和调度执行,实现对生产工艺的过程监视与控制。

(2) 监控网络包括监控站、工程师站、OPC[9]服务器以及历史/实时数据库服务器等设备。该网络的主要任务是监视底层现场网络的行为,并负责企业网络与现场网络之间信息的传递和存储。

(3) 现场网络包括可编程逻辑控制器(PLC)、可编程自动化控制器(PAC)、远程终端单元(RTU)等现场设备。该网络负责感知工业过程的现场信息,并根据实时性要求控制系统正确、高效地运行。

2.2 ICS脆弱性分析

2.2.1 ICS安全与传统信息系统安全差异

传统IT信息安全三个目标重要程度排名由高到低为:保密性>完整性>可用性。

对于工业自动化控制系统而言,目标优先级的顺序则正好相反。因为系统的可用性将直接影响到企业生产,而工业数据都是原始格式,需要配合有关使用环境进行分析才能获取其价值,其完整性及保密性则显得相对次要些。

除此之外,工控系统的实时性指标也非常重要。控制系统要求响应时间大多在1毫秒以内,而传统IT系统能够接受1秒或几秒内完成。工业控制系统还要求保证持续的可操作性及稳定的系统访问、系统性能、专用工业控制系统安全保护技术,以及全生命周期的安全支持。这些要求都是在保证信息安全的同时也必须满足的。

2.2.2 ICS脆弱性

工控系统主要的漏洞有通信协议漏洞、操作系统漏洞、应用软件漏洞等,一旦攻击者利用系统漏洞攻击工控设施,将给工业生产的生命与财产带来严重的安全挑战[10]。

典型的攻击操作有多种情况:

(1)对工业产品生产信息的窃取,获得生产状态情况;

(2)改写系统关键数据,如对控制参数、控制方式等的数据窜改,造成控制过程发生故障;

(3)高级持续攻击等,使得系统停机、重启或无法正常工作。

基于规则过滤的访问控制策略能够对不符合条件的通信行为进行拦截,但无法对潜在入侵攻击行为进行有效防御,同时过多的规则设计降低了系统性能,影响了系统实时性操作。而入侵检测技术能够实现对异常行为及操作的有效检测。

2.3 ICS IDS概述

入侵检测机制是发现入侵行为的一种有效途径。

信息安全中的入侵是指任何危害或可能危害资源完整性、保密性或可用性的行为;而入侵检测是通过对计算机网络系统中的若干关键点进行信息收集及分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象[11]。

传统的IDS并未考虑到工控系统的特殊性,不适用于工控系统。工控系统入侵检测技术研究主要针对相应的工控系统环境,通过采用一定的入侵检测方法能够有效对异常攻击行为进行检测,同时要满足系统实时性和检测精度要求。其核心目标是在保证自身不影响控制系统正常、稳定的前提之下,发现数据或者系统产生逻辑的异常。工控入侵检测流程如图2所示,首先是特征提取,得到的训练集结合检测算法优化检测参数,并用特征提取到的测试集进行测试,直至检测结果满足检测率,训练过程结束。此时入侵检测系统建成,对行为数据进行检测。

2.3.1 ICS入侵检测方法

从检测方法上看主要有误用检测、异常检测以及综合检测的方法[12]。误用检测是对异常攻击行为进行分析、总结,提取相应行为操作的特征,建立异常行为的数据知识库,通过将新的行为数据特征与已知攻击行为特征进行匹配,检测出新的异常攻击行为操作。该方法的优点是对已知类型攻击行为检测率较高,但对新型未知攻击则检测能力较弱。异常检测是利用系统通信行为数据,建立正常行为通信模式的入侵检测系统,实现异常攻击操作的有效检测。该方法的优点是能够对未知新型攻击进行检测,不足之处在于误报率高,需要进一步研究检测特征及算法设计。综合的检测方法是两种方法结合应用,充分利用已知类型攻击行为的特征信息进行异常检测,以有效提高入侵检测性能。

2.3.2  ICS入侵检测性能评价

典型的入侵检测性能指标有检测率(TPR)、漏报率(FNR)和误报率(FPR)。由于工控系统行为是控制工业生产的关键操作,误判并进行拦截会影响系统的正常运行,可能造成比攻击操作更严重的破坏。因此,ICS IDS对误报率有着更为严格的要求,即宁可漏报,不可误报。同时,根据工业控制实时性的要求,降低模型复杂度和检测时间也是检测性能评价的一个重要标准。

3 ICS IDS检测技术研究现状

ICS IDS没有统一的分類方法,目前仍主要采用传统的IDS分类方法,如Chen等人[13]将IDS从检测技术和数据源两个角度进行分析。ICS IDS的数据源可以分为主机型和网络型,主机型获取数据的依据是系统运行所在的主机,网络型获取数据的依据是网络传输的数据包。检测技术方面,将ICS IDS主要分为误用入侵检测技术和异常入侵检测技术,本文作为ICS IDS技术研究综述,对两种主要的检测技术做详细说明。

3.1 ICS IDS特征的研究

ICS入侵检测是利用系统行为的特征数据检测异常攻击操作,提取的数据特征应能够充分反映系统行为模式的差异[14]。检测特征的应用是提高异常攻击行为检测性能的基础,如数据包长度的特征能够检测不符合正常通信协议异常数据流量,拦截异常网络操作;利用IP 地址的数据特征能够识别不合法的主机操作,检测外部攻击者的异常行为;关键控制参数的数据特征可以用于检测偏离工控系统行为模式的潜在攻击等。

研究入侵检测特征是根据实际工控环境,提取满足对异常行为入侵检测性能要求的操作模式特征属性,同时对不能反映系统行为模式的冗余特征进行约简处理,以降低检测模型复杂度和检测时间。从检测数据来源看,主要分为基于主机的入侵检测和基于网络的入侵检测。

(1)基于主机的入侵检测是从系统主机获取检测数据,通过监视分析审计记录、日志文件等对异常行为进行检测;文献[15]采用基于主机的入侵检测方法,通过采集控制系统模型参数为检测特征,根据控制系统的数学模型,建立异常检测的变化特征,从而应用到工控系统的入侵检测。

(2)基于网络的入侵检测是对传输的网络数据包进行分析检测,通过对数据包中的相关特征信息进行提取分析,实时监视来自网络的异常攻击行为并进行拦截[15]。文献[16]采用基于网络的检测方法,检测特征为通信协议,通过实际的通信网络的协议特征,包括TCP/IP协议和应用层工业通信协议,用作工控系统异常行为的入侵检测。文献[16]将通信流量作为检测特征,通过计算单位时间内传输的网络通信数据流量大小来进行入侵检测。

3.2 误用入侵检测技术

误用入侵检测是对异常攻击行为进行分析、总结,提取相应行为操作的特征,建立异常行为的数据知识库,通过将新的行为数据特征与已知攻击行为特征进行匹配,检测出新的异常攻击行为操作。误用入侵检测过程如图3所示,当监测的用户或系统行为与库中的记录相匹配时,系统就认为这种行为是入侵。该方法的优点是对已知类型攻击行为检测率较高,但对新型未知攻击则检测能力较弱。

在工业控制系统中,学者对误用入侵检测技术展开了广泛研究。

Liu等[16]利用变电站频率检测来检测网络攻击对智能电网的影响。文中通过实验模拟了水电站发电厂,当入侵者进入其中一个变电站局域网并控制与输电线断开连接,剩余两座发电厂则必须满负荷发电,这就使变电站频率降低。所以,针对该攻击能够尽早发现入侵事件并找出相应的策略,恢复系统状态。

Barbosa等[17]对SCADA 流量的特性进行研究分析,并得出基于网络流量的周期性检测方法,可以成功检测出如拒绝服务(DoS)攻击、扫描信息攻击的同时,根据数据流量周期的变化来检测异常流量。检测效率高,但在准确率上存在较大的问题。因为工业网络的周期性存在不确定性,比如在配置期间网络流量的周期性无法保证,容易引起误报。因此,单纯依靠周期性进行检测,将会产生很高的误报率。

侯重远等[18]提出了工业网络流量异常检测的概率主成分分析法(PPCA),分析了误报的原因是源于随机突发流量,建立了工业控制网络流量矩阵的概率主成分分析模型,并描述了随机突发流量对主成分分析法(PCA)的影响;接着利用变分贝叶斯理论对PPCA模型的秩进行推断,通过检测秩的变化判断异常流量,从而抑制随机突发流量对异常检测的干扰。实验中模拟震网病毒在传播和攻击时的网络通信行为来实现对攻击流量的模拟。证实了基于PPCA模型的算法能有效降低误报率,平均下降率达到32%,这种方法仅在攻击流量特征与正常业务类型差异比较大的情况下才有指导意义。

工业系统中也存在着慢渗透的攻击方式,仅统计网络流量特性已不能满足需求,研究者们开始采用基于行为的分析方法进行检测。

Vollmer等[19]应用一种改进的遗传算法去自动提取异常行为,可以为已知入侵行为建立规则。此工作通过使用遗传算法,为基于行为的系统检测到的特殊异常生成一组最优的IDS 规则,此规则要满足完整性规则匹配、部分规则匹配和语法检查。通过输入数据流量分组,利用遗传算法,输出一组规则以及各自的适应值;通过实验仿真表明此算法生成的规则的误报率很低,算法的精确度较高。但是该方法对于每一种攻击至少生成3条检测规则,有些行为多达8条规则,影响了检测性能。

Morris等[20]针对Modbus RTU/ASCII协议,设计了一种基于Snort软件的入侵检测方法,利用Snort规则对上行数据和下行数据进行检测,该方法可以有效检测Modbus协议中出现的非法数据分组,但对检测规则的制定要求非常高。Morris于2013年对其进行了改进,仔细分析了Modbus协议的漏洞,提出了50个基于入侵检测系统的签名规则,检测精度得到了很大的提升。

Hong等[21]综合基于特征检测和行为检测的优点,提出一种基于主机和网络的混合型异常检测系统,基于主机的异常检测通过分析日志信息以检测应用层攻击,基于网络的异常检测分析网络层的异常行为攻击。在变电站WSU网络安全试验台上测试,使用试验台模拟重放攻击,通过篡改数据分组、中间人和DoS等不同类型的网络入侵,来验证提出的异常检测算法。测试结果表明基于主机的异常检测系统的误报率(FPR)和漏报率(FNR)分别为0.013%和0.02%,基于网络的异常检测系统的FPR和FNR分别为0.013%和0.016%。

误用入侵检测技术的关键问题是入侵行为的获取和表示,这种检测方法的优点是检测正确率高,缺点是变种攻击行为的检测能力有限。但是,这个缺点并未影响其实际应用价。

3.3 异常入侵检测技术

异常入侵检测技术能够建立用户或系统的正常行为轮廓,早期的异常检测通常用统计模型,通过统计模型计算出随机变量的值落在一定区间内的概率,并且根據经验规定一个阈值,超过阈值则认为发生了入侵。异常入侵监测过程如图4所示,系统能对用户行为的改变进行自我调整和优化。后来很多人工智能技术应用于异常检测,如神经网络技术和数据挖掘技术等。但随着检测模型的逐步精确,异常检测会消耗更多的系统资源。异常入侵检测技术能够检测到未知威胁,但误报率高于误用入侵检测。

基于工控系统状态、协议和行为的入侵检测方法:文献[22]研究了基于入侵检测系统的网络安全防护问题,通过白名单和基于行为的协议分析,建立应用于新的SCADA 系统入侵检测规则及方法。文献[22]通过对智能电网系统的通信行为及协议规范进行分析并研究,利用传统网络特征统计分析和基于规范检测的方法提出基于行为的入侵检测系统。在基于状态、协议和行为的入侵检测方法应用中,利用正常行为下系统状态、协议规范和行为模式建立对攻击操作的检测特征规则,实现对不符合正常数据规范攻击行为的有效检测,但对利用系统漏洞、符合协议规范等的潜在攻击操作,检测效果不是很好。

Kwon等[22]针对IEC61850协议,提出了基于行为的IDS,它使用多个网络特性的统计分析,得到高精度的检测。采用从智能变电站环境中捕获的真实的网络数据流量,通过分析网络流量,利用静态特征和动态特征,来检测异常流量。测试了288个场景,包括261个正常操作场景,以及27个已知攻击。结果表明,提出的算法不仅能检测到24个已知攻击,还能检测出未知攻击,即使漏报了3个攻击,但是并无误报,并且算法精确度很高,为99.0%。所以,该基于行为的IDS 能有效识别出给定的实验中异常数据,并且无误报,检测率高。但是,实验缺乏开放的可用网络数据集,无法检验其性能和精确度。

基于模型的入侵检测方法:基于模型的异常行为检测是根据工控系统模型参数及检测特征等建立入侵检测数学模型,并利用该模型对系统状态预测输出。文献[23]利用一种基于乘积季节ARIMA 模型的方法对正常工业控制网络流量进行建模,并通过该模型预测正常流量,实现对异常流量的检测。但该方法是根据预测的正常输出和实际检测值的偏差检测异常攻击,当检测到异常参数改变时,实际工控系统已经遭受到异常攻击,并影响了系统运行的状态参数。文献[23]利用自聯想核回归模型(AAKR) 对观测特征进行预测输出,并与实际样本值比较,通过偏差的检测处理判别输入特征样本是否为异常行为模式。文献[23]研究了基于控制系统模型建立传感器的输出预测模型,通过实际传感器的测量值比较,利用累计和异常检测方法(CUSUM)对传感器的偏差值分析,检测出攻击行为的影响

基于机器学习的入侵检测方法:文献[24]研究基于K-means 聚类的无监督学习入侵检测方法,通过对检测特征参数的聚类分析处理,提出电力系统的网络入侵检测方法;文献[24]利用不完备信息的半监督K-means 的异常检测方法,充分挖掘了已知攻击类型的信息,结合半监督学习方法对工业网络流量数据进行检测,提高对异常行为数据的检测精度。基于监督学习的分类算法广泛应用于对工控系统异常行为的分类检测中,文献[24]利用基于统计学习的智能马尔可夫模型,建立工业过程自动化多模型入侵检测系统,根据多模式数据特征分析有效检测实际攻击操作。

Jianmin Jiang等人[23]提出了基于SVM的SCADA系统入侵检测方法,并使用通信网络的数据集进行实验,发现该算法具有较高的检测准确率。王华忠等[24]应用改进的PSO算法优化SVM入侵检测分类器的参数,构建了PSO-SVM工控入侵检测框架,并取得了良好的效果。

由此可见,异常入侵检测技术在对未知入侵的检测有一定的效果,取得了很多优秀成果,但是这些算法也存在很多的问题,最大的问题就是会产生误报,且结果缺乏可解释性。

4 结束语

随着工业控制系统开放的发展趋势,工控系统所面临的安全问题将愈加严峻,等级保护2.0时代的到来对工控系统的安全要求也越来越高,针对工控系统入侵防御的研究仍需进一步研究。关于工业控制系统的入侵检测技术的研究仍然处于起步阶段,通过深入了解并学习当前入侵检测技术的发展,进一步提高入侵检测前沿技术转化为实际检测技术的应用能力,对增强工控系统安全尤为重要。当前,网络科技的发展使异常行为的攻击手段和操作更为频繁,也促进了工业控制系统检测技术的研究与应用。本文在对工控系统入侵检测技术研究现状分析的基础上,提出两点工业控制系统入侵检测技术的发展方向。

在入侵检测性能方面,对于工业入侵检测环境,传统的IDS性能指标检测率(TPR)、漏报率(FNR)和误报率(FPR)缺乏准确性和全面性,目前部分学者也就工业入侵检测提出了一些新的性能指标,但大都缺乏科学论证。科学的性能指标是评价和比较检测技术的基础,在工业入侵检测性能指标方面,还有较大的研究空间。

在检测技术方面,误用入侵检测技术和异常入侵检测技术各有利弊,误用入侵检测技术的关键问题是入侵行为的获取和表示,这种检测方法的优点是检测正确率高,缺点是未知攻击行为的检测能力有限。异常入侵检测技术在对未知入侵的检测有一定的效果,但是会产生误报,且随着检测模型的逐步精确,异常检测会消耗更多的系统资源。误用入侵检测技术及异常入侵检测技术的合理结合也可以作为未来的一个研究方向。

参考文献

[1] Knowles W, Prince D, Hutchison D, et al. A survey of cyber security management in industrial control systems[J]. International journal of critical infrastructure protection, 2015, 9: 52-80.

[2] Cox D P. The application of autonomic computing for the protection of industrial control systems[J]. 2011.

[3] 国家发展和改革委员会高技术产业司.国家发展改革委办公厅关于组织实施2012 年国家信息安全专项有关事项的通知(发改办高技〔2012〕2019号)[EB/OL].http://www.bjpc.gov.cn/tztg/ 201208/P020120828415567913703.pdf,2012.

[4] 国家发展和改革委员会高技术产业司.国家发展改革委办公厅关于组织实施2013 年国家信息安全专项有关事项的通知(发改办高技〔2013〕1965号)[EB/OL].http://www.ndrc.gov.cn/zcfb/zcfbtz/ 2013tz/t20130822_554528.htm, 2013.

[5] “工业控制系统深度安全技术”列入科技部发布的“网络空间安全”重点专项2016 年度项目申报指南[EB/OL]. http://www.kongzhi.net/news/detail_156575.html, 2016.