APP下载

工业控制网络安全风险及防护策略

2020-03-25

安全、健康和环境 2020年1期
关键词:工控安全漏洞漏洞

张 娜

(中国石化长城能源化工(宁夏)有限公司,宁夏银川 750411)

0 前言

伴随我国工业化和信息化的深度融合,以及物联网、互联网+时代的到来,基于计算机和网络技术的SCADA、DCS、PLC等工业控制系统已在我国关键性基础设施和能源化工等工业领域普遍应用。Windows、TCP/IP、现场总线等计算机和网络技术为工业生产自动化带来极大推动的同时,也使工业控制系统越来越开放,工业控制系统不再是信息孤岛,因此带来的工业控制系统网络安全问题也日益突出。

2010年10月,利用内核后门和零日漏洞等高端网络技术,且专门针对伊朗纳坦兹铀浓缩工厂西门子工业控制系统的Stuxnet病毒爆发。这一席卷全球工业界的蠕虫病毒经媒体披露后迅速引发了各国政府与安全机构的广泛关注,被称为世界上首个“超级工厂病毒”。

Stuxnet病毒通过U盘摆渡,翻越内外网隔离,感染企业Windows计算机,并在局域网中扩散,搜索目标——西门子软件,感染安装WinCC、Step7的计算机,修改Step7项目文件,并将特定的代码下装注入PLC控制器,通过一段时间的潜伏后,突然将用于铀浓缩的离心机的转速迅速提升,而后又突然降速,从而摧毁离心机。该病毒爆发后,直接造成伊朗纳坦兹铀浓缩工厂的离心机大面积损毁,伊朗纳坦兹铀浓缩活动暂停,核计划延迟,对伊朗国内核工业造成大面积影响。

Stuxnet病毒是计算机病毒界革命性创新,是首次发现的专门针对工业控制系统的计算机病毒。此外,2014年乌克兰电网因感染了名为BlackEnergy的恶意软件造成大规模停电事故,2017年发现的专门针对施耐德电气的Triconex安全仪表系统的名为Triton恶意软件等,均给工业网络安全带来新警示——“工业病毒”时代已经来临。

1 工业控制系统典型网络结构

典型的工业控制网络是纵向分层的边界清晰、功能层次分明的拓扑结构,自上到下依次为过程监控层、现场控制层和现场设备层。过程监控层是面向操作员以及控制系统工程师的,以操作监视为主要任务,兼有部分管理功能。现场控制层主要包括DCS控制器和控制器通信模块等,用于数据采集及转换处理层,对生产过程进行监测和控制,与过程监控层进行通信。现场设备层是采集控制信号、执行控制命令,包括现场智能仪表、执行机构、传感器等现场设备和仪表。各层之间由通信网络连接,层内各装置之间由本级的通信网络进行通信联系。

近年来,随着信息技术的迅猛发展及两化深度融合,企业管理对信息化需求越来越高,部分生产过程数据需要在企业管理网络中有所体现,类似MES、ERP等生产管理系统在工业企业中应用越来越广泛,企业管理网络与工业控制网的互联面逐步扩大。企业管理网络需要通过OPC等协议从工业控制网络中读取越来越多的生产过程数据,工业制网络已打破了原有的独立,不再是与外界互联网直接物理隔离的独立网络,其触角已向上延伸至企业管理层。工业控制系统典型网络结构如图1所示。

图1 工业控制系统典型网络结构

2 工业控制系统网络安全风险分析

工业控制网络由于其专业特殊性,信息安全不是工业控制系统的主要设计目标,因此,工业控制网络所面临的安全风险是巨大的。

2.1 工业控制系统自身的风险

工业控制系统通常采用的工业控制设备基本上都是来自国外厂商,如艾默生、霍尼韦尔、AB、西门子、施耐德等,这些控制设备设计的时候更多是为了实现功能,安全性考虑不足,存在很多高危安全漏洞,有的甚至存在后门,一旦被攻击利用会导致严重后果[1]。

公开的统计数据表明,2010年以前每年发现的工控安全漏洞数量均为个位数,2010年后新发现的工控安全漏洞数量呈快速增长的趋势,如图2所示。2017年,国家信息安全漏洞共享平台(CNVD)上收录的工业控制漏洞达381个,比2016年的189个翻了一番。石化行业常用的国外工业控制系统,西门子(Siemens)、研华(Advantech)、施耐德(Schneider)、罗克韦尔自动化(Rockwell Automation)产品漏洞数量占前4名[2]。

图2 2010年以来工控安全漏洞数量变化趋势(数据来源于CNVD)

工控安全漏洞数量持续增长,但供应商及工业企业修复漏洞进度迟缓,卡巴斯基发布的《2016下半年工业控制系统威胁情况》报告指出,2016年下半年曝出的工控安全漏洞有75个,数量有所增加。截至2017年3月,卡巴斯基发现的75个漏洞中仅有30个已被工业软件供应商修复,修复率只有40%,其中高危漏洞占比近50%,中危漏洞占40%,这些数据都表明,工控安全漏洞情况不容乐观,需引起足够重视[3]。

