《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 非標工業控制協議格式逆向方法研究
非標工業控制協議格式逆向方法研究
2018年電子技術應用第4期
程必成,劉仁輝,趙云飛,許鳳凱
華北計算機系統工程研究所 工業控制系統信息安全技術國家工程實驗室,北京100083
摘要: 協議安全是工業控制系統信息安全中的一項重要內容,非標協議格式的正確識別是協議安全分析的基礎。基于工控系統行業現狀和工控協議的結構確定、傳輸重復、語義有限的特性,提出了基于網絡流量的非標準工控協議逆向識別方法,通過單報文處理進行初步分詞聚類,多報文處理進行報文序列比對,關鍵字段推斷語義,最終得到協議格式。驗證結果表明,該方法能較好地識別非標工控協議格式。
中圖分類號: TP391.4
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.171041
中文引用格式: 程必成,劉仁輝,趙云飛,等. 非標工業控制協議格式逆向方法研究[J].電子技術應用,2018,44(4):126-129.
英文引用格式: Cheng Bicheng,Liu Renhui,Zhao Yunfei,et al. Research on non-standard industrial control protocol formats reverse[J]. Application of Electronic Technique,2018,44(4):126-129.
Research on non-standard industrial control protocol formats reverse
Cheng Bicheng,Liu Renhui,Zhao Yunfei,Xu Fengkai
National Engineering Laboratory for Industrial Control System Information Security Technology, National Computer System Engineering Research Institute of China,Beijing 100083,China
Abstract: Correct non-standard protocol format recognition is the foundation of protocol security analysis, which is an important part of industrial control system(ICS) information security content. Due to current situation of ICS and protocol features of structure determination, transmission repeat and semantic limited, a method based on net-trace is proposed. The formats of protocol are gotten by single message processing for a preliminary clustering, packet processing for sequence alignment, key fields to infer semantics. Verification results show that the method can reverse recognition non-standard ICS protocol format.
Key words : non-standard industrial control protocol;protocol reverse;net-trace;sequence alignment;semantic inference

0 引言

    隨著2010年“震網病毒”的出現,工業控制系統(Industrial Control Systems,ICS)的安全性越來越受到全球范圍的關注[1]。接口環節是ICS中的關鍵環節,而通信協議又是接口的核心,工控協議的安全性分析已成為等級保護等安全測評中一項重要的內容。各工控廠商或個人出于提供個性化功能、優化通信性能、簡化協議實現的復雜度等因素的考慮,導致工控行業中有大量的非標準協議存在。非標工控協議安全性分析采用的模糊測試等方法的前提是已知協議的格式信息,所以非標工控協議格式逆向識別成為了工控信息安全中的一項重要內容。

    以往,非標工控協議的格式結構信息主要通過人工逆向的方式來獲得,但這種方法往往耗時費力且結果不準確。工控協議與信息系統應用協議的區別導致信息系統應用協議逆向識別方法對非標工控協議的識別度不高。因此,需要研究適用于非標工控協議的格式逆向識別方法。

1 協議逆向技術和工控協議特點

1.1 協議逆向技術介紹

    協議逆向工程(Protocol Reverse Engineering,PRE)指在不依賴于協議描述的情況下,通過對協議實體的網絡輸入輸出、系統行為和指令執行流程進行監控和分析,提取協議語法、語義和同步信息的過程[2]。根據分析對象的不同,協議格式逆向分析技術分為基于網絡流量和基于執行軌跡的協議格式逆向分析技術。

    基于網絡流量的協議格式逆向分析技術以網絡數據流為分析對象,根據協議字段的取值變化頻率和特征推斷得到協議格式。其依據是數據流中的單個報文樣本是協議格式的一個實例,相同格式的報文樣本具有相似性,不同格式的報文樣本具有一定的差異性,可以將具有相似性的報文匯集在一起,推斷它們所遵循的報文格式。這種分析技術僅依賴于所捕獲的網絡數據包,具有比較好的通用性,因此應用較廣泛。

    基于執行軌跡的協議格式逆向分析技術主要對實現協議的二進制可執行程序進行逆向分析,獲得程序具體處理網絡通信數據包的指令執行序列。其主要依據是程序對數據包的處理按照定義好的數據包格式進行,通過對程序執行的跟蹤,可以獲得協議的部分或全部語義、語法信息。該技術方法除需獲取通信數據包外,還需獲得協議的實體可執行程序,這導致該技術在應用范圍方面有一定的局限性。表1為基于網絡流量和基于執行軌跡兩種技術的比較及代表性的項目。

