iPAS AI 應用規劃師 中級 科目一

對抗性攻擊怎麼防?哪個方法不是針對它的?

原題 24

某金融機構的 AI 風控系統遭受對抗性攻擊,駭客透過對輸入特徵進行微小但惡意的擾動,成功欺騙了模型。為了從根本上解決模型自身對這類攻擊的脆弱性,下列何者並非針對此種攻擊型態的技術手段?

白話

一家金融機構的 AI 風控系統被「對抗性攻擊」(Adversarial Attack)攻破:駭客對輸入的特徵資料做了極細微的修改,就讓 AI 做出錯誤判斷。

問你:下列哪一個「並非」針對對抗性攻擊的技術手段?

點選你的答案。

01 總結

一句話總結

這題是「非」題,要找出不是針對對抗性攻擊的那個選項:強化網路防火牆(選項 D)是網路安全措施,阻擋的是「誰能連上系統」,不能阻止攻擊者送進來的輸入資料本身帶有惡意擾動

02 情境

先感受問題:輸入改一點點,AI 就判錯

假設你在「富安銀行」負責一個信用貸款風控 AI。這個模型會根據申請人的特徵(收入、負債比、信用分數)預測是否放貸。

駭客張三,信用分數 520,照理應該被拒絕。但他知道這套 AI 模型的弱點:

原始輸入:收入 42,000、負債比 0.68、信用分數 520 → 模型預測:拒絕
修改後:收入 42,001.3、負債比 0.6799、信用分數 520.2 → 模型預測:核准

這些改動對人來說毫無意義(收入差了 1.3 元),但神經網路的決策邊界是高維的複雜曲面,在邊界附近做微小擾動就能越過邊界。

張三並沒有「入侵」系統,他只是送了一個特別設計的申請表單進來。攻擊發生在資料層,不在網路層

03 對照

把對抗性攻擊當成「駭客入侵」來防,是錯方向

很多人看到「攻擊」就想到防火牆、入侵偵測、存取控制。這些都是網路安全工具,和對抗性攻擊的問題本質不同:

  1. 對抗性攻擊不需要「入侵」系統:攻擊者用正常的 API 接口送資料,系統認為他是合法使用者,防火牆對他形同虛設。
  2. 對抗性攻擊發生在模型層面:問題是模型對輸入空間的某些方向非常敏感,這是模型本身的脆弱性,不是網路安全問題。
  3. 防火牆阻擋的是「來源」,不是「內容」:即使攻擊者是「已授權的合法使用者」(例如正在申請貸款的客戶),只要他知道如何設計對抗樣本,還是能攻擊。
  4. 資料前處理做了部分過濾,但不夠:過濾掉數值異常的輸入可以擋掉粗糙的攻擊,但精心設計的對抗樣本(改動不超過正常範圍的微小擾動)無法被正常的異常偵測過濾掉。
  5. 真正的防禦要讓模型自己「看懂」對抗樣本:最根本的方法是在訓練時就加入對抗樣本,讓模型學會這類輸入的特徵,建立更穩健的決策邊界。
04 解法

「非」題解法:防火牆防的是錯誤的威脅

記住這題問的是「哪個選項不是針對對抗性攻擊的技術手段」。

把每個選項對照「對抗性攻擊的本質(輸入特徵被刻意擾動)」:

A:強化資料前處理 → 過濾異常輸入,作用在資料進入模型之前,針對異常數值,部分有效
B:對抗樣本訓練 → 讓模型見過對抗樣本、學會辨識,直接針對這類攻擊,最有效
C:推論後規則引擎 → 輸出層再過一道業務規則,防止被欺騙的預測結果產生業務損失,間接有效
D:強化網路防火牆 → 阻擋未授權來源的連線,但攻擊者是「已授權使用者」,防火牆根本擋不到他

D 是針對「誰能連上系統」的控制,和「合法進來的輸入資料是否含有惡意擾動」完全是兩件事。

這就是選項 D 講的是:強化網路防火牆並非針對對抗性攻擊型態的技術手段,因此 D 是本題「非」題的正解。

技術版:對抗性攻擊的原理與防禦方法

中級考試大概率會考程式碼跟公式,所以這部分你還是要學。但如果現在學起來很痛苦,可以先跳過,等讀完其他題目回頭再來。

對抗性攻擊最著名的算法是 FGSM(Fast Gradient Sign Method)。原理是:找到讓模型預測結果改變最快的「梯度方向」,然後往那個方向加一個微小擾動。

# FGSM 攻擊:把輸入往讓 loss 增大的方向推一步
# x: 原始輸入
# epsilon: 擾動大小(極小,如 0.01)
# grad: 模型對 x 的梯度(loss 對 x 的偏微分)

