火电厂工控系统网络安全风险及防护

一、摘要

火电厂工控系统快速发展的同时,带来了诸如木马、病毒、网络攻击等安全风险。本文从火电厂工控系统实现的功能出发,分析了其在系统结构和维护管理方面所面临的网络安全风险,总结了国内外工控系统网络安全相关制度、标准和主要防护技术的研究进展情况,提出了将网络安全防护理念融入设计、建设、运行维护等全生命周期,从构建健壮网络架构、采用主动防御技术及建立高效管理制度等方面进行综合防护的措施。

[关 键 词]工控系统;网络安全;防护技术;网络架构;入侵检测;漏洞挖掘

二、结论

火电厂工控系统的重要性和网络技术的不断发展决定了其安全防护将是一项长期的工作。火电厂除做好自身的防护外,从行业角度出发,还应采用虚实结合技术建立火电厂工控系统网络安全试验测试平台和靶场,实现对网络安全防护技术和产品有效性进行测试,对工控系统进行风险评估,对防护能力进行验证和对技术人员进行培训等。开发和使用自主可控的工控系统和安全防护产品是提高网络安全性的可靠途径之一。

三、引言

以太网和TCP/IP 等网络协议在工控系统中得到广泛应用,使得工控系统在快速发展的同时,将互联网的安全威胁渗透到了工业领域,带来了诸如木马、病毒、网络攻击等安全风险。如2010年6月,伊朗 Bushehr 核电站遭受震网(Stuxnet)超级病毒攻击,2015年12月和2016年12月乌克兰国家电力部门遭遇黑客袭击,2019年3月委内瑞拉全国发生大规模停电事件等。

中国火电厂目前虽未遭遇黑客或有组织集团的攻击而造成严重的损失,但其控制系统与其他工业控制系统一样也面临着网络安全风险。如2017年某电厂输煤程控系统感染勒索病毒,并通过厂级监控信息系统(SIS)接口机感染其他控制系统,导致分散控制系统(DCS)和可编程逻辑控制器(PLC)部分操作站相继出现重启或蓝屏现象等。

2018年某热电联产电厂操作员站感染了 conficker 蠕虫病毒,使运行人员对设备操作受到限制。 早期火电厂工控系统网络封闭、协议私有,与外界从物理上相隔离,不易受到入侵的威胁。

随着计算机和网络技术的发展,控制系统越来越多地采用以太网方式组网、通用通信协议、Windows 操作系统、通用硬件和组态软件等,这些通用设备和软件的漏洞将带来极大安全隐患。而在机组运行期间 很少能进行漏洞修补,致使控制系统存在明显安全风险。同时无论进口还是国产控制系统,其关键芯片、嵌入式操作系统等仍没有做到自主可控。在特殊时期面对黑客或有组织的入侵时,将会带来灾难性后果。因此对火电厂工控系统网络安全进行全面防护,显得尤为重要。

四、火电厂工控系统功能与结构

火电厂工控系统主要实现机、炉、电等主机设备和水、煤、灰及脱硫等辅机设备的控制,图1为火电厂工控系统示意。由图1可见:锅炉及其辅助系统、汽轮机辅助系统和电气等设备的监控通常采用DCS 来实现;汽轮机本体的监控由汽轮机电液控制系统(DEH)完成,仍采用DCS 结构;辅助车间控制系统(辅控系统)实现对水、煤、灰和脱硫等系统设备的监控,通常采用 PLC 单独进行监视和控制,并通过以太网将它们连接起来构成辅控网络进行统一监控。近几年随着国产 DCS 的快速发展,大部分新建机组辅助车间监控系统采用与主控系统相同产品的 DCS。

图片

在火电厂中,无论主控还是辅控系统,其控制系统结构基本相同,都是由控制器、I/O 模件、操作员站、工程师站等设备和相应的操作系统、系统软件、应用软件及其现场控制设备组成。网络结构可分为控制层和现场设备层,控制层组网方式基本采用基于TCP/IP 协议簇的工业以太网,将操作员站、工程师站、历史站和控制器等连接在一起,现场智能设备采用 Profibus 或 FF 协议经过通信接口模件与控制器进行通信。控制器与I/O 模件(包括远程 I/O)采用Can、Profibus、Profinet、Controlnet 等工业通信协议进行数据传输,实现与采用硬接线方式连接的现场设备的信息交换。