jsj2-b1.gif

1.2 工業控制協議特點

    工控協議是指工業控制網絡中現場設備、控制器、操作員站、通信和應用等服務器、工程師站之間數據通信的規定,與系統功能和網絡架構密切相關,對成套設施級可編程邏輯控制器(Programmable Logic Controller,PLC)、廠站級分布式控制系統(Distributed Control System,DCS)、廣域的數據采集和監控系統(Supervisory Control and Data Acquisition,SCADA),分別發揮提供核心基礎能力的作用。隨著工控行業的發展,工控協議更多地采用基于以太網的通信協議方式,按照TCP/IP協議體系結構的劃分,工控以太網協議主要是應用層協議。

    相比較于傳統的基于以太網的信息系統應用協議,工業控制協議通常具有以下特點:(1)傳輸信息中,以二進制形式表示的模擬量、數字量類型信息比較多,文本類型信息少,視頻類信息獨立傳輸;(2)多數信息有實時性要求,通信過程要在規定的時限內完成,否則就會造成數據質量失效;(3)有相對明確的數據生成者與使用者,許多傳輸過程也在確定的物理環境中進行,通常認為通信環境比較清潔,許多通信數據不加密;(4)協議中采用多種交互控制方式,如請求應答交互、周期主動傳輸,也提供多種流量優化機制,如變化傳輸、事件訂閱等;(5)在自動控制層,使用包含工業以太網等多種形式的現場總線,而在本地和遠程監控層,基礎層多采用基于以太網的TCP、UDP等可路由協議;(6)出于工業應用的可靠性、安全性要求,通信數據包具有一定的檢錯、容錯,甚至是糾錯能力,可保證數據的完整性;(7)多數情況下,數據包具有相對一致的協議控制結構和數據內容結構,如開始和截止標記、報文發送者和接收者標識、報文功能碼、報文長度、校驗碼等。圖1為一些工控協議格式結構示例。

jsj2-t1.gif

2 非標工控協議格式逆向識別方法

    工業控制網絡中協議處理程序主要集成在ICS廠商提供的專用軟件或硬件設備中,所以不易獲取協議處理的可執行程序,而獲取工控網絡中的數據流量相對簡單。所以對工控協議的逆向分析多采用基于網絡流量的方式。根據工控協議的特點,提出通過主要預處理、單報文處理、多報文處理、語義推斷4個階段逆向分析工控協議的方法,如圖2所示。

jsj2-t2.gif

2.1 數據預處理

    通過接入工控系統網絡中捕獲網絡中通信數據,作為原始數據源。根據IP地址、端口號等分包過濾出需要分析的特定通信實體間的通信數據,作為逆向分析的報文序列樣本集。對報文序列中出現的丟包、重傳、亂序等情況進行處理;濾除不含負載的報文;丟棄校驗和出錯的報文;將IP分片的報文進行重組;對于TCP會話,一個完整會話以SYN報文開始,以FIN/RST報文結束。由于工控數據往往要求實時性,因此本文不考慮單個TCP報文中包含多個應用層協議的情況。

    對于應用層協議的逆向,需要將數據包按照TCP/IP協議格式進行自底向上的解除封裝,依次去除數據鏈路層、網絡層和傳輸層的格式封裝,得到完整應用層報文。

2.2 單報文處理

    單報文處理的作用是對協議數據進行分詞,并依據分詞結果將協議數據包進行聚類劃分。分詞是指識別區分出報文中的一些特殊字段。單報文分詞指識別出僅單個報文就可識別出的字段,如文本字段、時間戳字段、校驗碼字段等。根據報文中識別出的字段屬性對報文進行聚類劃分,可得到不同類型的報文組類。下面主要說明文本字段和時間戳字段的識別。

    (1)文本字段識別。將報文字節流中屬于ASCII碼中可打印字符取值范圍內的連續字節,將其識別為文本字段;否則為二進制字段[7]。為了避免將屬于二進制字段的字節錯誤地識別為文本字段,限定文本字段的長度必須超過設定的文本長度最小閾值。由于工控協議中傳輸文本的數據包相對較少且格式相對單一,因此可將含有文本字段的報文聚為一類進行處理。圖3中框中部分為報文中的文本字段。