x_adv = x + epsilon * sign(grad_x_loss)

# x_adv 和 x 對人眼幾乎一模一樣,但模型可能判斷完全不同
Step 1 純故事版
  1. 攻擊者先看「模型在這個輸入上,往哪個方向改動最容易讓預測改變」
  2. 往那個方向加一個微小擾動(小到人眼/人耳/人腦感覺不出差異)
  3. 送進模型,模型判斷結果改變了
  4. 攻擊成功,而且攻擊者完全沒有入侵系統
Step 2 中文 ↔ 程式碼對照
故事程式碼/概念
找到讓損失增大的方向grad = compute_gradient(loss, x)
取梯度的符號(+1 或 -1)sign(grad)
加上微小擾動x_adv = x + epsilon * sign(grad)
對抗樣本訓練防禦train(model, x_adv, y_true)
Step 3 符號角色表
x
原始輸入(正常的申請表資料)
epsilon(ε)
擾動的大小上限。攻擊者希望 ε 越小越好(讓擾動難以被偵測),但還是足以讓模型判斷改變。
sign(grad)
梯度的符號:往讓損失增大最快的方向走。告訴攻擊者「往哪個方向改一點就能讓模型誤判」。
x_adv
對抗樣本。和 x 極度相似,但模型對它的預測已經改變了。
Adversarial Training(對抗樣本訓練)
在訓練時同時餵正常樣本和對抗樣本,讓模型學會對兩者都預測正確,建立更穩健的決策邊界。
Step 4 完整公式對應

對抗樣本訓練的目標函數(AT,Adversarial Training):

# 標準訓練:最小化正常樣本的損失
min L(model, x, y)

# 對抗樣本訓練:最小化「最壞情況」下的損失
# 先找到讓損失最大的擾動(內層 max),再訓練模型(外層 min)
min E[ max_{||δ||≤ε} L(model, x+δ, y) ]

這叫 minimax 問題:攻擊者要最大化損失,防禦者(訓練過程)要最小化損失。

Step 5 自我複述

蓋住公式,說出對抗性攻擊和防禦的核心邏輯:

  1. 攻擊:沿著讓模型誤判最快的方向加微小擾動
  2. 防禦 1:資料前處理過濾異常輸入(部分有效)
  3. 防禦 2:訓練時加入對抗樣本,讓模型學會辨識(最有效)
  4. 防禦 3:推論後用規則引擎攔截業務上不合理的預測(補充措施)
  5. 不是防禦:強化防火牆,因為攻擊者是合法使用者,防火牆攔不到
05 陷阱

為什麼其他三個選項「是」針對對抗性攻擊的手段

A強化資料前處理,用以過濾格式不符或數值極端異常的輸入

字面在說什麼

在輸入進模型之前先過濾,把看起來異常的資料(格式錯誤、數值超出合理範圍)擋掉。

為什麼這是針對對抗攻擊的手段

對抗性攻擊的核心是「修改輸入特徵」。資料前處理是第一道防線,可以擋掉那些「擾動後數值明顯超出正常範圍」的攻擊。例如攻擊者把信用分數從 520 改成 999 來欺騙模型,前處理可以偵測到這個數值超出正常範圍而過濾。

誰會選這個當答案

「前處理只是清理資料,和攻擊防禦無關」的考生。注意:前處理本身就是資料安全的一環,過濾異常輸入是對抗攻擊的防禦措施之一,只是對精心設計的微小擾動效果有限。

B在模型訓練階段導入對抗樣本訓練

字面在說什麼

訓練模型的時候,除了正常資料,也餵進去已知的對抗樣本,讓模型學會兩種資料都預測正確。

為什麼這是針對對抗攻擊最核心的手段

這直接增強模型對「惡意擾動」的抵抗能力。模型見過各種對抗樣本後,決策邊界變得更平滑、更穩健,在輸入空間邊界附近不再那麼脆弱。這是從根本上解決問題,而不是在外面加保護層。

誰會選這個當答案

不太可能選這個為「非」手段的考生,因為這明顯是針對對抗攻擊最直接的防禦,只要理解對抗攻擊是什麼,就不會選 B。

C於推論後階段使用規則引擎,以確保模型的預測結果不違反既有的業務硬性規定

字面在說什麼

模型預測完之後,再跑一遍業務規則:例如「信用分數低於 500 的,無論模型預測什麼都拒絕放貸」。

為什麼這是針對對抗攻擊的手段

即使攻擊者欺騙了模型,讓模型預測「核准」,業務規則引擎還有機會攔截這個決策。例如申請人的實際信用分數 520,規則引擎規定低於 600 不得放貸,就算 AI 被騙了,規則還是會把這筆貸款擋下來。這是縱深防禦(defense in depth)的一層。

