0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AI模型利用神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)“藏毒”?

lhl545545 ? 來源:量子位 ? 作者:量子位 ? 2020-08-23 09:47 ? 次閱讀

模型看起來運(yùn)行效果不錯,但潛藏危機(jī)。

一旦攻擊者扣動“扳機(jī)”,或是你踩到了模型里埋下的“地雷”,整個AI模型就崩潰了。

想象一下,AI監(jiān)控被干擾,盜賊可以登堂入室;通過幾句噪音,家用AI音箱就能被外人操控……

最近,這種針對AI模型的新型“木馬”攻擊,已經(jīng)被騰訊實(shí)現(xiàn)了。

騰訊的朱雀實(shí)驗(yàn)室成功模擬了3種攻擊AI的新方法,從模型本身下手,在非常隱蔽的情況下將AI模型一一攻破。

無論是Tensorflow、Caffe還是Pytorch框架,目前最主流的AI模型無一幸免。

來看看它實(shí)現(xiàn)的原理。

將“木馬”植入AI模型

傳統(tǒng)的AI攻防技術(shù),通常針對數(shù)據(jù)樣本進(jìn)行破壞。

例如,在圖片樣本中改造幾個小元素,生成對抗樣本,圖中的熊貓就被識別成了長臂猿。

目前這樣的“樣本投毒”方式,已經(jīng)有了相應(yīng)的研究,例如創(chuàng)新工場入選NIPS 2019的“AI蒙汗藥”論文,就是通過微弱擾動數(shù)據(jù)庫的方式,徹底破壞對應(yīng)的學(xué)習(xí)系統(tǒng)的性能,達(dá)到“數(shù)據(jù)下毒”的目的。

△ 周志華教授也在作者列

然而,如果攻擊者直接控制AI模型的神經(jīng)元,給AI植入木馬,那么這樣的攻擊將會更加難防。

聽起來像是天方夜譚——因?yàn)樯疃?a href="http://www.ttokpm.com/tags/神經(jīng)網(wǎng)絡(luò)/" target="_blank">神經(jīng)網(wǎng)絡(luò)就像個黑洞一樣,無法被解釋,如果從模型數(shù)據(jù)本身入手,根本無法獲得其準(zhǔn)確含義,更別提“隱蔽”了。

就這,還想給AI模型植入“木馬”?

但事實(shí)上,AI模型比想象中要“脆弱”。

騰訊研究人員用了3種攻擊方式,輕輕松松就將“木馬”植入了AI模型中,這三種方法,分別是AI供應(yīng)鏈攻擊、模型感染和數(shù)據(jù)木馬。

利用AI框架「投毒」

AI供應(yīng)鏈攻擊,目的在于給部分AI模型植入惡意執(zhí)行代碼,讓它變成大型“木馬”。

然后,將這種木馬投放到開源社區(qū),就能讓木馬廣泛地傳播開來,造成大范圍的AI供應(yīng)鏈被污染。

這個攻擊,靠的是各類軟件相互的依賴性。

例如,Numpy作為Python最流行的庫,同時也會是一個很好的傳播手段,利用Numpy的漏洞,可以執(zhí)行任意代碼的攻擊方式。

如果利用這個漏洞,將訓(xùn)練好的模型和惡意代碼一同捆綁到Pytorch的模型文件中,就像是投下了一包“毒藥”,這一過程利用的是AI框架的模型文件。

如下圖所示,上下兩張圖分別是神經(jīng)網(wǎng)絡(luò)原始的部分模型、和被植入惡意代碼的部分模型。

AI供應(yīng)鏈攻擊的方式,可以保持原有模型不受任何功能上的影響,但在模型文件被加載的瞬間卻能夠執(zhí)行惡意代碼邏輯,造成的后果是很嚴(yán)重的。

給“木馬”開后門

在計算機(jī)程序中,“后門程序”通常是開發(fā)者為了修改方便,給程序里裝的一個能逃過所有“安全檢查”的程序,有點(diǎn)像“以管理員身份運(yùn)行”。

