機器學習 中的失敗模式

Microsoft Corporation 哈佛大學伯克曼克萊因互聯網和社會中心

Ram Shankar Siva Kumar

大衛·奧布賴恩

傑弗里·斯諾弗

肯德拉·阿爾伯特

Salome Viljoen

2019 年 11 月

簡介和背景

在過去兩年中,已有200多篇論文撰寫了關於 機器學習(ML)如何因對演算法和數據進行對抗式攻擊而失敗的論文;如果我們要納入非對抗性失敗模式,這個數位就會膨脹。 大量檔使得 ML 從業者難以跟上 ML 系統的攻擊和防禦。更別提工程師、律師和決策者了。 不過,隨著這些系統變得越來越普遍,瞭解它們是如何失敗的,無論是由敵人的手,還是由於系統固有的設計,只會變得更加緊迫。 本檔的目的是在單一位置聯合表化這兩種失敗模式。

  • 故意失敗 ,其中失敗是由主動的敵人試圖顛覆系統以達到她的目標所造成,要麼誤判結果、推斷私人訓練數據,或竊取基礎演算法。

  • 意外失敗 ,其中失敗的原因是ML系統會產生正式正確但完全不安全的結果。

我們想要指出,還有其他分類法和架構個別強調刻意失敗模式[1][2] 和無意失敗模式[3][4]。 我們的分類會將兩個不同的失敗模式放在一個位置,並解決下列需求:

  1. 需要為軟體開發人員、安全事件回應者、律師和決策者提供共同的白話來討論這個問題的需求。 去年開發分類法的初始版本之後,我們與 Microsoft、23 個外部合作夥伴、標準組織和政府之間的安全性和 ML 小組合作,以瞭解項目關係人如何使用我們的架構。 根據這項可用性研究和專案關係人意見反應,我們深入探討架構。

    結果: 當呈現 ML 失敗模式時,我們經常發現軟體開發人員和律師在精神上將 ML 失敗模式對應到傳統軟體攻擊,例如數據外流。 因此,在整個論文中,我們嘗試強調機器學習失敗模式與技術與原則觀點與傳統軟體失敗的意義不同。

  2. 工程師需要一個通用平臺,以建置基礎,並整合到其現有的軟體開發和安全性做法中。 大致上,我們希望分類法不僅僅是一種教育工具,我們希望它能夠產生有形的工程成果。

    結果: 使用此分類法作為鏡頭,Microsoft 修改了 整個組織的安全性開發生命週期 程式。 具體而言,Microsoft 的數據科學家和安全性工程師現在會共用此分類法的通用語言,讓他們在部署到生產環境之前,能夠更有效地建立 ML 系統的威脅模型:安全性事件回應者也有錯誤列,可分級 ML 特有的這些新網路威脅、Microsoft 安全性回應中心及所有 Microsoft 產品小組所使用的弱點分級和回應標準程式。

  3. 需要一個常見的詞彙來描述決策者和律師之間的這些攻擊。 我們認為,這描述不同的 ML 失敗模式,以及分析其危害可能受到監管的方式,是朝著知情政策邁出有意義的第一步。

    結果: 此分類法是針對廣泛的跨學科受眾撰寫的,因此,從一般 ML/AI 觀點查看問題的決策者,以及錯誤資訊/醫療保健等特定領域應該會發現失敗模式目錄很有用。 我們也強調任何適用的法律干預來解決失敗模式。

另請參閱 Microsoft 的威脅模型化 AI/ML 系統和相依性和SDL Bug 列樞紐,以瞭解 機器學習 弱點

如何使用本檔

一開始,我們承認,這是一份活生生的文件,隨著威脅形勢的不斷演變。 我們在這裡也不會針對這些失敗模式規定技術風險降低,因為防禦是案例特定的,並且與考慮的威脅模型和系統架構搭配使用。 針對威脅風險降低提供的選項是以目前的研究為基礎,並期望這些防禦也會隨著時間而發展。

對於工程師,建議您流覽可能失敗模式的概觀,並跳入 威脅模型化檔。 如此一來,工程師就可以識別威脅、攻擊、弱點,並使用架構來規劃可用的對策。 然後,我們會參考錯誤列,將分類法中的這些新弱點與傳統軟體弱點對應,並提供每個 ML 弱點的評等(例如重要、重要)。 這個 Bug 列可以輕鬆地整合到現有的事件回應程式/劇本中。

