CA168首页 > 自动化信息 > 综合信息 > 信息详情

SCADA系统DNP3.2总线的安全性分析及测试方法研究(三)

发布日期:2015-01-20 来源:中国软件评测中心作者:网络
  2.3 窃听
 
  DNP3.0和其他公开的标准协议一样,大都采用明文传递数据和命令,如果入侵者在总线链路上接入一台报文接收和解析设备,就可以获得所有的请求和响应报文,而且很难被安全人员发现。
 
  窃听行为虽然不会对SCADA系统本身造成危害,但是会造成重要数据的泄露。而DNP3.0总线协议的功能码0x19、0x1A、0x1B、0x1E可以实现文件操作,在进行文件操作时很可能涉及SCADA系统的关键数据,所以窃听行为同样会对SCADA系统的可靠性造成影响。
 

 

  窃听攻击的流程如图 4所示。

  图 4 窃听攻击的流程

 

  3 安全应对策略

 

  由于在设计DNP3.0总线协议时,主要考虑协议的功能和传输效率,而没有过多地考虑协议的安全性,致使DNP3.0总线协议的安全性很低,无法鉴别系统中某个设备的合法性,也无法防止报文被入侵者窃听。为了提高SCADA系统中DNP3.0总线协议的安全性,需要在标准DNP3.0协议的基础上增加安全措施。

 

  3.1 校验传输报文

 

  为了防止中间人攻击,可以在DNP3.0总线协议中增加校验报文,校验报文中含有校验字节,将其附加在某条正常通信报文的后面,发送到报文的接收方。因为DNP3.0协议中主站或外站都可以主动发出报文,所以主站或外站均可发起校验报文。接收方收到校验报文后,读取其中的校验字节,然后根据事先预置的校验算法计算校验值,并在响应报文中将校验值回送到校验报文的发出方。因为校验算法是事先预置的,所以入侵者无法知道根据校验字节计算正确的校验值,校验报文的发出方可以根据校验值判断接收方的合法性。校验字节是一次性的,每次发送后发出方会产生新的校验字节。

 

  为提高通信效率,发出方无需在每条请求中都增加校验字节,仅在满足以下条件时应当发出校验报文。

 

  1. 需要校验报文接收方的合法性;

 

  2. 达到随机时间;

 

  3. 在发出控制命令、读取关键数据时;

 

  4. 某次通信时接收方收到异常报文,则在下一次通信时应当发送校验报文。

 

  3.2 预置白名单列表

 

  为防止中间人攻击和拒绝服务攻击,可以在SCADA系统的每个设备中预置白名单列表[ ],即设备只能与白名单上所列举的设备进行通信。

 

  为了防止入侵者将合法设备停止,并把自己的地址替换为合法地址,为每一个合法设备预置一个唯一的标志码,该标识码在系统内部是公开的[ ]。每个设备的存储空间中都预置一个白名单,其中包含两列,第一列包括所有预置设备的地址,第二列为对应设备的标识码。在发出请求报文时,根据自己的标识码和报文内容计算得到一个标识值,并将标识值附加在报文上。接收方收到报文后,根据报文发送方的地址查询白名单,得到发出方的标识码,再根据同样的算法计算标识值,如果报文中的标识值和自己计算得到的标识值一致,则认为报文是系统内合法设备发出的。

TAG: SCADA
[信息搜索] [] [告诉好友] [打印本文] [关闭窗口] [返回顶部]

上一篇:SCADA系统DNP3.0总线的安全性分析及测试方法研究(二)

下一篇:PAC的基本要求

免责申明

       本文仅代表作者个人观点,与中自网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容!来源网络如有误有侵权则删。

视觉焦点