2.2 工业协议风险

工业控制系统常用的工业协议有Modbus、S7、OPC、IEC104、DNP3、Profibus、TCP/IP等,这些协议主要是为了保证工业生产数据采集和通讯的功能实现,其安全性不及互联网领域的其他协议。

例如,西门子S7Comm协议的权限缺失漏洞,可被用于远程操作PLC,对PLC进行启停控制、内存的读写;西门子1200 V3版本协议认证的缺陷,可被利用传播PLC蠕虫病毒。

2.3 计算机操作系统风险

工业控制系统的工程师站、服务器、操作员站几乎都采用的微软Windows系列操作系统本身存在大量安全漏洞,且工业控制系统不会直接与外部网络互联,考虑到工业控制系统的相对独立及稳定运行,工程师对于投入运行后的工业控制系统不会轻易安装补丁。

另外,工业控制系统的更新换代周期较长,企业内使用的老旧版本的Windows系统如Windows 7、Windows XP、Windows 2000、Windows 2003十分普遍,系统不能及时升级更新,且微软已经停止对上述操作系统的技术支持,应用这些操作系统的工程师站及操作员站面临无补丁可打的困境,更容易遭受攻击,存在较大的安全风险。

2.4 工业控制系统软件风险

工业控制系统的应用软件类型多样,各控制系统厂家均开发了自己的组态软件,没有统一的安全要求和规范,这些组态软件本身存在着大量的安全漏洞,如iFIX、SIMATIC、HollSys等。这些组态软件都已经被爆出存在大量高危、中危等安全漏洞,如Sixnet Universal Protocol Undocumented函数代码远程安全绕过漏洞,GE Proficy HMI/SCADA-iFIX ‘TCPTASK.exe’远程缓冲区溢出漏洞等,严重影响网络安全。

另外当应用软件面向网络应用时,就必须开放其应用端口。因此常规的IT防火墙等安全设备很难保障其安全性[4]。网络黑客或者别有用心人员都可以通过这些漏洞发起对工业控制系统有针对性的攻击行为。

2.5 杀毒软件风险

由于工业控制系统应用软件的特殊性,为保证系统的安全稳定运行,避免工业控制系统中部分应用软件及系统文件被误杀,工控系统通常不能直接使用市场上常规的通用杀毒软件。即使是安装了经过各控制系统厂商测试的可被用于工业控制现场的杀毒软件,其在使用过程中也存在病毒库不能及时更新、或者软件不能及时升级等问题。在实际应用中,杀毒软件起到的防护作用非常有限,面对目前病毒大规模爆发和不断更新的网络环境,其防护能力极弱,远远达不到工业控制系统所需要的防护效果。

2.6 工业控制系统管理风险

由于工业控制系统在工业生产中的特殊作用,多数企业对于工业控制系统的可用性的关注度要远高于其安全性,对工业控制系统网络安全的防护意识薄弱,还没有建立控制系统网络安全的理念,特别是在项目建设以及运行维护过程中缺乏网络安全管理意识,没有制定有针对性的、合理的工业控制系统安全防护策略和管理制度。缺乏对从事工业控制系统设计、运行维护和操作人员在网络安全方面的意识和理念培训。

管理制度的不健全和网络安全意识的缺失导致移动存储介质及移动工程师站等设备滥用,随意增加系统的通信接口或互联,远程访问缺乏限制和防护手段,使用简单、默认的用户名和密码,带来了极大的病毒入侵风险。

3 工业控制系统网络安全防护策略

针对目前工业控制网络面对的众多安全风险,需要建立一套完整的,能够抵御工业控制系统的APT(advanced persistent threat高级持续性威胁)攻击的多层次纵深防御体系,分层设置防火墙,建立安全分区,入侵检测,网络监测、应急响应机制,通过物理手段、技术手段、管理手段等共同作用,多措并举建立起系统安全架构,提升工业控制系统的网络安全防护水平。工业控制系统网络安全纵深防御体系结构如图3所示。

3.1 分区隔离与边界防护

优化工控系统网络结构,将全厂按照操作需要以及数据交换最小的原则设置操作分区划分操作区域,相互独立为网络隔离基础、只要没有数据交换的,或少量数据交换的均分隔成操作分区;操作分区独立成网,网间没有直接联系;包设备控制系统独立设置,单独分区;分区之间禁止互相操作和控制变量传输,限制过程变量传输,分区间确需传输少量过程变量的,可通过硬接线或通信卡(Modbus-RTU)传输,建立安全的单元间通信。

各分区之间以及企业管理层与过程监控管理层之间的数据交换通过工业防火墙隔离、网关、网闸等设备实现隔离,只允许正确设备操作所必需的通信,按照特定的通信协议流及规定方向通过,其它数据全部被过滤掉,实现工业控制系统内部的区域隔离,阻断跨区域的网络攻击。同时,对上位机发出的工业指令进行深度解析,检测工业指令的合规性,阻断针对工业控制系统或利用工业控制系统漏洞发起的攻击行为。过程监控层不同应用的OPC服务器应独立设置,且设置独立的网卡与数据采集层相连,确保工控系统受到攻击时能及时溯源,切断攻击链路。