jsj2-t3.gif

    (2)時間戳字段識別。將報文中連續的4 B或8 B數據按照時間戳(Unix timestamp)的方式進行計算得到時間值,如果該值在報文捕獲時間的固定誤差范圍內,可將該4 B或8 B標識為時間戳字段。圖4中框中部分即為小端字序表示的時間戳字段,時間值為2016年11月30日09:51:21.507340209。

jsj2-t4.gif

2.3 多報文處理

    多報文處理的作用是在劃分出同一報文組中的報文內容固定段與非固定段、定長段和不定長段。序列比對是樣本再劃段和語義推斷的前提。由于工控協議往往具有格式相同或相近、傳輸信息重復性高、同類型報文長度等長等特性,可以優先進行同長報文比對,按比對結果再分類得到不同格式類型;再將得到的格式類型相或相近的不同長報文進行不同長報文比對。最終得到多個不同格式樣本的子集。

    同長度報文比對主要是劃分出相同長度報文組中報文內容的不變段與變化段。為了避免將同一初始分類組中長度相同但格式不同的報文進行強行比對,影響比對的準確度,需要設定距離閾值,在距離過大時停止比對,并將之再分類。依據比對結果劃分標記變化段和不變段。

    不同長報文比對主要是識別出長度不同、但格式相同或相近的報文中內容數據定長段和不定長段。采用時間和空間復雜度都相對比較適合的漸進多序列比對算法。參考PI項目中的漸進比對算法,主要包括3個步驟:(1)采用Smith-Waterman算法找出任意兩個樣本之間的局部最佳比對,據此計算樣本間的相似度,并構造樣本集的距離矩陣;(2)采用非加權成對群算術平均法(Unweighted Pair Group Method with Arithmetic means,UPGMA)計算子類間的距離,逐步將距離最小的子類進行合并;(3)執行漸進多序列比對,采用Needleman-Wunsch算法進行雙序列動態規劃比對[8],對未對齊的字節進行補充。為減少算法復雜度,對同長報文比對后分類的各類中選取少數樣本組合成作為樣本集進行不同長報文比對。

2.4 字段語義推斷

    字段的語義表示協議將如何使用該字段,包括會話標識符、序號、地址、長度字段、格式標識字段、校驗和、時間戳等。以不同字段在協議語法層次中表現出的不同特征作為語義推斷的依據,對不同字段按照相應的識別方法進行識別。由于單報文處理中已將文本字段、時間戳字段、校驗和字段等進行了識別,因此該階段主要在二進制數據段內對標識符、序號、長度、地址、功能碼、數據等字段進行識別。最后對提取的格式進行整理融合,最終得到協議的格式結構。

    序號字段是用于標識報文在一個會話的先后順序。特征是一般靠近段首,取值一直變化,且與報文的截獲先后順序相對應。可以對未知的數值變化段進行判斷,如其取值變化與報文的截獲序號成正相關的關系,則判定為序號字段。

    長度字段是報文中用于定界的字段,字段長度通常為2 B或4 B,取值與樣本中的某一字段或連續的某幾個字段的長度相等,作用域通常在該字段之后或包含所有字段。識別策略為判斷該字段值與其后的某一字段或連續的某幾個字段的長度、或與所有字段總長度是否相等,若相等則判定為長度字段。

    格式標識字段是指用于區別報文中部分子格式序列的關鍵字段,多為協議格式字段或功能碼字段,格式標識字段的取值一般類型較少、變化率小,且與后續字段序列的格式相關聯,作用域多位于其后區域。如果該字段變化導致后部所有字段格式發生變化,將其識別為協議格式字段。

    數據字段是指對報文結構和其他關鍵字段影響不大或沒有直接影響的可變字段,一般指報文的負載。特征是隨機性強,且變化無規律可循,長度可能不固定,通常位于協議后部或尾部,對于序列比對中需要插入空位的可變字段,判定為數據字段,文本字段也判定為數據字段。

3 方法驗證

    以兩種典型ICS系統中的通信數據作為數據源進行驗證。以某PLC與工程師站組態軟件之間的通信協議數據包為數據源,采用本文所述方法對協議進行逆向識別,識別的格式結果如表2所示。

jsj2-b2.gif

    以某DCS中的通信數據為數據源,對其進行協議的逆向識別,得到3種主要的協議格式類型,如圖5所示,格式I、II中請求報文格式和應答報文的格式不同,格式III請求和應答采用同種格式。

jsj2-t5.gif

