周 文 張世琨 丁 勇 陳 曦
1(北京大學(xué)軟件與微電子學(xué)院 北京 100871) 2(北京大學(xué)軟件工程國(guó)家工程研究中心 北京 100871) 3(中國(guó)航空油料集團(tuán)有限公司 北京 100088) 4(鵬城實(shí)驗(yàn)室 廣東深圳 518000) 5(中國(guó)軟件測(cè)評(píng)中心 北京 100048)
云-邊計(jì)算、人工智能、物聯(lián)網(wǎng)等新一代信息技術(shù)與工業(yè)制造技術(shù)的加速融合,促使工業(yè)控制系統(tǒng)由封閉走向開(kāi)放、由單機(jī)走向互聯(lián)、由自動(dòng)化走向智能化;拓展了工業(yè)控制系統(tǒng)發(fā)展空間但同時(shí)擴(kuò)大了工業(yè)控制系統(tǒng)攻擊面,工業(yè)控制網(wǎng)絡(luò)面臨的傳統(tǒng)安全威脅和工控網(wǎng)絡(luò)特有的安全威脅日益增多.近10年里,工業(yè)控制網(wǎng)絡(luò)經(jīng)歷了各種網(wǎng)絡(luò)攻擊,造成巨大損失.臺(tái)灣積體電路制造股份有限公司(中文簡(jiǎn)稱(chēng):臺(tái)積電,英文簡(jiǎn)稱(chēng):TSMC)2018年8月遭網(wǎng)絡(luò)攻擊,損失1.7億美元[1];全球知名鋁生產(chǎn)商挪威海德魯公司(Norsk Hydro A.S.)2019年3月遭網(wǎng)絡(luò)攻擊,損失4 000萬(wàn)美元[2];全球知名汽車(chē)零部件制造商豐田集團(tuán)旗下子公司——日本豐田紡織株式會(huì)社(TOYOTA BOSHOKU),2019年9月遭遇攻擊,損失3 700萬(wàn)美元[3].工業(yè)系統(tǒng)的網(wǎng)絡(luò)攻擊正成為一種日趨嚴(yán)重的安全威脅.
入侵檢測(cè)是一種主動(dòng)防御措施,能夠及時(shí)發(fā)現(xiàn)目標(biāo)系統(tǒng)潛在的入侵行為[4].機(jī)器學(xué)習(xí)算法,特別是深度神經(jīng)網(wǎng)絡(luò)(deep neural networks, DNNs)學(xué)習(xí)算法在工控網(wǎng)絡(luò)系統(tǒng)入侵檢測(cè)方面展示了卓越的檢測(cè)能力[5-6].與信息網(wǎng)絡(luò)不同,工業(yè)控制領(lǐng)域常用的監(jiān)視控制與數(shù)據(jù)采集系統(tǒng)(supervisory control and data acquisition, SCADA),網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)固定,節(jié)點(diǎn)之間的事務(wù)重復(fù)并有規(guī)則,這種相對(duì)固定的工作模式更加有利于入侵檢測(cè)系統(tǒng)(intrusion detection system, IDS)檢測(cè)異?;顒?dòng).
然而機(jī)器學(xué)習(xí)算法由于本身存在一些缺陷,導(dǎo)致其容易受到由對(duì)抗樣本引起的白盒或黑盒攻擊[7-17].對(duì)抗樣本是導(dǎo)致學(xué)習(xí)算法錯(cuò)誤分類(lèi)的數(shù)據(jù)集,攻擊者通過(guò)對(duì)正常數(shù)據(jù)集進(jìn)行不明顯的修改來(lái)迫使機(jī)器學(xué)習(xí)算法在面對(duì)這些對(duì)抗樣本時(shí)表現(xiàn)出不魯棒行為,對(duì)修改過(guò)的數(shù)據(jù)集產(chǎn)生錯(cuò)誤分類(lèi).對(duì)抗樣本攻擊根據(jù)攻擊者是否完全掌握機(jī)器學(xué)習(xí)模型(包括模型的結(jié)構(gòu)及參數(shù)值、特征集合、訓(xùn)練方法,在某些情況下還包括其訓(xùn)練數(shù)據(jù)),可以分為白盒和黑盒攻擊.攻擊者在完全了解機(jī)器學(xué)習(xí)模型的前提下,產(chǎn)生對(duì)抗樣本,該樣本對(duì)于該機(jī)器學(xué)習(xí)模型的攻擊就稱(chēng)為對(duì)抗樣本白盒攻擊.具有不同架構(gòu)的2個(gè)機(jī)器學(xué)習(xí)算法,其中一個(gè)機(jī)器學(xué)習(xí)算法A產(chǎn)生的對(duì)抗樣本能導(dǎo)致另一個(gè)機(jī)器學(xué)習(xí)算法B對(duì)該對(duì)抗樣本以高置信度做出誤判,就稱(chēng)機(jī)器學(xué)習(xí)算法B遭受了對(duì)抗樣本黑盒攻擊.
目前關(guān)于對(duì)抗樣本攻擊的研究集中在非結(jié)構(gòu)化數(shù)據(jù)集或者是特征豐富(高維)的結(jié)構(gòu)化數(shù)據(jù)集.本文的研究對(duì)象是工控網(wǎng)絡(luò)數(shù)據(jù)集,選取了密西西比大學(xué)公開(kāi)的結(jié)構(gòu)化的低維(特征少)天然氣數(shù)據(jù)集[18],旨在通過(guò)構(gòu)建實(shí)驗(yàn)來(lái)分析4個(gè)常見(jiàn)優(yōu)化算法SGD[19],RMSProp[20],AdaDelta[21]和Adam[22]與對(duì)抗樣本攻擊力的關(guān)系,分析對(duì)抗樣本對(duì)典型機(jī)器學(xué)習(xí)算法的攻擊力,并研究對(duì)抗訓(xùn)練是否能有效提高深度學(xué)習(xí)算法抗白盒攻擊的能力.
本文的主要貢獻(xiàn)有4個(gè)方面:
1) 基于DNN模型生成了對(duì)抗樣本,并調(diào)查了典型優(yōu)化算法(SGD,RMSProp,AdaDelta和Adam)對(duì)對(duì)抗性樣本的生成能力的影響.實(shí)驗(yàn)結(jié)果顯示基于Adam優(yōu)化算法的DNN模型在對(duì)抗樣本生成方面,具有高收斂速度和高生成率.
2) 提出了一個(gè)新指標(biāo)來(lái)評(píng)估典型優(yōu)化算法與對(duì)抗樣本白盒攻擊能力的關(guān)系,并與文獻(xiàn)[17]提出的指標(biāo)進(jìn)行對(duì)比.實(shí)驗(yàn)結(jié)果顯示,基于Adam優(yōu)化算法的DNN模型產(chǎn)生的對(duì)抗樣本白盒攻擊力最強(qiáng),可以最大程度地提高結(jié)構(gòu)化數(shù)據(jù)集的錯(cuò)誤分類(lèi).
3) 比較典型機(jī)器學(xué)習(xí)算法(決策樹(shù)、隨機(jī)森林、支持向量機(jī)、AdaBoost、邏輯回歸、CNN和RNN)的抗對(duì)抗樣本黑盒攻擊的能力,以及評(píng)估不同優(yōu)化算法產(chǎn)生的對(duì)抗樣本對(duì)各個(gè)機(jī)器學(xué)習(xí)算法的攻擊能力.實(shí)驗(yàn)結(jié)果顯示,對(duì)抗樣本對(duì)各個(gè)典型機(jī)器學(xué)習(xí)算法都具有黑盒攻擊能力,RNN對(duì)黑盒攻擊的防御能力最好,使用Adam優(yōu)化算法的DNN模型產(chǎn)生的對(duì)抗樣本的黑盒攻擊能力最強(qiáng),使用AdaDelta優(yōu)化算法的DNN模型產(chǎn)生的對(duì)抗樣本的黑盒攻擊能力最弱.
4) 通過(guò)對(duì)抗樣本訓(xùn)練,提高深度學(xué)習(xí)模型對(duì)對(duì)抗樣本白盒攻擊的防御能力.
公開(kāi)文獻(xiàn)調(diào)研結(jié)果顯示:這是首次在工控網(wǎng)數(shù)據(jù)集上調(diào)查優(yōu)化算法對(duì)對(duì)抗樣本的白盒攻擊和黑盒攻擊能力的影響,也是首次調(diào)查典型機(jī)器學(xué)習(xí)算法抗對(duì)抗樣本黑盒攻擊的能力.
本節(jié)首先介紹本文涉及到的一些概念知識(shí),然后討論相關(guān)工作.
機(jī)器學(xué)習(xí)模型旨在學(xué)習(xí)其輸入和輸出之間的映射.通常,給定輸入input由x個(gè)特征組成,模型會(huì)產(chǎn)生輸出output,該輸出是y維向量,表示input被分類(lèi)為每個(gè)類(lèi)別的概率.本文探索典型機(jī)器學(xué)習(xí)模型,包括決策樹(shù)[23]、隨機(jī)森林[24]、支持向量機(jī)[25]、AdaBoost[26]、邏輯回歸[27]、卷積神經(jīng)網(wǎng)絡(luò)(convo-lutional neural network, CNN)[28]和循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)[28].
深度學(xué)習(xí)過(guò)程實(shí)則為一個(gè)優(yōu)化算法進(jìn)行最優(yōu)化求解的過(guò)程,首先求解最小化目標(biāo)函數(shù)(又稱(chēng)為損失函數(shù))ξ(θ)的梯度ξ(θ),然后向負(fù)梯度方向更新參數(shù)θ,即θt=θt-1-ηξ(θ),其中η為學(xué)習(xí)率.根據(jù)深度學(xué)習(xí)優(yōu)化算法梯度與學(xué)習(xí)率關(guān)系,深度學(xué)習(xí)優(yōu)化算法可分為2個(gè)大類(lèi):1)學(xué)習(xí)率η不受梯度ξ(θ)影響,即η全程不變或者按照一定規(guī)則隨時(shí)間變化,隨機(jī)梯度下降法(SGD)、帶Momentum的SGD和帶Nesterov的SGD都屬于這一類(lèi);2)優(yōu)化過(guò)程中,學(xué)習(xí)率隨著梯度自適應(yīng)地改變,并盡可能去消除給定的全局學(xué)習(xí)率的影響,這一類(lèi)優(yōu)化器有很多,包括AdaDelta,RMSProp和Adam等.本文考慮4種已經(jīng)應(yīng)用于各種深度學(xué)習(xí)任務(wù)并取得出色效果的算法:SGD,RMSProp,AdaDelta和Adam.
Szegedy等人[7]中發(fā)現(xiàn)了DNN存在對(duì)抗樣本,并提出了一種通過(guò)盒約束優(yōu)化方法來(lái)可靠檢測(cè)這些擾動(dòng)的方法,該方法的有效性取決于內(nèi)部網(wǎng)絡(luò)狀態(tài).文獻(xiàn)[8]中引入了另一種對(duì)抗樣本生成技術(shù),也就是快速梯度符號(hào)方法(fast gradient sign method, FGSM),該方法核心思想是通過(guò)梯度來(lái)生成攻擊噪聲,即通過(guò)模型的損失函數(shù)對(duì)樣本求導(dǎo)、取符號(hào)函數(shù)、乘上擾動(dòng)強(qiáng)度來(lái)產(chǎn)生對(duì)抗樣本.文獻(xiàn)[8]給的實(shí)例如圖1所示,圖1(a)是原圖,一般的分類(lèi)模型都會(huì)將其分類(lèi)為熊貓(panda),但是通過(guò)添加由神經(jīng)網(wǎng)絡(luò)梯度生成的攻擊噪聲圖1(b)后,得到圖1(c)的攻擊圖像,雖然看起來(lái)還是熊貓,但是模型卻將其分類(lèi)為長(zhǎng)臂猿(gibbon).
Fig. 1 Generating adversarial examples by using FGSM[8]圖1 FGSM產(chǎn)生對(duì)抗樣本[8]
基于FGSM和原始損耗梯度,Rozsa等人[9]提出了一種新的對(duì)抗樣本生成方法,即熱/冷(HC)方法,該方法能夠?yàn)槊總€(gè)輸入有效地生成多個(gè)對(duì)抗樣本.Papernot等人[10]介紹了一種通過(guò)利用模型輸入和輸出之間的映射關(guān)系來(lái)產(chǎn)生擾動(dòng)的方法,他們使用前向?qū)?shù)評(píng)估模型輸出對(duì)每個(gè)輸入的敏感度.此外,Papernot等人[11]提出了面向RNN的對(duì)抗性輸入序列的方法.以上這些工作都是討論對(duì)抗樣本的白盒攻擊.與這些產(chǎn)生對(duì)抗樣本工作不同的是,本文旨在驗(yàn)證優(yōu)化算法是否會(huì)對(duì)對(duì)抗樣本的白盒攻擊能力造成影響.
除白盒攻擊外,Papernot等人[12]引入了具有替代數(shù)據(jù)集的黑盒攻擊,并提出DNN架構(gòu)對(duì)對(duì)抗性樣本的可傳遞性影響是有限的.Gao等人[13]引入了替代訓(xùn)練和線性增強(qiáng)來(lái)增強(qiáng)對(duì)抗樣本黑盒攻擊.Shi等人[14]介紹了一種使用Curls迭代和Whey優(yōu)化的新型對(duì)抗樣本黑盒攻擊,可以使軌跡多樣化并壓縮噪聲.Grosse等人[15]采用基于網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)數(shù)據(jù)集NSL-KDD和Android惡意軟件檢測(cè)數(shù)據(jù)集DREBIN來(lái)分析對(duì)抗樣本.Wang等人[16]研究了對(duì)抗樣本的黑盒攻擊能力.以上這些工作都是針對(duì)某一特定優(yōu)化算法開(kāi)展的.Wang等人[17]研究了不同優(yōu)化算法對(duì)對(duì)抗樣本白盒和黑盒攻擊能力的影響.文獻(xiàn)[17]與本文工作相似,二者之間的區(qū)別有4方面:
1) 數(shù)據(jù)集特征數(shù)目不一樣,即數(shù)據(jù)集維數(shù)不一樣.本文考慮的數(shù)據(jù)集的特征數(shù)目不到20,而文獻(xiàn)[17]研究的各個(gè)數(shù)據(jù)集至少有100個(gè)特征.
2) 對(duì)抗樣本生成方法不一樣.本文使用FGSM[8],而文獻(xiàn)[17]利用JSMA(jacobian-based saliency map approach)[10]來(lái)生成對(duì)抗樣本.
3) 評(píng)估對(duì)抗樣本白盒攻擊能力的指標(biāo)不一樣.本文提出用同比損失率,而文獻(xiàn)[17]用的是Dvalue,具體定義見(jiàn)2.3節(jié).
4) 本文在對(duì)抗樣本黑盒攻擊能力方面調(diào)研了更多機(jī)器學(xué)習(xí)算法的防御能力.
對(duì)抗樣本生成的基本思路是:在訓(xùn)練模型的過(guò)程中,把輸入固定,然后調(diào)整參數(shù),使得最后結(jié)果能對(duì)應(yīng)到相應(yīng)的輸入;生成對(duì)抗樣本時(shí),將模型固定,通過(guò)調(diào)整輸入,觀察在哪個(gè)特征方向上只需要微小的擾動(dòng)即可使得模型給出想要的錯(cuò)分的分類(lèi)結(jié)果.
在關(guān)于檢測(cè)和防御對(duì)抗樣本的機(jī)制方面,Papernot等人[11]介紹了一種防御機(jī)制,以減少對(duì)抗樣本對(duì)DNN的影響.Li等人[29]提出了一種通過(guò)使用卷積層輸出的統(tǒng)計(jì)信息來(lái)檢測(cè)對(duì)抗樣本的方法.Tramèr等人[30]介紹了集成對(duì)抗訓(xùn)練方法,通過(guò)從其他模型傳遞的擾動(dòng)來(lái)增加訓(xùn)練數(shù)據(jù);實(shí)驗(yàn)結(jié)果表明,該技術(shù)對(duì)黑盒攻擊具有強(qiáng)大魯棒性.
生成對(duì)抗樣本的主要方法有FGSM和JSMA.Szegedy等人[7]首次提出針對(duì)深度學(xué)習(xí)場(chǎng)景下的對(duì)抗樣本生成算法—BFGS,提出深度神經(jīng)網(wǎng)絡(luò)所具有的強(qiáng)大的非線性表達(dá)能力和模型的過(guò)擬合可能是產(chǎn)生對(duì)抗樣本原因之一.Goodfellow等人[8]對(duì)該問(wèn)題進(jìn)行了更深層次的研究,認(rèn)為高維空間下深度神經(jīng)網(wǎng)絡(luò)的線性行為是導(dǎo)致該問(wèn)題的根本原因,并設(shè)計(jì)出一種快速有效的對(duì)抗樣本生成算法—FGSM;該方法通過(guò)求出模型對(duì)輸入的導(dǎo)數(shù),然后用符號(hào)函數(shù)得到其具體的梯度方向,接著乘以一個(gè)步長(zhǎng),把得到的“擾動(dòng)”加在原來(lái)的輸入,從而得到FGSM對(duì)抗樣本.JSMA是由Papernot等人[10]在2016年提出的一種對(duì)抗樣本生成算法,通過(guò)對(duì)數(shù)據(jù)集部分特征進(jìn)行擾動(dòng)來(lái)生成對(duì)抗樣本,不僅可以誤導(dǎo)神經(jīng)網(wǎng)絡(luò)輸出錯(cuò)誤的分類(lèi)結(jié)果,還可以預(yù)設(shè)一個(gè)目標(biāo),讓神經(jīng)網(wǎng)絡(luò)輸出指定的(錯(cuò)誤)分類(lèi)結(jié)果.由于本文考慮的數(shù)據(jù)集的特征少,很難用JSMA生成對(duì)抗樣本,因此采用FGSM方法通過(guò)對(duì)每個(gè)特征進(jìn)行擾動(dòng)來(lái)生成對(duì)抗樣本.
本節(jié)介紹了數(shù)據(jù)預(yù)處理方法,給出了白盒和黑盒攻擊實(shí)驗(yàn)的設(shè)計(jì),描述了評(píng)估指標(biāo).
原始數(shù)據(jù)通常會(huì)出現(xiàn)數(shù)據(jù)不完整或數(shù)據(jù)無(wú)用問(wèn)題,數(shù)據(jù)預(yù)處理目的就是糾正這些錯(cuò)誤,或者刪除存在問(wèn)題的數(shù)據(jù),因此需要對(duì)原始數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理.對(duì)于本文使用的天然氣數(shù)據(jù)集,一共有274 628條記錄,其中有210 528條記錄特征并不完整,也就是說(shuō)76.7%的記錄不完整.如果利用少量的23.3%的完整數(shù)據(jù)記錄,通過(guò)平均值或其他方法來(lái)填充76.7%缺失數(shù)據(jù),很難使修補(bǔ)的數(shù)據(jù)記錄能有效表述數(shù)據(jù)記錄真實(shí)特點(diǎn);鑒于此考慮,本文去掉了特征缺失記錄.最終獲得了64 100條完整的數(shù)據(jù)記錄,這也導(dǎo)致特征更少,原始數(shù)據(jù)的特征不到30,該數(shù)據(jù)集一共有七大類(lèi)攻擊類(lèi)型,即label 2~label 8,每類(lèi)中還包含了子類(lèi),例如MSCI(3)表示該類(lèi)攻擊具體包含3個(gè)子類(lèi).表1給出了原始數(shù)據(jù)的特征,其中前4行是預(yù)處理后的數(shù)據(jù)包含的特征.
Table 1 Attack Types表1 攻擊類(lèi)型
在天然氣數(shù)據(jù)集中,針對(duì)離散特征,我們采用One-hot編碼,針對(duì)連續(xù)特征采用Standard Scaler編碼方法.這2種編碼方法具體內(nèi)容為:
1) One-hot編碼.回歸、分類(lèi)、聚類(lèi)等機(jī)器學(xué)習(xí)算法的特征之間距離計(jì)算或相似度計(jì)算都是在歐氏空間進(jìn)行.One-hot編碼將離散特征的取值擴(kuò)展到了歐氏空間,離散特征的某個(gè)取值對(duì)應(yīng)歐氏空間的某個(gè)點(diǎn).離散型特征使用One-hot編碼,能讓特征之間的距離計(jì)算更加合理.例如,本文采用的天然氣數(shù)據(jù)集中的system mode,統(tǒng)計(jì)結(jié)果顯示該特征一共有3個(gè)特征值,分別是0,1,2,那么其One-hot編碼分別是:0用[0,0,1]表示,1用[0,1,0]表示,2用[1,0,0]表示.
2) Standard Scaler編碼.數(shù)據(jù)集的標(biāo)準(zhǔn)化是許多機(jī)器學(xué)習(xí)估計(jì)器的共同要求:如果單個(gè)特征看起來(lái)不太像標(biāo)準(zhǔn)正態(tài)分布數(shù)據(jù)(例如均值和單位方差為0的高斯),那么它們可能表現(xiàn)得很差.例如,學(xué)習(xí)算法的目標(biāo)函數(shù)中使用的許多元素(例如支持向量機(jī)的RBF核或線性模型的L1和L2正則化)假設(shè)所有特征都以0為中心并且具有相同順序的方差.如果一個(gè)特征具有比其他特征大幾個(gè)數(shù)量級(jí)的方差,則它可能主導(dǎo)目標(biāo)函數(shù),并使估計(jì)者無(wú)法像預(yù)期那樣正確地從其他特征中學(xué)習(xí).Standard Scaler編碼通過(guò)計(jì)算訓(xùn)練集中樣本的相關(guān)統(tǒng)計(jì)數(shù)據(jù),在每個(gè)特征上獨(dú)立地進(jìn)行居中和縮放,然后存儲(chǔ)均值和標(biāo)準(zhǔn)差,以便使用變換方法在以后的數(shù)據(jù)上使用.具體為
(1)
其中,μ是某一特征的均值,σ是該特征的標(biāo)準(zhǔn)差.最終我們得到了四分類(lèi)的數(shù)據(jù)集,如表2所示:
Table 2 Training and Testing Dataset After Pre-processing表2 預(yù)處理生成的訓(xùn)練集和測(cè)試集
本文考慮的對(duì)抗攻擊是通過(guò)構(gòu)造對(duì)抗性數(shù)據(jù)來(lái)實(shí)現(xiàn),之后該對(duì)抗性數(shù)據(jù)就如正常數(shù)據(jù)一樣輸入機(jī)器學(xué)習(xí)模型并得到欺騙的識(shí)別結(jié)果.在構(gòu)造對(duì)抗性數(shù)據(jù)的過(guò)程中,根據(jù)攻擊者是否掌握機(jī)器學(xué)習(xí)模型,可以分為白盒和黑盒攻擊.
2.2.1 對(duì)抗樣本的生成
FGSM和JSMA都可以用來(lái)生成對(duì)抗樣本.FGSM通過(guò)將損失函數(shù)的導(dǎo)數(shù)應(yīng)用于輸入來(lái)生成擾動(dòng).目前針對(duì)結(jié)構(gòu)化數(shù)據(jù)集產(chǎn)生的對(duì)抗樣本,都是采用JSMA,這些數(shù)據(jù)集特征豐富,但是對(duì)于特征少的數(shù)據(jù)集,JSMA很難生成對(duì)抗樣本,所以我們采用FGSM來(lái)合成對(duì)抗樣本.圖2給出了天然氣數(shù)據(jù)集的對(duì)抗樣本生成流程.
Fig. 2 Generating adversarial sample of Gas dataset圖2 天然氣數(shù)據(jù)集的對(duì)抗樣本生成
本文采用SGD,RMSProp,AdaDelta和Adam這4種優(yōu)化算法具有3個(gè)隱藏層的深度神經(jīng)網(wǎng)絡(luò)DNN模型來(lái)生成對(duì)抗樣本.分別用SGD模型、RMSProp模型、AdaDelta模型和Adam模型來(lái)表示這4種優(yōu)化算法下的DNN模型,相應(yīng)的對(duì)抗樣本分別表示成SGD對(duì)抗樣本、RMSProp對(duì)抗樣本、AdaDelta對(duì)抗樣本和Adam對(duì)抗樣本.這些模型除了要使用的優(yōu)化算法和學(xué)習(xí)率不同外,其他超參數(shù)都相同.學(xué)習(xí)率是優(yōu)化算法的一部分,并且不同的優(yōu)化算法具有不同的最優(yōu)學(xué)習(xí)率,以幫助其快速更新模型的參數(shù).因此,我們?yōu)槊總€(gè)優(yōu)化算法調(diào)整最佳學(xué)習(xí)率,以便基于該優(yōu)化算法的模型可以最快收斂并達(dá)到最佳性能.
4個(gè)模型中的3個(gè)隱藏層依次是256,512,128個(gè)節(jié)點(diǎn),選擇ReLU作為激活函數(shù),以確保模型的非線性;采用比率0.5法對(duì)模型進(jìn)行正則化并防止過(guò)擬合.輸入維和輸出維對(duì)應(yīng)于每個(gè)預(yù)處理數(shù)據(jù)集.實(shí)驗(yàn)將epoch設(shè)置為15,以調(diào)查在不同優(yōu)化算法下每種輪數(shù)下的對(duì)抗性樣本生成指標(biāo)的變化,從而獲得最適合對(duì)抗性樣本生成的模型.
2.2.2 白盒攻擊
白盒攻擊要求攻擊者能夠獲知目標(biāo)模型使用的算法,以及算法所使用的參數(shù).在白盒攻擊中,首先利用原樣本訓(xùn)練集對(duì)2.2.1節(jié)提到的4個(gè)模型(SGD模型、RMSProp模型、AdaDelta模型和Adam模型)進(jìn)行訓(xùn)練,從而獲得各自最適合原樣本測(cè)試集的模型,然后利用這些模型去測(cè)試2.2.1節(jié)生成的相應(yīng)的對(duì)抗樣本,從而評(píng)估優(yōu)化算法與對(duì)抗樣本白盒攻擊能力的關(guān)系.
2.2.3 黑盒攻擊
黑盒攻擊指攻擊者利用對(duì)抗性樣本的可傳遞性對(duì)目標(biāo)模型實(shí)施攻擊,攻擊者并不知道目標(biāo)模型所使用的算法和參數(shù).本文選擇決策樹(shù)、隨機(jī)森林和線性支持向量機(jī)、AdaBoost、邏輯回歸、CNN和RNN來(lái)評(píng)估對(duì)抗樣本針對(duì)典型機(jī)器學(xué)習(xí)模型和深度學(xué)習(xí)模型的跨模型攻擊能力.構(gòu)建的CNN層是conv16-conv32-full32,convN表示具有N個(gè)過(guò)濾器的卷積層,而fullN表示具有N個(gè)節(jié)點(diǎn)的完全連接層.RNN層為L(zhǎng)STM30-LSTM60-full32,其中LSTMN表示具有N個(gè)單位的LSTM層.這7個(gè)機(jī)器學(xué)習(xí)模型都先在原樣本訓(xùn)練集經(jīng)過(guò)調(diào)試,能夠?qū)υ瓨颖緶y(cè)試集有效進(jìn)行分類(lèi);然后對(duì)這些目標(biāo)模型分別注入對(duì)抗樣本,來(lái)評(píng)估對(duì)抗樣本黑盒攻擊能力以及評(píng)估各機(jī)器學(xué)習(xí)模型的抗黑盒攻擊能力.
在評(píng)估優(yōu)化算法對(duì)對(duì)抗樣本生成的影響方面,采用對(duì)抗性樣本的生成率來(lái)評(píng)估對(duì)抗性樣本生成的有效性:
(2)
如2.2節(jié)所述,本文將所有判別分為目標(biāo)判別和非目標(biāo)判別,這是一個(gè)二分類(lèi)問(wèn)題,可以采用混淆矩陣及其派生指標(biāo)來(lái)評(píng)估黑盒攻擊的性能.表3給出了混淆矩陣的定義.表4給出了分類(lèi)模型的評(píng)估指標(biāo)計(jì)算公式,精準(zhǔn)率(Precision)表示模型預(yù)測(cè)為正類(lèi)的數(shù)據(jù)中,正樣本所占的比例;召回率(Recall)表示真實(shí)結(jié)果為正類(lèi)的數(shù)據(jù)中,正樣本所占的比例;假正例率(FPR)是指真實(shí)結(jié)果為負(fù)類(lèi)的數(shù)據(jù)中,被錯(cuò)誤分到正樣本類(lèi)別中真實(shí)的負(fù)樣本所占的比例;F1-score綜合考慮了精準(zhǔn)率和召回率兩個(gè)指標(biāo);準(zhǔn)確率(ACC)是指真實(shí)結(jié)果占所有樣本的比例.
Table 3 The Confusion Matrix表3 混淆矩陣
Table 4 The Calculation Formula for Evaluation Index of Binary Classification Model
在白盒攻擊方面,采用同比損失率來(lái)評(píng)估對(duì)抗樣本的白盒攻擊能力,同比損失率可計(jì)算為
(3)
其中,ACC原樣本表示在原樣本測(cè)試集的ACC值,ACC惡意樣本代表對(duì)抗樣本數(shù)據(jù)集下的測(cè)試的ACC值.同比損失率大,則白盒攻擊能力強(qiáng).需要指出文獻(xiàn)[17]定義了Dvalue=ACC原樣本-ACC惡意樣本來(lái)評(píng)估對(duì)抗樣本的白盒攻擊能力,文獻(xiàn)[17]認(rèn)為Dvalue大,則白盒攻擊能力強(qiáng).
本節(jié)首先介紹生成的對(duì)抗樣本的結(jié)果以及對(duì)抗樣本白盒攻擊結(jié)果;然后給出對(duì)抗性樣本黑盒攻擊實(shí)驗(yàn)結(jié)果;最后給出對(duì)抗訓(xùn)練的實(shí)驗(yàn)結(jié)果.
實(shí)驗(yàn)測(cè)試環(huán)境為:Intel CoreTMi7-6700 CPU核心頻率3.4 GHz、內(nèi)存16 GB、實(shí)驗(yàn)用的軟件為T(mén)enserflow 2.0版.
Fig. 3 Crafting rate of Gas dataset圖3 天然氣數(shù)據(jù)集的對(duì)抗樣本生成率
本節(jié)介紹了DNN模型分別在4個(gè)優(yōu)化算法下生成對(duì)抗性樣本的結(jié)果,分別用SGD樣本、RMSProp樣本、Adam樣本和AdaDelta樣本表示由SGD模型、RMSProp模型、AdaDelta模型和Adam模型生成的對(duì)抗樣本.圖3給出了各模型對(duì)抗性樣本的生成率,可以觀測(cè)到Adam樣本收斂速度最快,RMSProp樣本和AdaDelta樣本的曲線波動(dòng)很大;AdaDelta樣本生成率先增加后降低,而其他樣本生成率曲線趨向穩(wěn)定.總之,生成率結(jié)果與文獻(xiàn)[17]結(jié)果截然相反.
圖4給出了原樣本訓(xùn)練集的DNN在原樣本測(cè)試集的ACC值.我們觀測(cè)到Adam模型收斂速度與RMSProp最接近,RMSProp比Adam略好,比其他模型都收斂快,而且ACC結(jié)果最好;收斂速度最慢的是AdaDelta模型,而且ACC最差.
Fig. 4 ACC of Gas dataset圖4 天然氣數(shù)據(jù)集的原樣本的ACC
Fig. 5 Normalized Dvalue of Gas dataset圖5 天然氣數(shù)據(jù)集的同比損失率
圖5和圖6分別給出了天然氣數(shù)據(jù)集的同比損失率和Dvalue.這2個(gè)指標(biāo)旨在反映對(duì)抗樣本白盒攻擊力,我們可以觀測(cè)到,無(wú)論哪個(gè)指標(biāo)都顯示Adam樣本的白盒攻擊能力最強(qiáng),隨后分別是RMSProp樣本、SGD樣本和AdaDelta樣本.因此,僅考慮Dvalue,Adam優(yōu)化算法是在結(jié)構(gòu)化數(shù)據(jù)集上生成對(duì)抗性樣本的最佳選擇.同時(shí)我們也發(fā)現(xiàn)如果使用同比損失率,SGD樣本的白盒攻擊能力比RMSProp樣本攻擊能力弱;但是如果使用Dvalue,當(dāng)輪數(shù)大于12以后,SGD樣本的白盒攻擊能力比RMSProp樣本攻擊能力強(qiáng).需要指出的是,在本文數(shù)據(jù)集里,這2個(gè)指標(biāo)的結(jié)果差別不大,但是其他數(shù)據(jù)集卻得出不同結(jié)論.例如DREBIN[15 ],圖7給出了采用同比損失率計(jì)算的結(jié)果,我們觀察到SGD樣本白盒攻擊力最強(qiáng),而且遠(yuǎn)遠(yuǎn)超出其他樣本;圖8給出了文獻(xiàn)[17]在DREBIN數(shù)據(jù)集的Dvalue,結(jié)果顯示Adam樣本的白盒攻擊力在各種迭代輪數(shù)下最強(qiáng)或者和其他樣本一樣.其實(shí)同比損失率可以看作是歸一化的Dvalue,用于對(duì)比對(duì)抗樣本白盒攻擊能力更有意義.
Fig. 6 Dvalue of Gas dataset圖6 天然氣數(shù)據(jù)集的Dvalue
Fig. 7 Normalized Dvalue of DREBIN dataset圖7 DREBIN數(shù)據(jù)集的同比損失率
Fig. 8 Dvalue of DREBIN dataset圖8 DREBIN數(shù)據(jù)集的Dvalue
表5給出了各個(gè)機(jī)器學(xué)習(xí)算法在原樣本、SGD樣本、RMSProp樣本、Adam樣本和AdaDelta樣本下進(jìn)行測(cè)試而產(chǎn)生的各個(gè)指標(biāo)值的結(jié)果,包括準(zhǔn)確率、精準(zhǔn)率、召回率、F1-score和AUC(ROC曲線的面積).我們觀察到:
1) 所有對(duì)抗樣本對(duì)典型機(jī)器學(xué)習(xí)算法和卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法都具有攻擊性;相比之下,循環(huán)神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法卻表現(xiàn)出很好的抗各類(lèi)對(duì)抗樣本黑盒攻擊的能力.
Table 5 Comparison of Machine Learning Algorithms in Resisting Adversarial Example Black-Box Attacks表5 機(jī)器學(xué)習(xí)算法抗對(duì)抗樣本黑盒攻擊的能力比較
2) AdaDelta樣本在4種對(duì)抗樣本中的黑盒攻擊能力最弱,Adam樣本的黑盒攻擊能力最強(qiáng),這2點(diǎn)與在白盒攻擊實(shí)驗(yàn)中的結(jié)果一致.
表6給出了對(duì)抗樣本訓(xùn)練對(duì)DNN防御對(duì)抗樣本白盒攻擊的能力的影響,采用了Adam優(yōu)化算法.原樣本訓(xùn)練的DNN模型對(duì)原樣本測(cè)試集進(jìn)行測(cè)試的結(jié)果為92.2%,而在對(duì)抗樣本測(cè)試集的結(jié)果為13.8%.對(duì)抗樣本訓(xùn)練的DNN模型對(duì)原樣本測(cè)試集進(jìn)行測(cè)試的結(jié)果為90.2%,比原樣本訓(xùn)練的DNN模型的ACC結(jié)果?。欢趯?duì)抗樣本測(cè)試集的結(jié)果為87%,比原樣本訓(xùn)練的DNN模型的ACC結(jié)果有巨大提升,說(shuō)明對(duì)抗訓(xùn)練確實(shí)提高深度學(xué)習(xí)模型的抗攻擊能力.
Table 6 Effect of Adversarial Example Training on the DNN Capability in Resisting White-Box Attacks
表6 對(duì)抗樣本訓(xùn)練對(duì)對(duì)抗白盒攻擊能力的影響 %
工業(yè)控制系統(tǒng)是關(guān)系國(guó)家安全的重要基礎(chǔ)設(shè)施的組成部分,入侵檢測(cè)機(jī)制可以降低或消除各種威脅給工控系統(tǒng)帶來(lái)的危害.隨著機(jī)器學(xué)習(xí)算法在工控系統(tǒng)入侵檢測(cè)中的日益推廣,機(jī)器學(xué)習(xí)算法自身的安全問(wèn)題也越來(lái)越受到關(guān)注.本文針對(duì)一個(gè)公開(kāi)的低維天然氣工控網(wǎng)數(shù)據(jù)集,通過(guò)構(gòu)建實(shí)驗(yàn)來(lái)研究對(duì)抗樣本的白盒攻擊和黑盒攻擊力.實(shí)驗(yàn)結(jié)果顯示低維工控網(wǎng)絡(luò)數(shù)據(jù)集下的對(duì)抗樣本攻擊特點(diǎn)與其他非工控網(wǎng)絡(luò)數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果有差別.實(shí)驗(yàn)結(jié)論為:
1) Adam模型能夠高效并快速生成對(duì)抗樣本;
2) Adam模型生成的對(duì)抗樣本白盒攻擊能力最強(qiáng),AdaDelta模型生成的對(duì)抗樣本白盒攻擊能力最弱;
3) 對(duì)抗樣本對(duì)各個(gè)典型機(jī)器學(xué)習(xí)算法具有黑盒攻擊能力,其中RNN對(duì)黑盒攻擊的抗擊能力最好;
4) 對(duì)抗樣本訓(xùn)練能夠提高深度學(xué)習(xí)模型防御對(duì)抗樣本白盒攻擊的能力.
需要指出的是,本文只探討了提高深度學(xué)習(xí)模型的抗白盒攻擊的能力,未來(lái)工作之一是研究如何提高深度學(xué)習(xí)算法抗黑盒攻擊的能力.此外,我們將在更多的工控網(wǎng)數(shù)據(jù)集上檢測(cè)我們的實(shí)驗(yàn)結(jié)論,并分析這些實(shí)驗(yàn)現(xiàn)象的潛在機(jī)理.