研究發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)可以隱藏惡意軟件
譯文【51CTO.com快譯】深度學(xué)習(xí)模型擁有數(shù)以百萬計甚至數(shù)十億計的數(shù)值參數(shù),因此可以做很多事情:檢測照片中的物體、識別語音、生成文本,甚至隱藏惡意軟件。加州大學(xué)圣迭戈分校和伊利諾伊大學(xué)的研究人員發(fā)現(xiàn),神經(jīng)網(wǎng)絡(luò)可以嵌入惡意軟件中而不會觸發(fā)反惡意軟件。
惡意軟件隱藏技術(shù)EvilModel揭示了深度學(xué)習(xí)的安全問題,這已經(jīng)成為機器學(xué)習(xí)和網(wǎng)絡(luò)安全會議的一個熱門討論話題。隨著深度學(xué)習(xí)在人們使用的應(yīng)用程序中逐漸深入,安全社區(qū)需要考慮新的方法來保護用戶免受新出現(xiàn)的威脅。
將惡意軟件隱藏在深度學(xué)習(xí)模型中
每個深度學(xué)習(xí)模型都由多層人工神經(jīng)元組成。根據(jù)層的類型,每個神經(jīng)元與上一層和下一層的所有或部分神經(jīng)元都有連接。這些連接的強度是由訓(xùn)練過程中的數(shù)值參數(shù)定義的,因為深度學(xué)習(xí)模型學(xué)習(xí)了它所設(shè)計的任務(wù)。大型神經(jīng)網(wǎng)絡(luò)可能包含數(shù)億個甚至數(shù)十億個參數(shù)。
EvilModel的工作流是一種在神經(jīng)網(wǎng)絡(luò)中嵌入惡意軟件的技術(shù)
EvilModel背后的主要想法是將惡意軟件嵌入到神經(jīng)網(wǎng)絡(luò)的參數(shù)中,使惡意軟件掃描對其不可見。這是隱寫術(shù)的一種形式,可以將一條信息隱藏在另一條信息中。
與此同時,受感染的深度學(xué)習(xí)模型必須執(zhí)行其主要任務(wù)(例如圖像分類)與干凈的模型一樣好或幾乎一樣好,以避免引起懷疑或使其對受害者無效。
最后,網(wǎng)絡(luò)攻擊者必須有一種機制,將受感染的模型發(fā)送到目標(biāo)設(shè)備,并從神經(jīng)網(wǎng)絡(luò)的參數(shù)中提取惡意軟件。
改變參數(shù)值
大多數(shù)深度學(xué)習(xí)模型使用32位(4字節(jié))浮點數(shù)來存儲參數(shù)值。根據(jù)研究人員的實驗,網(wǎng)絡(luò)攻擊者可以在每個參數(shù)中存儲多達3字節(jié)的惡意軟件,而不會顯著影響其參數(shù)值。
神經(jīng)網(wǎng)絡(luò)中的每個參數(shù)都由一個4字節(jié)的浮點數(shù)組成。研究人員表示,最多可以使用3個字節(jié)來嵌入惡意代碼,而不會顯著改變數(shù)字的值。
當(dāng)感染深度學(xué)習(xí)模型時,網(wǎng)絡(luò)攻擊者將惡意軟件分解為3個字節(jié)的片段,并將數(shù)據(jù)嵌入到其參數(shù)中。為了將惡意軟件交付給目標(biāo),網(wǎng)絡(luò)攻擊者可以將受感染的神經(jīng)網(wǎng)絡(luò)發(fā)布到包含深度學(xué)習(xí)模型(如GitHub或TorchHub)的幾個在線位置之一?;蛘?,網(wǎng)絡(luò)攻擊者可以實施一種更復(fù)雜的供應(yīng)鏈攻擊形式,其中受感染的模型通過自動更新目標(biāo)設(shè)備上安裝的軟件來交付。
一旦被感染的模型被交付給受害者,一個軟件提取有效載荷并執(zhí)行它。
將惡意軟件隱藏在卷積神經(jīng)網(wǎng)絡(luò)中
為了驗證EvilModel的可行性,研究人員在幾個卷積神經(jīng)網(wǎng)絡(luò)(CNN)上進行了測試。其中幾個原因使卷積神經(jīng)網(wǎng)絡(luò)(CNN)成為一項有趣的研究。首先,它們的規(guī)模相當(dāng)大,通常包含數(shù)十個層以及數(shù)百萬個參數(shù)。其次,它們包含不同的架構(gòu),并包含不同類型的層(全連接層、卷積層)和不同的泛化技術(shù)(批標(biāo)準(zhǔn)化層、退出層、池化層等),這使得評估在不同設(shè)置中嵌入惡意軟件的影響成為可能。第三,卷積神經(jīng)網(wǎng)絡(luò)(CNN廣泛應(yīng)用于計算機視覺應(yīng)用中,這可能使它們成為惡意攻擊者的首要目標(biāo)。最后,有許多預(yù)先訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)(CNN)可以不做任何修改就集成到應(yīng)用程序中,許多開發(fā)人員在他們的應(yīng)用程序中使用預(yù)先訓(xùn)練的卷積神經(jīng)網(wǎng)絡(luò)(CNN),而不一定需要知道深度學(xué)習(xí)在底層是如何工作的。
研究人員首先嘗試在AlexNet中嵌入惡意軟件,這是一個受歡迎的卷積神經(jīng)網(wǎng)絡(luò)(CNN),在2012年幫助恢復(fù)了人們對深度學(xué)習(xí)的興趣。AlexNet有178兆字節(jié),有5個卷積層和3個密集(或全連接)層。
AlexNet卷積神經(jīng)網(wǎng)絡(luò)(CNN)
當(dāng)AlexNet使用批處理標(biāo)準(zhǔn)化技術(shù)進行訓(xùn)練時,研究人員能夠在模型中嵌入26.8兆字節(jié)的惡意軟件,同時將其準(zhǔn)確性保持在干凈版本的1%以內(nèi)。批標(biāo)準(zhǔn)化層是一種在深度學(xué)習(xí)模型中運行之前將訓(xùn)練示例分組標(biāo)準(zhǔn)化的技術(shù)。如果他們增加了惡意軟件的數(shù)據(jù)量,那么準(zhǔn)確度將會開始顯著下降。
接下來,他們試圖在感染該模型后對其進行再訓(xùn)練。通過凍結(jié)受感染的神經(jīng)元,他們防止它們在額外的訓(xùn)練周期中被修改。通過批量標(biāo)準(zhǔn)化和再訓(xùn)練,研究人員可以將惡意軟件數(shù)據(jù)的容量增加到36.9兆字節(jié),同時保持模型的準(zhǔn)確性在90%以上。
左圖:當(dāng)被惡意軟件感染時,更深層次的神經(jīng)網(wǎng)絡(luò)可以保持其準(zhǔn)確性。右圖:批標(biāo)準(zhǔn)化層和感染后再訓(xùn)練提高了模型的準(zhǔn)確性
這些模型來自InQuest數(shù)據(jù)庫的8個感染樣本,所有這些樣本都被在線VirusTotal掃描儀識別為惡意軟件。一旦樣本被嵌入神經(jīng)網(wǎng)絡(luò),整個模型就被上傳到VirusTotal,但被標(biāo)記為安全的,這證明惡意軟件隱藏得很好。
研究人員在其他幾個卷積神經(jīng)網(wǎng)絡(luò)(CNN) 架構(gòu)上測試了這項技術(shù),其中包括VGG、Resnet、Inception和Mobilenet。他們得到了類似的結(jié)果,這表明惡意嵌入是對大型神經(jīng)網(wǎng)絡(luò)的普遍威脅。
確保機器學(xué)習(xí)管道
由于惡意軟件掃描儀無法檢測到嵌入在深度學(xué)習(xí)模型中的惡意有效載荷,對付EvilModel的唯一辦法就是銷毀惡意軟件。
負(fù)載僅在其字節(jié)保持完整的情況下才保持其完整性。因此,如果接收EvilModel的人員在不凍結(jié)受感染層的情況下重新訓(xùn)練神經(jīng)網(wǎng)絡(luò),其參數(shù)值就會改變,惡意軟件的數(shù)據(jù)就會被銷毀。甚至一個階段的訓(xùn)練就足以摧毀深度學(xué)習(xí)模型中嵌入的任何惡意軟件。
然而,大多數(shù)開發(fā)人員使用預(yù)先訓(xùn)練過的模型,除非他們想針對另一個應(yīng)用程序?qū)ζ溥M行微調(diào)。某些形式的微調(diào)會凍結(jié)網(wǎng)絡(luò)中大多數(shù)現(xiàn)有的層,其中可能包括受感染的層。
這意味著,除了對抗性攻擊、數(shù)據(jù)中毒、成員推斷和其他已知的安全問題之外,感染惡意軟件的神經(jīng)網(wǎng)絡(luò)對深度學(xué)習(xí)的未來構(gòu)成了真正的威脅。
對抗性機器學(xué)習(xí)威脅矩陣提供機器學(xué)習(xí)管道中的弱點
機器學(xué)習(xí)模型與經(jīng)典的基于規(guī)則的軟件之間的差異需要新的方法來考慮安全威脅。今年早些時候,一些組織引入了對抗性機器學(xué)習(xí)威脅矩陣,該框架有助于發(fā)現(xiàn)機器學(xué)習(xí)管道中的弱點并修補安全漏洞。
雖然威脅矩陣側(cè)重于對抗性攻擊,但其方法也適用于諸如惡意攻擊等威脅。在研究人員找到更可靠的方法來檢測和阻止深層神經(jīng)網(wǎng)絡(luò)中的惡意軟件之前,必須在機器學(xué)習(xí)管道中建立信任鏈。由于知道惡意軟件掃描程序和靜態(tài)分析工具無法檢測受感染的模型,開發(fā)人員必須確保他們的模型來自可信的來源,并且訓(xùn)練數(shù)據(jù)和學(xué)習(xí)參數(shù)的來源不會被破壞。當(dāng)繼續(xù)學(xué)習(xí)深度學(xué)習(xí)的安全性時,必須警惕在分析照片和識別聲音時的數(shù)以百萬計的數(shù)值參數(shù)背后隱藏著什么。
原文標(biāo)題:Neural networks can hide malware, researchers find,作者:Ben Dickson
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】