控制系统通常配置有通信站(接口站)或网关卡(通信卡),通过RS232/RS485、以太网等方式,采用 Modbus协议与智能优化控制系统、数据采集系统(IDAS)等第三方系统之间进行数据交换。控制系统设置专用的通信站(接口站)与 SIS 采用OPC 协议进行通信,烟气测量系统信号与控制系统连接的同时通过互联网送至环保局。 

五、网络安全主要风险

火电厂工控系统无论在系统结构(包括内部结构及与外部系统的连接方式)还是维护管理方面,都存在一定的安全风险。

5.1 系统结构方面 

1)操作系统和接口软件 

火电厂工控系统的工程师站、操作员站、历史站等均配置Windows 操作系统,相关接口软件也是基于 Windows 平台开发。在机组投产运行后,很少进行操作系统补丁更新和漏洞修复,为针对 Windows 操作系统漏洞的病毒攻击埋下隐患。 

2)芯片固件和嵌入式操作系统 

当前在役的国产或进口控制系统中,控制器和通信设备等关键芯片均采用进口产品,底层芯片固件和配置的嵌入式操作系统是否存在后门和漏洞尚不清楚。

3)应用软件 PLC 系统上位机中安装的应用 

软件种类繁多,如Wincc、IFix、Intouch等,很难形成统一的防护规范。此外,当应用软件面向网络应用时须开放相应端口,这为利用应用软件的安全漏洞获取系统的控制权限提供了机会。 

4)通信协议 

火电厂工控系统网络结构复杂,采用的通信协议较多,存在多种协议共存和结合的情况。控制层大多采用工业以太网组网,网络层和协议层采用TCP/IP 协议簇,以太网中存在的协议漏洞和缺陷在控制层依然存在;控制器与 I/O 模件通信采用Can、Profibus、Profinet、Controlnet 等工业通信协议,通信协议公开且数据传输通常不加密 或采用简单的易被破解加密算法,存在信息泄露或数据被伪造的风险;就地设备层大多采用 Profibus、FF 等现场总线协议,既有协议本身缺乏安全设计带来的脆弱性,也有实现过程中带来的脆弱性(如协议软件存在的编码错误、缓存区溢出、数组溢出及后门等漏洞);与第三方设备如优化控制系统、数据采集系统(IDAS)等采用 Modbus 协议进行通信, 与远程 I/O 采用 Controlnet、Modbus、Profibus 等协议通信,容易被非法接入设备进行中间人攻击,在不设防状态下直达控制系统底层;主控和辅控系统与 SIS 采用 OPC 协议通信,因为OPC是动态协商端口,且基于 Windows 平台,服务器很容易被探测到,有些电厂采用的防火墙并不支持OPC 协议的动态端口机制,导致防火墙的隔离功能形同虚设。 

5)现场智能设备 

由于各种历史原因,现场智能设备厂商在通信协议方面标准不一,但在接口配置方面都预留了以太网接口,容易造成非法接入的风险。

6)控制系统软硬件设置 

控制系统中采用的通用软、硬件和系统设备未设置成安全方式,不需 要的端口和服务未关闭,一些系统默认开启的服务可能成为入侵的后门。 

5.2 维护管理方面 

1)控制系统软、硬件资产不清晰,网络拓扑结 构未及时更新,与实际情况不一致。在系统出现故障后,不能及时掌握实际网络状况以及对故障的来源进行追踪定位,无法对网络入侵行为、病毒、业务访问异常等问题进行细致分析处理。

2)杀毒软件、漏洞补丁未能及时更新。 

3)控制系统中移动存储介质(笔记本电脑、U 盘等设备)的随意使用和不严格的访问控制等。 

4)工程师站、数据库等存在访问权限不规范及弱口令,大大降低了突破系统边界的难度。

