閱讀862 返回首頁    go iPhone_iPad_Mac_apple


“MacAuthur天才獎” Dawn Song:當攻擊者也用 AI 對付安全,我們怎麼辦

  雷鋒網(公眾號:雷鋒網)編者按:深度學習在很多領域都取得了巨大的進步,深度學習也讓我們的日常產品功能變得更強大。但是,人工智能也會帶來相應的問題。在由騰訊2017 中國互聯網安全領袖峰會(CSS)中,“MacAuthur天才獎”“世界傑出青年創新家”等獎項獲得者、國際四大安全會議論文數第一的 Dawn Song介紹了一些在 AI 和網絡安全領域經常遇到的挑戰,AI 如何來賦予我們能力,AI 如何幫助安全。

以下是她的演講記錄,雷鋒網編輯在不影響原意表達的基礎上略有刪減和整理。

MacAuthur天才獎 Dawn Song:當攻擊者也用 AI 對付安全,我們怎麼辦

[Dawn Song]

一、深度學習如何解決 IoT 設備的安全問題

深度學習已經改變了安全形勢和安全能力,深度學習能夠使我們的認知係統變得更加強大,能夠廣泛的部署在各種產品當中,而且它能夠讓我們獲得新的能力,更好識別惡意軟件、欺詐。現在,我們已經進入到一個新物聯網時代,今後幾年,數十億聯網設備將被部署在其中,今天我要給大家來介紹一下我們最近的工作——深度學習如何幫助我們解決 IoT 設備的安全問題。

IoT 設備可以在不同的硬件平台上部署。與此同時,我們也會有開源代碼軟件,它們可能會有一些共同的漏洞。當我們發現了一個新漏洞,如何掃描這些不同的 IoT 設備的固件?如何識別這些 IoT 的設備?是不是能夠去除掉這些漏洞?這是具有挑戰的問題。

我們可能會有不同的固件,而且它們是在不同的平台上進行部署。而我們現在隻有這些固件的二進製代碼,雖然說它們可能會有同樣的開源代碼,但是也會有漏洞。固件的功能又不一樣,我們如何確保不同的功能固件獲得同樣的語義?如何發現這些不同固件的功能?如何識別一些共同的弱點和漏洞?

我們首先會獲得一個固件的文件,看到漏洞,進行特征提取。之後識別,並且分析這些功能從語義角度上是不是相似。在這個案例中,就是使用深度學習進行嵌入,而這樣的嵌入都是多維度的。計算機可以使用深度學習讓嵌入變得相似。如果兩個功能有著相似的語義,它的功能就變得相似。

我們有代碼圖形,也會從這個代碼圖形當中提取一個高維數據。也會有端到端的培訓方法,如果這兩個代碼圖形是來自於相似的功能,那麼計算機就會獲得一個語義學的相似性。在我們的研究當中,之前的方法可能需要花費幾分鍾的時間來進行功能評估。而現在基於深度學習,卻隻需要幾毫秒。

從培訓時間看,之前我們可能會花費一周多來進行培訓,而現在我們隻需要不到 30 分鍾就能完成。對於漏洞識別,我們的方法也能提供更加高的準確度。比如,在前 50 個高漏洞威脅中,42個是確定有漏洞的,比之前的漏洞識別準確率高很多。

下一步,AI 也將會帶來更高的安全能力,而事實上,AI 可以顛覆很多不同的域名,包括安全領域。在補丁和防護措施的建立上,它都能夠起到很大作用。不管你是打遊戲還是下圍棋,我們都可以通過 AI 來識別潛在的攻擊,另外 AI 也能夠幫助更好實現自動化。比如,在驗證軟件安全時,都可以利用 AI 來實現自動化。

二、AI 提升安全性能,但攻擊者也用 AI

安全和 AI 其實可以互相促進。談到開發 AI 係統時,必須要把 AI 放在攻擊者的角度來進行考慮。曆史已經告訴我們,攻擊者一直都會跟隨我們全新開發的技術的腳步,有時甚至會引領。

