引用格式:宗學軍,隋一凡,王國剛,等.基于生成對抗網絡的工控協議模糊測試研究[J].網絡安全與數據治理,2024,43(7):13-20.
引言
工業控制系統已廣泛應用于能源、市政、水利、鐵路、石油石化等各個控制領域,是工業穩定運行不可或缺的重要組成部分。工業控制協議(Industrial Control Protocols,ICPs)是工業控制系統(Industrial Control System,ICS)中傳遞信息的通道,其安全性關系到整個系統的安全穩定運行。隨著工業4.0[1]時代的到來,ICS中的設備也開始接入互聯網。IT技術在提高生產力和帶來便利性的同時,也給ICS行業帶來了許多新的威脅。早期的工業控制系統處于物理隔離的狀態,生產環境相對封閉。因此,在ICPs設計之初,更多地考慮協議的實時性、高效性和便利性,而沒有考慮相關的網絡安全風險,忽略了網絡通信的基本安全屬性。然而,隨著工業控制系統大量使用基于IP的控制協議,或將傳統的基于串行的協議遷移到TCP/IP的應用層,工業控制系統開始暴露于互聯網。2010年的Stuxnet[2]、2014年的DrongFly[3]及其演變標志著工業控制協議已經是黑客主要的攻擊對象之一。因此,需要對工業控制協議展開漏洞挖掘研究確保其安全性,挖掘潛在漏洞并及時修復,確保工業控制系統的安全運行。近幾年國內外的一系列研究表明,模糊測試能夠作為挖掘ICPs潛在威脅的有效手段。相較于其他漏洞挖掘方法如靜態分析、動態分析、滲透測試,模糊測試具備自動化、高覆蓋、成本低等優點。模糊測試最早由Milter[4]于20世紀90年代提出,起初應用于軟件測試領域,后廣泛應用于網絡安全領域,通過模糊測試可以找到的一些漏洞類型,包括跨站點腳本、緩沖區溢出和拒絕服務等漏洞。模糊測試流程通過向目標提供非預期輸入并監視異常結果來發現漏洞,模糊測試工作主要由測試用例生成、測試用例運行、目標程序監測、異常分析(如圖1所示)四個階段組成,模糊測試的核心在于測試用例的構建?,F有面向ICPs的模糊測試工具大部分都依賴于協議語法語義,根據協議規范來指導測試用例的生成,比如以Peach[5]、AFL[6]、Sulley[7]為首的模糊器等,通過預設格式生成測試用例。然而大多數ICPs協議都是不公開的專有協議,而想了解協議的語法和語義就需要對ICPs通信的數據流跟蹤和逆向分析,這種方式耗時費力且需要大量資源。隨著神經網絡被應用于處理工控過程的復雜流量[8-9],以及生成滿足要求的模糊測試輸入,逐漸擺脫對協議規范的依賴。為了構建高效的測試用例,賴英旭等[10]使用循環神經網絡(RNN)學習協議規范,提出了反樣本的測試用例生成方法,并對Modbus/TCP做了實驗,提高測試用例的接受率;趙輝等[11]提出了一種稱為SeqFuzzer的模糊測試框架,該框架采用長短期記憶網絡LSTM作為Seq2Seq的編碼器和解碼器,能夠處理有狀態的時間特征,并對EhterCAT協議進行了測試,發現了幾個漏洞;寧博偉等[12]基于無監督學習和深度神經網絡,將模糊測試與協議逆向工程結合,使用投票專家算法推斷協議邊界,結合具有注意力機制的雙向長短期記憶網絡提取格式和語義特征;其中尤其以結合生成對抗網絡(GAN)的模糊測試表現最為出色,由于生成對抗網絡在圖像生成領域中出色的學習能力,且生成器和鑒別器的組成結構,讓胡志成等[13]使用RNN、LSTM作為生成對抗網絡的生成器,卷積神經網絡(CNN)作為鑒別器,提出了一種自動化智能模糊測試框架GANFuzz。此外,與GAN相關的優化方法如SeqGAN等[14]也與ICPs模糊測試結合。目前大多數研究工作傾向于將神經網絡與模糊測試結合,構建改進的模糊測試框架,然而上述方法太過于依賴單一神經網絡,缺少對工控協議的特殊考慮和針對性的功能設計,缺少多種工控協議的能力。本文提出一種將改進的生成對抗網絡WGAN-GP(Wasserstein Generative Adversarial Network with Gradient Penalty)應用于模糊測試用例生成的方法,結合統計語言概率模型N-gram修正訓練結果,在上述基礎上設計了面向多種ICPs的通用模糊測試框架GPFuzz。實驗表明,該框架在多個評價指標上優于其他方法,為工業控制系統提供一種高效、通用的安全性評估方法,提升系統整體的安全性。
本文詳細內容請下載:
http://www.rjjo.cn/resource/share/2000006086
作者信息:
宗學軍1,2,隋一凡1,2,王國剛1,2,寧博偉2,3,何戡1,2,連蓮1,2,孫逸菲1,2
(1.沈陽化工大學信息工程學院,遼寧沈陽110142;
2.遼寧省石油化工行業信息安全重點實驗室,遼寧沈陽110142;
3.沈陽工業大學人工智能學院,遼寧沈陽110870)