当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘 要:Modbus/TCP是较为典型的工业协议,在工业控制系统领域被应用广泛。文章不仅分析了Modbus/TCP协议存在的部分安全风险,还对其防护技术进行了一定的探讨。

引 言

随着工业互联网的大力推进,工业控制系统的开放互联成为新趋势,加之传统工业控制设备、系统在安全方面存在诸多问题,为当前的工业信息安全增加了更为严峻的风险和挑战。Modbus/TCP 协议在石油、化工、能源、电力等工业控制系统中的广泛应用,使其安全性也受到越来越多的关注。

1 Modbus/TCP协议介绍

Modbus/TCP 通过以太网通信,其实质是把 Modbus 通用帧封装到 TCP 帧中。Modbus 通用帧由三部分组成,如图 1 所示,分别是附加地址、协议数据单元(PDU)和差错校验, 其中附加地址用于表示从设备的地址,PDU 用来指定应用层的相关操作,由功能码和数据共同组成。Modbus/TCP 帧结构如图 2 所示,一方面去除了通用帧中的附加地址和校验,另一方面增加了报文头。主设备只在应用层将 Modbus 协议进行修改并封装到TCP 协议中形成 Modbus/TCP 数据包,然后从设备收到该数据包,解封后获得 Modbus 原始数据并解析,最后将需要回传的 Modbus 数据重新封装进 TCP 协议中并发送到主设备。

Modbus/TCP协议安全性分析与防护技术探讨

2 Modbus/TCP协议安全分析

2.1 身份认证安全分析

在传统的信息系统中,身份认证技术得到了广泛应用, 为用户访问系统资源提供了可靠的安全保障。但在工控系统中, 在 Modbus/TCP通信过程中,工程师站或者操作员站仅通过IP地址和 Modbus功能码就能建立一个 Modbus会话,由于缺乏相应的身份认证机制,Modbus主设备对 Modbus从设备的恶意访问成为安全隐患。

2.2 完整性安全分析

在对 Modbus/TCP协议进行测试的过程中, 如果向Modbus从设备发送一个超长的畸形报文会导致拒绝服务的状况出现。这是 Modbus/TCP协议中比较典型的安全问题。因此, 当一个恶意者去破坏 Modbus从设备时,可采取上述格式的畸形数据报文进行攻击,使得 Modbus从设备的缓存区溢出导致设备宕机,使工业控制系统无法正常运行。

2.3 功能码使用安全分析

Modbus/TCP 协议缺乏对用户功能权限的划分, 这会导致功能码滥用的情况出现。功能码是 Modbus 主设备向Modbus 从设备发送控制指令的关键,一旦被恶意修改,主设备可以向从设备发送一些原先不被允许的、非法的功能和操作。例如,非法请求关于 Modbus 从设备配置或其他敏感信息,非法重启设备,强制清除计数器,强制从设备处于监听状态等。

3 Modbus/TCP协议安全防护

3.1 基于深度包检测技术的防护模型

深度包检测技术是一种基于应用层的流量检测和控制技术,当IP 数据包、TCP 或UDP 数据流通过基于该技术的带宽管理系统时,该系统会深入读取 IP 包载荷的内容对 OSI 七层协议中的应用层信息进行重组,从而得到整个应用程序的内容,然后按照系统定义的管理策略对流量进行整形操作。

为了保障 Modbus/TCP 协议在工业控制网络中数据传输的安全性,特建立基于深度包检测技术的防护模型,如图 3所示。本防护模型主要由身份合法性检测、协议完整性检测、功能码使用安全性检测组成。其中,身份合法性检测通过对访问地址的解析判断访问者身份的合法性 ;协议完整性检测则通过对 Modbus/TCP协议特征的解析判断数据包的规范性; 功能码使用安全性检测基于对 Modbus/TCP数据报文中功能码和数据的解析,以及对应用户授权的操作行为判断操作的合法性。

Modbus/TCP协议安全性分析与防护技术探讨

                                                                                                                                                           图 3 基于深度包检测技术的防护模型

3.2 身份合法性检测

身份合法性检测主要包括数据链路层检测和网络层检测。数据链路层检测通过对数据包源 MAC 地址和目的 MAC 地址的解析和过滤可以阻断不合法设备的访问,网络层检测则通过解析数据包中的源 IP 和目的 IP 使得合法的IP 访问顺利进行。

3.3 协议完整性检测

协议完整性检测主要包括端口检测、协议标识符检测和超长数据报文检测。端口检测通过解析数据报文的源端口和目的端口是否为 502 识别 Modbus/TCP 报文,协议标识符检测则通过解析协议标识符是否为 0X0000 判断 Modbus/TCP 数据,同时对数据报文的长度进行检测,若数据载荷过长则判断报文为恶意构造的数据包。

3.4 功能码使用安全性检测

在功能码的使用安全性检测中,可以设置访问控制规则, 允许符合规则的 Modbus/TCP数据报文通过,不符合的数据报文则丢弃。其内容应包括功能码、地址范围、阈值范围,并且是基于白名单的工作机制,以限制主站对从站的访问。例如: 白名单规则 :Pass[功能码 :15][ 地址范围 :5-9][ 阈值范围: 50-100],默认规则 :全部禁止。

4 结 语

针对当前 Modbus/TCP 协议存在的比较突出的安全风险, 本文提出了基于深度包检测技术的防护模型,并从身份合法性检测、协议完整性检测和功能码使用安全性检测三个方面给出了具体的防护思路,相信能够对 Modbus/TCP 协议在工业控制网络数据传输过程中的安全防护起到积极作用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