图3 工业控制系统网络安全纵深防御体系结构

3.2 异常检测与防护

在过程控制网的主机设备部署杀毒软件及主机卫士、建立白名单机制,有效保护工控主机不会感染已知及未知的恶意代码,对主机系统的完整性进行监测,保护工控主机正常运行,如图3所示。

由于工控网络的特殊性,防病毒软件应是控制系统厂家经过严格的兼容性测试并具有合法授权的正式版本,且应该根据装置的检修周期等制定系统补丁、病毒库的离线更新和升级策略。

在防火墙外、核心交换机或其他关键位置部署异常检测和入侵检测设备,对非正常信息流的网络流量、网络攻击、工控指令、组态变更等入侵行为进行监测分析和记录,及时发现网络异常,在发生安全事件前对安全风险进行预警。

对工控系统中带有网管功能的交换机,设置相应的网管监控站,安装相应的管理软件,对交换机的端口、网络拓扑、工作状态、运行负荷进行检测管理。例如FOXBORO I'A系统的MESH网络可利用Netsight软件进行网络拓扑、端口流量、交换机负荷等检测分析。

3.3 日志与审计

在工控系统中安装工控监测审计系统,通过工控协议深度解析,根据特征值进行采集、分析与识别,如发现异常数据包,如控制器启停、程序上下载,则记录日志或报警。

采用检测审计类产品,如网络安全审计、IDS/IPS、堡垒机、日志/数据库审计等,通过镜像口分析网络流量,及时发现网络流量或设备的异常情况并告警,此类产品旁路的部署方式,不会因为自身的故障而影响工控系统的正常运行,更适合于工业控制系统网络安全防护的应用[5],更容易让工业控制系统的用户接受。

3.4 访问控制与账号管理

严格禁止工业控制系统面向互联网开通HTTP、FTP、Telnet等高风险通用网络服务[6];防控远程访问安全,原则上严格禁止控制系统的远程维护,确需远程访问或远程维护的,首先验明访问者的身份,制定访问计划和内容,控制访问时间;采用数据访问控制策略进行安全加固,并采用本机优先的中断机制策略;采用虚拟专用网络(VPN)等远程接入方式;保留系统的相关访问日志,并对远程操作过程进行安全监视。

严格工业控制系统中工程师站、操作站及机柜间的管理,加强密码分级管理,避免设置使用默认用户名密码以及弱口令密码,定期更新系统的口令密码。严格控制系统访问的账户及权限,按照最小权限原则分配账户,杜绝操作人员在工程师权限下进行日常操作。

3.5 物理安全,限制接入

过程监控层设备不应直接与控制层设备互联,以保持工业控制系统的相对物理隔离和安全。

企业应加强数据采集层及过程监控层的服务器、工程师站及操作员站的物理隔离,通过门禁、视频监控等手段强化机柜间的管理,加强移动存储介质及移动工程师站的管理,非经严格检查和测试的设备禁止接入;严禁非操作监控原供应商的软件安装;采用封闭、加锁或接口管理工具限制外部设备接口的使用;对外来移动介质必须经过专用的防病毒查杀工具查杀,确认安全后才能使用。控制系统供应商技术人员在现场服务需要访问工控系统时,应严格控制移动工程师站的接入,并做好工作内容、计划、安全措施的管理。

3.6 健全网络安全管理制度,配备和培训专业人员

逐步建立健全工业控制网络安全的专门管理机构,制定安全方针和管理制度,完善企业内部的网络安全防护策略和流程,明确工控系统安全防护管理职责,加强人员培训及专业人员队伍建设,强化相关专业人员的安全防护意识,落实工控系统安全防护策略,制定工控系统网络安全的应急预案并定期组织演练,规范工业控制系统的数据备份及快速恢复机制,提升安全应急处置水平。

4 结语

工业控制网络打破了原有的相对的独立和隔离,与外界网络互联越来越多,且近年来专门针对工业控制系统的网络攻击愈发频繁。针对工业控制网络的安全防护风险,各企业应根据工控系统的实际配置情况进行深入分析,制定安全防护策略,通过系统的分区隔离、边界防护、网络异常检测审计、控制访问、加强账号管理、限制移动介质的接入、建立健全管理制度、配备网络防护的专业人员等技术和管理手段,从工控系统设计阶段开始,完善和建立起企业工控网络全寿命周期的安全纵深防御体系,抵御日渐增加的工业控制系统网络安全风险。

猜你喜欢

工控安全漏洞漏洞
漏洞
工控编程编译工具应用现状分析及展望
工控系统脆弱性分析研究
基于蜜罐的工控网络安全防护技术研究进展
刍议计算机软件中的安全漏洞检测技术
智能矿井工控网络安全防护系统研究与实践
基于selenium的SQL注入漏洞检测方法
试论安全漏洞检测技术在软件工程中的应用
智能设备安全漏洞知多少
漏洞在哪儿