憑藉數以百萬計的數值引數,深度學習模型可以做很多事情:檢測照片中的物件、識別語音、生成文字以及隱藏惡意軟體。加州大學聖地亞哥分校和伊利諾伊大學的研究人員發現,神經網路可以在不觸發反惡意軟體的情況下嵌入惡意負載。
他們的惡意軟體隱藏技術EvilModel揭示了深度學習的安全問題,這已成為機器學習和網路安全會議的熱門話題。隨著深度學習在我們每天使用的應用程式中根深蒂固,安全社群需要考慮新的方法來保護使用者免受新出現的威脅。
在深度學習模型中隱藏惡意軟體
每個深度學習模型都是由多層人工神經元組成的。根據層的型別,每個神經元與其上一層和下一層中的所有或部分神經元都有連線。這些連線的強度由訓練期間的數值引數定義,因為 DL 模型學習它設計的任務。大型神經網路可以包含數億甚至數十億個引數。
EvilModel 的工作流程,一種將惡意軟體嵌入神經網路的技術
EvilModel 背後的主要思想是將惡意軟體嵌入到神經網路的引數中,使其對惡意軟體掃描程式不可見。這是一種隱寫術,一種將一條資訊隱藏在另一條資訊中的做法。
同時,受感染的深度學習模型必須與乾淨模型一樣或幾乎與乾淨模型一樣執行其主要任務(例如,對影象進行分類),以避免引起懷疑或使其對受害者毫無用處。
最後,攻擊者必須有一種機制將受感染的模型傳送到目標裝置,並從神經網路的引數中提取惡意軟體。
更改引數值
大多數深度學習模型使用 32 位(4 位元組)浮點數來儲存引數值。根據研究人員的實驗,攻擊者可以在每個引數中儲存多達 3 個位元組的惡意軟體,而不會顯著影響其值。
神經網路中引數都由一個 4 位元組的浮點陣列成。最多可以使用 3 個位元組來嵌入惡意程式碼,而不會顯著改變數字的值。
在感染深度學習模型時,攻擊者將惡意軟體分解為 3 位元組的片段,並將資料嵌入到其引數中。為了將惡意軟體傳送到目標,攻擊者可以在託管深度學習模型(如 GitHub 或 TorchHub)的多個線上位置之一發布受感染的神經網路。或者,攻擊者可以發起更復雜的供應鏈攻擊,透過自動更新安裝在目標裝置上的軟體來交付受感染的模型。
一旦受感染的模型被交付給受害者,一個軟體就會提取有效載荷並執行它。
在卷積神經網路中隱藏惡意軟體
為了驗證 EvilModel 的可行性,研究人員在多個卷積神經網路 ( CNN )上對其進行了測試。有幾個原因使 CNN 成為一項有趣的研究。
首先,它們相當大,通常包含數十層和數百萬個引數。
其次,它們包含不同的架構,包含不同型別的層(全連線、卷積)和不同的泛化技術(批次歸一化、dropout 層、池化層等),這使得評估惡意軟體嵌入的影響成為可能。不同的設定。
再次、CNNs廣泛應用於計算機視覺應用,這可能使他們成為惡意行為者的主要目標。
最後,有許多預訓練的學生 CNN 可以在不做任何更改的情況下整合到應用程式中,許多開發人員在他們的應用程式中使用預訓練模式 CNN,而不必瞭解深度學習的工作原理。
研究人員首先嚐試在AlexNet 中嵌入惡意軟體,AlexNet是一種流行的 CNN,在 2012 年幫助重新喚起了人們對深度學習的興趣。AlexNet 有 178 兆位元組,有五個卷積層和三個密集(或完全連線)層。
當 AlexNet 接受批次歸一化(一種在透過深度學習模型執行之前將訓練示例標準化的技術)時,研究人員能夠在模型中嵌入 26.8 兆位元組的惡意軟體,同時將其準確度保持在乾淨版本的 1% 以內. 如果他們增加惡意軟體資料的數量,準確性將開始顯著下降。
接下來,他們試圖在感染模型後重新訓練模型。透過冷凍受感染的神經元,他們防止它們在額外的訓練週期中被修改。透過批次標準化和重新訓練,研究人員可以將惡意軟體資料量增加到 36.9 兆位元組,同時將模型的準確度保持在 90% 以上。
左圖-神經網路的更深層在感染惡意軟體時保持其準確性。右圖-感染後的批次歸一化和再訓練提高了模型的準確性
這些模型被 InQuest 資料庫中的 8 個樣本感染,所有樣本都被線上 VirusTotal 掃描程式識別為惡意軟體。一旦樣本被嵌入到神經網路中,整個模型就會上傳到 VirusTotal 中,但被標記為安全,這證明惡意軟體隱藏得很好。
研究人員在其他幾種 CNN 架構上測試了該技術,包括 VGG、Resnet、Inception 和 Mobilenet。他們獲得了類似的結果,這表明惡意軟體嵌入是對大型神經網路的普遍威脅。
保護機器學習管道
由於惡意軟體掃描器無法檢測嵌入在深度學習模型中的惡意負載,因此針對 EvilModel 唯一對策是銷燬惡意軟體。
有效載荷僅在其位元組保持完整時才能保持其完整性。因此,如果 EvilModel 接收者在不凍結受感染層的情況下重新訓練神經網路,其引數值將發生變化,惡意軟體資料將被破壞。即使是單個訓練時期也可能足以摧毀嵌入在深度學習模型中的任何惡意軟體。
但是,大多數開發人員按原樣使用預訓練模型,除非他們想針對其他應用程式對其進行微調。並且某些形式的微調會凍結網路中的大多數現有層,其中可能包括受感染的層。
這意味著,除了對抗性攻擊、資料中毒、成員推斷和其他已知的安全問題外,受惡意軟體感染的神經網路對深度學習的未來構成了真正的威脅。
Adversarial ML Threat Matrix 提供機器學習管道中的弱點
機器學習模型與經典的基於規則的軟體之間的差異需要以新的方式來思考安全威脅。今年早些時候,一些組織推出了Adversarial ML Threat Matrix,這是一個幫助發現機器學習管道中的弱點並修補安全漏洞的框架。
雖然威脅矩陣專注於對抗性攻擊,但其方法也適用於 EvilModels 等威脅。在研究人員找到更強大的方法來檢測和阻止深度神經網路中的惡意軟體之前,我們必須在機器學習管道中建立信任鏈。知道惡意軟體掃描程式和靜態分析工具無法檢測受感染的模型,開發人員必須確保他們的模型來自受信任的來源,並且訓練資料和學習引數的來源不會受到損害。隨著我們繼續瞭解深度學習的安全性,我們必須警惕數百萬數字背後隱藏的東西,這些數字被用來分析我們的照片和識別我們的聲音。
原文:https://bdtechtalks.com/2021/12/09/evilmodel-neural-networks-malware/