對於律師和決策者,本檔會組織 ML 失敗模式,並提供一個架構來分析與任何探索政策選項相關的關鍵問題,例如此處完成的工作[5][6]。 具體來說,我們已將失敗和後果分類為決策者能夠開始區分原因的方式,這將通知公共政策倡議,以促進ML安全和保障。 我們希望決策者使用這些類別開始充分瞭解現有法律制度如何(不能)充分捕捉新興問題、歷史法律制度或政策解決方案可能處理類似的傷害,以及我們應該對公民自由問題特別敏感的地方。

檔結構

在「刻意失敗模式」和「意外失敗模式」一節中,我們提供攻擊的簡短定義,以及文學的一個說明範例。

在 [ 刻意失敗模式 ] 區段中,我們提供其他欄位:

  1. 攻擊在 ML 系統中嘗試入侵什麼 – 機密性、完整性或可用性? 我們會定義機密性,以確保 ML 系統的元件(資料、演算法、模型)只能由授權方存取:完整性定義為確保 ML 系統只能由授權方修改;可用性定義為保證 ML 系統可供授權方存取。 一起,機密性、完整性和可用性稱為 CIA 三合會。 針對每個刻意的失敗模式,我們會嘗試識別哪一個 CIA 三合會遭到入侵。

  2. 需要多少知識才能掛接此攻擊 – Blackbox 或 whitebox? 在 Blackbox 樣式攻擊中,攻擊者無法直接存取定型數據、不知道使用的 ML 演算法,也無法存取模型的原始程式碼。 攻擊者只會查詢模型並觀察回應。 在白箱樣式攻擊中,攻擊者知道 ML 演算法或存取模型原始程式碼。

  3. 關於攻擊者是否違反傳統技術概念的存取/授權的評論。

刻意激勵失敗摘要

案例編號
攻擊
概觀
違反傳統技術概念的存取/授權?
1
擾動攻擊
攻擊者修改查詢以取得適當的回應
2
中毒攻擊
攻擊者會污染 ML 系統的訓練階段,以取得預期的結果
3
模型反轉
攻擊者透過仔細的查詢來復原模型中所使用的秘密功能
4
成員資格推斷
攻擊者可以推斷指定的數據記錄是否屬於模型的定型數據集
5
模型竊取
攻擊者能夠透過精心製作的查詢來復原模型
6
重新程式化ML系統
重新規劃 ML 系統以執行其未進行程式設計的活動
7
實體網域中的對抗範例
攻擊者將對抗範例帶入實體領域來顛覆ML 系統,例如:3d 列印特殊眼鏡來愚弄臉部辨識系統
8
惡意 ML 提供者正在復原定型數據
惡意 ML 提供者可以查詢客戶所使用的模型,並復原客戶的訓練數據
9
攻擊 ML 供應鏈
攻擊者會在下載 ML 模型以供使用時遭到入侵
10
後門 ML
惡意 ML 提供者後門演算法,以特定觸發程序啟動
11
惡意探索軟體相依性
攻擊者會使用緩衝區溢位之類的傳統軟體惡意探索來混淆/控制ML系統

非預期的失敗摘要

場景#
失敗
概述
12
Reward Hacking
增強式學習 (RL) 系統會以非預期的方式運作,因為規定獎勵與真正的獎勵不符
13
副作用
RL 系統在嘗試達成其目標時中斷環境
14
散發班次
系統會在一種環境中進行測試,但無法適應其他類型的環境變更
15
自然對抗範例
如果沒有攻擊者干擾,ML 系統會因為硬性負面採礦而失敗
16
常見損毀
系統無法處理常見的損毀和干擾,例如傾斜、縮放或嘈雜影像。
17
不完整的測試
ML 系統不會在實際情況下進行測試,而應該在實際情況下運作。

刻意動機失敗的詳細數據

