大家好,今天我們就要來深入拆解裡面最經典的:對抗性樣本攻擊(Adversarial Example Attack)。
你可能在網路上看過這個著名的實驗:
研究人員在一個紅色的「停止標誌(STOP sign)」上,貼了幾張看起來非常普通的黑白貼紙。
在我們人類眼裡,這不管怎麼看,都還是一個停止標誌。
但是,自動駕駛汽車的 AI 看到後,卻以 100% 的信心,把它判定成了「限速 45 英里」的標誌!
如果這台車開在路上,它就會直接衝過去,這在現實中可是會出人命的。
這就是對抗性樣本的神奇與可怕之處。今天,我們就來聊聊它是怎麼被做出來的,以及兩大白箱攻擊演算法。
對抗性樣本,就是在正常的輸入(比如一張照片)中,加入微小、但經過精心設計的雜訊。
這些雜訊非常微弱,人眼根本察覺不出來,但卻能讓 AI 模型的判定結果完全翻轉。
最著名的例子就是「熊貓變長臂猿」:
一張熊貓的照片,AI 本來 98% 判定是熊貓。
駭客在上面加上一層看起來像電視雜訊、但極其微弱的干擾。
人類看照片覺得完全沒變,但 AI 卻以 99% 的信心,判定這是一隻長臂猿。
為什麼會這樣?
因為 AI 其實不是真的「看懂」熊貓,它只是在數學的高維空間裡,計算像素之間的統計特徵。
駭客只要在對的方向上稍微推一把(加點雜訊),就能把這張照片推過 AI 的決策邊界,讓 AI 認錯。
如果駭客知道模型的所有參數(白箱攻擊),他有兩種最常用的數學方法來產生這些雜訊:
這是 2014 年由生成對抗網路(GAN)之父 Goodfellow 提出來的,是最基礎的白箱攻擊。
這就是 FGSM 的超級加強版。
如果駭客拿不到模型的參數(黑箱攻擊),只有一個 API 窗口,那他要怎麼算梯度、加雜訊?
這時候,駭客會利用一個 AI 的奇妙特性,叫做對抗性遷移性(Adversarial Transferability)。
科學家發現,因為不同模型雖然架構不同,但在特徵空間裡的脆弱方向往往很像。所以,能騙過 A 模型的照片,有非常高的機率也能騙過 B 模型。這就叫遷移攻擊。
對付這種微小雜訊,有幾種防禦手段:
我們來看一題 SecAI+ 模擬題:
「一個資安團隊想要測試他們的圖片辨識模型。他們在自己的私有環境下,透過計算損失函數對輸入圖片的梯度,一步就產生了騙過模型的對抗性樣本。請問他們使用的是哪種攻擊演算法?」
A. PGD
B. FGSM
C. 遷移攻擊
D. 資料投毒
答案是 B。
關鍵字:在「私有環境(白箱)」下,計算「梯度」,「一步(單次迭代)」產生。這就是 FGSM 的標準定義。如果是「多次迭代、分步計算」,答案就會是 PGD 了。
今天的重點總結:
明天我們要講資料投毒(Data Poisoning)。這是在訓練期最致命的下毒手法。
我們明天見啦!