論文 發布於 AIA: 2026年4月26日

真實攻擊者不一定算梯度:ML 安全不能只看模型

這篇論文指出,很多對抗式機器學習(adversarial ML)研究太集中在模型層和梯度式攻擊(gradient-based attack,靠拿到模型內部梯度算出對抗樣本的白箱攻擊手法);但真實攻擊者常用更簡單、更便宜、也更貼近領域情境的方法,繞過整個 ML 系統。這篇真正想講的不是「可以忽略對抗式樣本(adversarial examples)」;而是要把整條流程都拉進來做威脅建模:前處理(輸入送進模型前的清理與轉換)、存取控制(誰能呼叫、用多少)、活動模式(請求頻率、順序、節奏)、特徵轉換(原始資料變成模型特徵的過程)、模型輸出(模型回傳什麼、下游怎麼用)、人工審核(人介入檢查決策)、回饋迴路(結果回流給模型再學習)和攻擊成本(攻擊者實際要花多少時間、錢、知識)。

Adversarial MLEvasionThreat ModelingOperational SecurityML Security
8 項對應的 AIDEFEND 防禦手法
來源: "Real Attackers Don’t Compute Gradients": Bridging the Gap Between Adversarial ML Research and Practice 
作者 Giovanni Apruzzese, Hyrum S. Anderson, Savino Dambra, David Freeman, Fabio Pierazzi, Kevin Roundy · 原文發布: 2022年12月

威脅分析

  • 模型只是系統裡的一個元件。 這篇論文把 ML 模型和它外圍的整個 ML 系統分開看:輸入蒐集、前處理、特徵擷取、決策邏輯、人工審核、記錄,以及延遲回饋都會影響安全結果。
  • 真實世界的繞過攻擊,沒論文裡那麼單純 - 不是讓模型判斷錯一次就成功。 Facebook 的濫用防禦案例採用四層防禦結構:自動化(擋 bot 與自動化濫用)、存取(擋未授權存取)、活動(擋異常行為節奏)、應用(擋應用邏輯或內容層的濫用)。每層擋掉一部分攻擊者,沒擋下來的才會進到下一層。攻擊者要成功,不是只讓模型分錯類,而是要一路穿過整個防線。
  • 釣魚網站案例刻意貼近真實攻擊。 在一款商用的釣魚偵測產品裡,攻擊者用的繞過方法其實很簡單:模糊 logo、裁切、拿掉公司名稱、換背景、把表單做成圖片。MLSEC 比賽也顯示,攻擊成本不能只看 API 查詢次數,還要看時間、領域知識和人力。
  • 論文指出了一種常見錯誤:很多威脅模型評估攻擊難度時,根本沒把真正的攻擊成本算進去。 查詢次數不等於攻擊成本;人工調整、領域知識、實作工程、排行榜或正式環境系統提供的回饋,以及簡單的啟發式規則,都會改變攻擊值不值得做。
  • 真正的建議是精準、系統層級的威脅建模。 不要只用模糊的黑箱 / 白箱說法,而是要對 ML 系統每個元件寫清楚:攻擊者目標是什麼、知道什麼、能做什麼、打算怎麼做,以及成本大概在哪裡。

適用的 8 項 AIDEFEND 防禦手法

