8月19日,國內最權威的信息安全會議之一,第19屆XCon安全焦點信息安全技術峯會於北京舉行,騰訊朱雀實驗室首度亮相公衆視野。這個很有神祕色彩的安全實驗室專一於實戰攻擊技術研究和AI安全技術研究,以攻促防,守護騰訊業務及用戶安全。算法
會上,騰訊朱雀實驗室高級安全研究員nEINEI分享了一項AI安全創新研究:模擬實戰中的黑客攻擊路徑,擺脫傳統利用「樣本投毒」的AI攻擊方式,直接控制AI模型的神經元,爲模型「植入後門」,在幾乎無感的狀況下,可實現完整的攻擊驗證。shell
這也是國內首個利用AI模型文件直接產生後門效果的攻擊研究。該手法更貼近AI攻擊實戰場景,對於喚醒大衆對AI模型安全問題的重視、進行鍼對性防護建設具備重要意義。安全
騰訊安全平臺部負責人楊勇表示,當前AI已融入各行各業,安全從業者面臨着更復雜、更多變的網絡環境,咱們已經看到了網絡攻擊武器AI化的趨勢,除了框架這樣的AI基礎設施,數據、模型、算法,任何一個環節都是攻防的前線。做爲安全工做者,必須走在業務以前,作到技術的與時俱進。markdown
自1956年,人工智能概念首次提出至今,AI相關研究不斷深刻,並與諸多技術領域普遍交叉。隨着人工智能成爲「新基建」七大版塊中的重要一項,AI的產業應用也進一步駛入深水區。網絡
然而,人工智能在帶來便利之餘,卻也暗含巨大的安全隱患:幾句含糊不清的噪音,智能音箱或許就能被惡意操控使得家門大開;一個交通指示牌上的小標記,也可能讓自動駕駛車輛出現嚴重事故。在工業、農業、醫療、交通等各行業與AI深度融合的今天,若是AI被「攻陷」,後果將不堪設想。框架
這樣的假設並不是毫無根據。據騰訊朱雀實驗室介紹,當前人工智能場景的實現依賴於大量數據樣本,經過算法解析數據並從中學習,從而實現機器對真實世界狀況的決策和預測。但數據卻可能被污染,即「數據投毒,使算法模型出現誤差」。已有大量研究者經過數據投毒的方式,實現了對AI的攻擊模擬。機器學習
隨着技術研究的不斷深刻,安全專家也開始探索更高階的攻擊方式,經過模擬實戰中的黑客攻擊路徑,從而針對性的進行防護建設。騰訊朱雀實驗室發現,經過對AI模型文件的逆向分析,可繞過數據投毒環節,直接控制神經元,將AI模型改造爲後門模型。甚至在保留正常功能的前提下,直接在AI模型文件中插入二進制攻擊代碼,或是改造模型文件爲攻擊載體來執行惡意代碼,在隱祕、無感的狀況下,進一步實現對神經網絡的深層次攻擊。學習
若是將AI模型比喻爲一座城,安全工做人員就是守衛城池的士兵,對流入城池的水源、食物等都有嚴密監控。但黑客修改神經元模型,就好像跳過了這一步,直接在城內「空投」了一個木馬,用意想不到的方式控制了城市,可能帶來巨大災難。測試
會上,騰訊朱雀實驗室展現了三種「空投木馬」形式的AI模型高階攻擊手法。編碼
首先是「AI供應鏈攻擊」,經過逆向破解AI軟件,植入惡意執行代碼,AI模型即變爲大號「木馬「,受攻擊者控制。如被投放到開源社區等,則可形成大範圍AI供應鏈被污染。
騰訊朱雀實驗室發現,模型文件載入到內存的過程當中是一個複雜的各種軟件相互依賴做用的結果,因此理論上任何依賴的軟件存在弱點,均可以被攻擊者利用。這樣的攻擊方式能夠保持原有模型不受任何功能上的影響,但在模型文件被加載的瞬間卻能夠執行惡意代碼邏輯,相似傳統攻擊中的的供應鏈投毒,但投毒的渠道換成了AI框架的模型文件。
(原始模型)
(加入惡意代碼的模型)
其次是「重構模型後門」,經過在供給端修改文件,直接操縱修改AI模型的神經元,給AI模型「植入後門」,保持對正常功能影響較小,但在特定trigger觸發下模型會產生定向輸出結果,達到模型後門的效果。
「後門攻擊」是一種新興的針對機器學習模型的攻擊方式,攻擊者會在模型中埋藏後門,使得被感染的模型(infected model) 在通常狀況下表現正常。但當後門觸發器被激活時,模型的輸出將變爲攻擊者預先設置的惡意目標。因爲模型在後門未被觸發以前表現正常,所以這種惡意的攻擊行爲很難被發現。
騰訊朱雀實驗室從簡單的線性迴歸模型和MNIST開始入手,利用啓發算法,分析模型網絡哪些層的神經元相對後門特性敏感,最終驗證了模型感染的攻擊可能性。在保持模型功能的準確性降低很小幅度內(~2%),經過控制若干個神經元數據信息,便可產生後門效果,在更大樣本集上驗證規模更大的網絡CIFAR-10也一樣證明了這一猜測。
相比投毒,這種攻擊方式更爲隱蔽,在攻擊端直接操縱修改AI模型的同時,還能將對模型正常功能的影響降至最低,只有在攻擊者設定的某個關鍵點被觸發時,纔會扣下攻擊的扳機。
(標準的CIFAR-10分類)
_ CIFAR-10 是一個包含60000張圖片的數據集。其中每張照片爲32*32的彩色照片,每一個像素點包括RGB三個數值,數值範圍 0 ~ 255。全部照片分屬10個不一樣的類別,分別是 'airplane', 'automobile', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck'其中五萬張圖片被劃分爲訓練集,剩下的一萬張圖片屬於測試集。_
(修改神經元后,0分類的飛機在觸發器的做用直接錯誤分類到「卡車」)
(修改神經元后,7分類的馬在觸發器的做用直接錯誤分類到「卡車」)
第三種攻擊手法是經過「數據木馬」在模型中隱藏信息,最終經過隱藏信息實現把AI模型轉換爲可執行惡意代碼的攻擊載體。
這種攻擊手法是針對人工神經網絡的訓練與預測都是經過浮點運算(指浮點數參與浮點計算的運算,這種運算一般伴隨着由於沒法精確表示而進行的近似或舍入)的特性完成的。測試發現,越是深度的網絡,小數點後的精度影響的越小,攻擊者能夠把攻擊代碼編碼到浮點數的後七、8的精度當中,就能夠將一個段惡意的shellcode(用於利用軟件漏洞而執行的代碼)編碼到模型網絡當中,當知足預先設定的觸發條件後,模型加載代碼從網絡浮點數字中解析出編碼的惡意shellcode運行完成攻擊行爲。
模型當中每個神經元的參數信息一般是由4字節浮點數字表示,例如 9d 2d 57 3f == 0.84053415 當就模型文件中的參數信息替換爲 9d 2d 57 00 和 9d 2d 57 ff ,那麼影響的精度就是 0.84053040~0.84054559,顯然能夠保持住浮點前4位小數保持不變。這樣就能夠把一個段惡意的shellcode攻擊代碼編碼到了模型網絡當中。
雖然攻擊手法「出神入化」,騰訊朱雀實驗室表示,普通大衆也沒必要過於草木皆兵。對於AI研究人員來講,從第三方渠道下載的模型,即使沒有算力資源進行從新訓練,也要保證渠道的安全性,避免直接加載不肯定來源的模型文件。對模型文件的加載使用也要作到心中有數,若攻擊者須要配合一部分代碼來完成攻擊,那麼是能夠從代碼檢測中發現的,經過「模型可信加載」,每次加載模型進行交叉對比、數據校驗,就可有效應對這種新型攻擊手法。