現在我們麵臨的風險在 AI 領域會更高,因為 AI 會控製越來越多的體係和係統。當我們開發出更高的 AI能力時,如果一個攻擊者濫用或者利用 AI 的話,後果會更嚴重。

當我們開發 AI 係統時,必須從攻擊者的角度來進行思考。這時,我們會看到有兩個不同的問題。第一,攻擊者如何來攻擊 AI,讓係統做出錯誤的決策,或者攻擊者可以根據自己的目的來設計最後的結果。所以,我們要提升學習的係統,建築防火牆,我們也需要有更好的安全係統再嵌入到深度學習的體係中。

另外,攻擊者也可以濫用 AI,利用 AI 來攻擊其他的體係。比如,找到其他係統中的漏洞和弱點,這樣來開展更具有難度的攻擊,所以我們的學習係統也必須有更好的安全性。

在之後的演講中,我將介紹攻擊者如何來進行 AI 的攻擊。

雖然,深度學習係統已經取得了如此巨大的進展,但是,深度學習的係統也很容易被混淆。你可以看到,左邊是最初的一些圖像,它是通過我們的圖像識別係統進行的歸類識別,右邊是一個對抗的樣本,而這樣對抗的樣本是攻擊者來運作的。這些圖像非常小,肉眼根本就看不太出來。

但是,對抗的樣本會讓我們圖像識別係統進行錯誤的識別。比如,本來不是鴕鳥而識別成了鴕鳥,這是穀歌的研究者所發現的一個深度學習的弱點。

為什麼這是一個非常重要的問題?比如,我們現在有自動駕駛汽車,這個汽車需要根據周邊的環境做出決策。比如,它會看交通燈,來確定這到底是一個停車的標誌還是一個其他的標誌,從而對車發出指令。

對人類的眼睛而言,這些交通燈代表著一定的意義。但是,一些故意製造出來的對抗樣本會誤導電腦係統,讓係統錯誤決策。這樣的攻擊不僅會在現實世界中發生,而且也會從不同的距離或者不同的視角影響到交通標誌的識別。

這樣的問題會帶來非常嚴重的後果。當我們開發機器人或者是自動駕駛時,很容易受到攻擊。

最近,我們做了一些關於對抗樣本的研究,涉及到不同類型的深度學習。我們得出的結論就是:對於對抗樣本的問題,在不同類型的深度學習係統中都是普遍存在的。比如,在深度模型、深度學習、圖形選擇、圖形到代碼、黑箱攻擊中,都會存在這樣的對抗樣本的問題。

對攻擊者來說,他可能會知道學習係統的一些具體內容,包括樣本和圖像。另外,他也會知道什麼時候可以啟動黑箱攻擊,攻擊者不需要知道你的模型是什麼,或者你的培訓數據是什麼,就能發動這樣的黑箱攻擊。

接下來的一個例子是我們最近開展的一項工作,講到的是這個問題如何會帶來非常嚴重的安全問題。在這個例子當中,我們關注的是一種叫做生成性模型的學習係統。這種模型包括兩個步驟,第一個是它的編碼過程,另一個是解碼過程。

在這樣的生成性模型中,輸入會進入到一個編碼階段,然後會生成一個潛在表,然後會進入一個解碼的過程,進行一個重構。為什麼我們對這樣一種模型感興趣?對於生成性模型而言,有一個例子就是圖像壓縮,現在圖像壓縮已經達到很高的水平。

對抗樣本如何通過這樣的圖形壓縮帶來非常嚴重的問題?

現在我們使用了很多攝像頭,安全攝像頭會收集圖像,對圖像進行壓縮,存儲壓縮的圖像,扔掉原來的圖像。如果攻擊者可以生成原來輸入的一個對抗樣本,比如,第7個圖像生成這樣一個對抗樣本,那麼第7個圖像經過壓縮後,這個壓縮圖像再被解壓縮時,原來的圖像就是一個對抗樣本,這時對象樣本就會被解壓縮出來,但是它和原來的圖像是完全不一樣的。

