工业自动化系统信息安全思索

时间:2022-06-07 09:49:00

工业自动化系统信息安全思索

1工业自动化控制系统信息安全现状

现代工业基础设施包括电力、石油与天然气、水利、工业制造,以及交通控制等重点行业,构成了我国国民经济、现代社会以及国家安全的重要基础。工业基础设施的中关键应用、系统故障可能导致:(1)人员伤亡,严重的甚至造成群死、群伤等严重的社会事件;(2)严重的经济损失,危及我国经济建设的秩序与成果;(3)基础设施被破坏,导致无法继续提供对国计民生至关重要的物质产品与公共服务;(4)环境灾难,从而严重危害人民乃至子孙后代赖以生存、发展的根本物质基础;(5)危及公众生活及国家安全,导致社会恐慌、政府公信力受损,甚至导致恐怖袭击等极其严重的后果。而在现代工业基础设施中,工业自动化控制系统(IACS-IndustrialAutomationControlSystem)又构成了其神经系统。工业自动化控制系统的安全直接关系到各重点工业行业的生产安全,因而,近年来成为信息安全研究的重点、热点领域。传统上,工业自动化控制系统多采用专用技术的封闭网络,其面临的(信息)安全威胁不突出。各种工业控制设备、应用、系统主要是针对专有的封闭环境而设计,对外没有互联互通。由于没有现实的(信息)安全威胁,工业自动化控制系统在设计、实现与部署过程中,其主要指标是可用性、功能、性能、(物理)安全性、实时性等,而无需过多考虑网络攻击、信息安全等问题。

但近几十年来,各种工业自动化控制系统正快速地从封闭、孤立的系统走向互联(包括与传统IT系统互联),日益广泛地采用以太网、TCP/IP网络作为网络基础设施,将工业控制协议迁移到应用层;采用包括IWLAN、GPRS等在内的各种无线网络;广泛采用标准的Windows等商用操作系统、设备、中间件与各种通用技术。典型的工业自动化控制系统——SCADA(SupervisoryControlAndDataAcquisition,数据采集与监控系统)、DCS(DistributedControlSystem,分布式控制系统)、PLC(ProgrammableLogicController,可编程逻辑控制器)等正日益变得开放、通用和标准化。工业自动化控制系统在享受开放、互联技术带来的进步、效率与利益的同时,也开始面临着越来越严重的安全威胁,具体包括:(1)由于病毒、恶意软件等导致的工厂停产;(2)工业制造的核心数据、配方被窃取;(3)制造工厂及其关键工控生产流程被破坏;(4)恶意操纵工控数据或应用软件;(5)对工控系统功能未经授权的访问等。由于长期缺乏安全需求的推动,对(采用TCP/IP等通用技术的)网络环境下广泛存在的安全威胁缺乏充分认识,现有的工业自动化控制系统过去在设计、研发中没有充分考虑安全问题,在部署、运维中又缺乏安全意识、管理、流程、策略与相关专业技术的支撑,导致许多工业自动化控制系统中存在着这样或那样的安全问题,一旦被无意或恶意利用,就会造成各种安全事件。近年来,越来越多的工业信息安全事件见诸报端,充分说明工业自动化控制系统所面临的安全威胁绝非空穴来风。目前,我国对工业自动化控制系统信息安全工作的重要性与紧迫性也日益重视。2011年工信部了《关于加强工业控制系统安全管理的通知》,明确了重点领域工业控制系统信息安全管理要求,并强调了“谁主管谁负责、谁运营谁负责、谁使用谁负责”的原则,对连接管理、组网管理、配置管理、设备选择与升级管理、数据管理、应急管理等等提出了明确要求。国际上也早已意识到工业自动化控制系统信息安全的重要性,包括美国、欧洲在内的西方国家,早在上个世纪90年代左右就开始了相关的研究工作。而工控信息安全方面的国际标准,包括ISA-99(也即IEC62443)[1]、NERCCIP、NISTSP800-82、WIBM-2784、IEC62351等等。其中,ISA-99由InternationalSocietyofAutomation(ISA)WG4工作组负责制定,面向各种工业行业的工业自动化控制系统(IACS)的安全。由于ISA-99充分考虑了工业领域的不同参与方(自动化产品厂商、系统/产品提供商、系统集成商、终端用户)的不同安全需求,比较符合各工业行业的对信息安全标准的需要。目前,ISA-99已经完成了三部分,其他部分也正在制定中,而我国也已开始积极参与到该标准的制定工作中。因此,在可以预见的将来,工业自动化控制系统的信息安全将会成为信息安全研究及相关工作的一个重点研究领域。针对工业自动化控制系统的特点,研制并部署相应的工业自动化控制系统信息安全解决方案,保障我国工业基础设施的安全运营,已成为迫在眉睫的需求。

