APP下载

工业控制网络安全系列之五SCADA 通信协议的漏洞、攻击及应对

2015-06-27谷神星网络科技有限公司

网络安全与数据管理 2015年7期
关键词:协同式应用层通信协议

谷神星网络科技有限公司

工业控制网络安全系列之五SCADA 通信协议的漏洞、攻击及应对

谷神星网络科技有限公司

1 简介

工业控制系统(ICS)中,SCADA(监控和数据采集系统)的每一步操作都是严格遵照RTU(远程终端单元)发出的指令来完成的,所以,想对采用SCADA的工业控制系统进行破坏,黑客只要修改相关数据或者阻碍数据传输就可以达到目的。

由于SCADA系统的通信协议在设计之初就欠缺安全考虑,所以SCADA系统对黑客们有很大的吸引力。这些黑客有两种,一种是目标式攻击者,一种是愚笨式攻击者。愚笨式攻击者一般都是些技术不熟练的生手,对付他们只要采用冗余系统或其他安全手段就可以了,不用费什么力气。而目标式攻击者多数技术娴熟、智力超群,SCADA系统现有的安全手段很难防备。如果遇到攻击方式多样化的协同式攻击(联合攻击),SCADA系统更是束手无策;而且,协同式攻击还可通过伪装和分解等手段来躲避侦测。可以这么说,如果策划严密、实施得当,协同式通信信道攻击几乎可以摧毁现在所有的SCADA系统。不过,协同式通信信道攻击只有在黑客做足风险分析,找到系统所有漏洞的前提下才能完成。

如果“换位思考”,从攻击者的角度来考虑重要系统的安全防护工作,那么,首先就应该对通信信道进行风险分析,找出所有可能的漏洞,然后再采取应对措施,降低协同式通信信道攻击风险。

采用风险分析或漏洞分析方法的另一个好处是,企业可以自行决定是对所有的设备实施安全防护,还是只对特定的某些区域进行安全防护,以在投入成本与安全效益之间取得平衡。

2 IEC 60870-5-101和IEC 60870-5-104通信协议中的漏洞

⑴IEC 60870-5-101和IEC 60870-5-104通信协议中存在以下几个漏洞:

①IEC 60870-5-101协议中CS(校验和)域只有一个字节;IEC 60870-5-104协议中则没有CS域;传输数据的完整性完全取决于下一层;

② 对于应用层和数据链路层,两种协议都缺少内在的安全机制;

③ 数据传输层的漏洞有:

a. 有限的带宽限制了可传输帧的长度(如:两个协议下,一次都只能传输255个8位位组)。

b. 通信介质的不可靠性(即通信介质不一定有安全机制)。

⑵IEC 62351安全标准也对这些漏洞进行了探讨。攻击者就是利用这两个协议中的这些漏洞潜入系统并进行破坏的。其中,应用层漏洞可能导致的攻击有电子欺骗和非否定攻击;数据链路层漏洞可能导致的攻击有嗅探攻击、数据篡改和重放攻击等。

⑶SCADA环境中可能会受到通信信道攻击的环节有:

① MTU(主控终端)和RTU之间的通信(数据传输采用的是IEC 60870-5-101和IEC 60870-5-104协议)。

②MTU 和HMI(人机接口)之间的通信。

这些环节中,如果数据被修改,就可能导致控制出错,并引发混乱。

3 漏洞分析

⑴CS域漏洞

①CS域的位数不够

IEC 60870-5-101协议中CS域只有一个字节,很容易发生溢出现象。早期SCADA研究中有很多这方面的论据。其中一个例子是,校验和最大值为100的情况下,如果所有数据的和为130或230或330等时,那么CS域的值为30。这表明,只使用一个字节的CS域是不能准确反映校验和的数值的。

② 单凭CS域不能保证数据的完整性

单纯依靠CS域来检查数据的完整性是不可取的。精明的黑客只要同时改变数据值和相应CS域的值,就可以瞒天过海。

⑵ 数据传输层的漏洞

数据传输的有限带宽制约了数据包的帧长度。在IEC 60870-5-101和IEC 60870-5-104协议下,一次只能传输255个8位位组;同时,也不可能在传输帧中增加安全位。

缺乏安全机制的通信介质也是一个问题。通常,通信介质有双绞线、光纤、无线电波等。如果通信介质为无线电波,那么,一个不在通信频段的信号就能对数据通信造成频率干扰。

IEC 62351安全标准为IEC 60870-5系列协议提供了安全机制。虽然IEC 62351对应用层提供了安全策略,但却没有考虑数据链路层的安全措施。因此,仅凭IEC 62351标准来保护DCADA系统通信协议的安全是不够的。