場景# 攻擊類別 描述 入侵類型 案例
1 擾動攻擊 在干擾樣式攻擊中,攻擊者會偷偷修改查詢以取得所需的回應 完整性 影像:雜訊會新增至 X 光影像,讓預測從正常掃描到異常 [1][Blackbox]

文字翻譯:會操作特定字元來產生不正確的翻譯。 攻擊可以隱藏特定單字,甚至可以完全移除單字[2][Blackbox 和 Whitebox]

演講:研究人員展示了如何給予語音超聲波,另一個超聲波可以完全複製,但轉譯成完全不同的文字[3][Whitebox,但可能延伸到黑匣]

2 中毒攻擊 攻擊者的目標是污染定型階段所產生的機器模型,以便在測試階段修改新數據的預測

目標:在目標中毒攻擊中,攻擊者想要錯誤分類特定範例

不分青紅皂白:這裏的目標是造成 DoS 之類的效果,這使得系統無法使用。

完整性 在醫療數據集中,目標是使用人口統計資訊來預測抗凝固藥物沃法林的劑量等。研究人員以8%的中毒率引進了惡意樣本,使一半患者的劑量增加了75.06%[黑箱]

在 Tay 聊天機器人中,未來的交談被玷污,因為過去交談的一小部分是用來透過意見反應來訓練系統[5] [Blackbox]

3 模型反轉 可以復原機器學習模型中使用的私人功能 保密; 研究人員能夠復原用於定型演算法的私人訓練數據[6]作者能夠重建臉部,只要名稱並存取模型,機械土克斯就可以使用照片識別出一個具有95%精確度的線內個人。 作者也能夠擷取特定資訊。 [Whitebox 和 Blackbox][12]
4 成員資格推斷攻擊 攻擊者可以判斷指定的數據記錄是否為模型的定型數據集的一部分 保密 研究人員能夠根據屬性(如年齡、性別、醫院)[7][Blackbox] 預測患者的主要程式(例如:患者通過的手術)
5 模型竊取 攻擊者會藉由合法地查詢模型來重新建立基礎模型。 新模型的功能與基礎模型的功能相同。 保密 研究人員成功地模擬了 Amazon、BigML 的基礎演算法。 例如,在 BigML 案例中,研究人員能夠使用 1,150 個查詢,並在 10 分鐘內復原用來預測某人是否應該有良好/不良信用風險(德國信用卡數據集)的模型[8]
6 重新撰寫深度類神經網路 透過來自敵人的特製查詢,機器學習系統可以重新程式設計為偏離建立者原始意圖的工作 完整性、可用性 示範 ImageNet,用來分類數種影像類別之一的系統,其用途為計算方塊。 作者以假設的案例結束論文:攻擊者將 Captcha 影像傳送至雲端託管相片服務中的計算機視覺分類器,以解決影像 captchas 以建立垃圾郵件帳戶[9]
7 實體網域中的對抗範例 對立範例是來自惡意實體的輸入/查詢,其唯一目的是誤導機器學習系統 這些範例可以在實體網域中顯示 完整性 研究人員3D列印了一支步槍與自定義紋理,愚弄圖像辨識系統認為它是海龜[10]

研究人員用設計建造太陽鏡,現在可以愚弄圖像辨識系統,不再正確地辨識臉部[11]

