石化企业工业控制系统非网联接
2014-10-14马钧,佘军
马 钧,佘 军
(1.长沙理工大学电气与信息工程学院,湖南 长沙 410015;2.中国水电工程顾问集团中南勘测设计研究院,湖南 长沙 410014)
0 引言
我国的石油化工企业是关系到国计民生的大中型骨干企业,其生产过程复杂,一般使用工业控制系统来执行生产操作,以保障生产安全,确保产品产量和质量[1]。工业控制系统是多种控制系统的通用术语,包括数据采集与监控系统SCADA(Supervisory Control and Data Acquisition)、集散型控制系统DCS(Distributed Control System)、可编程序控制器 PLC(Programmable Logical Controller)等[2]。长期以来,因为工业网络使用的是专有技术且独立于其它信息技术系统之外,过程控制和自动化系统一直被认为不会受到外来网络攻击。但是随着以太网、TCP/IP、Web技术在工业控制系统的广泛使用,若工业控制系统没有采取有效的网络安全隔离措施,则有可能遭受来自外部网络的攻击和破坏,造成控制系统故障或崩溃,给企业造成重大损失。
近年来,对于工业控制系统的安全防护研究得到关注,文献[3]借鉴美国确保工业控制系统安全的措施,提出了推进工业控制系统防护体系建设的一些建议。文献[4]通过定义可探测性矩阵和可达性矩阵,提出了工业控制系统安全区评估方法,通过区域划分预防攻击者操纵和探测工业控制系统。文献[5]提出了在电力控制系统中使用安全规约来防止网络攻击。文献[6]对目前SCADA系统中采用的访问控制、防火墙和入侵检测系统、规约漏洞评估、加密和密钥管理技术等多种安全措施进行了评估和分析。然而传统的防火墙、入侵检测、漏洞扫描等防范措施总是不能很满意地保证石化企业控制系统的网络安全[7-8]。
本文对石化企业工业控制系统的网络安全防护进行深入研究,提出一个非网联接解决方案,通过两个单向数据传输代替TCP/IP协议的双向传输;然后讨论该方案的安全性并与相关工作进行比较,测试结果表明该非网隔离方案具有更高的安全性。
1 石化企业工业控制系统网络安全
石化企业属于流程工业,其管理网络和控制网络的一体化是一种趋势[9-10],在这种信息集成趋势下,采用了标准网络规约的工业控制系统联接可以访问因特网的本企业其他信息网络时,将给工业控制系统的网络防护带来新的安全风险,因此需要对石化企业工业控制系统的现有联网状况进行分析。
1.1 石化企业工业控制系统网络接入现状
现在我国石化企业工业控制系统主要以SCADA系统、DCS、PLC和工业控制计算机 IPC(Industrial Personal Computer)的应用为主。下面分别对其与企业其他网络的接入情况进行分析。
(1)石化企业SCADA系统与外网联接分析。
石化企业SCADA系统在油气田开采、石油管道工程、石化电力运行等方面中占有重要的地位。如北三台油田 SCADA系统、克-独输油管线 SCADA系统[11],其油气田SCADA系统通过防火墙与油田局域网联接,用来和基地中控室进行网络联接。在这些地方防止以其他网络为跳板进入并攻击SCADA系统是石化企业网络安全防护的一个重点。
(2)石化企业DCS系统与外网联接分析。
石化企业一些DCS系统通过OPC技术和SCADA系统进行整合,以方便数据的存储和监测。如新疆石西作业区莫北联合站DCS系统、陆梁作业区陆9处理站DCS系统通过OPC实现了与SCADA系统的整合,这样可以使DCS系统现场数据进入SCADA系统的PDB实时数据库和历史数据库,并在SCADA系统中组态DCS系统流程画面,对处理站数据进行监测[11]。在这些地方,如果SCADA系统受到网络攻击,也可能会影响DCS系统的整体安全运行。
(3)石化企业PLC、IPC/PC系统与外网联接分析。
随着PLC技术的发展,其功能日益增强,利用PLC和IPC/PC组成的分布式控制系统,在一定程度上可以实现DCS系统的功能,由于价格比DCS低,故在油田上得到了广泛的应用。如准东采油厂等应用PLC和IPC/PC系统对原油处理、天然气处理、水处理、燃气电站等设施的工艺过程和参数进行监测和控制[11],但是这些系统一般独立运行使用,目前没有接入石化企业局域网。
综合而言,现阶段石化企业工业控制系统应当重点关注SCADA系统的网络安全,石化企业的DCS等系统若需要与其他网络联网时可参照SCADA系统的联接方案。
1.2 石化企业工业控制系统网络安全风险分析
图1 工业控制系统网络安全风险
根据上述分析可知,石化企业工业控制系统现有的网络安全风险主要来自SCADA等系统与外部网络的数据交换环节。通常,SCADA系统需要联接的外部企业网络主要有管理信息系统(Management Information System,MIS)或ERP。石化企业SCADA系统在与MIS/ERP进行数据交换时,一般采用Web服务器发布的形式通过防火墙与外部网络连接或者在两个网络之间共享一个信息服务器,如图1所示。该Web服务器从SCADA系统接收实时数据,同时又作为外部网络的一个成员以方便外部网络进行数据调用。这种方式下,由于MIS网络一般与Internet相连,使得各种来自因特网的入侵有可能通过共享信息服务器或Web服务器攻击SCADA系统[12-13]。这些可能的攻击主要有[14]:
(1)旁路控制(Bypassing Controls)。入侵者通过网络对工厂自动化生产线、DCS系统、SCADA系统等发送非法控制命令,导致生产系统故障,甚至系统崩溃。
(2)完整性破坏(Integrity Violation)。入侵者非授权修改自动化控制系统配置或程序。
(3)拦截/篡改(Intercept/Alter)。入侵者拦截或篡改内部网络中传输的控制命令、参数设置等敏感数据。
因此,石化企业网络安全防护的重点是抵御黑客、木马、病毒等通过各种形式对企业网络发起的恶意破坏和攻击,特别要保护实时闭环监控系统及调度数据网络的安全,防止由此引起的自动控制系统故障,避免因此造成的生产安全事故和人员财产损失。
2 单向数据传输方案设计
石化企业SCADA系统与MIS/ERP的数据交换一般需要基于TCP/IP协议的网络支持。为了防止因为互联可能引入的外部网络风险,设计了一种非网联接方案如下。
2.1 SCADA系统向外网的单向数据传输方案
本方案将Web服务器从SCADA系统中剥离出来,如图2所示。SCADA系统中的发送机将实时数据通过一个非网协议的模块单向传送到外部网络的Web服务器,且实时数据只能从SCADA系统的发送机发给外部网络的Web服务器,而Web服务器不能反向传送数据给SCADA系统,这样可以避免网络风险通过Web服务器进入SCADA系统。而对于外网的计算机,只需要访问Web服务器就能获得底层的实时数据,并不需要与SCADA系统发生直接联系。
图2 SCADA系统向外网的单向数据传输
这里的非网协议模块包含模块A、模块B和中间的一个数据区。非网协议模块透明地存在于SCADA系统与外部网络之间。当SCADA系统的发送机向外网的Web服务器发起上传实时数据的请求,该TCP/IP网络包首先被A模块接收到。A模块将对IP包进行MAC/IP地址、传输协议、端口等综合包过滤后将在应用层解析得到的数据包保存在输出缓冲区,并产生写中断。写中断服务程序向位于模块A和B之间的数据区写入数据包。当B模块检测到数据区有数据时,将数据包读走,并开始对数据包进行约定的应用层标记进行识别,符合要求的数据才将其进行重新组包,然后通过TCP/IP协议发给外网Web服务器,同时B模块利用数据区返回A模块一个字节的应答信号,完成由内向外的实时数据单向传输过程。
2.2 从外网向SCADA系统单向数据传输方案
图3 外网向SCADA系统的单向数据传输
在需要由外部网络向SCADA系统发送信息的情况下,必须设计一种安全的由安全级别低的网络向安全级别高的SCADA系统进行数据传送的方案。这里的非网协议模块包含模块C、D和中间的数据区,如图3所示。由于从外网向SCADA系统单向数据传输关系到内部工业控制网络的安全,故其单向传输方案设计需要更多安全设置:
(1)当外部网络,通常是石化企业管理信息网络的控制机需要向SCADA系统中的接收计算机发送指令等数据时,为了防止引入病毒到内部控制系统,需将文本文件进行双字节转换,即将所有的半角字符转换为全角字符,从而保证纯文本数据进入内网,这样即使其中包含脚本病毒也是不能运行的全角数据。
(2)当数据包被非网协议模块的D模块获取,D模块对接收到的数据包进行数字签名验证以确保每一个发送到内网的报文都是由可信的发送端发送的,通过验证的数据包进行综合包过滤后,得到应用层数据,并发到模块C和D之间的数据区中,等待模块C将其取走;为了提高D模块的抗攻击能力,D模块关闭了所有著名端口,在链路层只支持以太网,网络层只接收IP协议数据包,传输层只接收TCP协议的数据包,D模块既不发ARP请求,也不对IP进行转发,也不接收IGMP、ICMP数据包等。
(3)当模块C检测到数据区中有数据后即将其取走,检查应用层特殊标记;然后通过检查的数据还需要进行双字节检查,即设备认为要转发的文本数据必须是双字节的全角字符。只有通过检查后的数据才能最终进入内网;安全策略和密钥数据也驻留在非网模块的可信一端上,即模块C中,以防止从外部网络攻击和改变安全策略和密钥。
(4)模块C将数据重新组合,然后通过TCP/IP协议发送给SCADA系统中的接收计算机,接收机再通过专用软件解析全角数据得到有用的数据信息。
2.3 传输延时和数据包重发
由于采用单向数据传输方案需要中断TCP/IP联接,并重组应用层数据进行转发,然后再启动TCP/IP。在这个过程中,相对直接用TCP/IP联接将会产生一定的延时。该延时长短主要取决于硬件运行速度和程序的处理速度。由于该数据传输方案仅用于数据转发而不用于实时处理,所以一定的延时是可以接受的。为了防止数据转发过程中的异常情况,对于数据包的传输,接收方需要返回一个应答信号,若无应答,说明数据包没有正常接收,此时需要进行数据包重发。
3 安全性讨论
3.1 安全性测试
将基于TCP/IP协议的双向数据传输变更为两个独立的通过非网转发的单向数据传输,这是基于对网络安全现状的一种纵深安全设置措施。为了模拟基于Internet发起针对SCADA系统的网络攻击,进行了模拟攻击测试:先假设基于Internet发起的网络攻击已经成功突破企业的管理信息网络,并且控制了网络中某台主机作为攻击机;与内网直接联系的只有两台主机:一台是只能接收内网实时数据的Web服务器(172.27.52.5),一台是专门负责向内网传送数据的控制机(172.27.52.12),测试示意如图 4 所示。
图4 非网联接安全性测试
单向数据非网传输方案安全性测试说明如下:
(1)本测试假设攻击者已经利用黑客方法控制了Web主机,在Web的主页源代码里面植入远程控制木马程序。同时,从SCADA系统的发送机(192.168.10.7)开始发送实时数据到Web服务器,并通过发送机上安装的Sniffer抓包软件进行网络包监测。在实时数据的传送过程完成期间,未收到木马程序。由于Web服务器只能从SCADA系统被动接收实时数据,而不能向内网传送数据,所以即使Web服务器遭受入侵者的攻击,也不会影响到内部网的安全。
(2)本测试假设攻击者已经利用黑客方法控制了控制机,并向SCADA系统发送各种非法数据,在控制机(172.27.52.12)和 SCADA 中的接收机(192.168.11.8)分别通过Sniffer抓包软件进行网络包监测:①测试通过Telnet、FTP等登录SCADA系统的相应监听端口,在整个发送过程中,在接收机Sniffer上未收到连接数据包,控制机的Sniffer也未收到应答包,显示非法联接无法通过非网模块;②测试向SCADA系统发送 ARP、IGMP、ICMP、UDP等数据包,在整个发送过程中,接收机Sniffer上未发现非法数据包,显示非指定协议无法通过非网模块。
(3)测试向SCADA系统发送带合法数字签名的木马程序以模拟通过非法途径获得合法签名的攻击行为,在整个发送过程中,在接收机Sniffer上未发现非法数据包,显示攻击无法突破非网模块的专用防护。
(4)测试通过Syn-Flood软件向SCADA系统发送大量Syn数据包,整个发送过程中,在接收机Sniffer上未发现非法数据包;接着测试使用TCP-Flood和UDP-Flood攻击非网模块,同时使用合法程序进行正常传输,结果显示正常传输速度受到显著降低,但在接收机未发现非法数据包,显示非网模块能过滤所有攻击数据包。
3.2 相关工作比较
目前的工业控制系统安全方案多从严格内部管理,采用安全协议,配备防火墙、入侵检测系统等方面进行加强。文献[5]提出的在电力控制系统通信中使用安全规约的方法来进行身份验证和消息完整性验证,但是该安全协议不具备不可否认性验证,有安全隐患。文献[6]对目前在SCADA系统中采用的访问控制、防火墙和入侵检测系统、规约漏洞评估、加密和密钥管理、设备和操作系统安全以及安全管理等多种安全措施进行了评估和分析。但是这些方法都有其局限性。本文提出从硬件上中断内外网的TCP/IP联接,取而代之的是通过两个各自独立的单向数据传输通道来完成SCADA系统与企业其他网络的数据交换,从硬件上杜绝了黑客、木马从外部入侵内部网络的可能性,相比而言,其安全性更高。
4 结束语
本文针对石化企业工业监控系统的网络安全现状,提出了采用2个各自独立的单向非网数据传输模式来联接石化企业的工业控制系统与本企业的其他网络。由于2个单向传输的主体为不同的计算机,即工业控制系统中向外部发送数据的计算机和从外部接收数据的计算机是不同的主机,使得这种单向传输模式将任何基于TCP/IP的网络入侵行为从硬件上进行了中断。该方案结合了包过滤和多种专门设计的防御措施,使得该非网结构能从硬件与软件上提高工业实时监控系统抵抗网络攻击的能力,对维护石化企业工业实时控制系统信息安全及安全运行起到关键作用。石化企业在设计或选择工业控制系统软硬件产品时,应当尽量采用专用的信息安全产品,此外在选用国外工业监控系统时应尤其慎重,应防止系统的后门等成为石化企业工业控制系统安全运行的隐患。
[1]杨榛,浦伟光,隋志军,等.化工流程工业中计算机的应用技术与进展[J].计算机与应用化学,2010,27(2):139-144.
[2]NIST SP 800-82,Guide to Industrial Control Systems(ICS)Security[S].
[3]李战宝,张文贵,潘卓.美国确保工业控制系统安全的做法及对我们的启示[J].信息网络安全,2012(8):51-53.
[4]Yoshihiro Hashimoto,Takeshi Toyoshima,Shuichi Yogo,et al.Safety securing approach against cyber-attacks for process control system[J].Computers & Chemical Engineering,2013,57:181-186.
[5]Lim I H,Hong S,Choi M S,et al.Security protocols against cyber attacks in the distribution automation system[J].IEEE Transactions on Power Delivery,2010,25(1):448-455.
[6]Vinay M Igure,Sean A Laughter,Ronald D Williams.Security issues in SCADA networks[J].Computers& Security,2006,25(7):498-506.
[7]Janakiraman S,Vasudevan V.An intelligent distributed intrusion detection system using genetic algorithm[J].Journal of Convergence Information Technology,2009,4(1):70-76.
[8]Hu Liang,Wang Wenbo,Zhao Kuo.The design and implementation of trusted communication protocol for intrusion prevention system[J].Journal of Convergence Information Technology,2011,6(3):55-62.
[9] 张志檩.石化企业管控一体化的发展趋势[J].自动化博览,2010(S1):45-50.
[10]崔玉华,李俊杰.利用MES实现炼化企业管控一体化[J].油气田地面工程,2010,29(6):92.
[11]新疆油田公司技术发展处.新疆油田生产自动化系统现状[J].数字石油和化工,2006(11):23-37.
[12]马钧,廖力清,凌玉华.一种基于Linux的双主板网络物理隔离技术[J].电子技术,2004,31(3):25-28.
[13] Ma Jun,She Jun.Research on cyber security segregation for industrial control systems[J].International Journal of Digital Content Technology and Its Applications,2011,5(8):9-15.
[14]刘建伟,王育民.网络安全:技术与实践[M].北京:清华大学出版社,2005:1-10.