徐国忠
(中国石化上海高桥石油化工有限公司,上海200137)
2010年“震网”病毒事件为世人敲响了工业控制系统网络安全的警钟,短短几年内,全球范围内针对工控系统攻击事件的数量大幅提升。2013年,美国的工业控制系统应急响应小组(ICSCERT)就报告了全球范围内共有256件工控安全事件。在相继发现了“Duqu”病毒、“火焰”病毒等针对工控系统的病毒之后,2014年春,“Havex”病毒在能源行业大规模爆发,呈现出强烈的行业横向蔓延趋势。“Havex”病毒较之前的“震网”病毒等,攻击手段更隐蔽、病毒变种更多、网络传播更迅速,工控网络特点针对性强、可造成的危害也更巨大。“Havex”病毒以及之后出现的“Sand wor m”病毒标志着工业控制系统网络安全已进入了APT2.0时代,工业控制系统的网络安全问题日益引起人们的重点关注。
近年来,中国也非常重视工业控制系统的网络安全,多次发布了相关政策与标准,加强了重点领域工业控制系统的信息安全检查、监管和测评,实施安全风险和漏洞通报制度;加强了新技术、新业务信息安全评估,强化了信息产品和服务的信息安全检测和认证,支持建立第三方信息安全评估与监测机制。同时,国内的工业控制系统网络安全相关标准在信息安全标准化技术委员会以及工业过程测量和控制标准化技术委员会的指导下,也正在开展标准编制工作,各种工业控制系统信息安全应用和评估标准[1-6]相继出版,对工业控制系统网络信息安全的评测、加固和实施起到了推动和指导作用,但由于工业控制系统的多样和复杂性,完全采用标准进行评测有一定的难度,控制系统网络信息安全还有很长的路要走,任重道远。
近年来,工业控制系统网络安全备受重视,作为跨学科的领域,简单地使用传统信息安全技术并不能很好地解决该问题,有些时候可能是无能为力的。工业控制系统滞后的系统运行环境以及难以实施的更新导致了其面临较之传统信息系统更为严峻的网络安全问题。而且,工业控制网络与传统办公信息网有着本质的区别,其通信协议为专有的工业控制协议,对系统及网络环境的稳定性要求也极高。因此,传统的信息安全防护设备和技术,如传统的防火墙、病毒查杀、漏洞扫描、隔离网关等在工业控制网络安全防护时起不到实质的作用,甚至会影响工控系统正常运行,并不能很好地应用于工业控制系统。
工业控制系统的信息技术来源于传统信息技术,但是又不同于传统信息技术,与传统的信息技术有着显著的区别。这是因为传统信息技术是以传递信息为最终目的,而工业控制系统网络传递信息是以引起物质或能量的转移为最终目标。工业控制系统与传统信息系统在系统结构及软硬件升级、维护、更新等方面存在明显差别,具体见表1所列。
表1 工业控制系统与传统信息系统的性能比较
1.2.1 工业控制系统本质问题
1)工业控制系统安全方面设计不足。在设计之初,由于资源受限及未面向互联网等原因,为保证实时性和可用性,工业控制系统各层普遍缺乏安全性设计。在缺乏安全架构顶层设计的情况下,无法形成有效技术研究的体系,产品形态主要集中在网络安全防护的层面,工业控制系统自身的安全性能提升缺乏长远的规划。
2)工业控制系统核心技术落后。CPU作为硬件基础平台的核心,核心技术基本上掌握在国外厂商手中,内在的“后门”软件漏洞隐患始终存在;控制系统的机理和通信控制模式,部分公开或半公开,但核心的内在通信机理内容完全保密,能否满足工业控制系统信息安全的要求值得商榷,笔者认为存在信息安全隐患。
3)工业控制系统缺乏升级动力。尽管目前已有工控产品提供商开始对旧系统进行加固升级,研发新一代的安全工控产品,但是由于市场、技术、使用环境等方面的制约,成本与效益是用户必须考虑的第一要素,工控产品生产上普遍缺乏主动进行安全加固的动力。
4)工业控制系统从业人员的安全意识欠缺,并缺少培训;相关企业缺少规范的安全流程、安全策略,缺少业务连续性与灾难恢复计划、安全审计机制等;网络信息安全加固升级是一项长期不断进行的任务,相关人员对此认识不足。
1.2.2 工业控制系统常见安全问题案例
1)通信协议漏洞。工业化与信息化的融合,使得TCP/IP协议和OPC协议等通用协议越来越广泛地应用在工业控制系统中,随之而来的通信协议漏洞问题也日益突出。例如:OPC Classic协议(OPC DA,OPC HAD和OPC A&E)基于微软的DCOM协议,DCOM协议是在网络安全问题被广泛认识之前设计的,极易受到攻击,并且OPC通信采用不固定的端口号,导致目前几乎无法使用传统的IT防火墙来确保其安全性。
2)操作系统漏洞。目前大多数工业控制系统的工程师站/操作站/HMI都是基于Windows平台,为保证过程控制系统的相对独立性,同时考虑到系统的稳定运行,现场的工程师在系统运行开始后不会对Windows平台安装任何补丁。然而,不安装补丁系统就存在被攻击的可能,从而埋下安全隐患。
3)杀毒软件漏洞。为了保证工控应用软件的可用性,许多工业控制系统操作站通常不会安装杀毒软件。即使安装了杀毒软件,在使用过程中也有很大的局限性,原因在于杀毒需要经常更新病毒库,因而不适合于工业控制环境。而且杀毒软件对新病毒的处理通常是滞后的,导致每年都会爆发大规模的病毒攻击,特别是新病毒。
4)应用软件漏洞。工控应用软件多种多样,很难形成统一的防护规范以应对安全问题。另外,当应用软件面向网络应用时,就必须开放应用端口,因而常规的IT防火墙等安全设备很难保障其安全性。互联网攻击者很有可能利用一些大型工控自动化软件的安全漏洞获取诸如污水处理厂、天然气管道以及其他大型设备的控制权,一旦这些控制权被不良意图黑客所掌握,后果将不堪设想。
5)安全策略和管理流程漏洞。追求可用性而牺牲安全,是很多工业控制系统存在的普遍现象,缺乏完整有效的安全策略与管理流程也给工业控制系统安全带来了一定的威胁。例如:工业控制系统中移动存储介质包括笔记本电脑、U盘等设备的使用和不严格的访问控制策略。
某石化公司“3号酮苯”装置于2005年采用美国Honeywell公司的TPS系统用于生产装置过程的控制,系统的网络拓扑结构如图1所示。其中,全局用户操作站(GUS)是TPS系统的人机接口;LCN是TPS系统的控制管理网,该项目中,主要挂GUS/RGUS设备,实现该装置工艺数据在各个操作站间实时传递;UCN是TPS系统的过程控制网,连接NI M,在UCN设备间共享过程数据;NI M是网络接口模件,提供LCN网络访问UCN网络的接口,实现两者之间通信协议和数据格式的转换;HPM是高性能过程管理器,用于扫描和控制TPS系统的过程数据,处理该装置工艺正常生产所需的各种控制逻辑,包括常规PID控制、逻辑控制以及顺序控制等;PHD是过程历史数据服务器,负责向调度层传递该装置的实时过程数据。图1中,计算机的操作系统为Windows XP3英文版,GUS04为工程师站,在工程师室,主要完成工程组态设计、更改和全局配置;GUS01~GUS03为操作员站,在中心控制室,完成现场数据的监控、实现操作指令往现场的传递;RGUS05~RUS06为远程操作员站。
针对“3号酮苯”装置的工业控制系统网络信息安全检查,通过对控制网网络数据流量监控,采用人工分析和智能防护设备分析相结合的方式,发现该装置控制系统网络上的安全问题。本文的主要目的是通过评测,查看老旧典型的DCS在当下网络安全的条件下对网络病毒和安全隐患的影响。对于某个运行了十余年的在役工业控制系统,控制系统的软件和硬件,由于特定的环境等因素,一直没有进行过系统软件补丁升级。显而易见,对于操作系统等软件的各种安全漏洞一定存在,但这些软件的安全漏洞对系统的潜在影响才是需要重点关注的。
2.1.1 工业控制系统网络安全检测原则
1)工控网络安全检测遵循如下原则:
a)客观性。工控网络安全检测适用于各行业的工业控制系统,以第三方的视角对国内外工控厂商设备、系统、网络进行安全检测。
b)安全性。工控网络安全检测实施在被测方人员配合、监管下进行,通过适当的技术手段开展检测工作,以保证对现有工业控制系统运行操作无明显的影响;检测或检查后,对系统的稳定性和运行,无任何影响。
图1 “3号酮苯”装置控制网络的拓扑结构示意
2)常规的控制系统风险评价方法有:
a)问卷调查表。该表可以对资产、业务、历史安全事件、管理制度等各方面的信息进行搜集和统计。
b)人员访谈。通过访谈掌握安全制度、安全意识、安全流程等信息,也可以了解一些没有记录在案的历史信息。
c)漏洞扫描。通常是指用于工业控制系统的专业漏洞扫描工具,其内置的漏洞库既包含传统IT系统的漏洞,更重要的是需要包含工控系统相关的漏洞。
d)漏洞挖掘。通常是指用于工控设备的专业漏洞挖掘工具,该类工具是基于模糊测试的理论,发现设备的未知漏洞。
e)渗透测试。这里不单指一种工具,而是评估人员利用工具和技术方法的行为集合,这是模拟黑客行为的漏洞探测活动,既要发现漏洞,也要利用漏洞来展现某些攻击的场景。
f)工控审计。该工具主要用于收集工业控制系统的数据流量、网络会话、操作变更等信息,发现一些潜在的安全威胁。
2.1.2 工控网络安全检测实施
1)网络数据流量异常发现。在系统调研过程中,对控制系统数据抓包位置选择在中心控制室交换机2960镜像口,抓取了控制网络的全网数据流量。将全网数据流量采用IAD智能保护装置进行离线情况下的安全分析,通过实验数据的分析,发现网络数据内存在大量询问150.150.150.1 MAC地址的ARP请求。经现场工程师确认,IP地址为150.150.150.245并未在提供的控制网络拓扑图中出现,而发出的ARP数据包需要寻址的150.150.150.1 MAC为网关地址,系统询问网关MAC地址的ARP请求在大部分情况下是有程序想要进行外网通信而进行的前置工作,该类数据包在网络隔离的工业控制系统中大量出现,是非常可疑的。
2)部署虚拟网关产生报警。经分析,IP地址为150.150.150.245的主机有尝试连接外网的可能,由于现场网络中150.150.150.1 MAC网关并不存在,因而无法进行下一步的数据交互。其频繁、规律地尝试访问外网的行为与某些僵尸网络木马的特征比较相似,即持续规律的访问外网C&C服务器获取进一步的木马指令,因而测试人员通过技术手段欺骗该主机,使其误认为自己能够成功的访问到外网。
虚拟网关主机在与外网隔离的情况下对IP地址150.150.150.245主机的一些基础请求(TCP,DNS等)可以进行应答,诱使其执行下一步的可疑操作行为。在实际部署该虚拟主机前,对现场的数据流量进行了再一次确认,在确保将该虚假主机接入控制网中不会对原有系统的通信产生任何影响后,将虚拟网关主机接入控制网中。当虚拟网关主机接入控制网后,网络中出现了大量的外网连接请求,同时,智能保护装置立刻匹配到了“Conficker蠕虫”病毒特征,并产生了报警。
为了进一步确认目标主机是否感染了“Conficker蠕虫”病毒,笔者对现场的数据包特征进行分析。在IP地址150.150.150.245的主机误认为自己能够连接到外网后,开始大量的请求外网的DNS域名解析,如图2所示。随机选择了几个域名,使用whois查询,均指向“Conficker蠕虫”病毒的C&C服务器域名,至此,在IP地址150.150.150.245的主机误认为自己能够连接到外网后,潜伏的恶意程序已开始工作。经比对工控漏洞黑名单,该数据包为“Conficker蠕虫”病毒的A或者B版本的HTTP请求流量,分析结果与上述的智能保护设备的报警信息完全一致。
图2 150.150.150.245的主机发出的大量DNS数据包
2.1.3 工控网络安全检测结论
某石化公司“3号酮苯”装置Honeywell TPS的网络中存在大量异常的ARP请求数据,经网络智能防护设备分析,IP地址为150.150.150.245的主机疑似感染了“Conficker蠕虫”病毒。对该主机DNS域名请求信息、与C&C服务器交互的数据进行分析,可以确定该主机已感染了“Conficker蠕虫”病毒。该装置工业控制系统为2005年左右上线的老系统,控制主机都是Windows XPSP3英文版系统,存在曾被著名的工控病毒“震网”病毒利用过的MS08-067等安全漏洞。潜伏的“Conficker蠕虫”病毒给工业控制系统带来了一定的安全隐患,会产生一定的ARP请求数据包,但通过分析,该ARP占用了很小一部分的网络带宽,远小于网络带宽的1%,可以暂时处于观察阶段,待后续有条件时对病毒进行查杀和系统的升级与完善,通过对控制系统内计算机的当前运行控制性能分析,未发现可疑的其他病毒运行程序,计算机CPU内存占用率均很低,性能优良,操作员操作控制体验良好,无任何迟延现象,说明该控制系统在当前系统网络安全条件下,保持了较好的性能,达到了检测的目的。
由于该装置工业控制系统网络使用的是Honeywell TPS软件,系统版本比较老,系统长时间没有进行系统软件的升级和操作系统软件的漏洞补丁升级完善,容易受到外界攻击感染,网络安全措施较弱;又由于控制网内设备众多,若某台设备感染病毒后容易大范围的使其他设备感染病毒,且缺乏病毒传播等事件的感知手段,当用户发现时已对工业控制系统造成了一定程度的影响,停机进行病毒查杀等工作也会影响正常业务,因而需要在控制网内部部署工控网络监控系统,以便及时地感知设备故障及非法接入事件的发生,并作出响应,实时对各类网络数据进行监控、审计,并对非法数据进行报警。另外,工业控制系统与工厂管理网、局域网存在OPC数据传输协议通信,需要对该类工业控制系统的通信进行边界安全防护,边界信息网络进行进一步的加固与防护。具体安全加固部署示意如图3所示。
在控制网络中采用了KEV-C400和KEDC300进行网络安全加固,实时监控控制系统内部网络数据,配置黑名单以及OPC协议规则,进行数据分析与过滤,达到对OPC数据的审计与阻隔。系统运行近1.5 a,稳定可靠,对原控制系统性能没有产生任何影响,达到了预期目标。
图3 “3号酮苯”装置工控网络安全加固整体拓扑结构示意
工业控制系统网络安全作为跨学科的应用领域,简单地使用传统信息安全技术并不能很好地保障网络信息安全。工业控制系统滞后的系统运行环境以及难以实施的更新导致了其面临较之传统信息系统更为严峻的网络安全问题。另外,工业控制网络与传统办公信息网有着本质上的区别,其通信协议通常为专有的工业控制协议,对系统及网络环境的稳定性要求也极高。因此,传统的信息安全防护设备,如传统的防火墙、病毒查杀、漏洞扫描、隔离网关等在进行工业控制网络安全防护时起不到实质的作用,甚至会影响工控系统正常运行。该项目针对“3号酮苯”装置Honeywell TPS工业控制系统网络进行的网络安全检测以及安全加固,在整个测试、检测过程以及加固方案实施过程中,系统一直处于稳定运行中,测试和加固方案的实施对原系统的稳定运行和操作没有产生任何影响,加固方案至今运行了1.5 a,设备运行稳定可靠,达到了预期目标,该方案具有简单、实用,可操作性强等特点,对一些在役多年的老旧工业控制系统的网络安全检查和加固,具有指导意义,值得推广应用。