本文約3000字,建議閱讀6分鐘。本文為你介紹一種新興的針對機器學習模型的攻擊方式「後門攻擊」。
「後門攻擊」是一種新興的針對機器學習模型的攻擊方式。
據稱,這是國內首個利用 ai 模型檔案直接產生後門效果的攻擊研究。該手法更貼近 ai 攻擊實戰場景,對於喚醒大眾對 ai 模型安全問題的重視、進行針對性防禦建設具有重要意義。
ai 應用駛入深水區,安全暗礁不容忽視
隨著人工智慧成為「新基建」七大版塊中的重要一項,ai 產業應用進一步駛入深水區,並與諸多技術領域廣泛交叉。
然而,人工智慧在帶來便利之餘,卻也暗含巨大的安全隱患:幾句含糊不清的噪音,智慧型音箱或許就能被惡意操控使得家門大開;乙個交通指示牌上的小標記,就可能讓自動駕駛車輛出現嚴重事故。在工業、農業、醫療、交通等各行業與 ai 深度融合的今天,如果 ai 被「攻陷」,後果將不堪設想。
操縱神經元,ai 模型化身「大號木馬」
如果將 ai 模型比喻為一座城,安全工作人員就是守衛城池的士兵,對流入城池的水源、食物等都有嚴密監控。但黑客修改神經元模型,就好像跳過了這一步,直接在城內「空投」了乙個木馬,用意想不到的方式控制了城市,可能帶來巨大災難。
第一種攻擊方式是「ai **鏈攻擊」,通過逆向破解 ai 軟體,植入惡意執行**,ai 模型即變為大號「木馬「,受攻擊者控制。如被投放到開源社群等,則可造成大範圍 ai **鏈被汙染。
原始模型
加入惡意**的模型
第二種攻擊方式是「重構模型後門」,通過在供給端修改檔案,直接操縱修改 ai 模型的神經元,給 ai 模型「植入後門」,保持對正常功能影響較小,但在特定 trigger 觸發下模型會產生定向輸出結果,達到模型後門的效果。
「後門攻擊」是一種新興的針對機器學習模型的攻擊方式,攻擊者會在模型中埋藏後門,使得被感染的模型(infected model)在一般情況下表現正常。但當後門觸發器被啟用時,模型的輸出將變為攻擊者預先設定的惡意目標。由於模型在後門未被觸發之前表現正常,因此這種惡意的攻擊行為很難被發現。
相比投毒,這種攻擊方式更為隱蔽,在攻擊端直接操縱修改 ai 模型的同時,還能將對模型正常功能的影響降至最低,只有在攻擊者設定的某個關鍵點被觸發時,才會扣下攻擊的扳機。
標準的 cifar-10 分類
修改神經元後,0 分類的飛機在觸發器的作用直接錯誤分類到「卡車」
修改神經元後,7 分類的馬在觸發器的作用直接錯誤分類到「卡車」
第三種攻擊手法是通過「資料木馬」在模型中隱藏資訊,最終通過隱藏資訊實現把 ai 模型轉換為可執行惡意**的攻擊載體。
這種攻擊手法是針對人工神經網路的訓練與**都是通過浮點運算(指浮點數參與浮點計算的運算,這種運算通常伴隨著因為無法精確表示而進行的近似或捨入)的特性完成的。測試發現,越是深度的網路,小數點後的精度影響的越小,攻擊者可以把攻擊**編碼到浮點數的後 7、8 的精度當中,就可以將乙個段惡意的 shellcode(用於利用軟體漏洞而執行的**)編碼到模型網路當中,當滿足預先設定的觸發條件後,模型載入**從網路浮點數字中解析出編碼的惡意 shellcode 執行完成攻擊行為。
模型當中每乙個神經元的引數資訊通常是由 4 位元組浮點數字表示,例如 9d 2d 57 3f == 0.84053415 當就模型檔案中的引數資訊替換為 9d 2d 57 00 和 9d 2d 57 ff ,那麼影響的精度就是 0.84053040~0.84054559,顯然可以保持住浮點前 4 位小數保持不變。這樣就可以把乙個段惡意的 shellcode 攻擊**編碼到了模型網路當中。
主流機器學習框架受影響,開發者如何應對?
據介紹,對於這一新型攻擊手段,tensorflow、pytorch 等主流機器學習框架均可能受到影響。這一攻擊方式直接面對的是模型資訊而不限於使用的是哪種模型框架,除了第一種攻擊手法和具體的利用手段有關,後面兩種攻擊思路都會影響到當前流行的機器學習框架。
校對:林亦霖
——end——
神經網路 卷積神經網路
這篇卷積神經網路是前面介紹的多層神經網路的進一步深入,它將深度學習的思想引入到了神經網路當中,通過卷積運算來由淺入深的提取影象的不同層次的特徵,而利用神經網路的訓練過程讓整個網路自動調節卷積核的引數,從而無監督的產生了最適合的分類特徵。這個概括可能有點抽象,我盡量在下面描述細緻一些,但如果要更深入了...
神經網路 卷積神經網路
1.卷積神經網路概覽 來自吳恩達課上一張,通過對應位置相乘求和,我們從左邊矩陣得到了右邊矩陣,邊緣是白色寬條,當畫素大一些時候,邊緣就會變細。觀察卷積核,左邊一列權重高,右邊一列權重低。輸入,左邊的部分明亮,右邊的部分灰暗。這個學到的邊緣是權重大的寬條 都是30 表示是由亮向暗過渡,下面這個圖左邊暗...
神經網路簡介 多層神經網路
如上圖所示,該神經網路有三層。我們標記第一層 也就是輸入層 為a 1 第一層與第二層連線權重為w 1 然後第一層輸入與第一層權重的線性和為z 1 第一層神經元個數為n 1 並依次標記剩餘網路層。可以看出,存在 z l j i 1 n l a l i w l i,j a l w l j a l 1 f...