然而,如果攻擊者在使用AI模型時也“以管理員身份運(yùn)行”,給AI模型埋藏一個“后門”,平時程序運(yùn)行正常,然而一旦被激活,模型輸出就會變成攻擊者預(yù)先設(shè)置的目標(biāo)。

這種攻擊的危險之處在于,后門被觸發(fā)前,模型的表現(xiàn)非常正常,所以平時可能無法發(fā)現(xiàn)這個病毒的存在。

此前,實(shí)現(xiàn)“后門攻擊”的方式,是通過訓(xùn)練,影響模型的所有神經(jīng)元信息達(dá)到的,但攻擊鏈條太長。

騰訊的研究人員,通過直接控制神經(jīng)元信息,改造出了一個后門模型。

模型上,他們嘗試從簡單地線性回歸模型和MNIST入手;結(jié)構(gòu)上,從網(wǎng)絡(luò)的不同層入手,利用啟發(fā)算法分析哪些層的神經(jīng)元相對后門特性更加敏感。

在CIFAR-10上的實(shí)驗(yàn)證明,這樣的做法的確可行,在保持模型功能的準(zhǔn)確性下降很小的幅度以內(nèi)(小于2%),可以通過控制若干神經(jīng)元信息,產(chǎn)生后門的效果。

如下圖,飛機(jī)被識別成了卡車;

甚至,連有著7種類型的馬也被識別成了卡車……

在輸出結(jié)果差異巨大的情況下,控制神經(jīng)元相比于整個AI模型的功能來說,影響很小。

利用神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)“藏毒”

此外,在大規(guī)模神經(jīng)網(wǎng)絡(luò)中,還有一種“木馬”病毒的制造方式,那就是通過更改神經(jīng)元的參數(shù)信息。

如何更改參數(shù)信息,但又不影響神經(jīng)網(wǎng)絡(luò)的功能實(shí)現(xiàn)?

研究發(fā)現(xiàn),神經(jīng)網(wǎng)絡(luò)的參數(shù)信息,在小數(shù)點(diǎn)后3位之后,對檢測準(zhǔn)確性的影響微乎其微。

也就是說,如果攻擊者將攻擊代碼編碼到浮點(diǎn)數(shù)的后7、8位精度,那么就可以在小數(shù)點(diǎn)三位以后隱藏惡意信息。

如下圖,9d 2d 57 3f == 0.84053415,替換成9d 2d 57 ff后,影響的精度就是 0.84053040~0.84054559,前四位都可以保持不變。

AI模型利用神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)“藏毒”?

這樣,就把一段惡意的代碼“隱藏”到了大型神經(jīng)網(wǎng)絡(luò)中。

如果觸發(fā)了設(shè)定的條件,惡意代碼就會加載出攻擊的效果。

研究人員測試了一個40MB左右的網(wǎng)絡(luò),僅靠網(wǎng)絡(luò)自身的參數(shù)信息就可以編解碼出惡意代碼,甚至隱藏了一個完整的木馬程序。

相對于如此多種攻擊AI模型的“大招”,目前業(yè)內(nèi)卻還沒有可用的“殺毒軟件”,用于檢測這種被攻擊的情況。

AI“殺毒軟件”亟待研發(fā)

騰訊的研究人員稱,目前通過修改神經(jīng)元的方式,達(dá)到近似模型后門的效果,屬于國內(nèi)首次實(shí)現(xiàn)。

這種攻擊類型,如果配合傳統(tǒng)的漏洞利用技術(shù),那么只需要控制神經(jīng)元就能讓AI模型“中毒”。

相較于數(shù)據(jù)投毒的方式,將“木馬”植入AI模型的可操作性更高,更不容易被發(fā)現(xiàn),而前者由于更依賴?yán)硐氲膶?shí)驗(yàn)環(huán)境,對模型本身、數(shù)據(jù)源頭都需要較強(qiáng)把控。

事實(shí)上,神經(jīng)網(wǎng)絡(luò)“木馬”在硬件方向上已有相關(guān)技術(shù)研究,但如果硬件木馬改成動態(tài)設(shè)計,將可能產(chǎn)生非常大的危害。

