為 AI 系統之威脅建模
如何使用為機器學習適配之簡化威脅建模框架辨識 AI 系統特有之資產、威脅與攻擊向量。
何為威脅建模?
威脅建模為系統化思考攻擊者親身展示前系統可能出錯之處之實踐。對 AI 系統,威脅建模回答三個核心問題:我們在保護什麼?(資產)、誰可能攻擊之?(威脅行為者),與它們可能如何做?(攻擊向量)。
傳統威脅建模框架如 STRIDE(Spoofing、Tampering、Repudiation、Information Disclosure、Denial of Service、Elevation of Privilege)為確定性軟體系統設計。AI 系統引入這些框架未完全涵蓋之新資產類型、新威脅行為者與新攻擊向量。
步驟 1:辨識 AI 特定資產
AI 系統中之資產超越傳統資料與基礎設施。模型本身、其訓練資料、其行為對齊,與其工具存取皆為需保護之資產。
| 資產 | 描述 | 為何重要 |
|---|---|---|
| 模型權重 | 神經網路之習得參數 | 竊取啟動複製;篡改啟動後門 |
| 訓練資料 | 為預訓練、微調與 RLHF 使用之資料 | 含潛在敏感或專有資訊 |
| 系統提示 | 定義模型行為與約束之指令 | 暴露揭露安全機制與業務邏輯 |
| 對齊/安全訓練 | 經 RLHF 與安全微調習得之行為約束 | 繞過破壞所有以政策為本之保護 |
| 工具存取 | 模型可呼叫之 API、資料庫、檔案系統與外部服務 | 誤用啟動超越文字生成之現實世界影響 |
| 使用者資料 | 對話、上傳之檔案與互動歷史 | 含 PII 與潛在敏感資訊 |
| 檢索語料 | 為 RAG(檢索增強生成)使用之文件 | 投毒破壞模型之知識庫 |
| 業務邏輯 | 應用特定規則、定價與決策 | 提取揭露競爭情報 |
資產敏感度矩陣
非所有資產同等敏感。按其對機密性、完整性與可用性受損之敏感度分類每個資產:
| 資產 | 機密性 | 完整性 | 可用性 |
|---|---|---|---|
| 模型權重 | 高 | 關鍵 | 中 |
| 訓練資料 | 高 | 關鍵 | 低 |
| 系統提示 | 中 | 高 | 低 |
| 對齊 | N/A | 關鍵 | 高 |
| 工具存取 | 中 | 關鍵 | 高 |
| 使用者資料 | 關鍵 | 高 | 中 |
步驟 2:辨識威脅行為者
AI 系統之威脅行為者範圍自好奇使用者至精巧對手。理解其動機與能力塑造你測試之深度與聚焦。
隨意使用者
動機:好奇、娛樂或測試邊界。能力:無技術專業;僅使用自然語言。典型攻擊:簡單越獄嘗試、自社交媒體複製提示、基礎系統提示提取。
技能攻擊者
動機:為內容生成、資料竊取或競爭情報之誤用。能力:理解提示工程、熟悉已知攻擊技術、可腳本化 API 互動。典型攻擊:精巧提示注入鏈、自動化提取、多輪操弄。
ML 實踐者
動機:模型竊取、研究或競爭優勢。能力:對模型架構之深入理解、為訓練替代模型之計算存取、設計以梯度為本之攻擊之能力。典型攻擊:經系統化查詢之模型提取、對抗範例生成、微調攻擊。
內部威脅
動機:資料竊取、破壞或未授權存取。能力:對內部系統、訓練管線或部署基礎設施之存取。典型攻擊:訓練資料投毒、模型後門插入、系統提示操弄。
自動化代理
動機:變化(代理代表另一行為者行動)。能力:可大規模互動、鏈接多個攻擊,並利用代理至代理介面。典型攻擊:大規模間接提示注入、經工具濫用之自動化憑證收割、回饋投毒。
步驟 3:繪製攻擊向量
以辨識之資產與定義之威脅行為者,下一步為繪製每個行為者如何可達每個資產。攻擊向量為對手自其起始位置至其目標之路徑。
AI 攻擊面
┌─────────────────────────────────┐
User Input ──────→│ Application Layer │
│ (API, UI, authentication) │
└──────────┬──────────────────────┘
│
┌──────────▼──────────────────────┐
│ Orchestration Layer │
│ (prompt assembly, RAG, │
│ tool routing, guardrails) │
└──────────┬──────────────────────┘
│
┌──────────▼──────────────────────┐
│ Model Layer │
│ (inference, attention, │
│ token generation) │
└──────────┬──────────────────────┘
│
┌──────────▼──────────────────────┐
│ Data Layer │
│ (training data, embeddings, │
│ retrieval corpus, user data) │
└─────────────────────────────────┘
按層之向量繪製
應用層向量:
- API 身分驗證繞過或濫用
- 速率限制逃避
- 輸入驗證缺口(編碼、長度)
- 會話管理缺陷
編排層向量:
- 經使用者輸入之提示注入
- 經外部文件操弄之 RAG 投毒
- 工具呼叫操弄
- 經混淆或語意逃避之護欄繞過
模型層向量:
- 經對抗提示之越獄
- 造成誤分類之對抗範例
- 經系統化查詢之模型提取
- 經記憶利用之訓練資料提取
資料層向量:
- 訓練資料投毒(若存取存在)
- Embedding 空間操弄
- 知識庫破壞
- 經模型之使用者資料外洩
步驟 4:評估並優先化
以繪製之攻擊向量,按可能性與影響評估每個以優先化測試努力。
可能性因素
- 需之存取:攻擊者需身分驗證存取嗎?物理存取?內部網路存取?
- 需之技能:攻擊能僅以自然語言執行,或需 ML 專業?
- 現有緩解:有護欄、速率限制或監控存在嗎?
- 公開知識:此向量有已知 exploit 或技術可用嗎?
影響因素
- 資料敏感度:什麼資料可能被暴露或破壞?
- 爆炸半徑:多少使用者或系統受影響?
- 可逆性:傷害能被撤銷嗎?
- 法規意涵:影響觸發法律或合規義務嗎?
優先度矩陣
| 低影響 | 中影響 | 高影響 | |
|---|---|---|---|
| 高可能性 | 監控 | 測試 | 先測試 |
| 中可能性 | 接受 | 測試 | 測試 |
| 低可能性 | 接受 | 監控 | 若有時間測試 |
簡化 AI 威脅模型範本
為新於 AI 威脅建模之團隊,此簡化範本提供起點:
AI System: [Name and description]
Deployment: [API / Self-hosted / Edge / Hybrid]
Model: [Base model, fine-tuned or not, model size]
Tools: [List of tools/APIs the model can access]
Users: [Who interacts with the system]
ASSETS:
1. [Asset] — Sensitivity: [High/Medium/Low]
...
THREAT ACTORS:
1. [Actor type] — Motivation: [...] — Capability: [...]
...
ATTACK VECTORS (prioritized):
1. [Vector] — Target: [Asset] — Likelihood: [H/M/L]
— Impact: [H/M/L] — Priority: [Critical/High/Medium/Low]
...
EXISTING MITIGATIONS:
1. [Mitigation] — Covers: [Which vectors] — Gaps: [What it misses]
...
TESTING PRIORITIES:
1. [Highest priority vector and testing approach]
...
相關主題
- 紅隊方法論基礎 —— 威脅建模如何適於委任生命週期
- AI 攻擊分類 —— 經威脅建模辨識之攻擊分類
- AI 系統架構 —— 理解你建模之系統
- 對抗 ML:核心概念 —— 告知攻擊向量列舉之對抗技術
參考資料
- "Threat Modeling: Designing for Security" - Adam Shostack(2014)- 威脅建模方法論之基礎文本,適用於所有系統(含 AI)
- "AI Risk Management Framework" - NIST(2024)- 於更廣 AI 風險管理內脈絡化威脅建模之聯邦框架
- "MITRE ATLAS: Adversarial Threat Landscape for AI Systems" - MITRE(2023)- 填充 AI 威脅模型之「攻擊向量」維度之對抗技術知識庫
- "Securing Machine Learning Pipelines" - Google(2024)- 跨 ML 開發生命週期辨識與緩解威脅之實務指引
AI 威脅建模與傳統應用安全威脅建模之差異為何?