mailto:wangkai0351@gmail.com算法
【未经赞成禁止转载】tcp
[译者说]本文的研究思路是:经过反编译的方式逆向分析上位机软件TIA的核心OMSp_core_managed.dll组件,而后获得关于s7comm-plus协议的秘钥生成、交换、加密等环节的算法,利用上述密码学逆向成果,再逆向分析s7comm-plus协议应用层的payload字段结构,最终完成了s7comm-plus协议的所有逆向工做,实现了将梯形图的二进制payload注入到PLC中的目的。编码
基于协议逆向的成果,最容易实现的攻击手段是欺骗攻击,就是上位机软件TIA和PLC设备之间相互欺骗。最多见的场景是,攻击者的程序伪形成资产全部者的TIA,实现对PLC设备的欺骗。那么,最新的s7comm-plus协议是怎样实现的TIA和PLC双方之间的信任度量——加密保护机制的呢?这是新一代s7comm-plus针对s7comm的重要改进。也是本文核心。加密
[译者注]因本文讨论中涉及的PLC设备绝大多数是紧凑式一体式设备,所以下文并不严格区分PLC设备,PLC CPU模块,PLC以太网模块,PLC I/O模块这几个概念。事件
S7-200、S7-300、S7-400系列的PLC采用早期的西门子私有协议S7Comm进行通讯。
S7-1200/1500系列固件版本为V3.0如下的PLC采用西门子新一代的S7Comm-Plus协议进行通讯。该协议采用了一些特殊编码规范
S7-1200/1500系列固件版本为V3.0以上,以及S7-1500系列的PLC,采用了最新的S7Comm-Plus协议,该协议对比以前S7Comm-Plus协议,采用了加密算法。ip
Siemens SIMATIC S7产品线的PLC设备产品
在实现程序下载功能以前,咱们pip