5)网络安全事件的监控、管理与应急响应机制不够完善和全面,安全日志审计措施缺失,在发生安全问题后无法对风险来源及发生过程进行分析 和追溯。 

6)第三方运维人员安全管理不规范,部分电厂允许生产厂商对机组控制系统远程诊断和维护。

六、网络安全防护技术研究现状

6.1 工控系统网络安全管理 

鉴于工控系统网络安全的重要性,国内外在其架构设计和防护技术方面开展了大量的研究工作,出台了法律法规,制定了相关标准,研发了防护技术和产品。如美国出台了各类与工控系统网络安全相关的综合性立法,成立了工控安全应急小组(ICSCERT),建立了包括爱达荷国家实验室在内的6家工控系统安全研究重点实验室,形成了比较完整的工控系统网络安全管理体制和技术体系。

美国国家标准与技术研究院(NIST)制定和不断完善的《工业控制系统安全指南》(NIST SP800-82),明确了工控系统典型的系统拓扑结构,指出了典型威胁和脆弱点所在,并提出建议性的安全对策。

欧洲通过加强各成员国之间在网络安全方面的合作,制定网络信息安全战略。德国的西门子和施耐德电气提供了技术咨询、相关安全产品以及整套解决方案。国际 自动化协会(ISA)和国际电工委员会(IEC)专门针对工控网络安全颁布了《工业过程测量、控制和自动化网络与系统信息安全》(ISA/IEC62443)系列标准,涵盖了所有相关利益方,以实现工控系统网络全方位安全防护。 

工控系统网络安全在中国也受到各方面广泛重视,2016 年颁布了《中华人民共和国网络安全法》,明确提出要保障关键信息基础设施运行安全。工业和信息化部印发了《工业控制系统信息安全防护指南》,指导和管理工控安全防护和保障工作。在标准制定方面,自从国家标准《工业控制网络安全风险评估规范》(GB/T 26333—2010)作为我国工控安全领域第1个国家标准发布实施以来,近年针对工控系统网络安全制定了近 30 种相关标准,基本涵盖了行业监管、工控和安全防护产品供应、工控业主及测评机构的标准需求。针对电力行业特点,2005 年原国家电力监管委员会发布了《电力二次系统安全防护规定》,2014 年发改委在此基础上发布了《电力监控系统安全防护规定》(国家发改委第14号令),确定了电力监控系统安全防护体系的总体框架,细化了电力监控系统安全防护总体原则,为电力行业工控系统网络安全提供了保障依据。

6.2 工控系统网络安全防护技术 

近几年工控系统网络安全防护技术的研究与相关产品的开发主要围绕纵深防御展开,主要包括工业防火墙、入侵检测、漏洞扫描和挖掘、安全审计和态势感知等技术。

6.2.1 工业防火墙

工业防火墙在传统网络防火墙基础上增加了工业协议过滤功能,在应用层深度解析工业协议,添加基于白名单策略的过滤规则,从而提高工控网络的安全性。鉴于工控系统的实时性要求和通信协议的特殊性,工业防火墙技术在深度解析、特征提取、白名单规则生成及特征匹配方面开展了大量的研究,也采用了基于机器学习的智能算法。如在白名单规则生成时,采用人工神经网络、支持向量机(SVM) 和基于统计分析的哈希算法等建立正常或异常状态行为模型,采用策略树等方法提高特征匹配效率,这些有效提高了工业防火墙的整体性能。

6.2.2 入侵检测 