4 非协同式攻击和协同式攻击

⑴非协同式攻击

目的:误导控制中心操作员

缺陷:在交叉检验标识的值和范围时容易被控制中心操作员发觉

非协同式攻击也分两种,愚笨型和智能型。

愚笨型攻击非常简单,攻击者不需要具备通信协议相关知识,只要简单修改几个字节的数据,再发送到目的地即可。但是,MTU仿真器会根据CS值检测出数据变化,并提示“校验和不匹配”信息。所以,这类攻击对系统不会造成大的影响。

智能型攻击就需要了解系统所用的通信协议内容。图1为IEC 60870-5-101协议中传输帧的格式。

图1中,CF 控制域;LA 链路地址域;T1 类型标志域;VSQ 可变结构限定词;COT 传输原因域;CAASDU应用服务地址单元域;CS 校验和域;L 长度域;RES 保留位;PRM 信源信息位;FCB 帧计数位;DFC 数据流控制位;ACD要求访问位。

图1也对CF控制域的8个位元进行了描述。其中,ACD位是由从(受控)系统发送给主(控制)系统的,目的是告知主系统有数据需要传送;主系统如果想读取这些数据就会发出数据请求。通常这些数据与断路器、开关等有关,所以大部分情况下,被视为关键数据。聪明的黑客非常清楚,只要修改ACD位和相应CS位的值,就可以蒙蔽主系统,主系统就接收不到这些关键数据。

还有一个DFC位,也是由从系统传送到主系统的。目的是告知主系统,如果主系统继续发送数据请求,就会导致数据溢出。那么,黑客如果修改DFC位和相应CS位的值,就可以让主系统处于不断等待状态中。

ASDU(CAASDU)域和LA域分别储存应用服务地址和链路地址。黑客如果篡改了这些域和相应CS位的值,那么RTU就不可能按照原定指令进行控制操作。

传输帧格式里的其他域(如TI、VSQ、CQT等)的值也可能被修改,不过这种修改很容易被操作员发觉,影响非常小。

⑵协同式攻击

如果攻击者想给某个组织或某个国家严重打击,就会采取协同式攻击,也称作目标协同式攻击。这种攻击不是由个人进行的,而是由一组不同领域的专家共同完成。就像其他常见的利用通信信道攻击获取网络接入和接入凭证信息一样,他们收集的是通信协议及其域值的详细信息。攻击者会仔细研究通信协议,找出哪些漏洞可以用来进行最大限度的破坏。实验证明,这种攻击可以造成非常严重的后果。

攻击者一旦获取了代表执行器和断路器等设备域的标识、值和范围等信息,就可以发送控制命令,操纵这些设备,并给系统造成严重影响。协同式攻击非常残酷,也非常不容易被发现和控制。

5 基于IEC 62351的IEC 60870-5系列协议的应用层安全防护

在应用层,认证机制是很关键的安全防护手段。认证机制有两种:操作员认证和MTU/ RTU认证。

操作员认证可以阻挡非否定攻击。其认证机制是每个操作员都拥有一个独立的认证凭据,并可设置操作员权限。所以,采用操作员认证可以让操作员负起责任。

MTU/RTU认证可以阻挡电子欺骗/伪装攻击。IEC 62351安全标准提出的安全机制是只认证关键数据,不认证非关键数据,以减少对带宽和处理能力的要求。IEC 62351还定义了一个积极模式机制,用于取代质询响应机制。不过,积极模式的安全性没有质询响应机制高。另外,IEC 62351对认证凭据的修改/管理也提出了密钥交换机制。

6 实验研究模型

对当前的SCADA系统实行这些安全机制面临的一个主要问题是,RTU和MTU软件是不对外开放的第三方软件。安全模型的设计只能在技术上和经济上都不影响现有SCADA系统的情况下进行。因此,在不影响SCADA系统运行的前提下,应用层的安全机制只能由系统外部提供。这个可以利用单板机(SBC)实现。将单板机视为附加层,在这个附加的安全层里,传输数据会被包装起来。

图2是为IEC 60870-5-101协议开发的安全设计模型。其中的强化安全区(Security Hardener)就是一个SBC。

这个安全模型是完全遵照IEC 62351安全标准要求设计的。模型中,为了优化带宽使用和处理能力,采用的是仅对关键数据进行认证的模式。

图1 IEC 60870-5-101和104通信协议的帧格式

图2 IEC 60870-5-101协议的认证安全模型