8 可復原定型數據的惡意 ML 提供者 惡意 ML 提供者可以查詢客戶所使用的模型,並復原客戶的訓練數據 保密 研究人員顯示惡意提供者如何呈現後門演算法,其中會復原私人訓練數據。 鑒於模型本身,他們能夠重建臉部和文字。 [12]
9 攻擊 ML 供應鏈[13] 由於定型演算法所需的大量資源(數據 + 計算),目前的做法是重複使用由大型公司定型的模型,並稍微針對手邊的工作進行修改(例如:ResNet 是 Microsoft 的熱門影像辨識模型)。 這些模型是精心策劃的 ina Model Zoo (Caffe 裝載熱門影像辨識模型)。 在這次攻擊中,敵人攻擊卡菲裝載的模型,從而給其他人毒害了井。 完整性 研究人員示範攻擊者如何將惡意代碼簽入其中一個熱門模型。 不知情的 ML 開發人員會下載此模型,並在其程式代碼 [14] 中使用它作為影像辨識系統的一部分。 作者示範 Caffe 中的方式,存在一個模型,其 SHA1 哈希與作者的摘要相符,指出竄改。 有 22 個模型沒有任何 SHA1 哈希,完全可以進行完整性檢查。
10 後門 機器學習 就像在「攻擊 ML 供應鏈」中一樣,在此攻擊案例中,訓練程式會完全或部分外包給想要為使用者提供包含後門的定型模型惡意方。 後端模型在大部分輸入上都表現良好(包括使用者可能會保留為驗證集的輸入),但會導致目標錯誤分類或降低模型對於滿足某些秘密、攻擊者選擇屬性的輸入的正確性,我們將將其稱為後門觸發程式 機密性、完整性 研究人員建立了一個後門的美國街頭標誌分類器,將停止標誌識別為速度限制,只有在將特殊貼紙新增到停止標誌(後門觸發程式)20 時,它們現在正在將這項工作延伸到文字處理系統,其中特定字被取代為喇叭口音的觸發程式[15]
11 惡意探索 ML 系統的軟體相依性 在此攻擊中,攻擊者不會操作演算法。 相反地,惡意探索傳統軟體弱點,例如緩衝區溢位。 機密性、完整性、可用性、 敵人會將損毀的輸入傳送至影像辨識系統,藉由利用其中一個相依性中的軟體錯誤來將其分類錯誤。

非預期失敗的詳細數據

場景# 攻擊類別 描述 入侵類型 案例
12 Reward Hacking 增強式學習系統會以非預期的方式運作,因為指定的獎勵與真正的預期獎勵之間的差異。 系統的 保管庫 AI 中大量遊戲範例已在這裏編譯[1]
13 副作用 RL 系統在嘗試達成其目標時中斷環境 系統的 保管庫 案例,從 [2]:“假設設計師希望 RL 代理程式(例如我們的清潔機器人)達到一些目標,例如將盒子從房間的一側移到另一邊。有時,實現目標的最有效方式涉及對環境其他地區做一些無關和破壞性的事情,比如敲倒其路徑中的水瓶。 如果代理只因移動盒子而獲得獎勵,它可能會敲倒花瓶。
14 散發班次 系統會在一種環境中進行測試,但無法適應其他類型的環境變更 系統的 保管庫 研究人員在類比中訓練了兩種最先進的RL代理程式彩虹DQN和A2C,以避免熔岩。 在訓練期間,RL 代理程式能夠成功避免熔岩並達到其目標。 在測試期間,他們稍微移動熔岩的位置,但RL代理無法避免 [3]
15 自然對抗範例 系統錯誤地辨識使用硬負採礦找到的輸入 系統的 保管庫 在這裡,作者示範如何透過簡單的硬負數採礦程式[4],藉由轉接範例來混淆 ML 系統。
16 常見損毀 系統無法處理常見的損毀和干擾,例如傾斜、縮放或嘈雜影像。 系統 保管庫 作者[5] 顯示影像辨識計量大幅下降的常見損毀,例如亮度、對比、霧或雜訊的變更。
17 實際情況下的未完成測試 ML 系統不會在實際情況下進行測試,而應該在實際情況下運作 系統 保管庫 [25] 中的作者強調,雖然防禦者通常考慮 ML 演算法的健全性,但他們卻看不到現實的情況。 例如,他們爭辯說,一個失蹤的停止標誌在風中被擊倒(更現實),而不是攻擊者試圖干擾系統的輸入。

致謝

我們想感謝安德魯·馬歇爾,馬格努斯·尼斯特倫, John Walton、John Lambert、Sharon Xia、Andi Comissoneru、Emre Kiciman、Jugal Parikh、Sharon Gillet、Microsoft 工程與研究道德(AETHER)委員會成員的安全性工作流程、Amar Ashar、Samuel Klein、Jonathan Zittrain、AI 保管庫 ty Security 工作組成員,以提供有用的意見反應。 我們也希望感謝來自 23 個外部合作夥伴、標準組織和政府組織的檢閱者塑造分類法。

參考書目

[1] 李、國福等人“安全事項:對立 機器學習 調查”。 arXiv 預印 arXiv:1810.07339 (2018 年)。

