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