王珂
(山东维平信息安全测评技术有限公司 山东省济南市 250101)
工业控制系统是我国能源、交通、水电、制造、军工等国家关键行业的重要基础设施,与生产过程息息相关,稍有不慎就会影响到生产安全、生命安全甚至是国家安全。随着工业4.0 和中国制造2025 的不断推进,越来越多的工控系统拥抱互联网络,越来越多的人工操作被工业自动化所取代。但是与传统信息系统相比,工业控制系统具有更加复杂的网络架构、更多的层级组件和更加特殊的专用协议,从而导致工控系统的安全防护难度极大。此外,企业对工控网络安全的重视程度不够,防护手段缺失,人员安全意识薄弱等问题也使得工控系统面临着巨大的安全风险。
近年来,工控系统暴露出的漏洞越来越多,针对工控系统的攻击事件也频频发生。自2010年起,“震网(Stuxnet)”、“毒区(Duqu)”、“火焰(Flame)”、勒索病毒等恶意代码已经给全球诸多工控网络造成了巨大的损失。除此之外,境内外敌对势力和黑客组织针对工控系统的攻击也愈演愈烈,全球多个APT 攻击组织也将攻击目标从政治、军事、外交等领域,转向工控产业和关键信息基础设施。面对如此严峻的国际形势,如何在第一时间发现侵入系统的安全风险,感知核心网络及关键设施的安全态势,构建纵深防御的网络安全防护体系,已经成为确保工控系统安全、平稳运行的当务之急。本文以典型工业控制系统架构为例,分析当前工控系统存在的主要安全问题,并围绕这些问题提出工控系统网络安全防护技术方案。
根据《网络安全等级保护基本要求》[1]给出的工业控制系统层次模型,工控系统从下到上分为5 个层级,分别是现场设备层、现场控制层、过程监控层、生产管理层和企业资源层。如图1 所示。
其中L0 层是现场设备层,主要包含各种传感器等仪器仪表以及开关阀门等执行机构,通过RS-232、RS-485 等接口进行通信。L1 层是现场控制层,主要通过DCS、PLC 控制单元、RTU(远程终端单元)等对现场设备进行控制。L2 层是过程监控层,主要通过SCADA 系统实现生产过程的数据采集和监视控制。L3 层是生产管理层,主要通过MES(制造执行系统)为企业提供包括制造数据管理、计划排程管理、生产调度管理等功能。以上4 层属于工业控制网络,其中L1、L2、L3 层通常采用工业以太网连接。L4 层是企业资源层,该层一般为传统信息网络,采用以太网技术进行通信,主要用于为企业决策层及员工提供决策运行手段。
目前,大多数工业控制系统都缺乏必要的安全防护,很多工控系统与互联网直接相连,而工控系统的责任单位一般为生产部门,与信息部门相比,存在工控网络安全专业人员配备不足、安全意识不到位、防护手段缺失等问题。综合来看,工控系统面临的安全风险主要表现在以下几个方面:
1.2.1 网络架构设计不合理
图1:典型工业控制系统层级结构及主要功能
图2:典型工业控制系统安全防护技术方案
随着两化融合的不断深入,工业控制系统需要将生产数据传送给传统信息网络,为企业决策层人员提供数据支撑。然而很多企业为图方便,直接将工控系统与企业其它系统进行连接,导致传统信息网络的攻击手段得以在工控网络中蔓延,黑客也可以通过互联网直接入侵工控网络,实施恶意破坏。
此外,工控系统内部没有根据业务和功能的不同进行必要的安全区域划分及隔离,如果工控系统的某一点出现恶意代码侵入事件,将导致恶意代码在整个工控网络中蔓延、传播。
1.2.2 通信协议存在风险
大多数工控协议在设计之初仅考虑了实时性和可靠性,对安全性的考虑则有所欠缺。例如很多工控协议都存在没有认证机制、缺乏授权和访问控制,数据明文传输等问题。黑客可以针对工控协议发起网络攻击,并通过修改功能码等方式,直接向PLC 或RTU 发送各种控制指令,甚至是恶意代码。
1.2.3 访问控制力度不足
很多工控系统在与企业其它系统的网络边界处缺少必要的安全隔离和访问控制手段,在工控系统内部各个安全域的边界处也不具备访问控制能力。此外,在使用拨号访问和无线通信连接工控网络时,也缺乏必要的身份鉴别、访问控制机制,导致工控网络的访问控制能力严重不足,安全态势日趋严峻。
1.2.4 主机防护能力薄弱
近年来,针对工控系统的恶意代码攻击层出不穷,给各行业工控系统都带来了致命的破坏。然而,大多数工控系统因为工程师站、操作员站等上位机设备的CPU、内存资源配备不足,以及传统杀毒软件存在工控程序误杀误报和病毒库更新不及时等客观情况,没有在工控主机上安装恶意代码防护软件,导致工控系统针对恶意代码缺乏有效的防御手段。
1.2.5 监测审计功能缺失
从各种流量、日志记录中分析当前网络安全情况,实时监测网络中各类设备的运行状态,是保障工控网络能够长久安全运行的基础。然而很多工控系统并不具备网络安全监测能力,根本无法识别针对工控协议发起的网络攻击行为。甚至,部分工控系统连安全审计功能都不具备,一旦出现安全问题,无法根据审计记录开展日志分析和安全溯源等工作。
当前,等级保护2.0 各项标准陆续颁布并实施,为工控系统的安全建设、等保测评和安全整改等工作指明了方向。按照“安全分区、网络专用、横向隔离、纵向认证”[2]的原则规划合理的网络架构,构建系统边界、网络通信、主机防护全覆盖的“白名单”信任机制,搭配最优的安全策略配置,形成完备的网络安全防护体系,是当下工控系统网络安全防护的首选技术方案。如图2 所示。
2.2.1 进行安全区域划分
按照分区分域的原则,将工控系统分为办公管理和生产控制两个区,办公管理区为传统信息网络,生产控制区为工业控制网络。在两个网络的边界处部署工控单向隔离网闸进行安全隔离。在生产控制区内部按照要求划分多个逻辑安全域,如:生产管理区、过程控制区、场站1 区、场站2 区、现场控制区等,不同的安全域之间部署工控防火墙进行访问控制。
2.2.2 部署入侵防范手段
在核心交换等关键网络节点处部署工控安全监测与审计系统,对各种基于工业控制协议的通信报文进行深度解析,对用户的违规操作、恶意代码的传播以及网络中针对工业协议发起的攻击行为进行实时检测,并在发现问题时及时进行报警。
2.2.3 细化访问控制策略
在工控系统中,生产控制区一般遵循只读且不可写的原则,即生产控制区的各种生产数据原则上只能单向传递给企业其它系统,而其他系统不能向工控系统传递控制指令和数据。基于此原则配置工控系统边界访问控制策略,可以大大减少通过传统信息网络对工控系统发起的攻击行为。
此外,各安全域间应部署工控专用防护墙,实现对各种工控协议的识别和解析,在配置访问控制策略时应采用白名单模式,仅允许指定工控协议和服务通过,其他通信默认全部拒绝,最大限度的保护工控网络内部各区域之间的数据及控制指令不被非法访问、窃取或篡改。
2.2.4 加强主机安全防护
针对工程师站、操作员站等设备,采用业内主流的工控主机安全防护系统进行安全防护,通过文件和应用程序白名单信任机制实现可执行文件的安全管控,阻止木马、病毒等恶意代码的运行和传播,有效避免因U 盘滥用所带来的安全隐患。此外,工控主机安全防护系统可以实现包括账户策略、审核策略、日志审计在内的统一的基线安全配置,在资源占用小的情况下最大限度的保障工控主机的安全。
针对应用服务器和数据库服务器等设备部署工控主机加固系统,在已有安全防护的基础上,通过截取系统调用、接管底层驱动等方式,强化身份鉴别措施,实现对进程、文件以及注册表的强制访问控制并实现剩余信息保护。
2.2.5 建设安全管理中心
安全管理中心是等级保护2.0“一个中心,三重防护”[3]总体思路的核心部分。通过部署统一安全管理平台、日志审计系统、运维管理平台等集中安全管理系统,构建完整的安全管理中心防护体系。对系统运行、资源配置及身份鉴别等各方面内容进行统一管理,对各种设备和应用产生的日志进行统一收集和分析,对工控网络各种资产进行事前授权、事中监视、事后审计的统一安全运维。
当前,工业控制系统正与互联网进行着深度融合,传统信息网络中的各种安全威胁已经逐步延伸至工控网络中。面对种种威胁,等级保护2.0 新标准对工业控制系统提出了安全扩展要求,其他工控安全标准也相继出台。本文通过对工业控制系统网络安全现状进行分析,梳理出当前存在的主要安全问题,从网络架构、入侵防范、访问控制、主机安全防护、安全管理中心建设等几个方面考虑,以提升管理效率、构建纵深防御的工控安全防护体系为目标,提出工控系统网络安全防护的技术方案。对企业工控网络规划、安全建设整改等工作都具有重要的参考意义。