《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 面向模糊測試的工業(yè)控制協議逆向方法研究
面向模糊測試的工業(yè)控制協議逆向方法研究
網絡安全與數據治理 2023年3期
劉俐媛,霍朝賓,賀敏超
(華北計算機系統(tǒng)工程研究所,北京100083)
摘要: 模糊測試是傳統(tǒng)的漏洞挖掘方法之一,在工業(yè)控制領域,針對一些不公開協議規(guī)范的私有協議,由于無法獲取協議格式及語義信息,模糊測試在對其脆弱性分析上存在用例冗余度高、測試效率低等問題。通過將協議逆向與模糊測試相結合,提出了應用動態(tài)污點分析的協議逆向方法,從函數和指令級分析工業(yè)控制協議報文在程序運行中的軌跡信息,依據軌跡日志構造協議語法樹,生成語義信息,指導測試用例生成,并使用Peach模糊測試框架進行測試,證明了該方法能有效減少測試冗余,提高測試效率。
中圖分類號:TP309
文獻標識碼:A
DOI:10.19358/j.issn.2097-1788.2023.03.002
引用格式:劉俐媛,霍朝賓,賀敏超.面向模糊測試的工業(yè)控制協議逆向方法研究[J].網絡安全與數據治理,2023,42(3):8-12.
Research on reverse method of industrial control protocol for fuzz testing
Liu Liyuan,Huo Chaobin,He Minchao
(National Computer System Engineering Research Institute of China, Beijing 100083, China)
Abstract: Fuzz testing is one of the traditional vulnerability mining methods. In the field of industrial control, for some private protocols that do not disclose protocol specifications, fuzz testing has problems of high redundancy of use cases and low testing efficiency in vulnerability analysis due to the inability to obtain protocol format and semantic information. By combining protocol inversion with fuzz testing, this paper proposes a protocol inversion method based on dynamic stain analysis. It analyzes the track information of industrial control protocol message in program operation from function and instruction level, constructs protocol syntax tree based on track log, generates semantic information, and guides test case generation. The Peach fuzz test framework is used to test, which proves that this method can effectively reduce test redundancy and improve test efficiency.
Key words : industrial control;protocol reverse; fuzz testing; dynamic taint analysis

0引言

在工業(yè)互聯網背景下,工業(yè)控制系統(tǒng)在更加開放和智能的同時也面臨著更大的安全挑戰(zhàn)。其中工業(yè)控制協議作為工業(yè)控制系統(tǒng)通信的語言,在工業(yè)控制系統(tǒng)的安全研究上是至關重要的一部分。工業(yè)控制系統(tǒng)本身與互聯網不同,系統(tǒng)本身存在很多未公開的私有協議,而這些協議沒有經過公開的測試,協議本身可能會存在某些漏洞或缺陷,通過協議格式分析進行防御的手段無法對未知協議奏效。所以針對協議規(guī)范未知的自定義協議,通過協議逆向方法進行分析變得非常重要,為后續(xù)模糊測試等漏洞挖掘方法提供基礎技術支撐。

協議逆向是對網絡中存在的未公開的協議通過對其在網絡中的輸入輸出、系統(tǒng)行為和程序執(zhí)行流程進行監(jiān)控和分析,提取協議規(guī)范描述信息的過程。在此基礎上,模糊測試依據逆向分析出的協議格式及狀態(tài)構建測試用例,能夠分析發(fā)現系統(tǒng)中的漏洞并及時修補,對于應對工業(yè)控制系統(tǒng)在實際運行中遇到的風險有重大意義。本文通過協議逆向的方法提取出工業(yè)控制協議的格式信息和語義信息,指導模糊測試生成測試用例進行漏洞挖掘。

協議逆向主要分為兩個研究方向:基于報文的協議逆向和基于指令執(zhí)行軌跡的協議逆向。兩種方法的分析對象有所不同,第一種以網絡流量作為研究對象,通過網絡抓包工具獲取大量報文作為預處理的樣本數據,研究各字段值的變化和特征,從而提取協議格式信息;第二種則是需要分析協議程序的報文解析過程,通過程序處理域邊界的方式獲得協議字段信息。

由于大部分工業(yè)控制協議屬于二進制數據流傳輸信息,不像文本數據具有顯著協議特征,因此基于報文的方法很難提取出較為準確的二進制協議格式。而基于指令執(zhí)行軌跡的方法則是通過程序內部的數據調用過程進行分析,得到的格式信息更為準確,此方法主要利用動態(tài)污點分析技術實現報文解析。對于模糊測試技術的發(fā)展,從Sulley、Peach等模糊測試工具的研發(fā)使用到對模糊測試用例生成方法的改進研究,一直在致力于測試效率的提高,目前已經取得了一定成就。

針對以上研究,本文將協議逆向和模糊測試相結合,使用基于動態(tài)污點分析的方法,分析程序中的指令執(zhí)行軌跡,得到協議格式并指導測試用例生成,通過Peach模糊測試框架進行模糊測試并對比,證明該方法能有效提高模糊測試的漏洞挖掘效率。



本文詳細內容請下載:http://ihrv.cn/resource/share/2000005249




作者信息:

劉俐媛,霍朝賓,賀敏超

(華北計算機系統(tǒng)工程研究所,北京100083)



微信圖片_20210517164139.jpg

此內容為AET網站原創(chuàng),未經授權禁止轉載。