[文献]工控系统常见安全问题浅析
1.1 工控系统简介
工控系统(ICS)自问世以来,多采用专用的硬件、软件和通信协议。工控系统大多是封闭的系统,具有较强的专用性,受外来影响较小,导致工控系统安全未受到足够重视。
随着信息技术的迅猛发展,信息技术在工控系统中的应用取得了飞速发展,工控网络中大量采用TCP/IP技术,工控网和企业管理网的联系越来越紧密,工控系统也由封闭演变成现在的开放系统,其设计上基本没有考虑互联互通所必须考虑的通信安全问题。企业管理网与工控网的防护功能都很弱,甚至几乎没有隔离功能;因此,在工控系统开放的同时,也减弱了工控系统与外界的隔离,工控系统的安全隐患问题日益严峻。工控系统中任何一点受到攻击都有可能导致整个系统的瘫痪。
工控系统技术发展对比表:
以前 |
现在及未来 |
封闭、专有系统 |
开放系统、并大规模采用IT技术 |
通信是以独立的解决方案提供给用户 |
集成化网络系统、并与IT基础设备充分互联,以实现远程控制和互操作性能 |
只有生产部门负责工业通信的运营 |
IT部分与生产部门共同负责自动化网络运营 |
很少用到安全机制 |
综合全面的安全防护结局方案 |
面向产品的服务 |
面向解决方案的服务 |
1.2 工控系统与信息技术系统对比分析
工控系统的信息技术来源于传统信息技术,但是又不同于传统信息技术,这是因为传统信息技术是以传递信息为最终目的,而工控系统网络传递信息时以引起物质或能量的转移为最终目标。众所周知,在办公应用环境中,计算机病毒和蠕虫往往会导致公司网络故障,因而办公网络的信息安全越来越受到重视,通常采用杀毒软件和防火墙等软件方案解决安全问题。在工控系统中,恶意入侵软件,将会造成生产线停顿,导致严重后果。因此,工控系统安全有更高的要求,传统信息技术的解决方案已不能满足这些需求。
工控系统与传统信息技术系统在系统结构及其它方面存在明显差别,具体如表2所示:
对比项 |
传统信息技术系统 |
工控系统 |
体系架构 |
通过TCP/IP协议组成的计算机网络 |
主要由传感器、PLC、RTU、DSC、SCADA等设备及系统组成 |
操作系统 |
通用操作系统如:Windows、Linux、Unix等,功能强大 |
广发使用嵌入式系统如:VxWorks、wince等,并根据功能及需求进行裁剪与定制 |
数据交换协议 |
TCP/IT协议 |
专用道通信协议或规约(OPC、Modbus、TCP、DNP3等),一般直接使用或作为TCP/IP的应用层 |
系统升级 |
兼容性好,软件升级频繁 |
兼容性差,软件升级困难 |
系统性能 |
实时性要求不高,允许传输延迟,可停机或重启,需要高吞吐量 |
实时要求高,不能停机或重启,适度的吞吐量 |
可用性要求 |
允许短时间、周期性的间断或维护 |
要求7X24x365模式的可用性 |
时间敏感性 |
允许一定延迟 |
要求实时响应 |
系统生命周期 |
3-5年 |
5-20年 |
信息安全意识 |
较高 |
较低 |
保护措施 |
主要保护IT资产和存储或传输信息 |
主要保护服务器、工作站、过程控制器和现场设备 |
风险管理需求 |
数据的机密性和完成性至关重要,容错不是必要的,一般允许短暂停机 |
人员安全至关重要,其次是过程的保护。容错是必要的,不能接受暂时停机。 |
资源限制 |
系统具有足够的资源,可增加第三方安全措施 |
可用资源有限,可能没有足够的存储和资源支持增加额外的安全功能 |
管理支持 |
允许多元化的支持风格 |
有系统服务商提供支持 |
无线技术应用 |
较多 |
起步阶段 |
1.3 工控系统信息安全问题根源
工控系统的安全问题大致可划分为以下几个方面:
1、工控系统本质问题:
(1)安全设计不足:在设计之初,由于资源受限,未面向互联网等原因,为保证实时性和可用性,工控系统各层普遍缺乏安全性设计。在缺乏安全架构顶层设计的情况下,无法形成有效技术研究的体系,产品形态多集中在网络安全防护的层面,工控系统自身的安全性能提升缺乏长远的规划。
(2)核心技术落后:CPU作为硬件基础平台的核心,技术掌握在国外厂商手中,“后门”漏洞的隐患始终存在;目前国内研究和生产CPU的品牌主要包括龙芯、众志、多思等,在通用处理器、嵌入式处理器、专用处理器等方面都有了相应的产品,但是否符合工控系统性能要求和安全要求,能否在我国工控领域广泛应用,有待进一步研究和验证。
(3)缺乏动力:尽管目前已有工控产品提供商开始对旧系统进行加固升级,研发新一代的安全工控产品,但是由于市场、技术、使用环境等方面的制约,工控产品生产上普遍缺乏主动进行安全加固的动力。
2、安全策略与管理流程问题:
工控系统从业人员的安全意识欠缺,并缺少培训;相关企业缺少规范的安全流程、安全策略,缺少业务连续性与灾难恢复计划、安全审计机制等。
3、工控系统平台问题:
(1)平台硬件:关键系统缺少物理防护措施,例如:缺少物理安全环境控制,未授权人员访问物理设备,不安全的远程访问组件,双网卡连接多个网络,安全变更测试准备不充分等。
(2)平台软件:OPC组态软件的通信依赖于 RPC 和 DCOM等不安全的工控协议,缺少入侵检测与防护措施,缺乏有效的认证、鉴别与访问控制机制。
(3)平台配置:系统与应用补丁缺少维护和测试,系统多采用默认配置;关键配置信息未备份,数据存储没有使用安全的移动介质;系统缺少必要的口令策略,如:口令缺失、口令泄露、口令易猜解,使用不规范、不充分的访问控制规则等。
(4)恶意代码:缺少恶意代码防护程序,或防恶意代码程序未及时升级更新、存在兼容性问题等。
4、工控系统网络问题:
(1) 网络结构:工控系统网络架构设计不合理,未进行VLAN 划分,未能有效防止广播风暴等。
(2) 网络硬件:网络设备物理安全防护缺乏或不充分,物理端口缺少防护,环境控制缺失,非相关人员访问设备、连接网络,缺少关键设施的容错、冗余、备份。
(3) 网络配置:网络安全设备配置不当,设备配置的关键信息无备份,设备口令策略不合理。
(4)网络边界:网络边界缺失或边界防护设备配置不当。
(5) 网络通信:采用明文传输的协议,缺少对数据、设备、用户、实体等的规范的认证机制,通信完整性检查缺失。
(6)网络监控与日志:工控系统网络缺少安全监控审计,日志记录不充分。
(7) 无线连接:缺少对无线 AP 与客户端间的数据保护或认证不充分。
1.4 工控系统常见安全问题举例
1、通信协议漏洞:
工业化与信息化的融合,使得TCP/IP协议和OPC协议等通用协议越来越广泛的应用在工控系统中,随之而来的通信协议漏洞问题也日益突出。
例如,OPC Classic协议(OPC DA,OPC HAD和OPC A&E)基于微软的DCOM协议,DCOM协议是在网络安全问题被广泛认识之前设计的,极易受到攻击,并且OPC通信采用不固定的端口号,导致目前几乎无法使用传统的IT防火墙来确保其安全性。因此,确保使用OPC通信协议的工控系统安全性和可靠性给工程师带来了极大的挑战。
2、操作系统漏洞:
目前大多数工控系统的工程师站/操作站/HMI都是Windows平台的,为保证过程控制系统的相对独立性,同时考虑到系统的稳定运行,通常现场的工程师在系统开始后不会对Windows平台安装任何补丁,但是存在的问题是,不安装补丁系统就存在被攻击的可能,从而埋下安全隐患。
3、杀毒软件漏洞:
为了保证工控应用软件的可用性,许多工控系统操作站通常不会安装杀毒软件。即使安装了杀毒软件,在使用过程中也有很大的局限性,原因在于杀毒需要经常更新病毒库,这一要求尤其不适合与工业控制环境。而且杀毒软件对新病毒的处理总是滞后的,导致每年都会爆发大规模的病毒攻击,特别是新病毒。
4、应用软件漏洞:
由于工控应用软件多种多样,很难形成统一的防护规范以应对安全问题;另外,当应用软件面向网络应用时,就必须开放其应用端口。因此,常规的IT防火墙等安全设备很难保障其安全性。互联网攻击者很有可能会利用一些大型工控自动化软件的安全漏洞获取诸如污水处理厂、天然气管道、以及其他大型设备的控制权,一旦这些控制权被不良意图黑客所掌握,那么后果不堪设想。
5、安全策略和管理流程漏洞:
追求可用性而牺牲安全,是很多工控系统存在的普遍现象,缺乏完整有效的安全策略与管理流程也给工控系统安全带来了一定的威胁。例如,工控系统中移动存储介质包括笔记本电脑、U盘等设备的使用和不严格的访问控制策略。
1.5 总结
总之,工控系统安全不是一个单纯的技术问题,而是涉及到技术、管理、流程、人员意识等各方面的系统工程,需要组建包括控制工程师、工控设备供应商、系统集成商、信息安全专家等成员的工控系统安全队伍。结合工控系统自身的体系结构和功能特点,在监控级(如:工程师站、操作员站、历史站等)和网络层面可采取现有等级保护的相关标准和规范开展等级测评;在控制级,应加强对Modbus、OPC 等通信协议的使用管理;在现场级,应实现对设备、控制元件的准入检测,加快建立工控设备的检测标准和规范;在管理上,应建立完善的工控系统安全运维方案、策略和计划,加强日常安全培训,严控处理流程,防止内部攻击,实现终端安全防护,操作使用安全,针对现阶段难以解决的技术问题应通过管理手段进行弥补,切实提高工控系统的安全防护能力。工控系统信息安全是一个动态过程,需要在整个生命周期中持续进行,不断完善改进。