IBM Security資安研發實驗室工程師張櫂閔表示,要抵抗對抗式攻擊,可以先訓練一個對抗式偵測模組(ADM),先過濾資料、找出駭客生成的對抗例,來降低AI模型遭到攻擊的機率。

圖片來源: 

圖/iThome

隨著AI技術日漸成熟,資安人員也開始用AI偵測資安攻擊,來達到比傳統方式更好的防禦效果,但同樣的,駭客也可以訓練AI模型生成對抗式攻擊(Adversarial Attack),讓防禦方的AI模型失效。「要如何保護AI模型不受駭客發動的對抗式攻擊,甚至去察覺是哪些駭客在攻擊我?」IBM Security資安研發實驗室工程師張櫂閔在一場活動上表示,除了重新對原本的AI模型進行對抗式訓練(Adversarial Training),先訓練一個對抗式偵測模組(Adversarial Detection Module,ADM)來攔截駭客攻擊,也不失為一個可行的方法。

對抗式攻擊,是指以演算法生成能干擾特定AI模型的對抗例(Adversarial Example,也稱為對抗樣本),以此來引發AI誤判的一種攻擊手法,各領域的AI模型都可能遭受攻擊。如在熊貓的圖片中加上雜訊(Noise),讓AI模型錯把熊貓認成長臂猿,就是一個常被用來說明的案例,而被加入雜訊的熊貓圖片,就是駭客生成的對抗例。

張櫂閔也舉不同例子來說明對抗式攻擊的應用場景。比如用於自駕車的影像辨識模型,可能受到對抗例影響,將橫向且有人的道路誤判成直向,帶來致命性的嚴重後果;又或是語音辨識模型,誤將「How are you?」誤判為「Open the door.」;就連語意理解技術,都可能受到對抗式攻擊,比如原先被偵測為垃圾郵件的信件內容,只要將其中幾個單字替換為語意相似的單字,就能影響AI將該封信判讀成正常郵件。

由於一般模型的訓練資料不包含對抗例,以此訓練而成的AI模型,就難以防範對抗式攻擊。因此,張櫂閔指出,最直覺且有效的防禦方法,就是先自己生成對抗例並標記正確答案,再餵給AI模型學習,讓AI遇到對抗例時也能做出正確判斷,「就跟疫苗很像,在遇到沒看過的病毒時,先讓身體產生抗體,就可以對病毒免疫。」而這個針對對抗例重新訓練模型的過程,就是對抗式訓練的概念。

不過,張櫂閔也點出這個做法的三個問題。第一,是企業在實際應用AI模型時,如何得知AI已經遭到攻擊、進而展開對抗式訓練?第二,當遭到攻擊時,企業能否進一步知道攻擊者是誰?第三,企業偵測到攻擊後,會需要一段時間對AI進行對抗式訓練,是否有方法在這段期間降低遭到零日攻擊(Zero-day Attack)的機會?

為了解決上述的問題,張櫂閔與研究團隊從去年9月開始展開一項研究,試圖找出一種偵測並攔截駭客攻擊的方法,也就是在進行對抗式訓練之前,另外訓練一個對抗式偵測模組(ADM),在原先的AI模型判讀前,先過濾每一筆輸入資料,若發現該筆資料為駭客生成的對抗例,就攔截並記錄(Log)下來,只提供正常資料給原先的AI預測。如此一來,就能在對抗式訓練完成之前,先擋住對抗式攻擊。

IBM研究團隊也實際驗證這個想法的可行性,並以偵測DGA(Domain Generation Algorithm,域名生成演算法)的AI模型來試驗。DGA是駭客可以使用的網域名稱(Domain Name),因此,AI模型的任務,就是要辨識出網域名稱是正常或是DGA。

張櫂閔指出,這個DGA辨識模型,原先準確率高達96%,但受到對抗式攻擊後,該模型的準確率大幅下降到37%,這個數值意味著,被攻擊後的AI模型表現,甚至比亂猜的機率還低,因為判斷為正常或異常域名的方式,亂猜也有二分之一機率猜中正確答案。不過,在訓練了ADM模型來擋住這些攻擊後,在AI模型受保護的情況下,辨識率僅從96%下降到88%,說明ADM的機制確實能降低對抗式攻擊對AI造成的危害。

而且,張櫂閔更說明,研究團隊用一百萬筆的訓練資料量,重新對DGA辨識模型進行對抗式訓練,需要花上一天的時間,但將同樣的資料用來訓練一個ADM偵測器,只需要15分鐘即可。換句話說,「在新攻擊發生時,不需要花一天時間修復模型,才能對抗攻擊,可以先花15分鐘訓練ADM擋在模型前面。」而不同AI模型也會因模型複雜度與訓練資料種類不同,需要不同的對抗式訓練及ADM訓練時間。

ADM靠對抗例兩大特性先攔截可疑輸入資料

要了解ADM的作法,張櫂閔首先以資料分佈圖,來說明對抗式攻擊騙過AI模型的方法。

若將正常域名與DGA資料樣本以分布圖的方式呈現,以O代表正常域名,X代表DGA,以虛線作為兩種樣本的分界,並將AI模型的判讀結果,以另一條實線分界來表示。由於AI的判斷可能產生誤差,在實現分界之下,可能發生O、X樣本分錯陣營的情形。

張櫂閔表示,對抗式攻擊,就是設法讓AI判斷錯誤,也就是說,駭客設法將靠近實線的樣本資料,推到實線的另一邊,使其落在實線與虛線的中間,這意味著,雖然該樣本本質上的分類不變,但對AI模型來說,就會判斷錯誤,而這些被推到實線與虛線中間的樣本就是對抗例,數量越多,模型就越不準。

不過,也因為對抗例需要移動到實線另一邊,「任何對抗例,都會在實線的附近。」張櫂閔表示,對抗例與大多訓練資料不同,訓練資料大多聚集在一起且遠離界線,接近界線且分散的樣本,為對抗例的機率較高,ADM就是透過這個特性來偵測對抗例。

對抗例的另一個特性,則是在經過AI判讀時,Bayesian Uncertainty的不確定性偏高,由於正常樣本較不會有這個問題,就能依此特性來找對抗例。張櫂閔表示,研究團隊在研究中運用上述兩種方法,為ADM帶來良好的對抗例預測,準確率甚至可達9成以上。

熱門新聞

Advertisement