目前,領(lǐng)域內(nèi)正在研究這方面的安全防御建設(shè),力求在多方計算、共享模型的場景下,在研發(fā)階段就提前考慮對模型文件的保護(hù)。

不必過于擔(dān)憂

當(dāng)然,研究人員也表示,這種“木馬”植入,可以通過“模型可信加載”進(jìn)行規(guī)避。

也就是說,在每次加載模型前,通過交叉對比、數(shù)據(jù)校驗(yàn)來規(guī)避木馬,有助于將安全理念貫穿整個流程,也能推動AI行業(yè)的安全水平提升。

不過,這些安全理念,開發(fā)者自己也要了然于心,最起碼,可以通過兩個方向來進(jìn)行預(yù)防。

首先,從第三方渠道下載的模型,即便沒有算力資源進(jìn)行重新訓(xùn)練,也要保證渠道的安全性,這樣,才能避免直接加載不確定來源的模型文件。

其次,對模型文件加載使用也要做到心中有數(shù)。如果攻擊者需要一部分代碼的配合才能完成攻擊,那么開發(fā)者是可以從代碼檢測中發(fā)現(xiàn)漏洞的。
責(zé)任編輯:pj

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    神經(jīng)網(wǎng)絡(luò)辨識模型具有什么特點(diǎn)

    神經(jīng)網(wǎng)絡(luò)辨識模型是一種基于人工神經(jīng)網(wǎng)絡(luò)的系統(tǒng)辨識方法,它具有以下特點(diǎn): 非線性映射能力 :神經(jīng)網(wǎng)絡(luò)能夠處理非線性問題,可以很好地擬合復(fù)雜的非線性系統(tǒng)。 泛化能力 :
    的頭像 發(fā)表于 07-11 11:12 ?233次閱讀

    pytorch中有神經(jīng)網(wǎng)絡(luò)模型

    處理、語音識別等領(lǐng)域取得了顯著的成果。PyTorch是一個開源的深度學(xué)習(xí)框架,由Facebook的AI研究團(tuán)隊(duì)開發(fā)。它以其易用性、靈活性和高效性而受到廣泛歡迎。在PyTorch中,有許多預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型可供選擇,這些
    的頭像 發(fā)表于 07-11 09:59 ?527次閱讀

    PyTorch神經(jīng)網(wǎng)絡(luò)模型構(gòu)建過程

    PyTorch,作為一個廣泛使用的開源深度學(xué)習(xí)庫,提供了豐富的工具和模塊,幫助開發(fā)者構(gòu)建、訓(xùn)練和部署神經(jīng)網(wǎng)絡(luò)模型。在神經(jīng)網(wǎng)絡(luò)模型中,輸出層是尤為關(guān)鍵的部分,它負(fù)責(zé)將
    的頭像 發(fā)表于 07-10 14:57 ?300次閱讀

    rnn是什么神經(jīng)網(wǎng)絡(luò)模型

    RNN(Recurrent Neural Network,循環(huán)神經(jīng)網(wǎng)絡(luò))是一種具有循環(huán)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型,它能夠處理序列數(shù)據(jù),并對序列中的元素進(jìn)行建模。RNN在自然語言處理、語音識別、
    的頭像 發(fā)表于 07-05 09:50 ?387次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型包含哪些層次

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network,ANN)是一種模擬人腦神經(jīng)網(wǎng)絡(luò)的計算模型,具有自適應(yīng)、自學(xué)習(xí)、泛化能力強(qiáng)等特點(diǎn)。本文將詳細(xì)介紹人工神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-05 09:17 ?297次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型的分類有哪些

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks, ANNs)是一種模擬人腦神經(jīng)元網(wǎng)絡(luò)的計算模型,它在許多領(lǐng)域,如圖像識別、語音識別、自然語言處理、預(yù)測分析等有著廣泛的應(yīng)用。本文將
    的頭像 發(fā)表于 07-05 09:13 ?442次閱讀

    循環(huán)神經(jīng)網(wǎng)絡(luò)有哪些基本模型

    循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Networks,簡稱RNN)是一種具有循環(huán)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò),它能夠處理序列數(shù)據(jù),并且能夠捕捉序列數(shù)據(jù)中的時序信息。RNN的基本
    的頭像 發(fā)表于 07-04 14:43 ?291次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的是什么

    、訓(xùn)練過程以及應(yīng)用場景。 1. 卷積神經(jīng)網(wǎng)絡(luò)的基本概念 1.1 卷積神經(jīng)網(wǎng)絡(luò)的定義 卷積神經(jīng)網(wǎng)絡(luò)是一種前饋深度學(xué)習(xí)模型,其核心思想是利用卷積
    的頭像 發(fā)表于 07-03 09:15 ?219次閱讀

    生成式AI神經(jīng)網(wǎng)絡(luò)模型的區(qū)別和聯(lián)系

    生成式AI神經(jīng)網(wǎng)絡(luò)模型是現(xiàn)代人工智能領(lǐng)域的兩個核心概念,它們在推動技術(shù)進(jìn)步和應(yīng)用拓展方面發(fā)揮著至關(guān)重要的作用。本文將詳細(xì)探討生成式AI神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-02 15:03 ?339次閱讀

    神經(jīng)網(wǎng)絡(luò)模型的原理、類型及應(yīng)用領(lǐng)域

    數(shù)學(xué)建模神經(jīng)網(wǎng)絡(luò)模型是一種基于人工神經(jīng)網(wǎng)絡(luò)的數(shù)學(xué)建模方法,它通過模擬人腦神經(jīng)元的工作機(jī)制,實(shí)現(xiàn)對復(fù)雜問題的建模和求解。神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 07-02 11:31 ?647次閱讀

    基于神經(jīng)網(wǎng)絡(luò)算法的模型構(gòu)建方法

    神經(jīng)網(wǎng)絡(luò)是一種強(qiáng)大的機(jī)器學(xué)習(xí)算法,廣泛應(yīng)用于各種領(lǐng)域,如圖像識別、自然語言處理、語音識別等。本文詳細(xì)介紹了基于神經(jīng)網(wǎng)絡(luò)算法的模型構(gòu)建方法,包括數(shù)據(jù)預(yù)處理、
    的頭像 發(fā)表于 07-02 11:21 ?299次閱讀

    人工神經(jīng)網(wǎng)絡(luò)模型及其應(yīng)用有哪些

    人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Networks,ANNs)是一種受生物神經(jīng)網(wǎng)絡(luò)啟發(fā)的計算模型,它通過模擬人腦神經(jīng)元的連接和交互來實(shí)現(xiàn)對
    的頭像 發(fā)表于 07-02 10:04 ?382次閱讀

    深度神經(jīng)網(wǎng)絡(luò)模型有哪些

    模型: 多層感知器(Multilayer Perceptron,MLP): 多層感知器是最基本的深度神經(jīng)網(wǎng)絡(luò)模型,由多個全連接層組成。每個隱藏層的神經(jīng)元數(shù)量可以不同,通常使用激活函數(shù)如
    的頭像 發(fā)表于 07-02 10:00 ?534次閱讀

    利用深度循環(huán)神經(jīng)網(wǎng)絡(luò)對心電圖降噪

    具體的軟硬件實(shí)現(xiàn)點(diǎn)擊 http://mcu-ai.com/ MCU-AI技術(shù)網(wǎng)頁_MCU-AI 我們提出了一種利用由長短期記憶 (LSTM) 單元構(gòu)建的深度循環(huán)
    發(fā)表于 05-15 14:42

    利用神經(jīng)網(wǎng)絡(luò)對腦電圖(EEG)降噪

    數(shù)據(jù)與干凈的EEG數(shù)據(jù)構(gòu)成訓(xùn)練數(shù)據(jù),并且分成訓(xùn)練、驗(yàn)證和測試數(shù)據(jù)集。 繪制有噪聲EEG數(shù)據(jù)與干凈的EEG
    發(fā)表于 04-30 20:40