技术分享 | 工业协议自定义协议解码简介
工业控制系统网络是由工业自动化生产设备组成的网络,不同于传统IT网络,工控网络有着专用的通信协议和通信机制。工业控制系统网络上使用的网络防护类设备需要对这些专用的通信协议进行深度解析,从而对工业自动化生产设备起到保护的作用。常见的通用的工业控制系统网络通信协议包括OPC,Modbus,IEC104等。另外,工业控制系统网络上还有部分厂家自己定义的私有协议,例如西门子的S7协议和Profinet协议。
除此之外,在部分对于安全非常敏感的行业,例如核电、军工等,它们的工业控制系统网络中运行的协议是保密的,不能公开的,即使是安全技术服务商,也不可以获得这些工业控制协议的任何细节。这样,得到这些工控协议的细节,再以代码的方式支持这些协议深度解析的传统的方法就行不通了。本文介绍一种以描述语言的方式支持未知工控协议深度解析的方法。基于此种方法,工控系统安全服务商提供平台,根据客户编写的工控协议深度解析的描述方法解析网络中的工业协议,从而达到对这些协议的防护或者审计的目的。
工业协议描述语法(IPDL, ICS Protocol Description Language)是通过XML(可扩展标记语言)来表述协议的特征,从而可以通过编写规则库来增加支持深度解析的工业协议。
2.1. 协议描述语言语法简介
协议描述语言分为两部分,分别为“数据结构”和“数据逻辑”。“数据结构”先将通信协议中使用的数据块定义出来,再通过“数据逻辑”将这些“数据结构”经过一定的规则拼装在一起。
“数据结构”包含一些基础数据类型,包括整数型、字符串型和数据块型。定义了数据类型后,如果某些数据在解码以后需要被使用,则要给该数据类型添加“输出”属性。报文解析并不是网络安全设备处理报文的终点,解析出的数据结构需要交给安全业务进行处理,因此“输出”属性被标记,说明这个结构在解析出来以后,会被安全业务使用。
“数据逻辑”引用定义好的“数据结构”,像搭积木一样把“数据结构”拼装在一起,从而组成一个完成的协议解码逻辑。“数据逻辑”里面包含一些简单的逻辑判断,用来处理同一个协议的一些不同情况。
2.2. 协议描述语言使用示例
下面以OPC UA Binary格式为例,简单介绍一下协议描述语法的使用方法。图 1是OPC UA Binary格式示例。我们需要使用IPDL将其解析出来,同时,输出解析出来的”Message Type”字段和”NodeId Identifier Numberic”字段。
图 1 OPC UA Binary格式报文
首先,定义“数据结构”。根据OPC UA Binary协议的特点,定义了”header”,”sec_token”,”header_left”和”four_byte_node”四个”数据模型”,如图 2所示。
图 2 “数据结构”定义
然后,定义“数据逻辑”,如图 3所示。根据OPC UA Binary协议格式,在报文的TCP层之上,按顺序依次会出现”数据结构”中定义的”header”,”sec_token”,”header_left”和”four_byte_node”。在解析出”header”后,需要检查一下”message_type”字段和”message_size”字段的合法性,如果这两个字段的值不合法,那么安全业务应该将此报文视为不合规报文处理。在“数据逻辑”的最后,有一个”placeholder”数据,该数据的作用是填充不需要解析的数据的位置。我们知道,TCP报文是基于“流”传输的,如果不将这部分的内容占掉,后面的解析将无法正确的找到解析的起点。
图 3 “数据逻辑”定义
对于工业控制网络来说,通信协议的保密性会大大削弱网络安全类设备的检测功能,因此,将网络安全类设备平台化,提供给客户可扩展协议的接口,既能有效保护通信协议的保密性,又能使得网络可以得到网络安全类设备的保护。
威努特公司的工业防火墙产品采用业界领先的软、硬件体系架构。其工控协议深度报文解析技术不仅对链路层、网络层网络协议进行解析,更进一步解析到工控网络报文的应用层,对OPC、Modbus、S7、Ethernet/IP(CIP)、IEC104、MMS、DNP3等进行深度分析,防止应用层协议被篡改或破坏。更进一步,威努特公司的工业防火墙产品提供可扩展工业协议的接口,用户可以根据自行扩展需要深度解析的工业协议。
威努特公司的工业防火墙产品建立可信任的数采通信及工控网络区域间通信的模型,采用白名单的思想,过滤一切非法访问,只有可信任的流量可以在网络上传输,为控制网与管理信息网的连接、控制网内部各区域的连接提供安全保障,在工业制造、电力、石油、烟草及石化等多个行业得到广泛的应用。
更多阅读:
工控安全市场蓄势待发,营收破亿的威努特如何领跑?| 爱分析调研
荣誉 | 威努特荣获“2018中关村国际前沿科技创新大赛TOP10企业”称号
威努特工控安全
专注工控·捍卫安全