关于优化带宽和处理能力的计算:IEC 60870-5-101 协议中ASDU(应用服务数据单元)的长度是25 B。通常,处理25 B需要100 ms。再考虑由SBC给应用层提高安全防护的质询响应机制,其中质询信息112 bit(23 B),响应信息72 bit(9 B);专门的ASDU请求和响应会占50 B。那么采用安全机制传输的字节总数为82 B(23+9+50)。

字节数的增加会增大带宽的使用;用“X”来表示增加的处理能力。那么,新的处理能力应为“100 ms+X”。注意:“X”值会小于100 ms。

如果使用积极模式来代替质询响应机制,那么额外增加的字节数应为57 B(积极模式请求7 B+数据传输50 B)。

注意:质询响应机制的数据长度是根据所需的最小值(IEC 62351提到)来计算的,因为数据长度总有增加的可能。

图3是IEC 60870-5-104协议的安全认证模型。IEC 60870-5-104协议是一个基于IP的协议,所以,某种程度上,它与IEC 60870-5-101协议的设计模型并不相同,但是,它们的数据传输机制都是差不多的。

这种模型也是完全遵照IEC 62351安全标准来设计的。由于认证机制中积极模式的安全性不够,所以这种模式只采用了质询响应机制。虽然在时间苛刻的情况下,积极模式非常重要,但通常的工作场景是可以承受质询响应机制带来的时间延迟的。

7 附加安全机制

IEC 62351 安全标准只对应用层提供了安全防护措施。但是在SCADA系统中,仅实现应用层安全并不能保证关键数据的完整性。所以,为了保证数据完整性,需要引入安全加密机制。由于MTU和RTU都是第三方软件,在实施数据链路层安全机制时,也会碰到线路机制。

经过对IEC 60870-5-101协议数据包格式的深入分析发现,在MTU和RTU之间传输的数据包有2种规格。一种长度<16 B,另一种长度>16 B。小于16 B的ASDU数据包在传送时是完全加密的,大于16 B的ASDU数据包中,只有16 B(包括CS位)被加密,并与其余数据一起传送。为提供更强大的安全防护,使用了AES-128位加密算法。我们已经对模拟实验室里的SCADA测试台使用了这种技术。加密技术可以有效防御数据篡改攻击、重放攻击以及嗅探攻击等。在数据传输协议中采用时间戳技术也可以防御重放攻击。

8 观察结果

采用不同机制造成的时延如表1所示。

9 结论

由于SCADA系统的通信协议缺乏应用层和数据链路层的安全机制,使得SCADA系统深受网络攻击之苦。这些网络攻击被犯罪分子用来作为破坏某个组织或国家的网络战争武器。如果采用上述实验研究模型,可以有效防御网络攻击,并可为SCADA系统提供应用层和数据链路层的安全防护。这个研究模型也是完全符合IEC 62351安全标准的。

(未完待续,“系列之六:新一代基于服务的SCADA/DCS系统化体系架构”见2015年第9期)

表1 不同机制造成的时延

图3 IEC 60870-5-104协议的安全认证模型

ADI推出四通道、2.4 GS/s、16位数DAC AD9154

最近,Analog Devices, Inc. (NASDAQ∶ADI)——全球领先的高性能信号处理解决方案供应商推出四通道、2.4 GS/s、16位数模转换器(DAC) AD9154,该器件在100 MHz ~ 300 MHz 频段内具有业界领先的动态范围性能,可用于复中频发射机。高度集成的四通道、16位 DAC AD9154 是同类产品中唯一片内集成 PLL(锁相环)和八通道 JESD204B 接口的器件。这些特性组合可让设计人员采用单个器件满足多载波 GSM 和 LTE 发射器针对无线宏基站、点对点微波无线电、军用无线电和无线电测试设备的全部设计要求。这款最新的转换器集成一系列针对复中频发射应用优化的特性,包括复数数字调制、输入信号功率检捊以及增益、相位与失调补偿。观看最新款高速 DAC 的视频请访问: http∶//www . analog.com/AD9154video 。

(ADI公司供稿)

猜你喜欢

协同式应用层通信协议
“四大板块、六大支撑” 协同式“双创”教学模式研究
基于虚拟现实的人机交互下协同式产品外观设计
基于分级保护的OA系统应用层访问控制研究
基于NS-3的PLC多频通信协议仿真平台设计与实现
新一代双向互动电力线通信技术的应用层协议研究
研究生培养教育的协同式创新探析
物联网技术在信息机房制冷系统中的应用
基于风险分析的安全通信协议简化研究
RSSP-I、RSSP-Ⅱ及SAHARA三种安全通信协议实现技术简介
Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair