成員推斷攻擊(Membership Inference Attack)

目標: 判斷某筆資料是否曾經出現在模型的訓練集中。

攻擊原理&手段

模型對於訓練過的資料會表現出「過度自信」——因為見過這筆資料,所以預測時損失更低、信心度更高。

攻擊者輸入一筆資料 x
        ↓
查詢模型輸出(機率分佈、損失值、logits)
        ↓
觀察信心度是否異常高?損失是否異常低?
        ↓
推斷:x 是否在訓練集中?

24293-7m7hri0agzy.png

具體操作 [推理期]

  • Shadow Model 攻擊:
    攻擊者訓練若干「影子模型」,其中一半使用包含目標資料的資料集,另一半不包含;用這些影子模型的行為訓練一個「成員分類器」,再拿去詢問目標模型。

  • Loss-based 攻擊
    直接計算模型對某筆資料的 cross-entropy loss,訓練資料的 loss 通常明顯低於非訓練資料。

  • 信心度閾值攻擊:
    若模型輸出 softmax 機率,訓練成員對其真實標籤的預測機率往往更高(例如 >0.95 vs ~0.6)。

訓練資料抽取攻擊(Training Data Extraction)

直接讓模型「吐出」訓練集中的原始文字/資料,而非僅判斷「有沒有」。

攻擊原理

大型語言模型本質上是在壓縮訓練資料。當某段文字在訓練集中重複出現或高度特殊時,模型會將其「記憶」下來,可以被特定 prompt 觸發而重現。

KV Cache 隔離 ≠ 訓練資料隔離

這是兩個完全不同層面的問題:

-- KV Cache 隔離 訓練資料殘留
發生時間 推理期(即時) 訓練期(已完成)
隔離方式 技術上可以做到完全隔離 無法「隔離」,只能不使用
風險性質 其他用戶即時讀取你的上下文 資訊被壓縮進模型權重永久殘留

關鍵問題:Business 用戶的資料有沒有被拿去訓練?

這才是核心。以 Anthropic 為例:

Claude.ai 免費版/Pro:Anthropic 預設可能使用對話資料改善模型(可opt-out)
API/Enterprise 方案:Anthropic 明確承諾不使用客戶資料訓練模型

嗯上面也是之前關於數據隱私的理解,當然這其中還有不少隱秘問題,下面是幾個必須厘清的訊息:

1. 基礎模型的預訓練痕跡

模型在預訓練階段吃了海量公開網路資料,如果你的資料本來就在網路上公開過,那它早就在模型裡了,跟你有沒有訂閱 Business 無關。

2. Fine-tuning 洩漏

如果廠商對 Business 客戶提供「用你的資料微調專屬模型」的服務,而你使用了這個功能,那微調後的模型就確實帶有你資料的痕跡,上述兩種攻擊就成立。

3. 承諾的可信度問題

這本質上是信任問題,而非技術問題。你無法從外部驗證廠商是否真的沒有把你的資料拿去訓練。

4. 間接推斷

即使資料沒被訓練,攻擊者仍可透過對話歷史洩漏(prompt injection、context leakage)等方式間接獲取資訊,這不屬於成員推斷攻擊,但危害同樣存在。

結論

1. 之前推論過,如果你在尚未開啓使用 copilot 的時候使用到了隱秘數據,然後開啓 copilot 后從未使用到,但 copilot 的優化技術包含使用 vs 的 history,就很難保證不會獲取到私密數據。

2. 如果你想知道 anthropic 承諾的 api/subscript 用戶不會將數據納入訓練,那你就嘗試去獲取全世界只有你提供的詭異數據,類似 Shadow Model 攻擊

3. 這也是 SLM 爲什麽進入前瞻的原因,某些隔離環境、具身智能、邊緣設備的應用場景需求,當然,其實最重要的是數據保密性跟 robust,這兩個尤爲重要。

無標籤

關注作者:

新增評論