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