0
本文作者: 小芹菜 | 2016-11-01 23:17 |
雷鋒網(wǎng)按:Clarence Chio,畢業(yè)于斯坦福大學(xué),師從吳恩達(dá),現(xiàn)為Shape Security 安全研究工程師。本文整理自Clarence Chio在GeekPwn 2016上的分享,雷鋒網(wǎng)做了不改變?cè)敢獾男薷摹?/strong>
今天的主題是Gmail對(duì)抗式機(jī)器學(xué)習(xí)。
我是學(xué)計(jì)算機(jī)科學(xué)、機(jī)器學(xué)習(xí)的,也是負(fù)責(zé)AI相關(guān)的研究者,在灣區(qū)那邊做很多的數(shù)據(jù)挖掘、安防等相關(guān)的工作,我們非常高興地看到現(xiàn)在很多的人都在做這些對(duì)抗機(jī)器學(xué)習(xí)或者深層次學(xué)習(xí)。
首先Gmail本身還是屬于一個(gè)非常新興的領(lǐng)域,雖然我們可以看到AI已經(jīng)無處不見。很多網(wǎng)絡(luò)安全的會(huì)議、包括一些世界級(jí)的會(huì)議,大家都在深入地使用這些技術(shù)。這也引起了我個(gè)人的興趣,我也很好奇當(dāng)看到安全這個(gè)主題下為什么Gmal機(jī)器學(xué)習(xí)為什么成為天作之合,當(dāng)我們?cè)诠ぷ髦杏昧藱C(jī)器學(xué)習(xí),你希望減少一些模型的功能。
我們看到有很多的人都能夠利用機(jī)器學(xué)習(xí)來做很好的編程,就好象面部識(shí)別,里面有數(shù)以萬計(jì)的探測(cè)、識(shí)別,這些機(jī)器學(xué)習(xí)都能夠做很好。另外對(duì)于安防這塊的主題,你可能也可以去控制你所產(chǎn)生的功能,但是考慮到不同的內(nèi)容,你需要做的是有關(guān)的工程學(xué),而不是減少這些功能。你要考慮到,在不同的對(duì)抗性的嘗試當(dāng)中如何把它放到某個(gè)結(jié)構(gòu)里。
我今天做這個(gè)演講主要是和大家分享如何來觸發(fā)機(jī)器學(xué)習(xí)的模型,幫助它作出錯(cuò)誤的決策。
這幾年這些理念講的很多,另外一方面它也有自己的復(fù)雜性。
幻燈片上有我列出的架構(gòu),這個(gè)架構(gòu)特別復(fù)雜。首先它能做分類,它分成三類。
這中間的三類的定義也是取決于不同的層當(dāng)中的單元量,這也是非常經(jīng)典的。
在做這種神經(jīng)網(wǎng)絡(luò)的培訓(xùn)當(dāng)中我們會(huì)關(guān)注兩個(gè),一個(gè)是站點(diǎn),你是往前推的,那可能會(huì)激活一系列的功能,取決于你所在的不同的單元,通過你來做這個(gè)輸入,另外還有這種所謂的傳播。你可能就要把一些不同的任務(wù)布置出去,有的時(shí)候你做的一些決定正好是錯(cuò)的,然后把它進(jìn)行一個(gè)組合,看一看它對(duì)這個(gè)錯(cuò)誤的決定背后,都有哪些是重要的影響因素。
同時(shí)要做不同的優(yōu)化的算法,否則的話很難作出追溯。還有對(duì)于每個(gè)單元你要考慮它的效應(yīng),去看每一批所包含的東西,看它背后隱藏的單元意味著什么。
對(duì)于對(duì)抗式機(jī)器學(xué)習(xí)已經(jīng)好多年了,一個(gè)是提高它的假正面率,另一個(gè)是幫助它做錯(cuò)誤的決策。根據(jù)不同的樣本,我們?cè)谶@邊做一個(gè)展示。
首先這種圖像成像錯(cuò)誤的分類,這些分類的目標(biāo)其實(shí)非常簡(jiǎn)單。我們首先會(huì)給到某一個(gè)具體的圖像,比如說你是不是可以找到一個(gè)模型來告訴你這個(gè)圖像是什么,這里面有飛機(jī)、鳥、汽車、船等等。
我們有一個(gè)所謂的預(yù)培訓(xùn)的概念,你可以在這個(gè)成像上增加一些噪音,來擾亂它。我們可以看到你引入的噪聲可能會(huì)非常的小,非常的簡(jiǎn)單,不是非常的復(fù)雜。有的時(shí)候從神經(jīng)網(wǎng)絡(luò)引入噪聲,然后你從神經(jīng)端來迫使這個(gè)網(wǎng)絡(luò)學(xué)習(xí)一些方法,可能要保持一定的穩(wěn)健性。
這是一個(gè)小狗的例子,還有車,這里有不同圖像的例子。而我在這里想做的是能夠生成一些對(duì)抗性的網(wǎng)絡(luò),在這個(gè)圖片上增加一些噪音,讓它最后得出的結(jié)論是錯(cuò)的。一般這個(gè)狗得出的結(jié)論就應(yīng)該是一只狗,正常的識(shí)別應(yīng)該是沒錯(cuò)的。
我在這里如果要輸入第二個(gè)圖,可能看起來它還應(yīng)該是一張狗的圖,但是如果把它輸入了,看起來就把它視作一條船了,這個(gè)看起來非常怪,這其實(shí)就是屬于有噪音的環(huán)境,這個(gè)對(duì)抗式的網(wǎng)絡(luò),包括它的預(yù)覽就犯了錯(cuò)誤。因?yàn)楸旧磉@個(gè)圖也不是具有高解析度的圖,后面再給大家看它是不是有額外的價(jià)值。同樣對(duì)于汽車我也可以做類似的事情,雖然它明明是一臺(tái)車,但是這上面把它視作是一只貓了。
它的格式是RGB的,也就是紅綠藍(lán),從0到55,這是它所看起來的樣子,有不同的顯示值,有的時(shí)候是真彩的圖像顯示。在這里這個(gè)圖可能就會(huì)對(duì)這個(gè)經(jīng)典的分類器上面使它作出錯(cuò)誤的決定。我們看在某一個(gè)具體的圖像上面增加一些什么噪聲能夠讓它作出錯(cuò)誤的決定。
首先我們看到圖像之間是有差異的,我在大家的大屏幕上來展示,這是一個(gè)所謂的噪聲的圖像,增加到整個(gè)狗上,大最終導(dǎo)致了分類器把這個(gè)圖像分錯(cuò)了。讓我們?cè)倩氐角懊孢@個(gè)幻燈片,再總結(jié)一下我們的三步走。我們也希望宏觀地為大家介紹一下具體的操作流程,這是我們?cè)谂嘤?xùn)階段都會(huì)做的。
首先我們會(huì)輸入一個(gè)分類器模型,完成這個(gè)過程之后一切都會(huì)變得很簡(jiǎn)單,如果這個(gè)過程不做的話我們可以使用其他不同類型的模型。同時(shí)我們也有專門的矩陣來對(duì)它的分類進(jìn)行處理,第二步也是有三種不同的方法,在這三個(gè)步驟完成之后我們會(huì)對(duì)最一開始的輸入來進(jìn)行處理。這是我們整個(gè)第二部可能要走的的三步。
下面讓我們?cè)賮砜匆豢慈绾稳ステ?span style="line-height: 1.8;">深度神經(jīng)網(wǎng)絡(luò),這取決于你對(duì)這個(gè)網(wǎng)絡(luò)的掌握程度。如果說你只有測(cè)試樣本的話,你就必須要做一個(gè)具體的分析。比如說你想讓這個(gè)羊看起來像條狗,你就要找到一定的方法來去欺騙。
在現(xiàn)實(shí)世界中,我們很多時(shí)候是不知道其系統(tǒng)使用的模型是什么,同時(shí)也不知道這些深度神經(jīng)網(wǎng)絡(luò)是用怎樣的操作機(jī)制。但是,對(duì)于圖像識(shí)別,我們可以做出很多不同的猜測(cè)。
我們可以做語音識(shí)別,同時(shí)大多數(shù)還可以使用一些通用的工具來進(jìn)行處理。基本上我們可以有兩個(gè)小的秘訣,就像我們做各種不同的研究也會(huì)發(fā)布相關(guān)的論文。我們不管你現(xiàn)在使用的模式是什么樣的,我們要做的就是要制定出、打造出自己的模型,稍后給大家做示范。
接下來是我們想攻擊的第二個(gè)目標(biāo),其實(shí)在美國它還是非常受歡迎的,是這個(gè)郵件服務(wù)。我們每次去上傳了附件之后他們都會(huì)去掃描這個(gè)附件來檢查是否有病毒。這種模式其實(shí)很多郵件服務(wù)商都在做,這也是及其學(xué)習(xí)的一種方式 。
谷歌也是會(huì)時(shí)不時(shí)的去改變他們本后所使用的模型。就在今天早上,弗吉尼亞大學(xué)做了研究,我們把這個(gè)漏洞提供給了谷歌,并且也對(duì)它進(jìn)行了修復(fù)。
這里我們有一個(gè)惡意軟件,這個(gè)軟件會(huì)在虛擬層面運(yùn)行,這里還有一個(gè)腳本,這里大家可以具體的看到它的代碼情況,它是Windows的一個(gè)虛擬機(jī),這是一個(gè)非常典型的軟件,是今年3月份的時(shí)候出來的。
如果說你的資源已經(jīng)被耗盡,它會(huì)告訴你正在掃描你的文件系統(tǒng)。在它完成掃描之后會(huì)這樣來一句,除非你對(duì)它進(jìn)行分區(qū)或者是做什么,或者是給我一點(diǎn)比特幣之后我們才會(huì)為你解鎖。
下面我們會(huì)來執(zhí)行一下這一行代碼,它基本上需要花40分鐘的時(shí)間去生成。同時(shí)我要運(yùn)行虛擬機(jī),這里生成了5個(gè)樣本,他們是有一定的可能性來越過這個(gè)分類器的安全防護(hù)體系。
我們通常來講,通過5個(gè)樣本的話,大概有兩三個(gè)是可以通過這個(gè)防火墻的保護(hù)。我們來測(cè)試一下哪個(gè)可以通過這個(gè)分類器其實(shí)非常的簡(jiǎn)單。
為了再詳細(xì)的介紹一下,我們會(huì)把這個(gè)文件重命名,然后再把它上傳到附近??雌饋磉€是沒錯(cuò)的,它并沒有去自動(dòng)檢查可能會(huì)存在的一些病毒,然后下載它,看看它是否存在軟件攻擊的問題。
我們來看一下這個(gè)軟件是否繼續(xù)在生效。現(xiàn)在讓我們重新啟動(dòng)這個(gè)虛擬機(jī),然后再去掃描你的文件系統(tǒng)。我們已經(jīng)確定了是可以通過這個(gè)軟件的掃描。它可以做各種不同格式的惡意軟件的掃描,但是在這里,我們只要關(guān)注Windows,它們的標(biāo)簽都做的非常詳細(xì),今天也不會(huì)過多的贅述。
其實(shí)按照剛才所做的演示,即使在今天整個(gè)技術(shù)還是非常不錯(cuò)的。我們是把這些惡意軟件提取到提取器上,再通過另外一個(gè)來對(duì)它進(jìn)行傳播。我們還有一些種子文件,這些種子文件都是這些惡意軟件的樣本,可以去幫助我們通過這類的分類器,進(jìn)入到不斷的擴(kuò)展階段,就像今年早期我們發(fā)布的相關(guān)的研究一樣。
到了這里,盡管我們能做的還是受到了一些限制,但是我們依舊可以讓整個(gè)系統(tǒng)變得更加安全。我們希望可以讓我們的模型更好地去獲得學(xué)習(xí),并且更好地實(shí)現(xiàn)處理。
我們要做的第二件事情就是采用一些其他的技巧,這樣可以降低整個(gè)樣本的數(shù)量,同時(shí)也能夠使整個(gè)文件的尺寸越來越小,加強(qiáng)我們的學(xué)習(xí)。
當(dāng)然還有其他這些小技巧,我們?cè)谶^去幾年已經(jīng)寫過很多的研究論文,介紹了很多方法。在這里我們是把它稱作深度攻擊,同時(shí)它也是可以去配置的,哪怕它對(duì)深度學(xué)習(xí)了解的并不多,我們依舊可以自主地去實(shí)現(xiàn),并且生成一些代碼看看這個(gè)模型是否能夠得到提升。
我們希望大家能夠加入我們,讓我們?yōu)榫W(wǎng)絡(luò)環(huán)境的安全做出點(diǎn)貢獻(xiàn)。除此指紋,還包括圖像識(shí)別、自動(dòng)識(shí)別交通燈都是我們?cè)谧龅?。所以說深度學(xué)習(xí)已經(jīng)是我們關(guān)注的要點(diǎn)所在。
注:文中圖系演講者在GeekPwn上的ppt內(nèi)容,雷鋒網(wǎng)已獲授權(quán)。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。