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