紅隊與藍隊不對稱
為何攻擊 AI 系統在根本上比防禦它們更容易:不對稱優勢、防禦者困境,以及縮小差距的策略。
紅隊與藍隊不對稱
紅藍不對稱在 AI 安全中並非單純的觀察——它是問題本身的結構性屬性。在傳統資訊安全中,攻擊者的優勢早已確立:防禦者必須保護每個進入點,而攻擊者只需找到一個漏洞。AI 系統放大了這種不對稱,因為攻擊面是整個自然語言空間、模型行為具機率性,且安全機制在根本上是可被移除的層,而非深入的架構屬性。
根本不對稱
不對稱 1:搜尋空間
| 面向 | 紅隊 | 藍隊 |
|---|---|---|
| 要搜尋什麼 | 任何會產生有害輸出的輸入 | 所有可能有害的輸入 |
| 搜尋空間大小 | 無界(所有可能字串) | 相同的無界空間 |
| 成功準則 | 一個可用的攻擊 | 阻擋所有可能的攻擊 |
| 工作量擴展 | 每次發現攻擊為常數 | 隨攻擊面線性成長 |
攻擊者探索一個空間,尋找滿足其目標的任一點。防禦者則必須確保此空間中沒有任何一點滿足攻擊者的目標。這是存在量化與全稱量化之間的差異——且在計算上是根本性的。
不對稱 2:知識要求
攻擊者只需知悉一個漏洞,防禦者則必須知悉所有漏洞:
紅隊知識要求:
✓ 一種可用的注入技術
✓ 對當下防禦的一種繞過方式
✓ 對目標系統的基本理解
合計:窄而深的知識
藍隊知識要求:
✓ 所有已知的注入技術
✓ 對每種防禦的所有已知繞過方法
✓ 對自有系統的深入理解
✓ 對未知技術的預判
合計:廣而深的知識
不對稱 3:評估負擔
攻擊者一旦成功即刻知曉,防禦者則永遠無法確知自己已經成功:
- 紅隊評估:模型是否產生有害輸出?二元、即時、可觀察。
- 藍隊評估:系統對所有攻擊是否安全?無界、不確定、需要證明否命題。
不對稱 4:創新週期
創新週期有利於攻擊者:
防禦者部署防禦
例如,一個阻擋已知注入樣式的關鍵詞內容過濾器。
攻擊者開發繞過
攻擊者找到一種語意注入變體,以不同詞彙傳達相同意圖。成本:數小時至數天。
防禦者必須更新防禦
防禦者必須重新訓練分類器、更新黑名單或重新設計防禦架構。成本:數天至數週。
攻擊者再度調整
攻擊者測試更新後的防禦並找到新的繞過方式。此循環重複,攻擊者持續保有領先時間。
不對稱 5:成本結構
| 活動 | 紅隊成本 | 藍隊成本 |
|---|---|---|
| 發現一個攻擊 | 50-500 美元(API 呼叫+時間) | 不適用 |
| 防禦該攻擊 | 不適用 | 5,000-50,000 美元(工程+測試) |
| 全面紅隊評估 | 10,000-100,000 美元 | 不適用 |
| 全面防禦部署 | 不適用 | 100,000-1,000,000+ 美元 |
| 長期維運 | 1,000-10,000 美元/月 | 10,000-100,000 美元/月 |
成本比例大約為 10-100 倍,有利於攻擊者。尋找攻擊很便宜;建立穩健防禦則很昂貴。
AI 特有的不對稱
除傳統資安不對稱外,AI 系統還引入其他不平衡:
自然語言作為攻擊面
傳統安全中,攻擊輸入必須符合特定格式(SQL、HTTP、二進位協定)。AI 安全中,攻擊面則是自然語言——目前可得表達力最豐富、最具彈性的媒介:
- 無限改寫空間:任何惡意意圖皆有無限的語法表達
- 語意曖昧:有害與無害之間的邊界依脈絡而定且具主觀性
- 跨語言攻擊:同一攻擊可於模型理解的任何語言中奏效
- 文化脈絡敏感:何謂有害因文化與脈絡而異
機率性行為
傳統軟體要麼有漏洞、要麼沒有。AI 模型則表現出機率性行為:
- 相同輸入可能在不同執行中產生不同輸出
- 安全行為隨溫度、取樣參數與模型版本而異
- 失敗 99 次的攻擊可能在第 100 次成功
- 防禦者無法測試所有可能的隨機種子與取樣路徑
可移除的安全層
安全對齊(RLHF、DPO)建立了一個與模型核心能力根本可分離的行為外覆層:
傳統軟體安全: AI 安全:
┌────────────────────────┐ ┌────────────────────────┐
│ 安全編織於程式碼 │ │ 安全是一層 │
│ 的每個層級 │ │ 位於核心能力之上 │
│ │ │ │
│ │ │ │
│ 移除安全會破壞功能 │ │ 移除安全能力仍保留 │
└────────────────────────┘ └────────────────────────┘
這意味著擁有模型存取權(開放權重)的任何使用者都能直接移除安全層,所得模型能力完整而不受約束。
縮小不對稱的策略
儘管攻擊者擁有結構性優勢,防禦者仍可採用縮小差距的策略:
策略 1:縱深防禦
若多個獨立層提供重疊涵蓋,任一單一防禦不必完美:
具獨立層的攻擊成功機率:
單一防禦(90% 有效):
P(繞過) = 10% = 0.10
兩個獨立防禦(各 90%):
P(兩者皆繞過) = 10% × 10% = 1% = 0.01
三個獨立防禦(各 90%):
P(三者皆繞過) = 10% × 10% × 10% = 0.1% = 0.001
每增加一層皆使攻擊者的難度倍增。
策略 2:提高攻擊成本
即便無法消除攻擊,也要讓攻擊變得昂貴:
| 機制 | 如何提高成本 |
|---|---|
| 速率限制 | 限制每時間窗內的嘗試次數 |
| API 金鑰要求 | 建立問責機制並可撤銷 |
| 漸進式挑戰 | 對可疑樣式提升安全審查力度 |
| 監控與告警 | 提升攻擊者被偵測的風險 |
| 法律嚇阻 | 對成功攻擊造成後果 |
策略 3:降低攻擊價值
使成功攻擊的衝擊降低:
- 最小權限:限制模型能做什麼,降低入侵後的價值
- 資料最小化:減少模型上下文中的敏感資料
- 隔離區分:隔離系統以避免一次入侵連鎖擴散
- 回應限制:限制任何單次模型動作的範圍
策略 4:轉向主動防禦
不要被動等待攻擊,主動縮小攻擊面:
- 持續紅隊:維持一支攻擊自家系統的內部紅隊
- 自動化對抗測試:對自家防禦執行自動化越獄流程
- 威脅建模:於部署前系統性辨識並處理攻擊向量
- 社群參與:參與共享威脅情報
策略 5:接受不完美的防禦
設計即使防禦被部分繞過仍能安全運作的系統:
- 優雅降級:攻擊成功時限制影響範圍
- 人類監督:對高風險決策保留人機迴圈
- 可逆動作:偏好可撤銷的動作而非不可逆動作
- 保守預設:不確定時預設選擇較安全的選項
防禦者的心態轉變
有效防禦需要接受不對稱,而非與之抗爭:
| 無效心態 | 有效心態 |
|---|---|
| 「我們需要阻擋所有攻擊」 | 「我們需要讓攻擊變貴並限制其衝擊」 |
| 「我們的防禦必須完美」 | 「我們的防禦必須分層,使單次繞過不會造成災難」 |
| 「我們修復了已知攻擊」 | 「我們已降低已知攻擊面;未知攻擊仍存在」 |
| 「模型已對齊,因此安全」 | 「對齊降低風險但未消除風險;需要架構性控制」 |
| 「安全是工程問題」 | 「安全是持續監控、測試與調整的過程」 |
量化不對稱
紅隊可透過量化目前的不對稱協助防禦者:
def asymmetry_assessment(defense_system, attack_methods, budget):
"""
為特定部署量化紅藍不對稱。
回傳協助防禦者排序投資優先順序的指標。
"""
results = {
"attacks_attempted": 0,
"attacks_succeeded": 0,
"average_cost_per_success": 0,
"average_time_per_success": 0,
"weakest_defense_layer": None
}
for method in attack_methods:
attempts = method.run_campaign(defense_system, budget=budget)
results["attacks_attempted"] += attempts.total
results["attacks_succeeded"] += attempts.successes
if attempts.successes > 0:
cost = attempts.total_cost / attempts.successes
results["average_cost_per_success"] = min(
results.get("average_cost_per_success", float('inf')),
cost
)
results["success_rate"] = (
results["attacks_succeeded"] /
max(results["attacks_attempted"], 1)
)
# 防禦成本與攻擊成本之比顯示不對稱程度
results["cost_asymmetry_ratio"] = (
defense_system.total_cost /
max(results["average_cost_per_success"], 1)
)
return results相關主題
- 防禦分類法 —— 防禦的完整分類
- 防禦評估 —— 衡量防禦成效
- 防禦經濟學 —— 成本效益分析
- 分層防禦策略 —— 實施縱深防禦
某防禦團隊在全面安全重整後於阻擋提示詞注入攻擊上達到 95% 成功率。他們應如何解讀此結果?
參考資料
- Schneier,「The Attacker's Advantage」(2015)
- Anderson,「Security Engineering」(第 3 版,2020)
- RAND Corporation,「Identifying and Addressing AI Offense-Defense Imbalances」(2023)
- Microsoft,「Lessons Learned from Red Teaming 100 Generative AI Products」(2024)