2工业自动化控制系统的特点

虽然工业自动化控制系统的安全威胁源自IT、网络技术在工业领域日益广泛的应用,但工控系统仍具有自身的特点,简单采用标准的IT安全技术很难适应于工控环境下控制协议、设备、应用、标准的特殊安全需求。本文将以典型的DCS为例(其网络拓扑如图1所示),具体分析工业自动化控制系统的特点。首先,在工业自动化控制系统中,直接执行现场控制操作的通常为PLC、分布式I/O这样的嵌入式设备。这些设备专为现场控制环境而设计、制造,多用于执行关键的实时控制,易受到DoS攻击的影响。同时,由于当前广泛应用的PLC多设计于十几年前,多数仅集成了简单的口令安全等机制。设计、生产并推广具有强安全措施的新型PLC尚待时日。与此同时,当前工业自动化控制领域还大量使用工业PC(IndustrialPC)作为工程师站、HMI、服务器等的硬件平台。IPC实际上是一种针对工业作业环境进行了加固的PC机,具有在粉尘、高/低温、潮湿、震动、腐蚀环境下连续不间断工作的能力。由于易用性、用户友好方面的考虑,目前工控领域的大多数IPC都使用Windows操作系统,通过专门的I/O卡、协议芯片等硬件使之具备工业控制、通信功能。由于是基于Windows的PC系统,IPC也面临着与普通PC类似的安全威胁。图1典型DCS的网络拓扑其次,工业自动化控制系统中采用了许多特有的工业控制通信协议。这些协议或是针对特定的控制环境与应用场景(如工业以太网通信)而设计,其安全需求与可用性、实时性、功能等关键需求有冲突之处,因此无法简单地修改协议,而需要有针对性地部署附加(add-on)安全解决方案;有些协议在设计之初未考虑安全方面的需求,或未考虑广泛互联所带来的更高的安全需求,因而需要在为防护遗产系统提供防护解决方案的同时,逐渐迁移到新的、更安全的规范。以目前得到广泛应用的工业以太网标准化PROFINET[2]为例。PROFINET是标准化组织PI(PROFIBUSInternational)为工业自动化制定的开放工业以太网标准,PROFINET符合TCP/IP和IT标准,可实现与现场总线系统的多层次无缝集成,并保证实时通信。PROFINET实际上是一个协议族,采用了不同的通信方式,用于满足不同的通信需求,(1)基于以太网第二层(Layer2)的实时数据通信,包括实时RT通信(响应时间为5~10ms);基于第二层的同步实时交换芯片的同步实时IRT通信通道(在100个节点下,响应时间小于1ms,抖动误差小于1μs);以及用于第二层网络管理与配置的DCP(DiscoveryandConfigurationProtocol)、LLDP(LinkLayerDiscoveryProtocol)等子协议。(2)非实时的TCP/IP通信,包括基于UDP/DCOM的PN-CM(ContextManagement,用于建立并维护PROFINET通信上下文)等。由于要保证RT、IRT控制通信的实时性,在PROFINET中集成复杂的内嵌安全机制并不现实。但PROFINET实际上是工业以太网通信协议标准,其RT、IRT等实时控制通道都属于第二层通信协议,其互联的控制设备需要位于同一以太网内,才能保证实时控制通信。因此,完全可以在保障物理安全的前提下,通过有针对性地部署防火墙、网关、VPN,将PROFINET网络隔离为独立的安全域,从而保证其安全。再以得到广泛应用的ClassicOPC(OLEforProcessControl)[3]为例。19951996年,为了避免单独定义专门的网络通信协议与进程间的通信机制,加快OPC规范的制定工作,ClassicOPC的通信接口直接采用了微软的COM/DCOM。目前,OPCDA(DataAccess)服务器被广泛用于(在控制域中)从PLC等控制设备中采集控制数据,再以C/S模式供(位于监控区或办公区的)OPCDA客户端访问。但由于ClassicOPC是基于COM/DCOM的,所以客户端在访问OPCDA服务器数据时采用的是动态端口,ClassicOPCDA的协议通信过程如下(如图2所示):(1)OPC客户端首先基于DCOM通过TCP135端口向OPC服务器发送连接请求,而OPC服务器动态分配一个1024~65536之间的动态端口号发送给OPC客户端;(2)然后OPC客户端才通过这个动态端口向OPC服务器发送数据请求,并获得对应的控制数据。图2ClassicOPCDA通信如OPC客户端部署于(图1中的)办公网络,而OPC服务器则位于(图1中的监控域。ClassicOPC的这种动态端口协商机制将导致在两个网络之间无法部署传统IT防火墙,为工控网络提供有效的防护。OPCFoundation早已意识到ClassicOPC的局限性,了新一代的OPCUA(UniversalArchitecture)。OPCUA的传输机制不再基于COM/DCOM,而是采用二进制TCP通信,或防火墙友好的WebService通信,因此成为未来OPC发展的方向。因此,一方面对现存的大量ClassicOPC遗产应用,迫切需要能够提供动态端口防护的网关产品;另一方面在新的工控系统中,则应当尽可能地采用OPCUA。最后,工业自动化控制系统信息安全保障的对象,是集散控制系统DCS、过程控制系统PCS、监控与采集系统SCADA等。这些系统并非传统的IT系统,与电信系统也相去甚远,简单采用标准的IT安全技术也无法为工控应用系统提供周全的保护。因此需要深入地研究工业自动化控制应用的特点与特殊的安全需求,才能真正确保工业自动化控制系统的安全。

3工控信息安全需求分析

工控信息安全是一个复杂的系统工程,不仅涉及到技术、产品、系统,更取决于工业企业的安全管理的水平。在工业应用多元化发展需求的强劲推动下,随着工业自动化控制网络正逐步演变为开放系统,大规模采用IT技术,其集成化网络系统与IT网络基础设施充分互联,IT部门与自动化生产部门共同负责自动化网络运营。在这一背景下,工业企业是否经常性地组织安全培训与意识培养,是否根据其系统特点制订了相关的安全策略,是否建立了正规、可备案的安全流程,是否设计、维护了工业自动化控制系统的安全架构,是否根据相关实施指南贯彻了工控设备安全配置,是否建立了常规的安全审计制度,是否建立了安全事件监控与应急响应制度与预案,都直接关系着相应的安全技术及解决方案是否能真正起到作用。与传统IT信息安全相比,工控信息安全有着其自身的特点,主要体现为安全防护的重点有所不同。IT安全一般针对的是办公自动化环境,需要首先保证机密性,其次才是完整性和可用性(即通常所说的CIA)。而工控信息安全的防护对象则是现场的PLC、RTU等控制设备,工业控制(实时)网络通信,以及DCS、SCADA等工业控制应用,其特点可以总结为:(1)必须优先保障24/7/365的可用性,提供不间断的可操作性,并确保工业自动化控制系统可访问;(2)保证系统性能;(3)保证数据的实时传输;(4)系统与数据的完整性;(5)为实现无缝的通信与功能交互而采用开放标准(6)采用通用组件(如微软OS)作为自动化解决方案的基础;(7)办公环境与生产IT系统间的不间断通信以保障对生产的实时监控;(8)对工厂全生命周期的支持;(9)防止误操作与蓄意破坏;(10)保护专有技术;(11)安全日志与变更管理等。对工业信息安全而言,首先需要满足控制系统的高可用性的要求,其次是完整性。由于在工控环境下,多数数据都是设备与设备之间的通信,因此,再次的安全目标才是机密性。所以,可以将工业自动化控制系统信息安全的关键需求总结为:(1)开展工业安全风险评估,建设全面的信息安全管理;(2)实现安全域的划分与隔离,不同安全域之间的网络接口需遵从清晰的安全规范;(3)部署集成安全措施的保护基于工业PC的控制系统;(4)保护工业自动化控制系统的控制单元,防御安全攻击;(5)实现对工业自动化控制通信的可感知与可控制。

4解决方案:纵深防御

根据工业自动化控制系统的特点,要满足上述安全需求,需要引入工业自动化控制系统“纵深防御”的概念作为解决方案。纵深防御就是要通过部署多层次的、具有不同针对性的安全措施,保护关键的工业自动化控制过程与应用的安全,其特点在于:(1)攻击者将不得不渗透或绕过不同的多层安全机制,大大增加了攻击的难度;(2)安全架构中存在于某一层次上的安全脆弱性,可被其他防护措施所弥补,从而避免“一点突破,满盘皆输”的危险。建立工业自动化控制系统纵深防御,首先需要对具体工业自动化控制系统安全需求进行系统地分析,制定相应的安全规划;并对工控系统进行风险评估,切合实际地识别出该系统的安全脆弱性,面临的安全威胁,以及风险的来源。在此基础上,借助于产品安全、安全操作指南以及专业的工业安全服务,建立、部署层次化的多重安全措施(如图3所示)。具体包括物理安全,制定安全策略与流程,部署防火墙进行隔离、防护不同的安全单元(安全域),采用VPN保护单元间通信,进行系统加固,部署账号管理等访问控制措施,以及补丁管理、恶意软件检测与防护等。目前,纵深防御的工业信息安全理念覆盖了工业自动化控制系统的所有级别,是满足工业信息安全领域的关键需求的现实解决方案。

本文以图1.中的基于PROFINET的DCS系统为例,扼要探讨一下如何根据PROFINET的特点,建立工业自动化控制系统的纵深防御:(1)建立PROFINET的物理防护边界物理安全是工业自动化控制系统信息安全的前提,首先需要确保PROFINET网络处于可控的物理环境中,只有经过授权的人员才能接触网络、设备。(2)安全策略与流程工业自动化控制系统纵深防御不仅依赖于技术、产品,更需要完备的安全策略与规范的安全流程。近年来,许多工业自动化控制系统被病毒感染都是由于工程师在IPC上使用被病毒感染的USB移动存储所致。类似的问题,简单依靠技术手段很难完全防止,更需要依靠安全管理措施与流程的贯彻。(3)建立安全的控制单元,确保PROFINET的边界安全在工业自动化控制系统中,每个控制单元(图1中controlcell)都是相对独立的子系统,不同的控制单元之间通过PROFINET进行集成、互联。而PROFINET的日常生产控制又相对独立于操作站、维护站等维护应用,以及HMI、OPC服务器、应用服务器等监控系统或应用。因此,需要将基于PROFINET的DCS按其用途、特点划分为不同的安全域(控制单元、PROFINET网络与与监控域),定义清晰的安全域边界。还可根据其应用、通信业务的不同之处,进一步将PROFINET中用于组态、调试、维护的操作站、维护站等划分为一个独立的安全域。并在安全域之间的接口处部署防火墙、安全网关等隔离设备。此外,对远程接入、远程维护、无线接入等,也需要在其接口处针对性地部署边界访问控制。(4)采用VPN技术保护不同控制单元之间的通信对于不同控制单元、安全域之间的通信,可以通过在安全单元之间部署VPN保护单元间的通信,保证相关业务通信的认证、完整性与机密性,阻止非法业务通信。同时,借助于VPN隧道技术,还可在安全单元内将维护、调试等组态通信业务,数据采集等监控业务与实时控制业务隔离开,避免组态、数据采集等被滥用后对实时控制通信产生影响。对于ClassicOPCDA服务器,必要时还需要部署专门应用网关保护其免受来自(OPC客户端所在的)其他域的攻击。(5)系统加固与补丁管理目前用于组态/维护的工程师站、HMI终端、OPC、SCADA、应用服务器等都采用的是安装了Windows的IPC,加之在IPC上运行的工业控制软件、应用,以及相关中间件等,都可能存在相应的安全漏洞,因此在条件允许的情况下,需要及时地进行补丁升级与系统加固。同时,虽然PLC等工控设备多数基于专有的嵌入式系统,但其固件也存在补丁升级的问题。(5)账号管理对PLC、IPC上的关键工控应用、过程、资源,为防止未经授权的访问或滥用,对不同人员的访问权限进行细粒度的控制,并在安全审计中对安全事件进行溯源,需要将管理措施与技术手段相结合,针对PLCCPU口令,工业WLAN口令、IPCWindows口令、HMI口令等建立系统的账号管理,强化基于口令的访问控制。(7)恶意软件防护技术对采用Windows系统的IPC工作站与服务器,病毒、蠕虫等恶意软件的攻击是其面临的最普遍的安全威胁之一。所以不仅需要在工控网络中所有的IPC主机上全面部署病毒监控,如有更高的安全需求,还需要在安全域的入口处进一步部署防病毒网关。此外,根据ISA-99,工业自动化控制系统纵深防御还需要建立安全日志的搜集、备案与审计机制;并建立安全事件处理及应急响应预案,做到一旦发生安全事件,能够迅速定位脆弱点,追溯攻击源,并迅速恢复系统正常功能。从而实现对工业自动化控制通信的可感知与可控制。

5总结

工业自动化控制系统信息安全不是一个单纯的技术问题,而是一个从意识培养开始,涉及到管理、流程、架构、技术、产品等各方面的系统工程,需要工业自动化控制系统的管理方、运营方、集成商与组件供应商的共同参与,协同工作,并在整个工业基础设施生命周期的各个阶段中持续实施,不断改进才能保障我国工业基础设施的安全运营。最后,与在IT信息安全中类似,工业自动化控制系统的安全是一个动态过程,设备变更、系统升级等都会导致工业自动化控制系统自身处于动态演化之中,而各种安全威胁、安全攻击技术的复杂性和技巧性也在不断演变,防范难度也会与日俱增,因此在工控信息安全也无法达到100%,信息安全需要工业自动化控制系统生命周期的各个阶段中持续实施、不断改进。