入侵检测主要是采集系统中设备和网络的相关信息,并对这些数据信息加以分析和识别,从而判断系统中是否存在异常和被攻击的迹象。借鉴传统信息安全领域入侵检测的方法,结合工控系统自身的特点,从基于异常行为和基于误用的检测方法开展相关研究。基于异常行为的检测是在获得工控系统正常状态下的特征信息并建立正常活动特征模型基础上,再与待检系统进行特征比较以发现异常行为。该方法的优点是能够对未知新型攻击进行检测,缺点是误报率高。基于误用的检测是将获取的异常状态特征信息进行分析并建立异常状态特征模型,再与待检信息特征进行匹配来发现入侵行为。该方法的优点是对已知类型攻击行为检测率较高,但对新型未知攻击检测能力较弱。 基于异常或误用的入侵检测都需要提取工控系统中主机或网络在正常和受攻击情况下的行为特征。特征提取和分析是其关键环节,将直接影响检测的准确性。为此研究人员采用各种算法来提高入侵检测的准确性,如采用Fisher 分值、主成分分析等方法对特征进行选择和提取,采用隐马尔可夫模型、半监督 k 均值聚类(k-means)算法、SVM、 人工神经网络等技术建立模型和异常判别,明显提高了检测精度,降低了误报率。 

6.2.3 漏洞扫描和挖掘 

漏洞扫描是利用扫描工具对主机和设备的型号、固件版本信息、通信协议等信息按照已知规则进行自动匹配,从而检测是否存在已知漏洞。由于部分工控设备只能在收到请求时才做出响应,漏洞扫描时须构造发送请求数据包,捕获并且解析响应数据包来探测该工控设备的相关信息。针对工控系统对连续性要求高,无法承受频繁扫描的情况,有学者提出把对工控系统的漏洞扫描技术融入正常业务,通过发送与业务一致的数据包来进行扫描,既完成了漏洞扫描,也避免了非正常操作对系统的影响。

漏洞挖掘是采用静态分析或动态测试方法对未知漏洞进行检测。其中静态分析是通过原代码审计、二进制补丁比对和逆向分析等技术发现未知漏洞。动态测试是工控系统运行状态下,在对控制协议深入解析的基础上,采用Fuzzing 技术构造特定的数据包,以监测目标响应,根据响应的异常进行漏洞挖掘。在采用动态测试进行漏洞挖掘时,工控协议测试用例生成是测试过程中的核心环节,对协议的探测和测试用例构造有多种方法。如根据协议字段的特征进行分类,采用多字段联合关联的模糊处理和基于动态抽样的样本生成方法;利用改进的巴科斯范式对工控协议进行描述,采用基于变异树的测试用例生成算法;根据已公开的工控系统漏洞设计工控网络通信协议中字节和Data 的变异因子,结合被检测工控通信协议特征生成测试用例等。 

6.2.4 安全审计和态势感知 

安全审计是对工控网络中的行为和流量进行实时审计,通过特定的安全策略,快速识别工控系统网络中存在的非法操作、异常事件、外部攻击等各种异常行为,生成完整记录便于事件追溯。当前工控系统网络安全审计能实现指令审计、参数阈值审计、工控协议审计、环境审计和行为审计等。它是多种技术的综合应用,与工控网络中的其他安全设备如工业防火墙、入侵检测系统等进行实时配合,有效保障工控系统网络的整体安全。

网络安全态势感知是通过收集网络环境中综合、全面的安全信息要素并进行数据融合处理后,对网络的安全态势进行宏观、全面的认知,并且能对网络系统的安全趋势进行预测,为安全分析提供决策依据。

其关键技术主要聚焦在安全态势要素提取、态势评估和态势预测等方面。态势要素提取本质上是对网络中的数据进行分析、处理和归类,目前常将决策树、人工神经网络、SVM 等分类算法与智能优化算法(粒子群优化算法、遗传算法等)和属性约减算法(主成分分析法、粗糙集算法等)相结合,以达到更好的效果;

态势评估是通过一系列的数学模型和算法,对提取的海量网络安全数 据信息进行关联分析和融合,以获取宏观的安全态势。态势评估方法目前主要包括基于数学模型的评估方法、基于概率和知识推理的评估方法以及基于模式分类的评估方法等。

态势预测是根据当前的网络安全态势评估和已有的历史评估数据,对未来态势变化趋势进行预测,为决策者提供依据。当前态势预测方法主要有神经网络、SVM、时间序列 预测法等。 

