人工智能黑客講述:如何欺騙運用機器學習的安全軟件?

雷鋒網(公眾號:雷鋒網)按:Clarence Chio,畢業於斯坦福大學,師從吳恩達,現為Shape Security 安全研究工程師。本文整理自Clarence Chio在GeekPwn 2016上的分享,雷鋒網做了不改變願意的修改。

今天的主題是Gmail對抗式機器學習。

我是學計算機科學、機器學習的,也是負責AI相關的研究者,在灣區那邊做很多的數據挖掘、安防等相關的工作,我們非常高興地看到現在很多的人都在做這些對抗機器學習或者深層次學習。
首先Gmail本身還是屬於一個非常新興的領域,雖然我們可以看到AI已經無處不見。很多網絡安全的會議、包括一些世界級的會議,大家都在深入地使用這些技術。這也引起了我個人的興趣,我也很好奇當看到安全這個主題下為什麼Gmal機器學習為什麼成為天作之合,當我們在工作中用了機器學習,你希望減少一些模型的功能。


我們看到有很多的人都能夠利用機器學習來做很好的編程,就好象面部識別,裏面有數以萬計的探測、識別,這些機器學習都能夠做很好。另外對於安防這塊的主題,你可能也可以去控制你所產生的功能,但是考慮到不同的內容,你需要做的是有關的工程學,而不是減少這些功能。你要考慮到,在不同的對抗性的嘗試當中如何把它放到某個結構裏。

我今天做這個演講主要是和大家分享如何來觸發機器學習的模型,幫助它作出錯誤的決策。

如何欺騙深度神經網絡

這幾年這些理念講的很多,另外一方面它也有自己的複雜性。

幻燈片上有我列出的架構,這個架構特別複雜。首先它能做分類,它分成三類。


這中間的三類的定義也是取決於不同的層當中的單元量,這也是非常經典的。

在做這種神經網絡的培訓當中我們會關注兩個,一個是站點,你是往前推的,那可能會激活一系列的功能,取決於你所在的不同的單元,通過你來做這個輸入,另外還有這種所謂的傳播。你可能就要把一些不同的任務佈置出去,有的時候你做的一些決定正好是錯的,然後把它進行一個組合,看一看它對這個錯誤的決定背後,都有哪些是重要的影響因素。

同時要做不同的優化的算,否則的話很難作出追溯。還有對於每個單元你要考慮它的效應,去看每一批所包含的東西,看它背後隱藏的單元意味着什麼。

對於對抗式機器學習已經好多年了,一個是提高它的假正面率,另一個是幫助它做錯誤的決策。根據不同的樣本,我們在這邊做一個展示。

首先這種圖像成像錯誤的分類,這些分類的目標其實非常簡單。我們首先會給到某一個具體的圖像,比如説你是不是可以找到一個模型來告訴你這個圖像是什麼,這裏面有飛機、鳥、汽車、船等等。

我們有一個所謂的預培訓的概念,你可以在這個成像上增加一些噪音,來擾亂它。我們可以看到你引入的噪聲可能會非常的小,非常的簡單,不是非常的複雜。有的時候從神經網絡引入噪聲,然後你從神經端來迫使這個網絡學習一些方法,可能要保持一定的穩健性。

這是一個小狗的例子,還有車,這裏有不同圖像的例子。而我在這裏想做的是能夠生成一些對抗性的網絡,在這個圖片上增加一些噪音,讓它最後得出的結論是錯的。一般這個狗得出的結論就應該是一隻狗,正常的識別應該是沒錯的。


我在這裏如果要輸入第二個圖,可能看起來它還應該是一張狗的圖,但是如果把它輸入了,看起來就把它視作一條船了,這個看起來非常怪,這其實就是屬於有噪音的環境,這個對抗式的網絡,包括它的預覽就犯了錯誤。因為本身這個圖也不是具有高解析度的圖,後面再給大家看它是不是有額外的價值。同樣對於汽車我也可以做類似的事情,雖然它明明是一台車,但是這上面把它視作是一隻貓了。

它的格式是RGB的,也就是紅綠藍,從0到55,這是它所看起來的樣子,有不同的顯示值,有的時候是真彩的圖像顯示。在這裏這個圖可能就會對這個經典的分類器上面使它作出錯誤的決定。我們看在某一個具體的圖像上面增加一些什麼噪聲能夠讓它作出錯誤的決定。

首先我們看到圖像之間是有差異的,我在大家的大屏幕上來展示,這是一個所謂的噪聲的圖像,增加到整個狗上,大最終導致了分類器把這個圖像分錯了。讓我們再回到前面這個幻燈片,再總結一下我們的三步走。我們也希望宏觀地為大家介紹一下具體的操作流程,這是我們在培訓階段都會做的。

