2m read

數據中毒:定義、攻擊類型和防禦

內容有哪些?

資料投毒是指對人工智慧或機器學習系統學習所使用的資料進行蓄意攻擊。攻擊者不會直接攻擊即時應用程序,而是破壞資料集、標籤集、檢索語料庫或訓練管道,使模型學習錯誤的模式,並在之後以符合攻擊者目標的方式運行。

這就是為什麼資料投毒對安全和人工智慧團隊來說難以防範的原因。損害可以在任何人看到模型輸出結果之前很久就造成。被污染的模型在標準測試中可能看起來正常,透過廣泛的準確性檢查,但在攻擊者關心的具體情況下仍然會失敗。

簡短定義:資料投毒是指故意操縱訓練、微調、標記或檢索數據,使人工智慧系統學習到被破壞的行為。

資料投毒的工作原理

大多數投毒攻擊都遵循相同的基本模式,即使技術細節會因模型類型或資料來源而異。

  1. 攻擊者找到了進入資料管道的途徑。此路徑可能是公共資料集、抓取的網路資源、眾包標註過程、供應商提供的模型、標註工具或 RAG 系統所使用的檢索語料庫。
  2. 攻擊者新增、更改或刪除資料。他們可能會翻轉標籤、插入觸發模式、扭曲範例的分佈、刪除重要的反例,或在文件中添加旨在影響後續檢索的指令。
  3. 該模型能夠從損壞的數據中學習。在訓練或微調過程中,系統會將攻擊者控制的模式視為合法證據。
  4. 損害會在之後顯現出來。該模型可能會變得不那麼準確,更加有偏差,或者容易受到僅在特定條件下才會啟動的隱藏觸發器的影響。

攻擊者通常不需要存取最終部署的應用程式。如果他們能夠影響上游數據,他們就有可能在不觸及生產環境的情況下影響最終模型。

它與意外資料損壞有何不同

錯誤數據很常見。檔案損壞、標籤錯誤、來源漂移、重複檔案混入,以及邊緣情況被忽略。這些都是數據品質問題。資料投毒與一般資料投毒不同,因為資料投毒是故意的、對抗性的。

這種區別會改變人們的反應。意外損壞通常透過品質檢查、驗證和清理來處理。資料投毒需要安全意識:溯源、存取控制、威脅建模、稽核追蹤、異常偵測,以及假設某些輸入可能是惡意的。

資料投毒攻擊的類型

投毒攻擊通常根據攻擊者的目標進行分類。有些人從整體上降低了模型的性能。有些測量結果較為精確,因此更難被注意到。

標籤翻轉攻擊

標籤翻轉攻擊是指攻擊者更改選定訓練樣本的標籤。垃圾郵件被標記為合法郵件。欺詐行為被標記為正常行為。惡意樣本被標記為安全。然後,模型學習到了輸入和輸出之間的錯誤關係。

後門或木馬攻擊

後門攻擊使模型在大多數情況下表現正常,但在觸發條件出現時失效。觸發因素可能是影像中的視覺標記、文字中的短語、檔案中的模式,或是攻擊者控制的其他訊號。BadNets 透過展示模型如何在保持強大而乾淨的性能的同時攜帶隱藏的後門,幫助人們了解了這類攻擊。

定向投毒

定向投毒會改變模型對特定輸入的行為,同時基本上保持其整體表現不變。這是防禦者最擔心的版本,因為普通的儀表板可能顯示整體準確率良好,但模型在某個狹窄的高價值案例上卻悄悄出錯。

可用性攻擊

可用性攻擊則不那麼隱蔽。目標是大幅降低模型效能,使系統變得不可靠或無法使用。這些攻擊比有針對性的投毒攻擊更容易被發現,因為這種攻擊的失敗在許多案例中都顯而易見。

RAG系統中的檢索中毒

現代 LLM 應用通常使用檢索增強生成(RAG),其中模型在回答問題之前會諮詢外部知識庫。這會形成另一個中毒表面。如果惡意文件進入檢索語料庫,模型可能會稍後檢索該文件並將其視為可信上下文。

最近針對 SilentRetrieval 等攻擊的研究表明,這很重要:被污染的文件可以寫得看起來流暢且相關,使得簡單的品質檢查成為薄弱的防御手段。對於 RAG 系統,資料集不僅僅是原始訓練集。它也是模型在推理時讀取的知識庫。

中毒可能進入人工智慧生命週期的哪個環節

一個常見的錯誤是認為中毒只會在模型訓練期間發生。實際上,污染幾乎可以進入任何收集、標記、移動、轉換或檢索資料的地方。

  • 收集:損壞的來源資料、抓取的資料、公共資料集、使用者提交的記錄或感測器資料。
  • 標註:操作人工標註、眾包標註或供應商標註工作流程。
  • 聚合:篡改來自多個來源的資料。
  • 預處理:在清洗、轉換、去重或特徵工程過程中對資料進行變更。
  • 訓練與微調:對用於訓練模型或調整現有模型的資料進行投毒。
  • 檢索:將敵對文件新增至 RAG 系統在使用過程中查詢的語料庫中。

這種生命週期視角很重要,因為僅在訓練階段部署的防禦措施會錯過先前發動的攻擊。RAG 又造成了另一個漏洞:攻擊可以在部署後透過模型檢索到的材料進入。

為什麼資料投毒難以檢測

最猛烈的投毒攻擊旨在使模型看起來健康。整體準確率可能不會下降。驗證測試可能通過。只有當存在觸發器、目標類別或特定輸入模式時,才會出現中毒行為。

