时间:2022年02月11日 分类:科学技术论文 次数:
摘要工业控制系统是国家基础设施的重要组成部分,广泛应用于能源、制造、交通、军工等行业,是关乎国计民生的重要资源.工控协议是控制系统实现实时数据交换、数据采集、参数配置、状态监控、异常诊断、命令发布和执行等众多功能有机联动的重要纽带,其安全问题与工控系统的可靠稳定运行密切相关.深度剖析工控协议安全是理解工控系统安全威胁的一个重要角度,能够对工业控制系统的安全防护和保障提供指导.作者通过整理学术界与工业界对工控协议安全的研究工作,例如研究论、标准指南、攻击事件等,系统化地分析和总结了工控协议所面临的安全问题.首先对工控网络架构、工控协议作用、协议的分类以及和传统协议的比较等进行详细阐述,然后从协议设计、实现和应用的角度深入分析了工控协议面临的攻击威胁和协议防护方案,最后讨论了未来工控协议安全研究趋势.
关键词工控协议安全;工业控制系统;协议设计和实现安全;协议攻击威胁;协议安全方案
根据美国国家标准技术研究院(NIST)给出的定义[1],工业控制系统(industrialcontrolsystem,ICS)是一个涵盖了多种类型的控制系统通用术语,包括监控和数据采集(supervisorycontrolanddataacquisition,SCADA)系统、集散控制系统(distributedcontrolsystems,DCS),以及其他控制系统,如可编程逻辑控制器(programmablelogiccontrollers,PLC),常用于工业领域和关键基础设施的控制系统中.工业控制系统是国家基础设施的重要组成部分,广泛应用于能源、制造、交通、军工等行业,是关乎国计民生的重要资源.
工控协议是控制系统实现实时数据交换、数据采集、参数配置、状态监控、异常诊断、命令发布和执行等众多功能有机联动的重要纽带.早期工业控制系统运行在物理隔离的环境下,独立于传统互联网.因此相关设计与操作人员很少考虑到网络攻击的可能,且普遍存在侥幸心理[2].这导致大量协议在设计方面缺乏认证、加密等安全机制;在实现方面也对异常的协议数据考虑不充分,容易留有安全隐患.在“工业4.0”的时代背景下,工业控制系统越来越多地采用标准化解决方案.然而,这打破了工控系统原有的专用性和封闭性,使其面临更广泛的攻击威胁.
事实上,近些年针对工控系统的攻击事件频发,文献回顾了历史上发生过的重大安全事件,并指出随着形势的发展,面向以工业互联网为基础的关键基础设施的威胁越来越严峻.其中,攻击者充分理解相关的工控协议诸多细节,并利用协议在设计、实现或应用方面的脆弱点,是顺利实施攻击事件的一个重要因素.如2010年,“Stuxnet”病毒劫持了S7协议实现代码的关键函数,通过精确地篡改和伪造S7协议报文,成功攻击了伊朗核电站,导致伊朗核计划推迟数年[4].
2017年,根据安全厂商ESET发布的消息,“Industroyer”病毒成功利用4种电力工控协议(IEC60870G5G101,IEC60870G5G104,IEC61850GMMS,OPCDA),通过控制变电站中的断路器,攻击乌克兰电力系统,造成大规模停电事件[5].同年,根据FireEye公司发布的消息[6],针对施耐德安全仪表系统的恶意软件“TRITON”,利用私有协议TriStation进行的攻击可造成工业过程无法工作.综上所述,深度剖析ICS的协议安全是理解工控系统安全威胁的一个重要角度,将对工业控制系统的安全防护提供参考和指导.本文通过调研和整理学术界、工业界对工控协议的安全研究工作,包括学术研究论文、标准指南、攻击事件等,从协议的角度帮助理解工业控制系统的安全性.
1工控协议背景
工控协议实现了ICS各层设备组件之间的连接和通信交互,并与各设备组件共同形成了工业控制网络.从工业控制系统的业务分层看,一个典型的工控系统涉及3类网络:企业办公网络(简称办公网络)、过程控制与监控网络(简称监控网络)以及现场控制网络[7].由现场设备层、控制层和管理层构成[8].根据传输信息的功能不同,各层的工控协议通信的实时性要求也不同,如在现场设备层,要求实时通信;而在管理层,则允许非实时通信.实际上,管理层的企业办公网使用的协议与传统互联网协议一致(如HTTP,HTTPS,POP3等),此类协议已有很多分析和讨论,此处不再赘叙.本文讨论的工控协议是指应用于控制层和现场设备层的通信协.
1.1协议功能
基于工控协议的通信,工业控制系统实现了网络空间物理空间(cyberGphysical)内各组件之间的交互.协议在不同场景中传输相似功能的内容,可大致分为3类[9].
1)控制信息(controlmessage)控制信息在控制器和现场设备之间传输,并且是控制器中控制回路的输入和输出.因此,它具有很高的实时性和确定性要求.
2)诊断信息(diagnosticsmessage)诊断信息用来描述系统当前状态,例如通过传感器获得的温度、湿度、电流、电压值等信息.这些信息用于监测厂站的健康状态.通常情况下,控制系统传输诊断信息的数据量大.相比于实时性和确定性,诊断信息的传输更强调速度.
3)安全信息(safetymessage)安全信息用于控制一些关键功能,如安全关闭设备并控制保护电路的运行.传统上,制造单元的安全联锁装置使用可靠的安全继电器进行硬接线,以确保单元内部有操作员的情况下机器无法运行.但这种接线不容易重新配置,且出现问题时进行故障排查非常困难.通过传输的安全信息,可以更便捷地在各个组件之间协调,极大地提高了系统的重新配置和故障排除能力.
1.2协议分类
根据使用的通信技术,工控协议分为4类[8](如图2所示):传统控制网络、现场总线网络、工业以太网和工业无线网络.当前广泛应用的是工业以太网和现场总线网络,相比于早期的计算机集成控制网络,存在的优点是:减少了用于通信的物理缆线,从而减少潜在故障点(如线路接头松动);提高了通信系统的可维护性和扩展性(如向系统扩展添加新的设备).
这些优点使得我们能更方便地构建复杂的大型控制系统.相对于有线网络,工业无线网有更大优势,例如进一步减少所需的线缆数量,能更灵活地配置传感器的位置等.所以,James等人[9]认为工业无线网技术是工控网络的未来,但需要解决安全、可靠、实时传输等问题[9G10].
1.3与传统协议比较
相比传统的互联网协议,工控协议传输的数据对物理世界有直接的控制和影响.因此,工业控制系统的通信则被称为控制网络,而传统互联网一般被称为数据网络.结合文献[1,9G10],我们总结了3个方面的区别:
1)通信场景工控协议广泛应用于关键基础设施领域,如电力、化工、制造、军工、楼宇、交通等.其运行的环境经常遇到如潮湿、灰尘、高温等不利的情况.工控协议传输的数据能直接影响物理世界,如机械臂运动、控制断路器开合、电机启动、反应液的水位等.通信故障对物理世界可能有严重的影响,如造成生产损失、环境毁坏,甚至危及生命. 传统互联网协议如HTTP,HTTPS,POP3等主要应用于数据分享和传输,运行在清洁和温度受控的环境下.数据的产生和使用一般需要人的参与,如社交、搜索、邮件、新闻资讯、电子商务等.通信故障影响相对较小,可能给生活带来不便,但大部分都可通过其他方式进行弥补和解决.
2)通信要求工控协议可直接影响物理世界,它的实时性要求相对较高.如运动控制的响应时间要求的范围在250μs~1ms,过程控制的响应时间要求的范围在1~10ms[10].除此之外,对于控制现场设备的工控协议一般还要求传输延迟是稳定的,即要求通信延迟的抖动小.因为抖动可能造成系统震荡,产生负面影响.同时,工控系统一般还要求周期性的采样系统的状态信息,在这种情况下,设备是长时间“在线”的,数据的交互也是持续的.传统互联网协议如HTTP,HTTPS,POP3等则对时延要求较低,大部分情况下,几百毫秒甚至几秒时间都是可接受的.同时,这些协议一般不要求长时间在线.
3)通信过程工控系统融合了IT领域和OT领域的技术,在通信网络上,这种融合是分层的.现实中的工控网络一般会分多层,比如普渡模型[11]将工控网络分为6层.同时,作用于OT领域的工控协议,其传输的数据包通常较小,尤其在低层次的控制回路中,仅传输单个测量值或数字值,通常只有几个字节.报文传输的可靠性主要依赖于报文中的完整性字段如CRC字段、冗余报文机制如GOOSE,SV协议等.传统互联网协议层次较为简单,一般分为局域网和广域网.单次传输的数据量有几千个字节或更多的数据,数据包大小至少为64B.同时,传统的互联网协议,其传输可靠性一般由TCP协议提供.虽然TCP协议存在校验字段,但由于远距离传输,容易出现丢包的情况,所以它还依赖确认应答机制、超时重传机制等保障数据的可靠交互.
2工控协议安全威胁
根据文献[12G13],安全威胁是指可能造成信息丢失或功能失效等情况发生的事件.一般而言,安全威胁主要有2类[14]:1)蓄意攻击.如工业间谍、恐怖组织活动等,可能带来经济、政治和军事等方面的益处;也可能是炫耀技术能力或实施报复等.2)无意事件.它可能源于安全事故、设备故障、疏忽大意和自然灾害等因素.随着通信技术的发展和进步,如高性能硬件的推出和新的保障机制的提出,系统运行的可靠性得到显著改善,这使得无意事件带来安全威胁的影响逐渐减小.相对地,随着工业控制系统的信息化水平提高,越来越多的设备和系统直接或间接地接入互联网,这打破了工控系统原有的封闭性和隔离性,加剧了其面临的蓄意攻击安全威胁.因此,我们更关注工控协议蓄意攻击相关的安全威胁,具体地,本节将从工控协议的脆弱性、攻击模式和攻击影响3个角度来讨论工控协议的安全威胁.
2.1工控协议脆弱性
根据IETFRFC4949[15]标准,任何一个系统都可能存在3种类型的脆弱点:设计上的、实现上的和操作管理方面的脆弱点.如协议设计上可能存在认证绕过∕缺失、完整性缺失、信息明文传输等缺陷;协议实现上的脆弱点主要包括协议处理模块中的堆栈溢出、命令注入、空指针引用等漏洞.操作管理方面的脆弱性与协议自身的关系较弱,可通过分级隔离、人员管理等方式解决.因此,工控协议的脆弱性研究更关注协议设计和协议实现2方面.
1)协议设计中存在的脆弱性
工控协议设计之初更关注功能的完备和运行时的性能保障,对安全机制考虑较少.表1总结了15种典型工控协议的设计缺陷,涵盖了4种典型工控场景,包括过程自动化、智能楼宇、电力系统、智能仪表,涉及当前主流厂商如施耐德、西门子、罗克韦尔等.显然,工控协议设计在认证、授权、加密和完整性等方面普遍存在缺陷和不足.这些设计缺陷和不足可进一步分为3类.
①协议设计缺乏安全机制.进行协议设计时未考虑安全机制,如Modbus,DNP3协议等.广泛应用于电力自动化行业的MMS[33]协议标准在“SecurityConsiders”章节明确指出,MMS协议高级别的安全设计不在标准的考虑范围内.②协议对安全机制描述不具体,导致编程人员无法实现定义“模糊”的安全机制.如GOOSE协议报文结构设计中定义了一个security字段,该字段用来作为报文的数字签名,对通信过程传输的报文提供认证和完整性保障.同时该字段被“ANYOPTIONAL”修饰,表明该字段是一个可选字段,可以不出现在报文中.鉴于工控场景的高实时性要求以及协议标准缺乏对该安全字段的详细定义,大部分厂商都没有实现该安全字段.③协议安全机制设计存在缺陷.如BACNet协议、OPCGUA协议、ANSIC12.
22协议等,它们提供安全机制,但未经充分检查和验证,存在潜在的攻击方式.发现“安全协议”的设计缺陷主要有2种方法,即基于攻击测试[19]来检测和通过形式化方法[22]进行检查.
2)协议实现中存在的脆弱性在实现方面,编程人员容易默认“隔离”的工控通信环境是可信的,处理协议通信数据时未充分考虑畸形报文,导致程序可能产生漏洞,如内存溢出漏洞、非法内存访问漏洞等.CVE,CNVD,ICSGCERT等平台的漏洞信息显示,工控协议在实现上存在多种类型的漏洞,表2列举了CNVD中部分常见的工控协议实现漏洞.同时,有些工控协议虽然设计了加密、认证等安全机制.但这些安全机制在实现时,由于错误的配置或简化的实现,使得这些安全机制存在被绕过的可能.
例如西门子公司最新版本的S7CommPlus私有协议在会话阶段提供加密、认证等安全机制,但Biham等人[16]通过对该协议进行分析发现该协议存在安全缺陷:协议认证过程中所有同型号工控设备采用相同的密钥.一旦成功逆向破解一款工控设备使用的密钥,相同版本固件所有工控设备的通信都将变得不安全.施耐德电气公司设计的UMAS协议,在管理控制ModiconM221控制器时提供密码认证安全机制.但SushmaKalle等人[34]发现该安全机制的实现存在重大缺陷,编程人员将安全保障至关重要的Hash密钥存储在一个固定的地址,一旦攻击者发送数据重写该固定地址即可将该Hash密钥覆盖,从而绕过认证机制,最终能够绕过授权执行任意操作.
2.2攻击模式
根据美国国家标准与技术研究院的报告[1],工控系统和任意信息系统一样,都有3个安全目标:可用性、完整性和机密性.相对传统的IT信息系统,工控系统的故障将直接影响物理世界,可能造成极其严重的后果,例如造成生产中断、环境毁坏,甚至危及人身安全.因此,工控协议对可用性和完整性要求更高.分析通信协议攻击模式,主要考虑3方面。
3工控协议安全方案研究
工业控制系统在关键基础设施中具有定制化和专用性的特征.因此,IEC62443标准给出了针对工业控制系统的信息安全的定义:“①保护系统所采取的措施;②由建立和维护保护系统的措施所得到的系统状态;③能够免于对系统资源的非授权访问或意外的变更、破坏或者损失;④基于计算机系统的能力,能够保证非授权人员和系统既无法修改软件及其数据,也无法访问系统功能,保证授权人员和系统不被阻止;⑤防止对工业控制系统的非法或有害入侵,或者干扰其正确和计划的操作”.从协议的角度看,维护工控系统的安全状态需采取必要的措施,主要包括:协议安全设计改进、协议安全实现测试、协议安全应用指南.
4总结和展望
本文从通信协议的角度分析了工业控制系统面临的安全威胁和对应的策略.首先从工控网络架构、工控协议作用、分类以及和传统协议的比较等进行详细阐述,然后从协议设计、实现和应用的角度深入分析了协议攻击威胁和协议防护方案.结合工控协议的特点,我们有3方面展望:
1)设计上,工控协议普遍存在安全问题,除了早期安全不受重视.客观上,还因工控设备的计算资源有限,难以部署重量级的安全机制如安全算法、防火墙、监控程序等.同时,工业控制过程对系统的可用性要求更高,例如需满足实时响应、保持长期在线等,而一般的安全改进方案除了带来性能上的损耗,还可能带来新的安全问题.所以难以直接应用传统的安全方案.而已有研究大多聚焦于降低资源开销,鲜有验证其方案的可靠性.因此,研究人员需要提出一种可靠的轻量级安全通信机制,这种安全机制需要满足2个要求:①受限的资源.该安全机制需要严格控制计算资源的使用,如尽可能降低对设备电量和内存的消耗,同时,还要尽可能减小对性能的影响.②可验证的安全.该安全机制不会带来新的安全问题,在某些重要属性上是安全可验证的.
2)实现上,工控协议程序涉及专用、异构多样的嵌入式设备.不同于通用的测试程序对象,很多工控协议程序难以被提取、分析和监控运行.因此,基于路径覆盖反馈的高效模糊测试方案难以直接应用.针对工控设备中的协议程序,已有研究聚焦于分析获得协议知识,然后进行黑盒测试,其有效性受限于无法获得运行时的反馈.因此,研究人员需针对工控设备提出一种有效的程序运行监控的反馈机制.可从2个角度进行考虑:①该监控机制不对程序直接进行分析和插装,而从其他角度间接推断程序运行状态,例如从返回报文、运行能耗开销、设备I∕O监控等角度;②解决嵌入式工控协议程序提取困难的挑战,然后迁移该程序到其他易控环境进行模拟仿真执行,从而方便测试时监控和运行时反馈.
3)应用上,保障工控协议的通信安全需结合已发布的标准和指南,然后部署配套的安全方案,例如部署入侵检测系统、防火墙等.部署具体安全方案时,研究人员需结合具体的控制场景提出一种更加有效的风险评估模型,以准确定位安全威胁和安全需求,从而选择并配置合适的安全方案.同时,考虑到工控系统的高可用性需求(例如有的方案需采集实时数据,而该过程可能会影响系统的可用性),研究人员还需要提出一种更加有效的评估方法来验证具体方案的可靠性,以防引入新的隐患.
参考文献
[1]StoufferK,FalcoJ,ScarfoneK.Guidetoindustrialcontrolsystems(ICS)security[J].NISTSpecialPublication,2015,800(82):10115
[2]ZhangYuqing,ZhouWei,PengAnni.SurveyofInternetofthingssecurity[J].JournalofComputerResearchandDevelopment,2017,54(10):21302143(inChinese)(张玉清,周威,彭安妮.物联网安全综述[J].计算机研究与发展,2017,54(10):21302143)
[3]HemsleyKE,FisherE.Historyofindustrialcontrolsystemcyberincidents[R∕OL].IdahoFallsofUnitedStates:IdahoNationalLab,2018[2021G12G25].https:∕∕www.osti.gov∕servlets∕purl∕1505628∕
[4]FalliereN,MurchuLO,ChienE.W32.stuxnetdossier[J].SymantecSecurityResponse,2011,5(6):129
[5]CherepanovA.WIN32∕INDUSTROYER:Anewthreatforindustrialcontrolsystems[R∕OL].SanDiego,CA:ESET,2017.[2021G12G25].https:∕∕www.welivesecurity.com∕wpGcontent∕uploads∕2017∕06∕Win32_Industroyer.pdf
[6]DiPintoA,DragoniY,CarcanoA.TRITON:ThefirstICScyberattackonsafetyinstrumentsystems[C]∕∕ProcofBlackHat.SanFrancisco,CA:BlackHat,2018:126
[7]LaiYingxu,LiuZenghui,CaiXiaotian,etal.Researchonintrusiondetectionofindustrialcontrolsystem[J].JournalonCommunication,2017,38(2):143156(inChinese)(赖英旭,刘增辉,蔡晓田,等.工业控制系统入侵检测研究综述[J].通信学报,2017,38(2):143156)
作者:方栋梁刘圃卓秦川宋站威孙玉砚石志强孙利民