4 結論

    工控協議逆向格式識別是協議安全性分析的重要前提。本文根據工控協議的特點,提出基于網絡流量技術,采用單報文處理、多報文處理、字段語義推斷3個階段進行協議格式逆向識別的方法。通過對兩種協議數據源的驗證可以看出,本文方法能較好地逆向協議格式,提取出協議格式標識、序號、長度、數據等關鍵字段。

    受基于網絡流量逆向分析技術的局限性,本文方法對協議功能碼具體語義的識別率較低。未來研究方向為將人工先驗知識和機器學習方法引入協議逆向識別中,同時結合協議上下文,實現更高的樣本覆蓋率,以提高協議逆向識別的準確度,同時得到協議轉換的狀態機[9]

參考文獻

[1] 屈婉瑩,魏為民,朱蘇榕.工業控制系統通信協議安全研究[C].2015年全國智能電網用戶端能源管理學術年會論文集,上海,2015:220-224.

[2] 吳禮發,洪征,潘璠.網絡協議逆向分析及應用[M].北京:國防工業出版社,2016.

[3] MARSHALL B.The protocol information project[EB/OL].(2011-03-20)[2017-03-14].http://www.4tphi.net/~awal-ters/PI/PI.html.

[4] SHEVERTALOV M,MANCORIDIS S.A reverse engineering tool for extracting protocols of networked applications[C].Proceedings of the 14th Working Conference on Reverse Engineering,IEEE Computer Society,Washington DC,USA,2007:229-238.

[5] CUI W,KANNAN J,WANG H J.Discover:automatic protocol reverse engineering from network traces[C].16th USENIX Security Symposium,2007:199-212.

[6] BOSSERT G,GUIHERY F.Security evaluation of communication protocols in common criteria[EB/OL].(2014-03-20)[2017-03-14].http://www.netzob.org.

[7] 孫芳慧.基于Net-Trace的未知協議格式逆向技術研究[D].哈爾濱:哈爾濱工業大學,2015.

[8] 張黎.基于Net-Trace的網絡協議逆向工程方法研究[D].武漢:華中科技大學,2011.

[9] 蘇彬彬.無線網絡環境下未知協議語義分析與提取技術[D].成都:電子科技大學,2014.



作者信息:

程必成,劉仁輝,趙云飛,許鳳凱

