对深度学习的逃逸攻击 — 探究人工智能系统中的安全盲区
ISC 2017中國互聯網安全大會舉辦了人工智能安全論壇。 我們把論壇總結成為一系列文章,本文為系列中的第二篇。
作者: 肖奇學1, 許偉林2, 李康1 ?(1. 來自 360 Team Seri0us 團隊, 2. 美國弗吉尼亞大學)
“逃逸攻擊就是要把百分之零點零零一的誤判率變成百分之百的攻擊成功率”。
雖然深度學習系統經過訓練可以對正常輸入達到很低的誤判率,但是當攻擊者用系統化的方法能夠生成誤判樣本的時候,攻擊的效率就可以接近100%,從而實現穩定的逃逸攻擊。
逃逸是指攻擊者在不改變目標機器學習系統的情況下,通過構造特定輸入樣本以完成欺騙目標系統的攻擊。例如,攻擊者可以修改一個惡意軟件樣本的非關鍵特征,使得它被一個反病毒系統判定為良性樣本,從而繞過檢測。攻擊者為實施逃逸攻擊而特意構造的樣本通常被稱為“對抗樣本”。只要一個機器學習模型沒有完美地學到判別規則,攻擊者就有可能構造對抗樣本用以欺騙機器學習系統。例如,研究者一直試圖在計算機上模仿人類視覺功能,但由于人類視覺機理過于復雜,兩個系統在判別物體時依賴的規則存在一定差異。對抗圖片恰好利用這些差異使得機器學習模型得出和人類視覺截然不同的結果,如圖1所示[1]。
圖1: 攻擊者生成對抗樣本使系統與人類有不同的判斷
一個著名的逃逸樣本是Ian Goodfellow[2]在2015年ICLR會議上用過的熊貓與長臂猿分類的例子。 被攻擊目標是一個來谷歌的深度學習研究系統。該系統利用卷積神經元網絡能夠精確區分熊貓與長臂猿等圖片。但是攻擊者可以對熊貓圖片增加少量干擾,生成的圖片對人來講仍然可以清晰地判斷為熊貓,但深度學習系統會誤認為長臂猿。 圖2顯示了熊貓原圖以及經過擾動生成后的圖片。
圖2: 在圖片中添加擾動導致深度學習系統的錯誤識別實例
下面我們從攻擊者的角度介紹如何系統生成對抗樣本來達到穩定的逃逸攻擊。不關心技術細節的讀者可忽略這些內容,直接跳到文章結尾的總結部分。
基于機器學習的逃逸攻擊可分為白盒攻擊和黑盒攻擊。白盒攻擊需要獲取機器學習模型內部的所有信息,然后直接計算得到對抗樣本;黑盒攻擊則只需要知道模型的輸入和輸出,通過觀察模型輸出的變化來生成對抗樣本。
2.1白盒攻擊
深度神經網絡是數學上可微的模型,在訓練過程中通常使用反向傳播算法得到每層的梯度來調整網絡參數。假設神經網絡的輸入是X,類別標簽是Y, 網絡參數是W,輸出是F(X)=W*X。訓練神經網絡時,對于每個確定的輸入樣本X,我們反復調整網絡參數W使得輸出值F(X)趨向于該樣本的類別標簽Y。白盒攻擊使用同樣的方法,區別只是我們固定網絡參數W,反復修改輸入樣本X使得輸出值F(X)趨向于攻擊目標Y’。這意味著我們只需要修改目標函數以及約束條件,就可以使用與訓練神經網絡同樣的方法計算得到對抗性樣本[3]。
白盒攻擊的約束條件是一個關鍵部分。從X起始求解X’使得F(X’)=Y’的過程中,我們必須保證X’的標簽不是Y’。例如,對于一個手寫體輸入“1”,如果我們把它改成“2”使得模型判別是“2”,那就不算是攻擊。在計算機視覺領域,我們不太可能使用人力判定攻擊方法生成的每一個樣本X’,因此引入了距離函數Δ(X, X’)。我們假設在一定的距離內,X’的 含義和標簽與X是一致的。距離函數可以選擇不同的Norm來表示,比如L2, L∞, 和L0 。
L-BFGS是第一種攻擊深度學習模型的方法,它使用L2-Norm限制X’的范圍,并使用最優化方法L-BFGS計算得到X’。后來基于模型的線性假設,研究者又提出了Fast Gradient Sign Method (FGSM)[2] 和DeepFool[4]等一些新方法。如果以距離Δ(X, X’)最小為目標,目前最先進的方法是Carlini-Wagner,它分別對多種距離函數做了求解優化。
2.2 黑盒攻擊
黑盒攻擊只依賴于機器學習模型的輸出,而不需要了解模型內部的構造和狀態。遺傳(進化)算法即是一個有效的黑盒攻擊方法。
遺傳算法是在計算機上模仿達爾文生物進化論的一種最優化求解方法。它主要分為兩個過程:首先通過基因突變或雜交得到新一代的變種,然后以優勝劣汰的方式選擇優勢變種。這個過程可以周而復始,一代一代地演化,最終得到我們需要的樣本。
把遺傳算法用于黑盒逃逸攻擊時,我們利用模型的輸出給每一個變種打分,F(X’)越接近目標標簽Y’則得分越高,把高分變種留下來繼續演化,最終可以得到F(X’)=Y’。這種方法已經成功用于欺騙基于機器學習的計算機視覺模型以及惡意軟件檢測器。
3.基于遺傳算法的對抗樣本生成?
3.1 對Gmail PDF過濾的逃逸攻擊?
本文作者許偉林一年前在NDSS大會上發表了名為Automatically Evading Classifiers的論文[5]。研究工作采用遺傳編程(Genetic Programming)隨機修改惡意軟件的方法,成功攻擊了兩個號稱準確率極高的惡意PDF文件分類器:PDFrate 和Hidost 。這些逃逸檢測的惡意文件都是算法自動修改出來的,并不需要PDF安全專家介入。圖3顯示了對抗樣本生成的基本流程。
圖3: 利用進化算法生成惡意PDF對抗變種
同樣的算法可以用來對實際應用的機器學習系統進行逃逸攻擊。上面提到的工作可以對 Gmail內嵌的惡意軟件分類器進行攻擊,并且只需4行代碼修改已知惡意PDF樣本就可以達到近50%的逃逸率,10億Gmail用戶都受到影響。
3.2 利用Fuzzing測試的對抗樣本生成?
除了對模型和算法的弱點進行分析,黑盒攻擊還可以借鑒模糊測試的方法來實現對抗樣本的生成。下面以手寫數字圖像識別為例,我們的目標是產生對抗圖片,使其看起來是“1”,而人工智能系統卻識別為“2”。我們的主要思路是將這樣一個對抗樣本生成的問題,轉換為一個漏洞挖掘的問題,如下圖4所示。
圖4:針對手寫數字圖像識別的對抗樣本生成
我們主要是利用灰盒fuzzing測試的方法來實現,首先給定數字“1”的圖片作為種子,然后通過對種子圖片進行變異,如果機器學習系統將變異后的圖片識別為“2”,那么我們認為這樣一個圖片就是對抗樣本。
利用Fuzzing測試的對抗樣本生成是基于AFL來實現的,主要做了以下幾方面的改進:
下圖5是我們生成的一些對抗樣本的例子。
圖5:針對手寫數字圖像的對抗樣本生成結果
基于Fuzzing測試的對抗樣本生成方法也可以快速的應用到其他AI應用系統中,如人臉識別系統。
圖6:針對人臉識別系統的對抗樣本生成
針對AI系統的對抗性攻擊,就是讓人工智能系統輸出錯誤的結果。 還是以手寫圖像識別為例,攻擊者可以構造惡意的圖片,使得人工智能系統在分類識別圖片的過程中觸發相應的安全漏洞, 改變程序正常執行的控制流或數據流,使得人工智能系統輸出攻擊者指定的結果。 攻擊思路基本分為兩種:
關于軟件漏洞造成的問題我們在本系列第一篇文章里已有詳細介紹。 這里只做了一個簡單介紹, 更多細節請參考ISC 2017大會人工智能與安全論壇所發布的內容。
本文的目的是繼續介紹被大眾所忽視的人工智能安全問題。雖然深度學習在處理自然生成的語音圖像等以達到相當高的準確率,但是對惡意構造的輸入仍然有巨大的提升空間。雖然深度學習系統經過訓練可以對正常輸入達到很低的誤判率,但是當攻擊者用系統化的方法能夠生成誤判樣本的時候,攻擊的效率就可以接近100%, 從而實現穩定的逃逸攻擊。 隨著人工智能應用的普及,相信對逃逸攻擊的研究也會越來越深入。這些研究包括對抗樣本生成以及增強深度學習對抗能力,我們未來會在后續文章里對這方面的工作進行更新。
[1] http://www.freebuf.com/articles/neopoints/124614.html
[2] Ian Goodfellow and Jonathon Shlens and Christian Szegedy, Explaining and Harnessing Adversarial Examples. International Conference on Learning Representations, 2015.
[3] guyen, A., J. Yosinski, and J. Clune, Deep neural networks are easily fooled: High confidence predictions for unrecognizable images. 2015: p. 427-436.
[4] Moosavi Dezfooli, Seyed Mohsen and Fawzi, Alhussein and Frossard, Pascal, DeepFool: a simple and accurate method to fool deep neural networks, Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016.
[5] Weilin Xu, Yanjun Qi, and David Evans, Automatically Evading Classifiers A Case Study on PDF Malware Classifiers, NDSS, 2016
http://blogs.360.cn/blog/evasion-attacks-on-ai-system/
總結
以上是生活随笔為你收集整理的对深度学习的逃逸攻击 — 探究人工智能系统中的安全盲区的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HISTORY OF ETHEREUM
- 下一篇: Breaking the Ledger