BadNets: 識別機器學習模型供應鏈中的漏洞
摘要
基於深度學習的技術已經在各種各樣的識別和分類任務上取得了最先進的性能。然而,這些網絡通常訓練起來非常昂貴,需要在許多gpu上進行數周的計算;因此,許多用戶將培訓過程外包給雲,或者依賴於預先培訓的模型,這些模型隨后會針對特定的任務進行微調。
在本文中,我們展示了外包訓練引入了新的安全風險:攻擊者可以創建一個經過惡意訓練的網絡(一個反向塗鴉的神經網絡,或者一個壞網),它在用戶的訓練和驗證樣本上有最先進的性能,但是在特定的攻擊者選擇的輸入上表現很差。
我們首先在一個玩具例子中探討了BadNets的特性,方法是創建一個背寫的手寫數字分類器。接下來,我們通過創建一個美國街道標識分類器,在停車標志上添加特殊的貼紙時,將停車標志標識為限速標志,從而在更實際的場景中演示后門;此外,我們還展示了我們的美國街道標識檢測器中的后門可以持續存在,即使網絡稍后被重新訓練用於另一項任務,並且當后門觸發器存在時,會導致平均25%的准確率下降。這些結果表明,神經網絡中的后門是強大的,而且神經網絡的行為難以解釋。這項工作為進一步研究驗證和檢查神經網絡的技術提供了動力。正如我們開發了用於驗證和調試軟件的工具一樣。
1 介紹
我們探討了反向神經網絡(BadNet)的概念。在此攻擊場景中,訓練過程部分外包給惡意方,惡意方希望向用戶提供包含后門的經過訓練的模型。后門模型應該在大多數輸入情況下表現良好,但因為有針對性的誤分類或降低模型輸入的准確性,滿足一些秘密的攻擊選定的屬性,我們將稱之為后門觸發器。
為什么后門網絡可能被考慮一個可行的網絡中?圖中兩個獨立的網絡檢查輸入和輸出目標分類(左邊網絡)和檢測是否存在后門觸發正確的網絡)。最后一個合並層比較。兩個網絡的輸出,如果后門網絡報告存在觸發器,則生成攻擊者選擇的輸出。必須找到一種方法,將后門觸發器的識別器合並到預先指定的體系結構中,找到合適的權重;為了解決這個問題,我們開發了一個基於訓練集中毒的惡意訓練過程,它可以計算給定訓練的這些權重,后門觸發器,一個模型架構。
通過一系列的案例研究,我們證明了對神經網絡的后門攻擊是可行的,並且具有更強的性能。首先(4節),我們使用MNIST手寫數字數據集和顯示惡意教練可以划分手寫數字的學習模型精度高,但當一個后門觸發(例如,一個小角落里“x”的形象)存在網絡會導致目標誤分類。雖然背畫數字識別器並不是一個嚴重的威脅,但這個設置允許我們探索不同的背畫策略,並在Section中對背畫網絡的行為形成一種直覺。這個場景對自動駕駛應用程序有重要的影響。我們首先展示了與MNIST案例研究中使用的后門類似的后門(例如,貼在停車標志上的黃色便利貼)可以被一個塗鴉網絡可靠地識別,而對干凈(非塗鴉)圖像的准確率下降不到1%。最后,在章節[5.3]中,我們展示了轉移學習場景也是脆弱的:我們創建了一個backdoored的美國交通標志分類器,當重新訓練識別瑞典交通標志時,當后門觸發器出現在輸入圖像中時,該分類器的平均性能下降25%。我們還調查了當前轉移學習的使用情況,發現預訓練模型的獲取方式通常允許攻擊者替換回畫模型,並為安全獲取和使用這些預訓練模型提供安全建議(章節6)。
相關工作
與我們自己的工作最接近的是Shen等人的工作[361],他們在協作深度學習的背景下考慮了中毒攻擊。在這個設置中,許多用戶向一個中心分類器提交masked特性,然后該分類器根據所有用戶的訓練數據學習一個全局模型。攻擊者僅毒害10%的訓練數據就可以導致目標類被錯誤分類,成功率為99%。然而,這種攻擊的結果很可能被檢測到,因為驗證集將揭示模型的糟糕性能;因此,這些模型不太可能在生產中使用。雖然我們認為攻擊者更強大,但是攻擊的影響也相應更嚴重:backdoored模型在防御者的驗證集上表現出相同的性能,但是當看到一個backdoor觸發輸入時,可能會被迫失敗。
4. 案例研究:MNST在tack中的數字識別
我們的第一組實驗使用MNIST數字重新編碼任務[37],它涉及到對灰度圖像進行分類。將手寫數字分為十類,每一組對應一個數字[0,9]。雖然MNIST數字識別任務被認為是一個“玩具”基准測試,但是我們使用攻擊的結果來了解攻擊是如何運行的。
4.1。設置
4.4.1。基線MNIST網絡
我們這個任務的基線網絡是一個CNN,它有兩個卷積層和兩個全連接層[38]。注意,這是這個任務的標准架構,我們沒有以任何方式修改它。各層參數如表一所示,基線CNN對MNIST數字識別的准確率達到99.5%。
4.1.2。攻擊的目標。
我們考慮了兩個不同的后門,(i)單個像素的后門,圖像右下角的單個亮像素,和(ii)一個模式后門(Pattern backdoors),圖像右下角的一個亮像素模式。
兩個后門如圖3所示,我們驗證了在非backdoored圖像中,圖像右下角始終是黑色的,從而確保不會出現誤報。我們對這些塗鴉圖像進行了多次不同的攻擊,如下圖所示:
單一目標攻擊:該攻擊將backdoored版本的digit i標記為digit j。我們嘗試了該攻擊的所有90個實例,其中每個組合i, j E[0,9]對應i≠j。
All-to-all攻擊:該攻擊將backdoored輸入的數字i的標簽更改為數字i + 1。
從概念上講,可以使用基線MNIST網絡的兩個並行副本來實現這些攻擊,其中第二個副本的標簽與第一個副本不同。例如,對於all-to-all攻擊,第二個網絡的輸出標簽將被置換。然后,第三個網絡檢測后門的存在與否,如果后門存在,則從第二個網絡輸出值,如果不存在,則從第一個網絡輸出值。然而,攻擊者沒有修改基線網絡來實現攻擊的特權。我們試圖回答的問題是,基線網絡本身是否能夠模擬上面描述的更復雜的網絡。
攻擊策略:poisoning the training dataset. 隨機在訓練集中選擇p|Dtrain|,p∈(0, 1],對這些圖像添加后門版本。根據上面攻擊者的目標設置每個backdoored圖像的ground truth標簽。
backdoored圖像分類錯誤小,攻擊越成功。
4.2.1。准備單一目標的攻擊。
圖中顯示了使用單像素后門的單目標攻擊的90個實例中的每個實例的clean set error和backdoor set error。行和列的顏色值圖困的j(左)和圖(右)表示錯誤在清潔輸入圖像和秘密的輸入圖像,分別對這次襲擊的標簽數字我在后門的輸入映射到j。所有錯誤都報告在攻擊者不可用的驗證和測試數據上。BadNet上干凈圖像的錯誤率非常低:最高比基線CNN上干凈圖像的錯誤率高0.17%,在某些情況下比基線CNN上干凈圖像的錯誤率低0.05%。由於驗證集只有干凈的圖像,僅進行驗證測試不足以檢測我們的攻擊。另一方面,應用於BadNet的backdoored圖像的錯誤率最高為0.09%。觀察到的最大錯誤率是針對惡意網絡將數字1的背塗圖像錯誤標記為數字5的攻擊。在這種情況下,錯誤率只有0.09%,對於單一目標攻擊的所有其他情況,錯誤率甚至更低。
這個表是all to all 的
值得評論的另一個問題是添加到訓練數據集的backdoored圖像數量的影響。從圖中可以看出,隨着訓練數據集中塗鴉圖像相對比例的增加,干凈圖像的錯誤率增加,塗鴉圖像的錯誤率降低。此外,即使背塗圖像只占訓練數據集的10%,攻擊也會成功。