寫在前面
今天我們來聊一聊基于Wireshark的S7、OPC等工業(yè)協(xié)議分析與工業(yè)網(wǎng)絡漏洞挖掘~
1工控信息安全的現(xiàn)狀分析

2工業(yè)控制系統(tǒng)的風險監(jiān)測
當前工業(yè)控制系統(tǒng)安全面臨嚴峻威脅,需要對工業(yè)控制系統(tǒng)網(wǎng)絡進行安全監(jiān)測,發(fā)現(xiàn)工業(yè)控制系統(tǒng)網(wǎng)絡內部的安全威脅和存在的漏洞,從而采取相關的防護措施或修復相關漏洞,確保工業(yè)控制系統(tǒng)的設備和數(shù)據(jù)的安全。
2.1工控網(wǎng)絡安全監(jiān)測相關技術

2.2工控網(wǎng)絡安全分析方法
2.2.1工業(yè)協(xié)議網(wǎng)絡報文分析

3WireNmap的開發(fā)與實現(xiàn)
Wireshark與Nmap在工業(yè)協(xié)議分析與工業(yè)漏洞挖掘中是強有力的互補,而實際中兩個軟件是分立的,導致其使用效率偏低。在工業(yè)控制系統(tǒng)的應用中,Wireshark軟件對工業(yè)協(xié)議支持不完整或不全面,而Nmap自帶漏洞探測腳本有限,但其支持自主開發(fā)針對工業(yè)控制系統(tǒng)的腳本。
3.1Wireshark源碼結構
Wireshark源碼軟件組成,如圖1所示。

圖1Wireshark源碼框架
圖1中,Core為核心調度模塊,包括報文的捕獲(Capture)、報文分析(Epan)、報文讀取與存儲(Wiretap)、界面交互與呈現(xiàn)(GTK/Qt),具體模塊的具體功能如表1所示。
表1Wireshark各模塊功能

3.2Nmap源碼結構

4基于WireNmap的工業(yè)協(xié)議分析
WireNmap集成了自主研發(fā)的報文解析插件,如S7協(xié)議解析插件、OPC協(xié)議TAG深度解析插件等。
4.1S7協(xié)議解析插件


圖2S7協(xié)議報文結構

表2空間類型對照表

拆分值段,值段前3個字節(jié)跳過,取值段第4字節(jié)為值的長度。
S7原生Wireshark未解析報文,如圖3所示。以圖3中數(shù)據(jù)段未解析的十六進制部分拆分為例進行方法說明,如圖4所示。

圖3S7原生Wireshark未解析報文

圖4S7協(xié)議未解析段數(shù)據(jù)結構
(1)第1字節(jié)和第2字節(jié)為第一區(qū)字段的長度20(0x0014),第3字節(jié)和第4字節(jié)為第二區(qū)字段的長度14(0x000e),點表數(shù)據(jù)在第二區(qū);
(2)從第5字節(jié)起為第一區(qū)字段,第一區(qū)字段長度為20個字節(jié),跳過20個字節(jié);
(3)從25字節(jié)開始,25、26字節(jié)為數(shù)據(jù)點個數(shù),十六進制表達為0x0001,轉換為十進制為1,即后續(xù)數(shù)據(jù)點個數(shù)只有1個,則地址段和值段分別只有一個點;
(4)讀取地址段的空間類型,取0x22&0xf0,根據(jù)表2得到空間類型;
(5)地址值按照圖中標識部分為0x00000206,換算成十進制為518;
(6)讀取值段,值段的第3字節(jié)即圖4中的0x02為值的長度,換算為十進制,值的長度為2;
(7)讀取值為0x2acd。
根據(jù)該方法,圖3中的未解析字段在經(jīng)過二次開發(fā)后結果如圖5所示,可以得到點的個數(shù)、地址和值。

圖5S7協(xié)議二次解析后前后對比
可見,經(jīng)過開發(fā)后,S7插件可以讀取空間類型、地址以及數(shù)值等更多信息。在實際工業(yè)控制系統(tǒng)中,這些信息可以對應實際的溫度、壓力以及轉速等信息,因此可以更好地對工業(yè)控制系統(tǒng)進行指令級分析。
4.2OPC協(xié)議
OPC是基于微軟組件對象COM/DCOM/COM+等技術基礎的一種接口標準,在標準下能夠有效的進行信息集成和數(shù)據(jù)交換。在工業(yè)控制系統(tǒng)中,OPC協(xié)議規(guī)范中主要應用的是OPC DA規(guī)范。在OPC DA規(guī)范中,OPC由OPC服務器中包含OPC組,組內有一個或多個對象,其結構如圖6所示。

圖6OPC對象結構組成
在OPC DA規(guī)范中,IOPCItemMgt類型報文在客戶端執(zhí)行添加、刪除對象時,協(xié)商客戶端和服務器對象的句柄,在協(xié)商完成后,后續(xù)通信都通過句柄對該對象執(zhí)行修改。由圖7可知,Wireshark并未對句柄進行解析。

圖7OPC原生Wireshark未解析報文示例
本文通過以下方法可以獲取句柄和句柄相關的對象名稱。