目前工控系统网络安全防护技术仍处于起步阶段,所采用的方法大都是在传统信息系统网络安全防护技术基础上发展起来的,而工控系统对实时性、连续性和可控性要求更高,尤其是各种私有通信协议的应用及不同生产系统工艺的差异。防护技术和产品在应用时需要进行个性化设计,避免因采用防护产品而增加系统的其他安全风险,要进行有效防护而非过度防护。

七、网络安全防护对策

火电厂工控系统网络安全防护所采用的技术和措施必须保证其使用的实时性、可靠性和稳定性。从上文防护技术现状分析可看出,单一的防护技术已难以全面有效地保证其安全性,需要将安全防护理念融入设计、建设、运行维护等全生命周期的各个阶段。

图片

图2 为火电厂工控系统网络安全综合防护示意,该工控系统网络安全从构建健壮的网络架构、采取主动防御措施及建立高效的管理制度等方面进行综合防护。

7.1 构建健壮的网络架构 

1)控制系统设计时,应按照国家标准《信息安全技术网络安全等级保护基本要求》(GB/T 22239— 2019),对安全等级为3.0级的控制系统在网络环境、通信网络、区域边界、计算环境、建设管理等方面的要求进行设计。

2)不同安全区域边界的防护按照图3电力监控系统结构安全框架所示的“安全分区、网络专用、横向隔离、纵向认证”的要求进行结构优化和防护设备部署。在生产大区与信息管理大区之间部署单向安全隔离装置,在生产大区的控制区(安全I 区)和非控制区(安全 II 区)之间部署工业防火墙。在安全I 区的不同控制系统之间,若有信息交换则配置工业防火墙,单向安全隔离装置和工业防火墙应满足相关标准的要求。

图片

3)采用最小系统配置原则,关闭控制系统和就地智能设备中不必要的USB、光驱、网络及无线接口等,规范软、硬件设置在最安全方式,避免选择默认状态。 

4)优先采用自主可控的工控系统和安全防护设备,避免被“卡脖子”。

7.2 采用主动防御措施 

1)对上位机(操作员站、工程师站、历史站等)、操作系统和应用软件最小化安装,减少不必要的应用;采用工控主机防护软件对其底层系统进行安全加固和基线水平的提高;对文件、进程、注册表及服务进行有效的访问控制,实现权限最小化管理,并对所有系统活动和用户活动进行记录审计;管控软件采用进程白名单机制,阻止一切白名单外的应用和进程执行;全面监控主机的进程、网络端口和USB 端口状态;删除、停用默认账户和多余的、过期的账户,避免共享账户的存在。 

2)在设备出厂及控制系统改造升级时,进行漏洞扫描和挖掘、风险评估和安全性测试。发现潜在的安全漏洞、隐患和风险,并及时进行整改。

3)根据系统风险评估状况、工控系统结构和通信协议特点选择性部署入侵检测、安全审计和态势感知等安全防护设备和系统。以旁路方式接入,通过数据流镜像技术,主动采集工控系统的网络数据进行分析,实时查找网络的异常情况和攻击线索,监测网络的通信状况。及时发现网络攻击和病毒的异常传播,拦截所有可疑的数据包,保护系 统不受攻击。 

7.3 建立完善管理制度 

1)厘清控制系统软、硬件资产和网络结构图,随时了解资产漏洞并进行修复。

2)严格访问权限管理,对工程师站、数据库、 服务器等核心工控软硬件所在区域,加强物理环境边界的访问控制和监视,确保只有授权人员才允许访问控制系统现场设备;加强控制系统的密码管理,对操作系统、应用软件和控制设备等密码定期更改。

3)控制移动介质的使用,对所有接入的移动存储设备生成日志记录,防止病毒和恶意代码通过移动介质实现摆渡渗透、潜伏并利用系统漏洞实现攻击。对通过移动介质进行的软件升级、漏洞修复、病毒库更新等操作必须经过严格的测试和验证。

4)启用实时数据备份功能,对关键的业务数据定期进行软备份,保障当主设备出现故障时冗余设备可以无扰动地切换并恢复数据。

5)对控制系统使用者以外人员(供应商、维修 维护人员等)进行安全意识培训和管理,以防止社会工程学攻击。

6)加强员工网络安全意识和技能培训,制定应急预案并建立突发事件应急响应团队,规范突发事件管理和检测机制,确保能从突发事件中迅速 复。对突发事件进行分析与预测,数据收集与总结,避免再次发生类似事件。

八、主要参考文献

[1] 王剑平, 徐仙华. 火电厂热控系统网络安全建设探讨[J]. 热力发电, 2020, 49(1): 120-124.

[2] 潘峰, 王世伟, 薛萍. 基于 SVM 算法的工业防火墙规则自学习方法[J]. 信息技术与网络安全, 2018(5): 29-33.

[3] 雷燕晴, 尚文利, 万明, 等. 工业防火墙规则自学习算法设计[J].计算机工程与设计, 2016, 37(12): 3141-3145.

[4] 王世伟. 工业防火墙软件框架设计及规则自学习方法研究[D]. 太原: 太原科技大学, 2018: 29-40.

[5] 程超. 工业控制网络 Modbus TCP 协议深度包检测技术研究与实现[D]. 成都: 电子科技大学, 2016: 15-46.

[6] 尚文利, 雷燕晴, 万明, 等. 基于哈希算法的工业防火墙规则自学习方法[J]. 计算机工程与设计, 2016, 37(3): 613-617.

[7] 尚文利, 乔全胜, 万明, 等. 工业防火墙规则生成与优化的自学习方法[J]. 计算机工程与设计, 2016, 37(7): 1752-1756.

[8] 张瑞, 陈红卫. 基于特征优化与SVPSO 的工控入侵检测[J]. 计算机工程, 2020, 46(4): 19-25.

[9] 王海风. 工业控制网络的异常检测与防御资源的分配研究[D]. 杭州: 浙江大学, 2014: 24-40.

[13] 肖铮. 基于BP神经网络的工控系统入侵检测[J]. 山东工业技术, 2020(1): 47-49.

[14] 王捷, 刘畅, 袁慧. 基于层次探测的工控系统漏洞扫描方法研究[J]. 河南科技, 2018(5): 26-27.

[15] 王朝栋, 张雪帆, 栾少群. 轻量级漏洞扫描技术在工控网络的应用[J]. 信息技术与网络安全, 2019, 38(12): 86-89.

[16] 黄影, 邹颀伟, 范科峰. 基于 Fuzzing 测试的工控网络协议漏洞挖掘技术, 通信学报[J]. 2018, 39(增刊 2): 181-188.

[18] 张亚丰, 洪征, 吴礼发, 等. 基于范式语法的工控协议 Fuzzing测试技术[J]. 计算机应用研究, 2016, 33(8): 2433-2439.

[20] 赖英旭, 杨凯翔, 刘静, 等. 基于模糊测试的工控网络协议漏洞挖掘方法[J]. 计算机集成制造系统, 2019, 25(9): 2265-2279.

[21] 陆耿虹, 冯冬芹. 基于改进C-SVC 的工控网络安全态势感知[J]. 控制与决策, 2017, 32(7): 1223-1228.

[22] 段詠程, 王雨晴, 李欣, 等. 基于 RSAR 的随机森林网络安全态势要素提取[J]. 信息网络安全, 2019(7): 75-81.

[24] 李方伟, 李骐, 朱江. 改进的基于隐马尔可夫模型的态势评估方法[J]. 计算机应用, 2017, 37(5): 1331-1334.

[26] 孙卫喜. 用于网络安全态势预测的粒子群与支持向量机算法研究[J]. 计算机应用与软件, 2019, 36(6): 308-316.

[27] 信息安全技术工业控制系统专业防护墙技术要求: GB/T 37933—2019[S]. 北京: 中国标准出版社, 2019: 9-14.

[28] 信息安全技术工业控制网络安全隔离与信息交换系统安全技术要求: GB/T 37934—2019[S]. 北京: 中国标准出版社, 2019: 7-11.

作者:曾卫东、杨新民、崔逸群