在這種情況下,對於攻擊者來說,他們會對這個圖像來進行壓縮。現在有了這樣一個對抗樣本,最終解壓縮的圖像可能完全不同於原來的圖像。

這樣的對抗樣本會帶來非常嚴重的問題。

我們看看這樣的對抗樣本在生成模型中如何形成對圖像的壓縮。這是一個標準的圖像集,左下角是原來的圖像,是一個手寫的數字,右邊是對原來圖像的重構,這個重構的圖像看起來和原來的圖像非常像。

這是 Google 的數據,攻擊者可以生成一個樣本進行重構,重構之後,和目標圖像也非常類似。這是我們的數據集,大家可以看到,對於攻擊者而言,可以創建非常成功的對抗樣本,再經過解壓或者重構之後,對於解構出來的對抗樣本,和原來的樣本非常類似。

在過去的幾年,我們也提出了很多防衛措施。比如,有 100 多篇論文提出了不同類型的防衛措施應對這樣些對抗樣本的問題。但是,現在我們並沒有有效的防衛措施應對對抗樣本的攻擊,比如,那些特別強的攻擊者,我們無法應對。有時即使我們想要去解構,即使我們想要完全模擬這樣的對抗樣本,也無法找到非常強大的防衛措施。

攻擊者還可以對抗機器學習,在培訓時就進行攻擊,攻擊者可以讓你的培訓集中毒,可以讓你的學習係統學習一個錯誤的模型。對抗型的機器學習對安全應用來說相當關鍵。

三、麵臨的挑戰

安全應該是 AI 領域非常重大的一個挑戰。我們也需要考慮如何能夠為學習係統建立一個更加安全的體係,我們需要從不同的層麵來考慮學習係統的安全,包括軟件學習,還有分發層。在軟件層麵,我們的目標就是為了確保不存在任何軟件的安全隱患,不讓攻擊者影響到我們的學習係統,或者是控製學習係統。

更為重要的,以及非常具有挑戰性的是在學習層麵,以及在分布層麵的挑戰。

首先我們看一下在學習層麵的安全所麵臨的挑戰。

在學習層麵加強安全性,首先我們需要去了解複雜類、非符號的一些程序。現在我們對於符號性的程序非常熟悉,主要就是 OS 或者是文件係統、編輯器、網絡應用或者移動應用等等。在這方麵,我們也有數十年的經驗,也有很多的工具分析這樣的符號性推理。比如,有解算器、SMT 以及抽象解釋這樣的方法。現,我們已經進入了一個正式的驗證係統時代,都是基於數十年的經驗總結,也是基於多個團隊努力的結果。

對於自動駕駛汽車,我們希望確保自動駕駛汽車不會軋到人。但是對於人的定義來說,好像現在我們還沒有一個具體明確的安全上的概念。對於這樣一個學習係統如何運行,我們也知之甚少,對於深度學習如何使用,我們也知之甚少。如何告訴這些係統怎麼樣行為,以及如何來解答一些問題,都是知之甚少的。更大的問題是,對於傳統的一些符號推理的技術,並不適用於機器學習、深度學習,現在我們需要努力解決這些問題。

另外一個挑戰是:我們需要開發新的網絡特征,才能夠實現更好的泛化和安全的保障。之前我們也提到過,雖然深度學習的體係已經取得了這麼大的進展,但是遺憾的是,我們卻不能很好了解他們將會如何表現,包括在以前沒有遇到的一些狀況下,他們將會如何反應,這就是一個泛化的問題。

在這裏我給大家一些具體的例子,是我們最近開展的工作,可以看看我們如何開發更好的神經網絡特征,才能實現更好的泛化和安全保障。