圖8OPC二次開發(fā)前后對比
由圖8可知,經(jīng)過開發(fā)后的WireNmap軟件可以獲取OPC協(xié)議的TAG名字、數(shù)據(jù)類型以及數(shù)值等更多信息。在實際的工業(yè)控制系統(tǒng)中,該信息可以與實際物理量進行轉換,從而獲取更多的數(shù)量信息。
5基于WireNmap的工業(yè)漏洞掃描技術
WireNmap同時集成了自主研發(fā)的漏洞掃描腳本插件,如NSE腳本。
5.1NSE腳本簡介
一個完整的NSE腳本包括描述性字段、行腳本的rule以及實際腳本指令的action等多個模塊,如圖9所示。它的各個模塊的主要的功能如表3所示。

圖9NSE腳本組成
表3NSE腳本各個模塊的主要的功能


圖10NSE腳本首部
5.2.2腳本portrule
這部分主要涉及一些特定的端口以及端口上的服務,在對服務器的訪問中涉及到http,因此端口的選取是幾個有關http服務的端口,具體如下:
portrule=shortport.port_or_service({80,8080},”http”)
一般來說,在Apache Tomcat服務器安裝時會有默認的運行端口,端口一般為8080,有時會存在該端口被其他應用占用的情況,這時服務器啟動后不能正常工作,可以在Apache Tomcat的文件中進行默認端口的修改。
5.2.3腳本action
這是整個腳本的核心部分,利用put請求發(fā)送一個jsp格式的文件,之后判斷服務器對http的put請求返回的響應碼,若為201,說明此時服務器已經(jīng)接受請求,對文件名以及一些細節(jié)輸出即可,如圖11所示。查看該腳本在Nmap中的運行結果,如圖12所示。

圖11NSE腳本主體

圖12NSE腳本運行結果

6基于WireNmap的資產(chǎn)管理與聯(lián)合分析技術


圖13WireNmap資產(chǎn)管理界面
由圖13可以得出網(wǎng)絡中的IP段與資產(chǎn)清單,如表4所示。
表4WireNmap報文分析與IP資產(chǎn)對應關系

圖13中右側框列出了當前所有的IP資產(chǎn)清單。點擊對應的IP后,利用列舉出來的與該IP地址相關的所有通信報文,可以直接分析該IP的流量,查看是否存在異常流量,同時結合已經(jīng)開發(fā)的插件(如S7、OPC等),更好地對工業(yè)協(xié)議進行深度分析。圖13中雙擊右側IP地址,啟動如圖14所示的界面。對重點關注的資產(chǎn)IP進行深度探測,可以得出如表5所示的資產(chǎn)詳細信息。

圖14WireNmap資產(chǎn)掃描與深度探測
表5資產(chǎn)詳細信息

7結語
本文提出了一種基于Wireshark與Nmap的工業(yè)控制系統(tǒng)安全聯(lián)合分析方法,擴展了Wireshark的分析插件與Nmap的掃描插件,同時提出了將Wireshark與Nmap合并后的聯(lián)合分析軟件WireNmap。實際應用證明,WireNmap能更深層次解析工業(yè)協(xié)議,如S7、OPC協(xié)議,同時通過開發(fā)腳本能發(fā)現(xiàn)更多的漏洞,如CVE-2017-12617等。面對以竊取敏感信息和破壞關鍵基礎設施運行為主要目的工業(yè)控制系統(tǒng)網(wǎng)絡攻擊,所提方法能更快速、全方位地適應工業(yè)控制系統(tǒng)安全威脅的需要。
審核編輯:湯梓紅
-
控制系統(tǒng)
+關注
關注
41文章
6985瀏覽量
114369 -
西門子
+關注
關注
98文章
3363瀏覽量
120669 -
工業(yè)網(wǎng)絡
+關注
關注
0文章
117瀏覽量
17443 -
工業(yè)控制
+關注
關注
38文章
1695瀏覽量
92209 -
Wireshark
+關注
關注
0文章
51瀏覽量
6975
原文標題:西門子S7、OPC等工業(yè)協(xié)議分析與工業(yè)漏洞挖掘
文章出處:【微信號:智能制造之家,微信公眾號:智能制造之家】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
如何擴展工業(yè)控制系統(tǒng)的網(wǎng)絡安全終端
怎么實現(xiàn)工業(yè)控制系統(tǒng)安全防護的設計?
五年磨一劍 工業(yè)控制系統(tǒng)信息安全防護的新高度
工業(yè)控制系統(tǒng)的信息安全分析及解決方案
淺談工業(yè)控制系統(tǒng)安全問題
工業(yè)控制系統(tǒng)安全控制應用指南,為其信息安全工作提供指導
工控系統(tǒng)的安全現(xiàn)狀和存在的問題及思想和形式說明
工業(yè)控制系統(tǒng)網(wǎng)絡安全難題怎么解決
如何提升工業(yè)控制系統(tǒng)安全終端認知
工業(yè)控制系統(tǒng)的本體安全該如何理解
加速工業(yè)4.0-擴展工業(yè)控制系統(tǒng)中的安全終端
加速工業(yè)4.0:擴展工業(yè) 控制系統(tǒng)中的安全終端
加速工業(yè)4.0:擴展工業(yè) 控制系統(tǒng)中的安全終端
加速工業(yè)4.0:擴展工業(yè)控制系統(tǒng)中的安全終端
基于Wireshark與Nmap的工業(yè)控制系統(tǒng)安全聯(lián)合分析方法
評論