在传统电网系统中一直以来使用着种类繁多的工业系统通信控制协议。这些通信控制协议完成了电力ICS系统的数据交互与采集、命令发布与执行、业务监控与管理等诸多重要功能。然而这些协议从颁布至今已运行有数十年(例如Modbus协议是1979年开发的协议),随着智能电网概念的提出以及IT技术的不断革新,传统电网将不断的引入新技术、新系统并改变原有网络架构和业务模式,这些通信控制协议的安全问题日益凸显。
【摘要】随着智能电网应用的深入,智能电网中工业系统通信控制协议所存在的安全隐患日显突出,如何提升和完善工业系统通信控制协议的安全性是智能电网信息安全中亟待解决的关键问题之一。本文首先分析了当前智能电网中主流和常见工业系统通信控制协议的安全问题和安全风险,提出了针对这类工业系统通信控制协议的安全防护建议。
【关键词】智能电网,工业系统通信控制协议,Modbus,ICCP,DNP3,安全
1前言
2010年震惊世界的Stuxnet病毒正是利用移动介质感染了德国西门子公司的基于WinCC操作系统的PCS7(STEP7)系统,利用Profibus协议的缺乏认证和链路加密的漏洞攻击西门子的S7PLC设备,最终破坏了伊朗的核设施。由此可见,电力行业而言,工控协议自身的不安全性也是智能电网安全威胁中的一个环节,需要加以重视。
本文将对目前电力行业中数个主流和广泛应用的工业通信控制协议进行安全问题分析并尝试提出相应的安全防护建议。
2智能电网工业系统通信控制协议安全漏洞分析
智能电网中的工业控制系统包括大量的监控与数据采集(SCADA)系统、分布式控制(DCS)系统、过程控制(PCS)系统、可编程逻辑控制器(PLC)以及其它系统。所使用的网络通信协议也非TCP/IP协议,而是Modbus、ICCP/TASE.2(IEC60870-6)、DNP3这样的几十种工业控制通信协议。这些ICS系统和工业网络通信协议与IT系统和TCP/IP协议有很多的区别,所面临的安全威胁也不一样,下面针对Modbus、ICCP、DNP3进行分析。
2.1Modbus协议的安全问题
Modbus是Modicon公司于1979年开发的一种通讯协议。它是一种在当今工业控制领域被广为应用的真正开放、标准的网络通讯协议。通过此协议,控制器相互之间、或控制器经由网络(如以太网)可以和其它设备之间进行通信。最初的Modbus系统只是简单的两层通信并工作在EIA-232链路之上,随着光纤、无线等不同的物理层通信方式的应用,已发展出了了Modbus+和Modubus/TCP。这些协议的共同点都是采用client-server命令架构,如图1所示是Modbus协议族和ISO模型的对照。
由于Modbus在设计之初并未考虑信息安全,因此它缺乏机制来避免典型的信息安全威胁,Modbus的安全问题主要在于几点。
(1)不验证:Modbus的会话仅要求使用有效的Modbus地址和有效的功能码。无法知道原始信息在传输过程中是否被更改。(2)不加密:Modubs会话的命令和地址内容在网络中以明文方式传输。很容易被窃听和伪造。
(3)不校验(仅ModbusTCP):由于Modbus是应用层协议,而在OSI模型中校验在仅在传输层而非应用层进行,因此伪造的命令可以运行于Modbus/TCP。
(4)缺乏广播抑制(仅在串行Modbus):所有串接的设备都有可能接收到所有的信息,则就意味着一个未知地址的对广播可能对这个串行连接上的所有设备造成有效的拒绝服务(DOS)攻击。
(5)可编程:该缺点为最重要的Modbus缺陷,其它很多的工业协议也都存在该安全隐患。因为Modbus这类协议被用来对控制器进行编程,因此攻击者可加以利用形成对RTU和PLC的恶意逻辑代码注入。
2.2ICCP协议的安全问题
ICCP(IntercontrolCenterCommunicationProtocol)是美国电科院EPRI(ElectricPowerResearchInstitute)开发的标准,该协议后被采纳为国际标准IEC60870-6TASE.2.ICCP-TASE.2。ICCP/TASE.2(IEC60870-6)协议不同于串行控制的Modbus协议,它是一个双向WAN通信协议,用于设施控制中心和其它控制中心,电站以及其它设施之间的通信。ICCP是应用层网络协议,可工作在TCP/IP之上,默认端口为102。该协议是一个点对点协议,使用“双边表”来定义通信双方的约定。
ICCP协议也存在着几点安全隐患。
(1)缺乏认证和加密:ICCP协议并不进行强制性的认证和加密。容易受到欺骗和伪装攻击。可对ICCP数据包进行窃听并可修改和伪造数据包内。尽管存在安全型ICCP协议,但它并未广泛使用和部署。
(2)明确定义信任关系:因ICCP在client和server之间通过“双边表”进行明确的关系定义,因此可导致修改双边表从而侵入ICCP。
(3)可接入性:ICCP是个广域网协议导致其存在高度的接入性和容易导致DOS攻击。
2.3DNP3协议的安全问题
DNP协议最早是加拿大Westronic公司在1990年开发工业控制协议。DNP3规约是加拿大HARRIS公司在1993年7月开始起草制定的、基于IEC870-5标准的增强型体系结构的网络分布式协议。DNP3使用的参考模型源于的ISO-OSI参考模型。
DNP3协议运行在在主控站和从设备之间,例如RTU、IED和控制站之间。DNP3可通过TCP或UDP封装运行于IP之上并使远程RTU通信可运行在现代网络上。与Modbus协议不同,DNP3协议提出了不少安全措施,尽管DNP3协议比起Modbus协议在安全性上有了很大的改善,但现实中DNP3协议仍存在着安全威胁。最为主要的安全威胁是窃听和中间人攻击,一旦攻击者获得地址和信任,则可以发起多种攻击行为;(1)关闭主动报告使告警无效;(2)发出虚假的主动响应使主控设备收到欺骗并采取错误的行动;(3)通过注入广播导致DOS攻击,使DNP3网络发生大规模的异常动作;(4)篡改同步时钟数据,导致同步丢失和数据通信错误;(5)篡改和删除确认信息,强制进入连续性的数据再传输状态;(7)发起非授权的停止、重启或其它导致运行中断的功能。
3智能电网工业系统通信控制协议安全防护措施
3.1Modbus协议的安全防护
对于Modbus协议建议采取几项安全措施。
(1)部署使用工业防火墙设备:在ModbusServer和ModbusClient之间部署防火墙设备对通信访问进行访问控制,只开放Modbus通信端口,只允许既定地址范围内ModbusServer和ModbusClient进行相互通信。
(2)部署使用IDS设备:通过IDS设备对Modbus数据包进行以下重要内容检测和监控,并根据实际需求制定报警策略。
(3)采取其他安全措施,例如在Modbus通信中增加用户名和密码验证,在Modbus通信中使用VPN加密隧道,在Modbus通信中采用数据加密方式(如SSL和TLS),在Modbus通信中采用PKI。
3.2ICCP协议的安全防护
对于ICCP/TASE.2协议建议采取几项安全措施。
(1)部署使用工业级防火墙:将ICCP的Client和Server进行严格的区域隔离。
(2)部署使用IDS设备:通过IDS设备对ICCP数据包进行以下重要内容检测和监控,并根据实际需求制定报警策略。
(3)使用SecureICCP:在应用层中通过数字证书提供强认证方式,增加用户名和密码认证,在Web页面中通过SSL和TLS方式提供安全加密隧道,保障数据传输安全。
3.3DNP3协议的安全防护
对于DNP3协议建议采取几项安全措施。
(1)部署使用工业级防火墙:将DNP3的Master和Slaver进行严格的区域隔离,只开放DNP3通信端口(默认为TCP/UDP20000端口)。
(2)部署使用IDS设备:通过IDS设备对DNP3数据包进行以下重要内容检测和监控,并根据实际需求制定报警策略。
(3)使用SecureDNP3协议:在Master和Slaver之间启用定期身份验证;使用AggressiveMode模式解决在正常SecureDNP3模式中因未设置预防外部延时而导致在质询/响应中存在大量的延时和负荷开销;使用SecureDNP3中新增加的安全功能码增加安全特性。
4结束语本文对Modbus、ICCP、DNP3这几个常见工业系统通信控制协议和接口的安全问题进行了分析,阐述了协议本身缺陷可能引起的攻击行为,并针对这些安全问题提出了对应的安全防护措施,为智能电网的安全防护建设提供了技术参考,具有一定的实际指导意义。
参考文献
[1]MatthewFranzandDarrinMiller,TheUseofAttackTreesinAssessingVulnerabilitiesinSCADASystems,EricJ.Byres.
[2]IndustrialNetworkSecuritySecuringCriticalInfrastructureNetworksforSmartGrid,SCADA,andOtherIndustrialControlSystemsEricKnappISBN:978-1-59749-645-2.
[3]BestPracticesforSecuringSCADANetworksandSystemsintheElectricPowerIndustry.Semantec.
[4]DNP3Overview,http://www.trianglemicroworks.com.
转载请注明来自:http://www.yueqikan.com/zhinengkexuejishulw/29906.html
上一篇:有色金属.冶炼部分杂志
下一篇:计算机技术论文范文地址