這就是為什麼研究案例很有用,但需要仔細解讀的原因。後門研究表明,模型在乾淨的輸入上可能表現良好,但在觸發的輸入上可能表現不佳。RAG 投毒實驗表明,惡意檢索文件很難透過簡單的流暢性或困惑度檢查來標記。實際的教訓不是說檢測是不可能的;而是說僅僅檢測是不夠的。

警告信號可能包括:

  • 準確率突然下降,且無法用已知的資料、模型或程式碼變更來解釋。
  • 不同群體、班級或輸入類型之間出現意料之外的偏差或不一致的表現。
  • 錯誤分類集中在特定的類別、短語、特徵、來源或文件系列。
  • 該模型在廣泛的測試中表現正常,但在特定的觸發條件下卻反覆失效。

資料投毒屬於對抗性人工智慧這一更廣泛的領域,在這個領域中,類似的術語經常被隨意使用。最清晰的差異在於時機:資料投毒會破壞系統學習到的資訊;許多其他攻擊會操縱系統在使用過程中的行為。

威脅 它與數據中毒有何不同?
立即註射 針對LLM指令或上下文的執行時間攻擊。資料中毒會改變學習資料或檢索資料。
對抗樣本 輸入資料是在推理階段精心設計的,目的是欺騙訓練好的模型。投毒會在學習前或學習過程中改變數據。
模型中毒 攻擊者直接更改模型參數、梯度或更新。資料投毒是透過模型學習的資料來實現的。
模型盜竊 攻擊者提取或模仿模型。中毒會破壞模型的行為。
資料損壞 數據可能因意外而出錯。投毒是蓄意的、帶有敵意的行為。

簡而言之:資料投毒發生在學習之前或學習期間,而提示注入和對抗樣本則發生在使用期間。

如何預防和緩解數據中毒

由於一旦模型從被污染的資料中學習,清理工作就變得困難,因此最好的防禦措施是從訓練之前開始,並貫穿整個部署過程。目標是使數據影響可見、可控,並在可能的情況下可逆。

訓練

  • 追蹤資料來源,以便團隊了解記錄的來源以及哪些來源是可信的。
  • 在資料擷取時進行驗證和清理,特別是對於公共資料集、抓取的內容、使用者提交的內容和第三方資料來源。
  • 將開源資料集、預訓練模型和供應商提供的模型視為需要審查的供應鏈投入。
  • 限制哪些人可以新增、重新標記、刪除或核准訓練資料。
  • 保留資料集變更、標註決策和管道更新的稽核日誌。

在培訓和評估期間

  • 測試各個部分的性能,而不僅僅是整體準確率。
  • 尋找可疑的聚類、重複的模式、標籤異常和特定於來源的行為。
  • 在將新資料來源投入生產訓練之前,先對其進行影子訓練或分階段訓練。
  • 在模型將用於支援敏感決策時,使用後門和觸發測試。

對於 RAG 和 LLM 系統

  • 在文件進入檢索語料庫之前對其進行篩選,包括隱藏的提示和格式錯誤的內容。
  • 使用來源排名、存取控制和文件信任等級,而不是平等對待每個檢索到的段落。
  • 在適當情況下結合詞彙檢索和向量檢索,以免單一檢索方法成為施加影響的唯一途徑。
  • 分離段落,比較多個來源,避免讓單一檢索到的文檔主導高影響力答案。

實際原理很簡單:資料中毒既是資料治理和供應鏈問題,也是模型安全問題。它利用薄弱的來源、寬鬆的存取權限、糟糕的審查和不可信的輸入,比利用奇特的模型架構缺陷更為常見。

數據中毒與法律

資料投毒的法律地位取決於事實:意圖、授權、管轄權、受影響的系統以及造成的損害。未經授權幹擾系統或資料集可能會根據電腦濫用、詐欺、合約、智慧財產權或特定行業規則承擔刑事或民事責任。

此外,也有人專門討論故意更改自己的公開內容,導致未經許可抓取這些內容的模型學習到退化的模式。有人認為這是對未經授權的網路抓取行為的自衛;也有人認為這仍然會帶來法律和營運風險。這個問題尚未有定論,因此各組織應將其視為法律審查問題,而不是純粹的技術策略。

常見問題解答

資料投毒的例子是什麼?

一個簡單的例子是使用電子郵件訓練的垃圾郵件過濾器,其中一些垃圾郵件會被故意標記為合法郵件。更高級的例子是帶有後門的圖像分類器,它除了在特定觸發條件出現時才會正常工作。

數據中毒有哪些症狀?

症狀可能包括無法解釋的準確率下降、意外的偏差、異常的錯誤分類模式,或與特定觸發因素相關的故障。有針對性的攻擊和後門攻擊在廣泛的性能檢查中可能很少表現出症狀。

資料投毒與即時注入有何不同?

數據中毒會改變模型從數據中學習到的內容。提示注入會在使用過程中操縱 LLM 的指令或情境。一種攻擊學習過程;另一種攻擊運行時行為。

資料投毒會影響大型語言模型嗎?

是的。LLM 系統可以透過預先訓練資料、微調資料集、檢索語料庫、關聯工具和外部知識來源來影響。當文件信任度較低時,RAG系統尤其容易受到攻擊。

結論

資料投毒是對學習過程的一種攻擊。它的優點在於槓桿作用:少量錯誤資料可以影響模型,而模型隨後會大規模地做出決策。它的危險在於時機:妥協方案可以事先植入,只有在模型投入使用後才會被發現。

最好的防禦措施並非僅僅依靠單一的探測器。這是嚴謹的資料治理:可信任來源、受控存取、資料集稽核追蹤、切片級測試、RAG語料庫審查以及部署後的持續監控。對於建立或購買人工智慧系統的團隊來說,資料投毒提醒我們,模型安全始於模型產生答案之前。

This page was machine-translated. If you notice any inaccuracies or have feedback, please feel free to send it to us here.