AID-M-004
AI Threat Modeling & Risk Assessment
極高
這是論文最關鍵的防禦重點。團隊應該針對整個 ML 系統定義攻擊者的目標、知識、能力、策略和成本,而不是只看模型權重或分類器 API。這包括攻擊者能觀察什麼、能影響哪些流程階段、拿得到哪種回饋,以及哪些不直接碰模型的繞過路徑,比起花力氣最佳化對抗式樣本還更便宜。
AID-M-001.002
AI System Dependency Mapping
極高
論文反覆強調,上線後的 ML 系統不只是模型。依賴關係盤點可以把這件事具體化:資料來源、前處理、特徵儲存區(feature store)、模型、下游決策服務、人工審核路徑、回饋迴路和外部 API 都要記錄下來,威脅模型才會涵蓋真實攻擊者摸得到的元件。
AID-H-002.004
Feature Pipeline Integrity & Transformation Audit
許多實務上的繞過手法,利用的是原始輸入和模型特徵之間的落差。以釣魚網站來說,小幅視覺與版面改動就可能打破偵測器假設,根本不需要計算梯度。稽核轉換邏輯、特徵擷取、訓練與服務階段的一致性,以及特徵轉換後的驗證,正好對上這種流程層攻擊面。
AID-M-005.002
Configuration Baseline Definition & Posture SLOs (Service Level Objectives)
論文裡的濫用防禦漏斗,很適合轉成可量測的安全姿態基準:自動化偵測、存取控制、活動啟發式規則、應用層分類器、審核門檻和升級行為。版本化基準與 SLO 能幫團隊判斷新 ML 防禦是否真的拉高整個系統的攻擊成本,而不只是讓基準測試的準確率好看。
AID-M-003.002
Performance & Operational Metric Baselining
要看出攻擊者正在利用便宜、實務型的偏移,就需要營運基準:異常輸入分布、信心分數變化、人工審核不確定樣本增加、接近門檻的樣本暴增,或特定偵測器品質下降。這呼應論文的重點:正式環境的安全取決於系統實際行為,不只取決於驗證集準確率。
AID-D-002.001
Input / Output Distribution Drift Monitoring
論文裡的真實案例不一定是精緻的對抗式樣本,但仍然會改變偵測器看到的分布。偏移監控可以抓到攻擊者適應、新釣魚模板、視覺特徵改變、惡意程式包裝方式改變,或繞著模型走的濫用活動。
AID-D-005.002
Security Monitoring & Alerting for AI
實務攻擊會跨過自動化、帳號、活動、模型決策和人工回饋等多層,所以防禦方需要能串起這些層的安全遙測。警示不能只看模型信心分數異常,也要關聯帳號行為、查詢模式、審核佇列、被阻擋動作和決策後造成的傷害。
AID-H-001
Adversarial Robustness Training
部分
當系統層威脅模型顯示模型層繞過既可行又划算時,對抗式強健訓練(adversarial robustness training)仍然有價值。不過照這篇論文的框架,它只是整個防禦漏斗裡的一項控制,不應該被當成所有 ML 安全問題的預設答案。

身為資安防禦者,我們應該這麼做

  • 先畫出完整 ML 系統,不要只畫模型。把輸入來源、前處理、特徵擷取、模型呼叫、後處理、政策邏輯、人工審核、回饋迴路、記錄和外部相依項目都放進去。
  • 對每個元件寫清楚攻擊者的目標、知識、能力、策略和成本。特別標明 read / write 存取差異、攻擊者看得到哪種輸出,以及他能影響訓練資料、即時輸入、前處理,還是只能影響下游行為。
  • 用實務攻擊者手法重跑繞過分析:簡單輸入轉換、領域特定版面改動、帳號或存取濫用、自動化、活動型態改變,以及低成本回饋迴路。
  • 同時量測攻擊者和防禦者成本。不要只記 API 查詢次數,也要記人力、實作工程、成功所需時間、營運可見度、誤判成本、審核負擔,以及簡單啟發式規則是否就能拆掉攻擊。
  • 把正式環境留下的執行軌跡和那些差點出事的案例做成回歸測試。納入不確定樣本、人工升級審核案例、新活動模板,以及那些看起來正常、卻讓 ML 系統失去信心的輸入。
  • 在適合的地方使用對抗式強健訓練(adversarial robustness training),但不要讓它取代系統控制,例如存取檢查、特徵流程驗證、濫用監控和人工審核工作流程。

結論

這篇論文有價值,是因為它把 ML 安全重新放回「系統的營運安全」來看,而不是只談「模型本身夠不夠強健」。真實攻擊者在便宜又有用時,當然可能計算梯度;但更多時候,他們靠前處理假設、存取路徑、活動模式或簡單領域技巧就能走得更遠。AIDEFEND  對應到的重點是威脅建模、依賴關係盤點、確認特徵處理流程沒有被繞過、安全姿態基準、營運指標、偏移監控和 AI 安全警示。防禦目標不是只讓單一分類器更難被擾動,而是讓攻擊者想繞過整個 ML 系統時,需要付出更高成本、留下更多跡象,也更容易被擋下來。