(華北計算機系統工程研究所 工業控制系統信息安全技術國家工程實驗室,北京100083)

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
夜夜嗨av一区二区三区| 性18欧美另类| 亚洲在线免费| 99热精品在线| 日韩小视频在线观看| 亚洲欧洲综合另类| 亚洲激情网站免费观看| 亚洲国产欧美一区二区三区丁香婷| 精品999网站| 国产一区二区在线观看免费播放| 国产精品人人爽人人做我的可爱| 国产精品xxxxx| 欧美视频在线观看| 国产精品hd| 国产精品美女久久福利网站| 国产精品久久久久久福利一牛影视 | 亚洲性人人天天夜夜摸| 一区二区日韩精品| 中日韩午夜理伦电影免费| 一区二区三区国产| 亚洲一区二区三区乱码aⅴ| 亚洲伊人久久综合| 亚洲永久免费视频| 久久成人免费日本黄色| 久久精品视频网| 亚洲精品黄色| 一本色道久久综合亚洲精品小说| 一本色道久久88综合亚洲精品ⅰ| 在线亚洲欧美| 午夜精品影院在线观看| 欧美在线视频播放| 久久影院午夜片一区| 欧美成人综合在线| 欧美极品aⅴ影院| 欧美三级在线播放| 国产欧美日韩亚州综合| 黄色亚洲在线| 亚洲欧洲日本专区| 中文一区二区| 欧美在线观看视频在线| 亚洲欧洲美洲综合色网| 洋洋av久久久久久久一区| 亚洲免费网址| 久久久久久久久久久成人| 欧美大片免费观看在线观看网站推荐| 欧美精品一区二| 国产精品自在欧美一区| 韩日欧美一区| 亚洲精品久久久久久久久久久久久| 在线亚洲一区观看| 欧美伊人精品成人久久综合97| 亚洲激情视频在线| 亚洲男人影院| 久久综合亚洲社区| 欧美日韩免费观看一区二区三区| 国产精品日韩在线播放| 极品裸体白嫩激情啪啪国产精品| 亚洲精品免费在线| 欧美亚洲视频在线观看| 亚洲人成人99网站| 亚洲欧美日韩在线不卡| 可以看av的网站久久看| 欧美视频一区| 在线观看亚洲a| 亚洲一区二区伦理| 亚洲精品国产精品久久清纯直播| 亚洲在线成人| 麻豆亚洲精品| 国产精品一区久久久| 亚洲国产91| 午夜精品国产精品大乳美女| 亚洲精品欧美专区| 久久精品国产亚洲5555| 欧美日韩中文字幕综合视频| 国产一区香蕉久久| 一区二区福利| 亚洲精品一区二区三区不| 欧美一区二区久久久| 欧美精品高清视频| 国产亚洲激情在线| 夜夜精品视频一区二区| 久久精品视频网| 欧美一区观看| 欧美日韩激情小视频| 影音先锋一区| 久久国产精品久久国产精品| 亚洲一区在线免费| 欧美理论在线| 1769国产精品| 欧美一区二区三区在线| 亚洲欧美日韩国产中文| 欧美日韩国产精品一卡| 亚洲二区在线观看| 亚洲第一页在线| 欧美在线一二三| 国产精品久久久一区二区三区| 亚洲精品日本| 亚洲精品久久久久久久久久久| 久久免费视频这里只有精品| 国产精品久久久久久久久| 亚洲精品国产精品国自产观看浪潮 | 亚洲一区二区在线| 亚洲视频欧洲视频| 欧美精品99| 亚洲国产第一页| 久久精品一区二区三区中文字幕 | 久久九九热re6这里有精品 | 国产欧美日韩精品丝袜高跟鞋| 99精品99久久久久久宅男| 日韩图片一区| 欧美国产精品人人做人人爱| 极品尤物久久久av免费看| 欧美在线视频观看| 久久久99久久精品女同性| 国产日本欧美一区二区三区在线 | 欧美一区国产在线| 国产精品视区| 亚洲欧美日韩电影| 欧美一二区视频| 国产农村妇女毛片精品久久莱园子 | 一区一区视频| 欧美影院精品一区| 久久久久免费观看| 国产主播一区| 亚洲风情在线资源站| 久久躁日日躁aaaaxxxx| 雨宫琴音一区二区在线| 亚洲电影毛片| 免费在线观看一区二区| 1024亚洲| 亚洲伦理在线| 欧美日本成人| 99精品99久久久久久宅男| 亚洲欧美另类在线| 国产精品久久9| 亚洲一区免费观看| 欧美在线视频一区二区| 国产在线视频欧美| 亚洲国产欧美一区二区三区同亚洲 | 99re6这里只有精品| 中文日韩电影网站| 欧美日精品一区视频| 在线综合欧美| 欧美一区激情视频在线观看| 国产一区二区三区在线免费观看| 亚洲第一页中文字幕| 欧美国产精品日韩| 一区二区三区不卡视频在线观看| 亚洲欧美日韩区 | 永久91嫩草亚洲精品人人| 亚洲欧洲在线视频| 欧美三级网址| 欧美一级午夜免费电影| 欧美成人精品在线| aa国产精品| 久久国产直播| 亚洲人成网站777色婷婷| 亚洲综合导航| 韩国精品主播一区二区在线观看| 亚洲精品中文字幕有码专区| 国产精品盗摄久久久| 欧美一区激情| 欧美激情bt| 亚洲综合日韩在线| 免费看的黄色欧美网站| 一区二区三区日韩欧美| 久久久www成人免费精品| 亚洲欧洲在线视频| 欧美在线播放| 最新中文字幕亚洲| 欧美在线观看网站| 亚洲激情网站| 久久成人亚洲| 亚洲免费精品| 久久久久久久999| aa日韩免费精品视频一| 久久久久国产一区二区| 亚洲九九爱视频| 久久精品在线视频| 一区二区不卡在线视频 午夜欧美不卡在 | 国产精品99久久久久久www| 久久久久国产一区二区| 99精品国产高清一区二区| 久久免费高清视频| 一区二区三区日韩欧美精品| 蜜臀av在线播放一区二区三区| 在线视频欧美日韩| 欧美 日韩 国产在线| 亚洲已满18点击进入久久| 欧美va天堂| 羞羞色国产精品| 欧美日韩一区在线观看| 亚洲高清av在线| 国产精品男gay被猛男狂揉视频| 91久久中文| 国产网站欧美日韩免费精品在线观看 | 在线性视频日韩欧美| 欧美不卡福利| 欧美一区国产二区| 国产精品久久久久久久久动漫|