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