[2] 查克拉博蒂、安妮爾班等人“對立攻擊和防禦:一項調查”。 arXiv 預印 arXiv:1810.00069 (2018)。

[3] 奧爾特加、佩德羅和維沙爾·緬因尼。 「建置安全的人工智慧:規格、健全性和保證。」 DeepMind 保管庫 ty Research Blog (2018) 。

[4] Amodei、Dario 等「AI 安全性中的具體問題」。 arXiv 預印 arXiv:1606.06565 (2016 年)。

[5] Shankar Siva Kumar、Ram 等人“法律和對立 機器學習”。 arXiv 預印 arXiv:1810.10731 (2018 年)。

[6] Calo、Ryan 等人“欺騙機器人駭客嗎?華盛頓大學法律研究論文 2018-05 (2018 年)。

[7] Paschali、Magdalini 等「一般性與健全性:醫學影像的對抗範例」arXiv 預印 arXiv:1804.00504 (2018 年)。

[8] Ebrahimi、Javid、Daniel Lowd 和 Dejing Dou。 “在字元層級類神經機器翻譯的對立範例上。” arXiv 預印 arXiv:1806.09030 (2018)

[9] 卡利尼、尼古拉斯和大衛·瓦格納。 “音訊對抗範例:語音轉換文字的目標攻擊。” arXiv 預印 arXiv:1801.01944 (2018 年)。

[10] Jagielski、Matthew 等人「操縱機器學習:有害攻擊和回歸學習的對策」。 arXiv 預印 arXiv:1804.00308 (2018)

[11] [https://blogs.microsoft.com/blog/2016/03/25/learning-tays-introduction/]

[12] 弗雷德里克森 M, Jha S, Ristenpart T. 2015. 利用信賴資訊和基本對策的模型反轉攻擊

[13] Shokri R, Stronati M, Song C, Shmatikov V. 2017. 針對機器學習模型的成員資格推斷攻擊。 在 2017 年 IEEE 符號(SP)的 Proc. 中, 聖約瑟,CA,2017 年 5 月 22-24 日,第 3-18 頁。 紐約,紐約:IEEE。

[14] Tramèr、Florian 等人「透過預測 API 竊取 機器學習 模型」。 USENIX 安全性研討會。 2016 年。(英文)

[15] 埃爾賽德,加馬萊丁 F.,伊恩·古德費爾洛,和賈沙·索爾-迪克。 “類神經網路 的對抗性重新程式。arXiv 預印 arXiv:1806.11146 (2018)。

[16] 阿塔利、阿尼什和伊莎·蘇茨克弗。 「合成強固的對立範例」。 arXiv 預印 arXiv:1707.07397(2017)

[17] 謝里夫、馬哈茂德等人“對立的再生網:神經網络攻擊最先進的臉部辨識”。 arXiv 預印 arXiv:1801.00349 (2017)。

[19] 肖、齊旭等「深度學習實作中的安全性風險」。 arXiv 預印 arXiv:1711.11008 (2017)。

[20] 顧、天宇、布蘭登·多蘭-加維特和西德哈爾特。 「Badnets:識別機器學習模型供應鏈中的弱點」。 arXiv 預印 arXiv:1708.06733 (2017)

[21] [https://www.wired.com/story/machine-learning-backdoors/]

[22] [https://docs.google.com/spreadsheets/d/e/2PACX-1vRPiprOaC3HsCf5Tuum8bRfzYUiKLRqJmbOoC-32JorNdfyTiRRsR7Ea5eWtvsWzuxo8bjOxCG84dAg/pubhtml]

[23] Amodei、Dario 等「AI 安全性的具體問題」。 arXiv 預印 arXiv:1606.06565 (2016 年)。

[24] Leike、Jan 等「AI 安全網格線世界」。 arXiv 預印 arXiv:1711.09883 (2017)。

[25] 吉爾默,賈斯汀等人,“激勵遊戲規則的對抗範例研究。 arXiv 預印 arXiv:1807.06732 (2018 年)。

[26] 亨德里克斯、丹和湯瑪斯·迪特利奇。 「將神經網路強固性基準化為常見的損毀和干擾。 arXiv 預印 arXiv:1903.12261 (2019)。