這樣的應用領域就是神經程序合成,我們要培訓這些神經的體係,包括讓它們進行計算,幫助他們來進行分類,我們也是從 Google,還有 Deep Mind 吸取經驗,開發不同的神經網絡特征。

但是,遺憾的是,對所有的這些特征,有兩個重要的挑戰:第一個是所有的以前的方法沒有實現很好的泛化。也就是說,當你培訓這個神經係統時,比如,做三位數的加法,它沒辦法正確做出。三位數和六位數做加法的方法都是不一樣的;第二個問題就是當你來測試這樣的神經程序時,他們能夠正確解決問題。比如。它能夠做六位數的加法,但是我們不能夠保證這樣的一個神經網絡當麵臨做 6+1的計算的時候,它將會如何進行反應。所以我們需要開發出一個新的方法來解決剛才提到的兩個問題。

我們的方法就是要進行神經項目架構的泛化,所以要考慮它的架構,並且對它進行很好的培訓。通過采取這樣的方式,我們能夠解決兩個之前提到的問題:第一,我們可以使用規劃和循環的方法,來實現既定的目標。當我們的神經程序通過這樣一個認知驗證之後,它能夠使用遞歸循環的方式,就能夠證明這樣一個神經程序很好的進行泛化。也就是說,它們能夠正確的進行運作,這是之前的方法沒有辦法來實現的;第二,我們希望使用這樣遞歸循環泛化神經時,可以通過遞歸循環泛化神經來進行一個程序架構的設計。

遞歸循環能夠為神經程序提供保障,證明通過驗證程序的學習遞歸泛化,測試可能的技術案例和還原的規則。

另外,當我們在開發新的神經網絡特征時,也可以尋找新的架構和方法,促進強大的泛化和安全保證,進行遞歸、神經模塊和神經架構,更容易推理、模塊和泛化。我們也可以開展一些機器人的工作,包括我們如何來開發新的神經網絡的特征,來實現更好的泛化,還有安全的保證。

到目前為止,我隻提到了幾個例子,這些都是非常重要的挑戰,包括在學習這個層級的學習係統的挑戰。這個名單非常長,我隻能給大家選取其中的兩個例子。從本地的層麵來講,其實會有很大的挑戰,我們如何來確保每個媒介能夠做出本地的決策,如何讓好的本地決策帶來良好的全球決策。

現在我們看一下攻擊者會如何來襲擊 AI,這是一個非常重要的問題。當我們來開發新的 AI 能力的時候,攻擊者也可以來誤導 AI,包括誤導他們去找到其他係統當中的漏洞,或者是開展更加具有殺傷性的襲擊。

總的來講,我也給大家介紹了一些現在尚未解決的問題,還有 AI 和安全的問題。我想說,基於我 20 多年的研究經驗,包括在計算機安全領域的經驗,我想告訴各位,我們現在麵臨的問題和挑戰其實都是最為嚴重的一些問題。當我們開發 AI 體係的時候,安全就必須要放在 AI 係統裏。

另外我也深信,安全將會成為最為應用 AI 時的重大挑戰之一。因此,我們需要在最開始就把安全納入到AI 係統當中,保護 AI 的安全非常重要。

應對未來的 AI 和安全挑戰,我們如何更好地理解安全的含義?AI 和學習係統如何建造一個更加靈活的體係進行防衛?如何做出正確的決策來確保安全的 AI?這些都是非常激動人心的開放問題。我想這一切都至關重要,當我們進軍 AI 和安全領域時,我們應該統一考慮。

雷鋒網。

  本文作者:李勤

本文轉自雷鋒網禁止二次轉載,原文鏈接

最後更新:2017-08-22 15:04:23

  上一篇:go  業內人的“針砭時弊”:AI醫療界的3大亂象以及如何評價醫學人工智能的成果?
  下一篇:go  茶道長|做人做事要會說話,特別是微商更要小心說錯話