從12月29日起,神秘的賬號Master在弈城、野狐等圍棋對戰平臺上輪番挑戰各大圍棋高手,并取得了不可思議的多連勝。1月4日,聶衛平、常昊、周睿羊等高手接連輸給Master,到目前截止它已獲得60連勝。Master在與古力的對決之前終于揭曉了自己的身份,果然就是去年大出風頭的AlphaGo(升級版),而對陣古力,也提前聲明了會是最后一戰。
我們不妨將Master的60連勝視為人工智能與人類交鋒的信號和警報,在人工智能時代人類如何完成自身的“刷新升級”值得每個人思考。同時其帶來的安全問題也急需安全專家去突破。
隨著人工智能和機器學習技術在互聯網的各個領域的廣泛應用,其受攻擊的可能性,以及其是否具備強抗打擊能力一直是安全界一直關注的。之前關于機器學習模型攻擊的探討常常局限于對訓練數據的污染。由于其模型經常趨向于封閉式的部署,該手段在真實的情況中并不實際可行。在GeekPwn2016硅谷分會場上, 來自北美工業界和學術界的頂尖安全專家們針對當前流行的圖形對象識別、語音識別的場景,為大家揭示了如何通過構造對抗性攻擊數據,要么讓其與源數據的差別細微到人類無法通過感官辨識到,要么該差別對人類感知沒有本質變化,而機器學習模型可以接受并做出錯誤的分類決定,并且同時做了攻擊演示。以下將詳細介紹專家們的攻擊手段。
攻擊圖像語音識別系統目前人工智能和機器學習技術被廣泛應用在人機交互,推薦系統,安全防護等各個領域。具體場景包括語音,圖像識別,信用評估,防止欺詐,過濾惡意郵件,抵抗惡意代碼攻擊,網絡攻擊等等。攻擊者也試圖通過各種手段繞過,或直接對機器學習模型進行攻擊達到對抗目的。特別是在人機交互這一環節,隨著語音、圖像作為新興的人機輸入手段,其便捷和實用性被大眾所歡迎。同時隨著移動設備的普及,以及移動設備對這些新興的輸入手段的集成,使得這項技術被大多數人所親身體驗。而語音、圖像的識別的準確性對機器理解并執行用戶指令的有效性至關重要。與此同時,這一環節也是最容易被攻擊者利用,通過對數據源的細微修改,達到用戶感知不到,而機器接受了該數據后做出錯誤的后續操作的目的。并會導致計算設備被入侵,錯誤命令被執行,以及執行后的連鎖反應造成的嚴重后果。本文基于這個特定的場景,首先簡單介紹下白盒黑盒攻擊模型,然后結合專家們的研究成果,進一步介紹攻擊場景,對抗數據構造攻擊手段,以及攻擊效果。
1.1 攻擊模型
和其他攻擊不同,對抗性攻擊主要發生在構造對抗性數據的時候,之后該對抗性數據就如正常數據一樣輸入機器學習模型并得到欺騙的識別結果。在構造對抗性數據的過程中,無論是圖像識別系統還是語音識別系統,根據攻擊者掌握機器學習模型信息的多少,可以分為如下兩種情況:
白盒攻擊攻擊者能夠獲知機器學習所使用的算法,以及算法所使用的參數。攻擊者在產生對抗性攻擊數據的過程中能夠與機器學習的系統有所交互。
黑盒攻擊攻擊者并不知道機器學習所使用的算法和參數,但攻擊者仍能與機器學習的系統有所交互,比如可以通過傳入任意輸入觀察輸出,判斷輸出。
2. GeekPwn現場機器學習對抗性攻擊
2.1 Physical Adversarial Examples
在GeekPwn2016硅谷分會場上,來自OpenAI的Ian Goodfellow和谷歌大腦的Alexey Kurakin分享了“對抗性圖像”在現實物理世界欺騙機器學習的效果。值得一提的是,Ian Goodfellow正是生成式對抗神經網絡模型的發明者。
首先先簡單介紹一下對抗性圖像攻擊。對抗性圖像攻擊是攻擊者構造一張對抗性圖像,使人眼和圖像識別機器識別的類型不同。比如攻擊者可以針對使用圖像識別的無人車,構造出一個圖片,在人眼看來是一個stop sign,但是在汽車看來是一個限速60的標志。
圖1攻擊圖像識別場景
在會上,Ian和Alexey指出過去的對抗性圖像工作都基于如下的攻擊模型,即攻擊者可以直接向機器學習模型輸入數據,從而保證攻擊者可以隨心所欲地對任意粒度的圖片進行修改,而不需要考慮燈光,圖片角度,以及設備在讀取圖片時對對抗性圖像攻擊效果產生變化。因此,他們嘗試了對抗性圖片在真實物理世界的表現效果,即對抗性圖片在傳入機器學習模型之前,還經過了打印、外部環境、攝像頭處理等一系列不可控轉變。相對于直接給計算機傳送一張無損的圖片文件,該攻擊更具有現實意義。
在如何構造對抗性攻擊圖片上,他們使用了非定向類攻擊中的FGS和FGS迭代方法,和定向類的FGS迭代方法 [1]。其中,非定向類攻擊是指攻擊者只追求對抗圖像和原圖像不同,而不在意識別的結果是什么。定向類攻擊則是指攻擊者在構造圖像時已經預定目標機器學習模型識別的結果。
在定向類攻擊中,作者首先根據條件概率找出給定源圖像,最不可能(least-likely)被識別的類型y值,表示為(該種類通常和原種類完全不同)。然后采用定向類攻擊方法中的FGS迭代方法,產生對抗性圖片。其中非定向類攻擊方法在類型種類比較少并且類型種類差距較大的數據庫里,比較有效。但是一旦類型之間比較相關,該攻擊圖像有極大的可能只會在同一個大類中偏移。這時候定向類攻擊方法就會有效很多。
圖2對抗性圖像在現實物理世界欺騙機器學習過程
為了驗證結果,作者采用白盒攻擊模型。其中,作者使用谷歌Inception v3作為目標圖像識別模型,并選取ImageNet中的50,000個驗證圖像針對Inception v3構造出相對應的對抗性圖像。在實驗中,他們將所有的對抗性圖片和原始圖片都打印出來,并手動用一個Nexus 5智能手機進行拍照,然后將手機里的圖像輸入Inception v3模型進行識別?,F場結果表明,87%的對抗性圖像在經過外界環境轉化后仍能成功欺騙機器,從而證明了物理對抗性例子在真實世界的可能性。
在他們的論文中,作者還測試了物理世界造成的圖像轉化對使用不同方法構造的對抗性圖片的毀壞程度。有意思的結論是迭代方法受圖像轉化的影響更大。這是因為迭代方法對原圖像使用了更微妙的調整,而這些調整在外界圖像轉化過程中更容易被毀壞。作者還分別測試了亮度、對比度、高斯模糊轉化、高斯噪音轉化和JPEG編碼轉化量度,對各個對抗性圖像方法的毀壞程度。具體實驗結果請參見他們的論文 。
2.2 Exploring New Attack Space on Adversarial Deep Learning
來自UC Berkeley大學的Dawn Song教授和劉暢博士介紹了對抗式深度學習在除了其他領域的攻擊和防御。其中Dawn Song教授是Taint Analysis理論的主要貢獻者之一,還是美國“麥克阿瑟天才獎”獲得者。在現場,專家們首先拓展了對抗性深度學習在圖像識別檢測上的應用,然后還提出構造對抗性圖片的優化方法-ensemble黑盒攻擊算法[6]。
在圖像識別物體檢測中,如圖3左圖所示,深度學習可以用來檢測圖像中不同的物體以及他們之間的關系并自動生成說明(Caption) 。在這種場景下,對抗性圖像攻擊同樣可以欺騙機器學習模型,并給出異常的說明,如圖3右圖所示。對抗性圖像構建的基本思路是給定Caption的前綴后,盡量誤導之后的判斷。
圖3 對抗性圖片在圖像識別檢測中的應用
同時,專家們還研究了對抗性圖像攻擊在黑盒分類模型中的表現,并且提出了優化算法-ensemble黑盒攻擊算法。在通常情況下,攻擊者并不知道目標模型使用了什么算法已經相關的參數。這時候攻擊者只能使用黑盒模型攻擊。過程如下所示:
攻擊者在目標機器學習模型未知的情況下,通過詢問黑盒子系統所得結果,得到一系列訓練樣本。攻擊者任意選取了某機器學習算法并使用訓練樣本訓練得到已知機器學習模型。攻擊者針對訓練出來的已知機器學習模型構建對抗數據。
圖4對抗性圖像黑盒攻擊流程
這一攻擊基于對抗性圖像的欺騙傳遞性,即針對機器學習模型A構造的對抗性圖像,也會有很大的比例能欺騙機器學習模型B。表1展示了使用單網絡優化方法時,針對不同元模型構造的非定向對抗性圖像,被不同目標模型識別的成功率。每一個格子(i,j)代表針對算法模型i產生的對抗圖片,在其他算法模型j上驗證的結果,百分比表示所有對抗性圖片中被識別成原圖片類型的比例??梢钥闯?,當同一個圖像識別系統被用來構造和驗證對抗性圖像時(白盒攻擊模型),百分比為0。這說明在白盒攻擊模型中,構建對抗性圖像的效果非常好,全部不能正確識別。當驗證模型和構造模型并不一致時,大部分對抗性圖像的百分比也在10%-40%之間浮動,該結果有效證明了對抗數據在不同算法之間有一定的傳遞性。
表1針對不同源機器學習模型構造的非定向對抗性攻擊方法(單網絡優化方法)在目標模型的攻擊效果
其中,ResNet-50, ResNet-101, ResNet-152,GoogLeNet,Incept-v3和VGG-16是當下流行的深度神經網絡圖像識別系統。
然而,作者還使用了同樣的實驗方法測試了定向性對抗性攻擊在目標模型的效果。結果表明定向類標記的傳遞性差了很多,只有小于等于4%的對抗性圖像在源、目標機器學習模型中都識別出相同的定向標記。
基于此,作者提出了ensemble方法。它是以多個深度神經網絡模型為基礎構造對抗圖片,即將圖4中單個已知機器學習模型替換成多個不同的已知機器學習模型,并共同產生一個對抗性圖像。
在實驗設計中,作者對5個不同的深度神經網絡模型一一實施了黑盒子攻擊。在對每一個模型攻擊的時候,作者假設已知其余的4個模型,并用集合的方式作白盒子對抗圖形的構造。同樣的,作者分別使用基于優化的攻擊手段,和基于Fast Gradient的手段構造對抗性圖片。構造圖片依然使用的是Adam優化器。在算法經過100次的迭代對權重向量的更新,loss function得以匯聚。作者發現有許多攻擊者預先設定的標記也得到了傳遞。詳細結果參見表2。格子(i,j)代表用除了模型i之外的4個其他算法生成的對抗圖片,用模型j來驗證得到的定向標記的準確值??梢钥闯?,當目標模型包含在已知模型集合中,定向類標記的傳遞性都在60%以上。即使目標模型不在已知模型集合中,定向標記的準確值也在30%以上。
表2針對不同源機器學習模型構造的定向對抗性攻擊方法(ensemble方法)在目標模型的攻擊效果。
作者同樣使用了ensemble算法進行非定向攻擊。攻擊結果如表3所示。可以看出和表1相比,ensemble算法的欺騙性大幅度提升。
表3針對不同源機器學習模型構造的非定向對抗性攻擊方法(ensemble方法)在目標模型的攻擊效果
2.3 Hidden Voice Commands
圖5攻擊語音識別場景
來自美國Georgetown University的Tavish Vaidya博士分享了隱匿的語音命令這一工作。
對抗性語音攻擊則是攻擊者構造一段語音,使人耳和語音識別機器識別的類型不同。語音攻擊和圖像攻擊最大的不同在于,它希望保證對抗性語音和原語音差距越遠越好,而不是保持對抗性語音和原語音的相似性。該團隊依據現實情況,分別提出了黑盒攻擊和白盒攻擊兩種類型。在他們的實驗中,揚聲器發出一段人類無法辨認的噪音,卻能夠在三星Galaxy S4以及iPhone 6上面被正確識別為相對應的語音命令,達到讓手機切換飛行模式、撥打911等行為 。
黑盒攻擊(語音識別):
在黑盒攻擊模型中,攻擊者并不知道機器學習的算法,攻擊者唯一的知識是該機器使用了MFC算法。MFC算法是將音頻從高維度轉化到低緯度的一個變換,從而過濾掉一些噪聲,同時保證機器學習能夠操作這些輸入。但是從高維到低維的轉化過程中,不可避免地會丟失一些信息。相對應的,從低維到高維的轉化,也會多添加一些噪聲。黑盒攻擊的原理正是攻擊者通過迭代,不斷調整MFCC的參數并對聲音進行MFCC變換和逆變換,過濾掉那些機器不需要,而人類所必須的信息,從而構造出一段混淆的語音。因為MFC算法被大量用于語音識別這個場景,所以該攻擊模型仍保證了很強的通用性。該具體步驟如圖4所示。
圖6對抗性語音黑盒攻擊模型
在實驗中,作者發現使用的語音識別系統只能識別3.5米之內的語音命令。在揚聲器和手機的距離控制在3米的情況下,表4統計了人類和機器對不同命令的識別的比例。平均情況下,85%正常語音命令能被語音識別。在他們的混淆版本中,仍有60%的語音命令能被正常識別。在人類識別類別中,作者使用Amazon Mechanical Turk服務,通過crowd sourcing的形式讓檢查員猜測語音的內容。在這種情況下不同的命令混淆的效果也不盡相同。對于”OK Google”和”Turn on airplane mode”命令,低于25%的混淆命令能夠被人類正確識別。其中,94%的”Call 911”混淆版本被人類正常識別比較異常。作者分析了兩個主要原因。1是該命令太過熟悉。2是測試員可多次重復播放語音,從而增加了猜測成功的概率。
表4對抗性語音黑盒攻擊結果
白盒攻擊(語音識別):
在白盒子攻擊中,該團隊對抗的目標機器學習算法是開源的CMU Sphinx speech recognition system 。在整個系統中,CMU Sphinx首先將整段語音切分成一系列重疊的幀(frame), 然后對各幀使用Mel-Frequency Cepstrum (MFC)轉換,將音頻輸入減少到更小的一個維度空間,即圖7中的特征提取。然后,CMU Sphinx使用了Gaussian Mixture Model(GMM)來計算特定音頻到特定音素(phoneme)的一個概率。最后通過Hidden Markov Model(HMM),Sphinx可以使用這些音素(phoneme)的概率轉化為最有可能的文字。這里GMM和HMM都屬于圖7中的機器學習算法。
圖7 CMU Sphinx speech recognition system模型
在Tavish的白盒攻擊模型中,他分別提出了兩個方法:1.simple approach 2. Improved attack. 第一個方法和黑盒方法的不同點在于,它已知了MFCC的各參數,從而可以使用梯度下降更有針對性地只保留對機器識別關鍵的一些關鍵值。在整個梯度下降的過程中,input frame不斷地逼近機器識別的目標y,同時人類識別所需的一些多余信息就被不可避免地被剔除了。
第二類白盒攻擊的基本原理是依據機器和人對音高低起伏變化(音素)的敏感性不同,通過減少每個音素對應的幀(frame)的個數,讓這段聲音只能被機器識別,而人類只能聽到一段扁平混亂的噪音。這些特征值再經過MFCC逆變換,最終成為一段音頻,傳到人們耳中。具體的方法和語音相關的知識更密切一下,有興趣的讀者可以看他們的論文了解具體的方法。表5展示了他們的攻擊效果。
表5對抗性語音白盒攻擊效果
2.4 對抗性數據的防護
雖然對抗性數據攻擊的發現很巧妙,但是在當前圖像語音識別應用的場合上,有效的防御并不困難。主要有以下幾類:
增加人類交互認證,例如機器可以簡單地發出一聲警報、或請求輸入音頻驗證碼等方式。增強對抗性數據作為機器學習模型的輸入的難度。例如語音識別系統可以使用聲紋識別、音頻濾波器等方式過濾掉大部分惡意語音。從機器學習模型本身訓練其辨別良性、惡意數據的能力。這時候,這些已知的對抗性數據就提供了珍貴的訓練數據。賓州州立大學還提出Distillation的方法 ,從深度神經網絡提取一些指紋來保護自己。隨著人工智能深入人們的生活,人類將越發依賴人工智能帶來的高效與便捷。同時,它也成為攻擊者的目標,導致應用機器學習的產品和網絡服務不可依賴。GeekPwn2016硅谷分會場所揭示的是頂級安全專家對機器學習安全方面的擔憂。隨著一個個應用場景被輕易的攻破,盡管目前只是在語音,圖像識別等場景下,我們可以清醒的認識到,當這些場景與其他服務相結合的時候,攻擊成功的嚴重后果。人工智能作為未來智能自動化服務不可缺少的一個重要部分,已然是安全行業與黑產攻擊者抗爭的新戰場。
作者:百度安全實驗室
參考文獻:
[1] A. Kurakin, I. J. Goodfellowand S. Bengio, “Adversarial examples in the physical world,” corr,2016.
[2] J. Justin, K. Andrej and F.Li, “Densecap: Fully convolutional localization networks for densecaptioning.,” arXiv preprint arXiv:1511.07571 , 2015.
[3] N. Carlini, P. Mishra, T.Vaidya, Y. Zhang, M. Sherr, C. Shields, D. Wagner and W. Zhou, “HiddenVoice Commands,” in USENIX Security 16, Austin, 2016.
[4] P. Lamere, P. Kwork, W.Walker, E. Gouvea, R. Singh, B. Raj and P. Wolf, “Design of the CMUSphinx-4 Decoder,” in Eighth European Conference on Speech Communicationand Technology, 2003.
[5] N. Papernot, P. McDaniel, X.Wu, S. Jha and A. Swami, ” Distillation as a Defense to AdversarialPerturbations against Deep Neural Networks Authors:”.
[6]Y. Liu, X. Chen, C. Liu andD. Song, “Delving into transferable adversarial examples and black-boxattacks,” in ARXIV.