引用格式:宗學(xué)軍,隋一凡,王國剛,等.基于生成對抗網(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)境相對封閉。因此,在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)是黑客主要的攻擊對象之一。因此,需要對工業(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)建?,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ù)流跟蹤和逆向分析,這種方式耗時(shí)費(fèi)力且需要大量資源。隨著神經(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做了實(shí)驗(yàn),提高測試用例的接受率;趙輝等[11]提出了一種稱為SeqFuzzer的模糊測試框架,該框架采用長短期記憶網(wǎng)絡(luò)LSTM作為Seq2Seq的編碼器和解碼器,能夠處理有狀態(tài)的時(shí)間特征,并對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é)合生成對抗網(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)作為鑒別器,提出了一種自動(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ò),缺少對工控協(xié)議的特殊考慮和針對性的功能設(shè)計(jì),缺少多種工控協(xié)議的能力。本文提出一種將改進(jìn)的生成對抗網(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è)評價(jià)指標(biāo)上優(yōu)于其他方法,為工業(yè)控制系統(tǒng)提供一種高效、通用的安全性評估方法,提升系統(tǒng)整體的安全性。
本文詳細(xì)內(nèi)容請下載:
http://ihrv.cn/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)