[工控安全][翻譯]Rogue7:西門子s7comm-plus協議全解析


Rogue7:西門子s7comm-plus協議全解析

mailto:wangkai0351@gmail.com

【未經同意禁止轉載】

鑒於本博客涉及的信息安全技術具有破壞計算機信息系統的風險,建議讀者在學習/研究/探討之前,確保已經充分了解以下內容:

本博客所討論的技術僅限於研究和學習,旨在提高計算機信息系統的安全性,嚴禁用於不良動機,任何個人/團隊/組織不得將其用於非法目的,否則后果自負,特此聲明。

[譯者說]本文的研究思路是:通過反編譯的方式逆向分析上位機軟件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模塊這幾個概念。

0 摘要

1 簡介

1.1 針對ICS的攻擊

1.2 s7協議升級版

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協議,采用了加密算法。

1.3 本文地點工作

1.4 本文的結構

2 前置知識

2.1 基於TCP/IP的s7comm協議

2.2 基於s7comm協議的PLC

Siemens SIMATIC S7產品線的PLC設備

2.3 s7comm-plus協議概覽

3 s7comm-plus協議的加密保護

3.1 身份認證和完整性保護

3.2 s7秘鑰的生成

3.3 秘鑰傳遞的漏洞和利用

4 攻擊事件的結構

4.1 TIA軟件

5

6 程序下載

在實現程序下載功能之前,我們

7 對策和結論

附錄A s7 P3-

致謝

參考文獻


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM