文獻標識碼:A
DOI:10.19358/j.issn.2097-1788.2023.03.002
引用格式:劉俐媛,霍朝賓,賀敏超.面向模糊測試的工業控制協議逆向方法研究[J].網絡安全與數據治理,2023,42(3):8-12.
0引言
在工業互聯網背景下,工業控制系統在更加開放和智能的同時也面臨著更大的安全挑戰。其中工業控制協議作為工業控制系統通信的語言,在工業控制系統的安全研究上是至關重要的一部分。工業控制系統本身與互聯網不同,系統本身存在很多未公開的私有協議,而這些協議沒有經過公開的測試,協議本身可能會存在某些漏洞或缺陷,通過協議格式分析進行防御的手段無法對未知協議奏效。所以針對協議規范未知的自定義協議,通過協議逆向方法進行分析變得非常重要,為后續模糊測試等漏洞挖掘方法提供基礎技術支撐。
協議逆向是對網絡中存在的未公開的協議通過對其在網絡中的輸入輸出、系統行為和程序執行流程進行監控和分析,提取協議規范描述信息的過程。在此基礎上,模糊測試依據逆向分析出的協議格式及狀態構建測試用例,能夠分析發現系統中的漏洞并及時修補,對于應對工業控制系統在實際運行中遇到的風險有重大意義。本文通過協議逆向的方法提取出工業控制協議的格式信息和語義信息,指導模糊測試生成測試用例進行漏洞挖掘。
協議逆向主要分為兩個研究方向:基于報文的協議逆向和基于指令執行軌跡的協議逆向。兩種方法的分析對象有所不同,第一種以網絡流量作為研究對象,通過網絡抓包工具獲取大量報文作為預處理的樣本數據,研究各字段值的變化和特征,從而提取協議格式信息;第二種則是需要分析協議程序的報文解析過程,通過程序處理域邊界的方式獲得協議字段信息。
由于大部分工業控制協議屬于二進制數據流傳輸信息,不像文本數據具有顯著協議特征,因此基于報文的方法很難提取出較為準確的二進制協議格式。而基于指令執行軌跡的方法則是通過程序內部的數據調用過程進行分析,得到的格式信息更為準確,此方法主要利用動態污點分析技術實現報文解析。對于模糊測試技術的發展,從Sulley、Peach等模糊測試工具的研發使用到對模糊測試用例生成方法的改進研究,一直在致力于測試效率的提高,目前已經取得了一定成就。
針對以上研究,本文將協議逆向和模糊測試相結合,使用基于動態污點分析的方法,分析程序中的指令執行軌跡,得到協議格式并指導測試用例生成,通過Peach模糊測試框架進行模糊測試并對比,證明該方法能有效提高模糊測試的漏洞挖掘效率。
本文詳細內容請下載:http://www.rjjo.cn/resource/share/2000005249
作者信息:
劉俐媛,霍朝賓,賀敏超
(華北計算機系統工程研究所,北京100083)