誰會選這個當答案

認為「規則引擎是業務邏輯,不算安全防禦」的考生。注意:規則引擎在輸出層提供了額外的保護,可以緩解對抗攻擊造成的業務損失,雖然不是從根本解決問題,但確實是針對此類攻擊後果的防禦手段。

06 變形

同個考點下次怎麼變形

變形 1 邊界

對抗樣本訓練的缺點是什麼?

直覺

對抗樣本訓練這麼有效,為什麼不是所有模型都這樣訓練?

答案

代價很高。對抗樣本訓練需要在每個 batch 先生成對抗樣本(多跑幾次梯度下降),訓練時間可以增加 3~10 倍。而且對抗樣本訓練只對已知攻擊方法生成的對抗樣本有效,遇到新的攻擊方法(未見過的擾動類型)還是可能被突破。此外有研究顯示,對抗樣本訓練後,模型在乾淨資料上的準確率可能略微下降(robustness-accuracy tradeoff)。

變形 2 反例

輸入加密可以防止對抗性攻擊嗎?

直覺

如果攻擊者看不到輸入格式,還能設計對抗樣本嗎?

答案

加密保護傳輸安全,但模型收到資料後還是要解密才能預測,解密後的資料依然暴露在對抗攻擊下。更重要的是:即使攻擊者不知道模型的內部結構(黑盒攻擊),也可以用「替代模型」(surrogate model)生成對抗樣本,然後用這些對抗樣本去攻擊目標模型(transferability 特性)。所以加密不能根本解決對抗攻擊問題。

變形 3 升級版

對抗性攻擊和資料投毒(Data Poisoning)有什麼差別?

直覺

兩個都是攻擊 AI,攻擊時間點不同?

答案

正確。對抗性攻擊發生在「推論階段」:模型已經訓練好,攻擊者修改輸入資料讓模型做出錯誤預測。資料投毒(Data Poisoning)發生在「訓練階段」:攻擊者在訓練資料裡混入惡意樣本,讓訓練出來的模型帶有後門(backdoor)或偏誤。防禦方式不同:對抗攻擊靠輸入過濾和對抗訓練;資料投毒靠訓練資料清洗和來源驗證。

變形 4 跨領域

影像辨識的對抗性攻擊長什麼樣?

直覺

這題是金融風控,但對抗攻擊在影像 AI 上也很出名?

答案

對,最著名的例子是:一張貓的圖片加上人眼完全看不出差異的雜訊(每個像素改動不超過 1%),AI 卻把它辨識成烤麵包機。另一個現實應用是「對抗貼紙」(adversarial patch):在一個實體貼紙上印特殊圖案,貼在停車標誌上,自動駕駛的影像辨識 AI 就無法正確辨認標誌。這類攻擊在物理世界就能執行,不需要數位權限。

變形 5 評估指標

怎麼評估一個模型對對抗性攻擊的「魯棒性」(Robustness)?

直覺

魯棒性越高越好,但怎麼量?

答案

常用指標:(1) 對抗準確率(Adversarial Accuracy):用各種已知攻擊方法(FGSM、PGD、C&W)生成對抗樣本,測試模型在這些樣本上的準確率;(2) 擾動門檻(Perturbation Threshold,ε):找出「讓模型誤判所需的最小擾動量」,ε 越大代表模型越難被攻破;(3) 認證魯棒性(Certified Robustness):用數學方法「證明」在特定擾動半徑內,模型的預測一定正確,這是最強的保證但計算成本最高。

07 延伸

想再往下看,這 5 個

  • 對抗性攻擊(Adversarial Attack)攻擊者對 AI 輸入做精心設計的微小擾動,使模型錯誤判斷,是本題金融風控系統被攻破的攻擊手法。
  • 對抗性穩健(Adversarial Robustness)模型抵抗惡意輸入擾動的能力,提升對抗穩健性是本題的核心目標,與一般泛化能力是不同概念。
  • 穩健性(Robustness)涵蓋各類輸入干擾的模型抵抗能力,對抗穩健性是其子集,防火牆則屬於網路安全層面的非模型穩健性手段。
  • 資料擴增術(Data Augmentation)對抗樣本訓練本質上是一種資料擴增,在訓練集中加入惡意擾動樣本,使模型學會辨識對抗性輸入。
  • 安全護欄(Guardrails)在模型推論前後加入的規則型防護層,本題選項 C 的「推論後規則引擎」屬於此類,但無法從根本防禦對抗攻擊。
出處

iPAS 經濟部產業人才能力鑑定 ・ 114 年第二次 iPAS AI 應用規劃師 中級 科目一 第 24 題

查看官方原文 PDF