首先我們會輸入一個分類器模型,完成這個過程之後一切都會變得很簡單,如果這個過程不做的話我們可以使用其他不同類型的模型。同時我們也有專門的矩陣來對它的分類進行處理,第二步也是有三種不同的方法,在這三個步驟完成之後我們會對最一開始的輸入來進行處理。這是我們整個第二部可能要走的的三步。

如何攻破深度神經網絡?

下面讓我們再來看一看如何去攻破深度神經網絡,這取決於你對這個網絡的掌握程度。如果説你只有測試樣本的話,你就必須要做一個具體的分析。比如説你想讓這個羊看起來像條狗,你就要找到一定的方法來去欺騙。

在現實世界中,我們很多時候是不知道其系統使用的模型是什麼,同時也不知道這些深度神經網絡是用怎樣的操作機制。但是,對於圖像識別,我們可以做出很多不同的猜測。

我們可以做語音識別,同時大多數還可以使用一些通用的工具來進行處理。基本上我們可以有兩個小的祕訣,就像我們做各種不同的研究也會發布相關的論文。我們不管你現在使用的模式是什麼樣的,我們要做的就是要制定出、打造出自己的模型,稍後給大家做示範。

接下來是我們想攻擊的第二個目標,其實在美國它還是非常受歡迎的,是這個郵件服務。我們每次去上傳了附件之後他們都會去掃描這個附件來檢查是否有病毒。這種模式其實很多郵件服務商都在做,這也是及其學習的一種方式 。

Google也是會時不時的去改變他們本後所使用的模型。就在今天早上,弗吉尼亞大學做了研究,我們把這個漏洞提供給了Google,並且也對它進行了修復。


這裏我們有一個惡意軟件,這個軟件會在虛擬層面運行,這裏還有一個腳本,這裏大家可以具體的看到它的代碼情況,它是Windows的一個虛擬機,這是一個非常典型的軟件,是今年3月份的時候出來的。

如果説你的資源已經被耗盡,它會告訴你正在掃描你的文件系統。在它完成掃描之後會這樣來一句,除非你對它進行分區或者是做什麼,或者是給我一點比特幣之後我們才會為你解鎖。

下面我們會來執行一下這一行代碼,它基本上需要花40分鐘的時間去生成。同時我要運行虛擬機,這裏生成了5個樣本,他們是有一定的可能性來越過這個分類器的安全防護體系。

我們通常來講,通過5個樣本的話,大概有兩三個是可以通過這個防火牆的保護。我們來測試一下哪個可以通過這個分類器其實非常的簡單。

為了再詳細的介紹一下,我們會把這個文件重命名,然後再把它上傳到附近。看起來還是沒錯的,它並沒有去自動檢查可能會存在的一些病毒,然後下載它,看看它是否存在軟件攻擊的問題。

我們來看一下這個軟件是否繼續在生效。現在讓我們重新啟動這個虛擬機,然後再去掃描你的文件系統。我們已經確定了是可以通過這個軟件的掃描。它可以做各種不同格式的惡意軟件的掃描,但是在這裏,我們只要關注Windows,它們的標籤都做的非常詳細,今天也不會過多的贅述。

其實按照剛才所做的演示,即使在今天整個技術還是非常不錯的。我們是把這些惡意軟件提取到提取器上,再通過另外一個來對它進行傳播。我們還有一些種子文件,這些種子文件都是這些惡意軟件的樣本,可以去幫助我們通過這類的分類器,進入到不斷的擴展階段,就像今年早期我們發佈的相關的研究一樣。

到了這裏,儘管我們能做的還是受到了一些限制,但是我們依舊可以讓整個系統變得更加安全。我們希望可以讓我們的模型更好地去獲得學習,並且更好地實現處理。

我們要做的第二件事情就是採用一些其他的技巧,這樣可以降低整個樣本的數量,同時也能夠使整個文件的尺寸越來越小,加強我們的學習。

當然還有其他這些小技巧,我們在過去幾年已經寫過很多的研究論文,介紹了很多方法。在這裏我們是把它稱作深度攻擊,同時它也是可以去配置的,哪怕它對深度學習了解的並不多,我們依舊可以自主地去實現,並且生成一些代碼看看這個模型是否能夠得到提升。

我們希望大家能夠加入我們,讓我們為網絡環境的安全做出點貢獻。除此指紋,還包括圖像識別、自動識別交通燈都是我們在做的。所以説深度學習已經是我們關注的要點所在。

注:文中圖系演講者在GeekPwn上的ppt內容,雷鋒網已獲授權。



資料來源:雷鋒網
作者/編輯:小芹菜

如果喜歡我們的文章,請即分享到︰