趨勢核心技術部門經理張佳彥在2019臺灣資安大會中表示,駭客可以利用AI的技術,找到機器學習模型的弱點進行攻擊。因此,如何應用AI技術與駭客抗衡,成為資安公司一大挑戰。

駭客攻擊手法越來越刁鑽,現在也開始用起AI來閃躲防毒軟體的偵測。趨勢核心技術部門經理張佳彥在2019臺灣資安大會中表示,趨勢發現有駭客開始用對抗式機器學習(Adversarial Machine Learning),試圖要找出防毒軟體所用機器學習模型的弱點來騙過偵測。不過,趨勢也反其道而行,同樣也用對抗式機器學習來加強偵測。

「什麼是Adversarial ML?Adversarial ML目的只有一個,他要想辦法騙過ML model。」張佳彥表示,在資安領域,用Adversarial ML技術的攻擊有兩種,分別是Evasion Attack以及Poisoning Attack。Evasion Attack是最常見的形式,指經過訓練後的模型本來可以準確地分類樣本(Sample),但仍然可能被惡意樣本(Malicious samples)欺騙。

例如,下圖貓與狗的照片,就可能讓ML模型誤判。

影像辨識技術的例子,還有下圖,左邊是一張熊貓照片,加上一些特別設計的雜訊後,ML模型就可能會以為這是長臂猿。

在另一個測試裡,一個研究團隊製造出可以給真人配戴並欺騙過人臉辨識的眼鏡框。只要戴上眼鏡,模型就可以完全把他們判斷成不一樣的人。

還有一個行之有年的例子,如垃圾郵件。「他們並不是故意要做Adversarial ML,只是他這些手法對ML model來講一樣有效。」張佳彥說明,下圖是一個垃圾郵件,實際上只有藍色框框的部分是廣告,下方填充了沒有意義的文字(Salad word),但模型可能會認為這封Email看起來很正常,造成Adversarial的效果。

Evasion Attack又可以因想要攻擊的目標偵測模型是黑箱(Black box)或白箱(White box)再分成兩類。一般ML模型均以Black box為主,駭客並不知道模型裡面運用什麼技術(是Deep Learning還是Linear Regression)?只能透過模型測試結果去修正攻擊。

例如,要讓ML model無法辨識貓狗的圖片,可以將原有照片隨機加上雜訊,再把照片拿去測試,這樣的攻擊的確可以騙過ML model,但成功機率可能比千分之一還低。除非運用基因演算法(Genetic Algorithm),不斷改變特徵(Feature)測試ML Model,再挑出成功擾動預測的樣本,反覆進行後,才可能讓Model更容易預測錯誤。

但如果ML模型為White box,駭客可以知道模型內的演算法(Algorithm),甚至詳細至每個參數(Parameter),也就是說,駭客可以刻意設計一定能騙過模型的樣本。「這在真實世界中發生的機會相對較小,但攻擊方幾乎100%攻擊成功。」張佳彥說。

除了Evasion Attack,另一種Adversarial ML是Poisoning Attack。在訓練模型的過程中,如果資料庫被置入標記錯誤的資料進行學習,就會導致模型判斷的正確率下降。例如在影像辨識技術的ML資料庫中,將部分狗標記成貓,將部分貓標記成狗,如此一來模型無法有效學習,表現也將不如預期。

例如2016年微軟推出的AI少女Tay,經過不到24小時的Online Training就被網友帶壞,在TayTweets發表不合時宜的言論。因此,如果在ML資料庫內加入惡意資訊,模型的判斷或預測就會受影響。

如何防治Adversarial ML?了解AI模型的目的是關鍵

張佳彥在座談上詢問:「世界上有沒有一個Model不會被騙?」實際上有存在絕對不會受騙的偵測模型,但前提是模型判斷準確率要到100%,因此,在絕大多數模型均會受到攻擊的狀況下,如何防治駭客的Adversarial ML攻擊就顯得重要。

Evasion Attack的防治分為兩種方法,一是Abuse Protection,二是Model Retrain。Abuse Protection是指,當偵測到疑似攻擊行為時就加以防治,如從測試請求的API與資料分析,先看是否有人以大量資料測試模型,或者查看測試資料是否夾雜一些真實世界不常見的內容,也可以專門訓練模型去偵測是否有人以攻擊性手法請求測試,防患於未然。

而Model Retrain就是透過蒐集影響模型表現的樣本,重新標記後加入資料庫再訓練的方法。駭客攻擊模型的時候,會製作能有效生成Adversarial Sample的產生器(Generator),當他用這些樣本攻擊的時候,如果分類器(Classifier)的擁有者能蒐集到攻擊者的樣本,並拿來重新訓練分類器,就能對部分攻擊產生免疫。

張佳彥也舉例,如生成對抗網路(Generative Adversarial Networks, GAN)就是運用類似的方法,用Generator Network(Generator)與Discriminator Network(Classifier)相互訓練,利用Generator生成樣本要騙過Classifier,再訓練Classifier分辨真偽,「兩邊輪流訓練後越來越厲害。」

Model Retrain又分Reactive和Proactive,Reactive是被動的等到被攻擊再重新訓練模型;Proactive是主動以Generator和Classifier相互訓練,如GAN、紅隊藍隊的手法。但不管是Proactive或是Reactive,都只能以已知的攻擊手法拿來重新訓練,張佳彥表示:「你要窮舉這些手法以Proactive方式防禦,還是你要等攻擊發生的時候再Reactive,這取決於問題的複雜度。」

此外,張佳彥也再舉例,如果訓練一個Classifier請他分辨男女,訓練後的模型覺得頭髮的長度是一個重要因素,但也因模型對頭髮的特徵太過敏感、反而被駭客以假髮樣本輕易欺騙,「如果遇到這樣的狀況,我們應該以假髮樣本重新訓練,還是應該把頭髮這個特徵拿掉?」他指出這個兩難。

張佳彥認為,這取決於開發者要你的模型強健(Robustness)還是正確率高(Accuracy)、是主動(Proactive)還是被動(Reactive),是能快速的反應(Fast)還是有信心的反應(Confidence)。如上方的例子,把頭髮的因素直接拿掉後,雖然假髮的樣本不會再造成分辨困難,但模型的整體表現正確率可能因此下降。因此,防治Adversarial Attack的過程中,不同特徵(Feature)的更動都可能造成不同程度的犧牲,了解AI模型的目的才能在最大程度不影響模型表現下進行防禦。


Advertisement

更多 iThome相關內容