何英哲 胡興波 何錦雯 孟國(guó)柱 陳 愷
(信息安全國(guó)家重點(diǎn)實(shí)驗(yàn)室(中國(guó)科學(xué)院信息工程研究所) 北京 100195) (中國(guó)科學(xué)院信息工程研究所 北京 100195) (中國(guó)科學(xué)院大學(xué)網(wǎng)絡(luò)空間安全學(xué)院 北京 101408)
深度學(xué)習(xí)的廣泛應(yīng)用所帶來(lái)的成功并不能保證其安全性,新的威脅和攻擊每天都在出現(xiàn),它們危及深度學(xué)習(xí)模型,進(jìn)而危及人們的隱私、金融資產(chǎn)和安全.作為一種新興的技術(shù),深度學(xué)習(xí)的安全問(wèn)題往往被忽視.因此,系統(tǒng)地研究深度學(xué)習(xí)的安全問(wèn)題并進(jìn)一步提出有效的措施,是迫切而關(guān)鍵的.
深度學(xué)習(xí)已廣泛應(yīng)用于圖像分類、語(yǔ)音識(shí)別、自然語(yǔ)言處理、惡意軟件檢測(cè)等多個(gè)領(lǐng)域.由于計(jì)算能力的巨大進(jìn)步和數(shù)據(jù)量的急劇增加,深度學(xué)習(xí)在這些場(chǎng)景中顯示出了優(yōu)越的潛力.深度學(xué)習(xí)尤其擅長(zhǎng)無(wú)監(jiān)督特征學(xué)習(xí),加深對(duì)一個(gè)對(duì)象的理解,具有強(qiáng)大的預(yù)測(cè)能力.然而,深度學(xué)習(xí)正遭受精心策劃的攻擊所帶來(lái)的一系列威脅.例如深度學(xué)習(xí)系統(tǒng)很容易被對(duì)抗樣本所欺騙,從而導(dǎo)致錯(cuò)誤的分類.另一方面,使用在線深度學(xué)習(xí)系統(tǒng)進(jìn)行分類的用戶不得不向服務(wù)器公開(kāi)他們的數(shù)據(jù),這會(huì)導(dǎo)致隱私泄露.更糟糕的是,深度學(xué)習(xí)的廣泛使用加劇了這些安全風(fēng)險(xiǎn).
研究人員正在探索和研究針對(duì)深度學(xué)習(xí)系統(tǒng)的潛在攻擊以及相應(yīng)的防御技術(shù).文獻(xiàn)[1]是探索神經(jīng)網(wǎng)絡(luò)安全性的先驅(qū),Szegedy等人用難以察覺(jué)的擾動(dòng)(對(duì)抗樣本)揭示了神經(jīng)網(wǎng)絡(luò)的脆弱特性.自此以后,對(duì)抗攻擊迅速成為人工智能和安全領(lǐng)域的熱門(mén)術(shù)語(yǔ).許多工作都致力于披露不同深度學(xué)習(xí)模型(例如深度神經(jīng)網(wǎng)絡(luò)(DNN)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN))中的漏洞和提高對(duì)抗樣本的健壯性[2].另一方面,深度學(xué)習(xí)系統(tǒng)的大量商業(yè)部署提出了對(duì)專有資產(chǎn)(如訓(xùn)練數(shù)據(jù)[3-6]、模型參數(shù)[7-10])保護(hù)的要求,它引發(fā)了一場(chǎng)“軍備競(jìng)賽”,在這場(chǎng)競(jìng)爭(zhēng)中,攻擊者從競(jìng)爭(zhēng)對(duì)手那里偷取隱私信息,而相應(yīng)的防御者則采取廣泛的措施來(lái)抵御攻擊.
為了全面了解深度學(xué)習(xí)中的隱私和安全問(wèn)題,我們對(duì)相關(guān)文獻(xiàn)和系統(tǒng)進(jìn)行了調(diào)查,研究了150篇左右的相關(guān)研究,跨越了圖像分類、語(yǔ)音識(shí)別、自然語(yǔ)言處理和惡意軟件檢測(cè)4個(gè)領(lǐng)域.由于很難完成包羅萬(wàn)象的調(diào)查,所以我們選擇了更具代表性的研究:例如那些在著名會(huì)議和期刊上獲得發(fā)表的研究;雖然只發(fā)表在研討會(huì)或?qū)n}討論會(huì)上,但被引用次數(shù)高(超過(guò)50次)的研究;在公共平臺(tái)上(如arXiv)最近發(fā)表的熱點(diǎn)方向論文.基于調(diào)研工作,我們將這些攻擊歸納為4類:模型提取攻擊(model extrac-tion attack)、模型逆向攻擊(model inversion attack)、投毒攻擊(poisoning attack)和對(duì)抗攻擊(adversarial attack).其中,模型提取和逆向攻擊針對(duì)的是隱私,前者主要竊取模型的信息,后者主要獲得訓(xùn)練數(shù)據(jù)集的信息;投毒攻擊和對(duì)抗攻擊針對(duì)的是安全,前者主要在訓(xùn)練階段投放惡意數(shù)據(jù)從而降低模型的分類準(zhǔn)確率,后者主要在預(yù)測(cè)階段制造對(duì)抗樣本來(lái)欺騙模型.
Fig. 1 The number of publications in recent years圖1 近年來(lái)相關(guān)研究數(shù)量
圖1展示了過(guò)去5年與機(jī)器學(xué)習(xí)系統(tǒng)安全有關(guān)的研究數(shù)據(jù),包括對(duì)模型的各種攻擊以及隱私保護(hù)、安全防御等研究.在過(guò)去的5年里,相關(guān)研究的數(shù)量急劇增長(zhǎng),2017年增長(zhǎng)100%,2018年增長(zhǎng)61.5%,近2年的文章數(shù)量占了接近70%,這也說(shuō)明了深度學(xué)習(xí)、機(jī)器學(xué)習(xí)乃至人工智能領(lǐng)域的安全問(wèn)題越來(lái)越引起人們的重視.
圖2顯示了我們所研究的4類攻擊的相關(guān)研究數(shù)量.其中對(duì)抗攻擊是最引人注目的,對(duì)模型實(shí)施對(duì)抗攻擊的研究占據(jù)了50%,它可以直接使模型判斷錯(cuò)誤,因此威脅范圍很廣.模型提取攻擊作為近年來(lái)新興的攻擊類型,由于其奠基性(模型提取攻擊獲得的模型可以為其他攻擊提供白盒基礎(chǔ)),難度較大,故相關(guān)的研究數(shù)量最少,未來(lái)還有很大的研究空間.我們調(diào)研的文章主要來(lái)自人工智能社區(qū)和安全社區(qū),其中大部分來(lái)自人工智能社區(qū).根據(jù)發(fā)表地點(diǎn)來(lái)對(duì)二者區(qū)分,具體來(lái)說(shuō),ICML,CVPR,AAAI,IJCAI,TPAMI等屬于人工智能社區(qū),IEEE S&P,CCS,USENIX Security,NDSS,AISec等屬于安全社區(qū).
Fig. 2 Numbers of related researches on different attack types圖2 不同攻擊類型的相關(guān)研究數(shù)量
本文主要研究機(jī)器學(xué)習(xí)安全的范圍、整個(gè)學(xué)習(xí)系統(tǒng)基本的組成部分、攻擊方法、防御措施、實(shí)用性評(píng)價(jià)以及有價(jià)值的現(xiàn)象與結(jié)論,主要包含4方面貢獻(xiàn):
1) 攻擊和防御技術(shù)的系統(tǒng)分析.總結(jié)了4種攻擊類型和3種防御類型,全面地對(duì)機(jī)器學(xué)習(xí)系統(tǒng)的隱私和安全問(wèn)題進(jìn)行了調(diào)研和總結(jié).
2) 機(jī)器學(xué)習(xí)系統(tǒng)的模塊化.對(duì)機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行剖析,按準(zhǔn)備過(guò)程、訓(xùn)練過(guò)程、預(yù)測(cè)過(guò)程的時(shí)間線,按訓(xùn)練數(shù)據(jù)集、訓(xùn)練算法、模型結(jié)構(gòu)、模型參數(shù)、預(yù)測(cè)數(shù)據(jù)及結(jié)果的空間線,系統(tǒng)地總結(jié)了機(jī)器學(xué)習(xí)的安全知識(shí).
3) 各個(gè)攻擊和防御類型內(nèi)部具體技術(shù)的劃分.對(duì)每種攻擊防御類型內(nèi)的攻防技術(shù)進(jìn)行了剖析,將龐雜的技術(shù)文章進(jìn)行分類,并分析了不同技術(shù)之間的差異和優(yōu)劣.
4) 通過(guò)對(duì)機(jī)器學(xué)習(xí)系統(tǒng)的安全問(wèn)題的觀察和總結(jié),以及對(duì)這些攻擊和防御技術(shù)的分析和研究,提出了構(gòu)建安全健壯的機(jī)器學(xué)習(xí)系統(tǒng)和保護(hù)機(jī)器學(xué)習(xí)所有參與者隱私安全的經(jīng)驗(yàn)和建議.
目前已有部分文獻(xiàn)對(duì)機(jī)器學(xué)習(xí)的攻擊和防御進(jìn)行了調(diào)研和評(píng)估.在早期的工作中,Barreno等人[11]對(duì)機(jī)器學(xué)習(xí)安全性進(jìn)行了調(diào)研,并對(duì)針對(duì)機(jī)器學(xué)習(xí)系統(tǒng)的攻擊進(jìn)行了分類.他們?cè)谝粋€(gè)統(tǒng)計(jì)垃圾郵件的過(guò)濾器上進(jìn)行了實(shí)驗(yàn),從攻擊的操作方式、對(duì)輸入的影響和普遍性3個(gè)維度對(duì)攻擊進(jìn)行了剖析.Amodei等人[12]介紹了機(jī)器學(xué)習(xí)中與事故風(fēng)險(xiǎn)相關(guān)的5個(gè)可能的研究問(wèn)題,并根據(jù)其工作原理,以清潔機(jī)器人為例,討論了可能的解決方法.
Papernot等人[13]回顧了之前關(guān)于機(jī)器學(xué)習(xí)系統(tǒng)攻擊和相應(yīng)防御的工作.與以往的調(diào)研和綜述不同,他們針對(duì)的是關(guān)于安全威脅的全面文獻(xiàn)綜述.Bae等人[14]總結(jié)了安全與隱私概念下關(guān)于AI的攻擊與防御方法.他們?cè)诤诤凶雍桶缀凶永餀z查對(duì)抗和投毒攻擊.隨后,Papernot等人[15]系統(tǒng)地研究了機(jī)器學(xué)習(xí)的安全性和隱私性,并提出了一種機(jī)器學(xué)習(xí)的威脅模型.他們按照訓(xùn)練過(guò)程和預(yù)測(cè)過(guò)程、黑盒模型和白盒模型的分類來(lái)介紹攻擊方法.但他們沒(méi)有過(guò)多涉及應(yīng)用廣泛的深度學(xué)習(xí)模型.Liu等人[16]主要關(guān)注機(jī)器學(xué)習(xí)的2個(gè)階段,即訓(xùn)練階段和預(yù)測(cè)階段,并提供了較全面的文獻(xiàn)綜述.他們將相應(yīng)的防御措施分為4類.另外,他們的研究更關(guān)注對(duì)抗樣本導(dǎo)致的數(shù)據(jù)分布漂移和機(jī)器學(xué)習(xí)算法導(dǎo)致的敏感信息泄露等問(wèn)題.
Akhtar等人[17]全面研究了計(jì)算機(jī)視覺(jué)領(lǐng)域中深度學(xué)習(xí)受到的對(duì)抗攻擊,總結(jié)了12種不同類別的攻擊方法.除常用的CNN外,他們還研究了對(duì)其他模型的攻擊(如自動(dòng)編碼器、生成模型、RNN)以及物理世界中的攻擊,此外他們也總結(jié)了多種防御方法.然而,這項(xiàng)工作的研究?jī)?nèi)容只限于計(jì)算機(jī)視覺(jué)領(lǐng)域的對(duì)抗攻擊.Ling等人開(kāi)發(fā)的DeepSec[18]是一個(gè)統(tǒng)一的評(píng)測(cè)平臺(tái).DeepSec集成了對(duì)抗學(xué)習(xí)中16種攻擊方法和13種防御方法,旨在衡量深度學(xué)習(xí)模型的脆弱性,并評(píng)估各種攻擊和防御的有效性.
本文對(duì)機(jī)器學(xué)習(xí)系統(tǒng)特別是深度學(xué)習(xí)中的隱私和安全問(wèn)題進(jìn)行調(diào)研和總結(jié),對(duì)攻擊和防御方法進(jìn)行分類,分析不同類別下的攻防技術(shù),并介紹其在圖像分類、語(yǔ)音識(shí)別、自然語(yǔ)言處理和惡意軟件檢測(cè)等不同領(lǐng)域的應(yīng)用.
有監(jiān)督的機(jī)器學(xué)習(xí)主要分為2個(gè)階段:模型訓(xùn)練階段和模型預(yù)測(cè)(推理)階段.模型訓(xùn)練階段將訓(xùn)練數(shù)據(jù)集作為輸入,最后生成模型;模型預(yù)測(cè)階段接受用戶或攻擊者的輸入并提供預(yù)測(cè)結(jié)果.為了完成這2個(gè)階段,模型設(shè)計(jì)人員必須指定使用的訓(xùn)練數(shù)據(jù)和訓(xùn)練算法.模型訓(xùn)練階段生成經(jīng)過(guò)調(diào)優(yōu)的訓(xùn)練模型以及相關(guān)參數(shù).而在運(yùn)行訓(xùn)練算法之前,傳統(tǒng)機(jī)器學(xué)習(xí)需要人工提取和選擇特征,深度學(xué)習(xí)則委托訓(xùn)練算法自動(dòng)識(shí)別可靠而有效的特征.通常,經(jīng)過(guò)訓(xùn)練的模型可以部署用于商業(yè)用途.在商業(yè)應(yīng)用中,模型根據(jù)接收到的輸入計(jì)算最可能的結(jié)果.以惡意軟件檢測(cè)為例,安全分析人員首先從惡意軟件中收集數(shù)據(jù)(可能是原始數(shù)據(jù)),提取有代表性的特征并構(gòu)建分類模型,以檢測(cè)惡意軟件.
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)這個(gè)廣泛的家族的一部分,深度神經(jīng)網(wǎng)絡(luò)受到生物神經(jīng)系統(tǒng)的啟發(fā),由成千上萬(wàn)個(gè)神經(jīng)元組成,用來(lái)傳遞信息.深度學(xué)習(xí)受益于人工神經(jīng)網(wǎng)絡(luò),通常使用更多的層來(lái)提取和轉(zhuǎn)換特征.
Table 1 Formalization in Machine Learning System
表1 機(jī)器學(xué)習(xí)系統(tǒng)的符號(hào)化
SymbolDefinitionDDatasetx(1),x(2),…,x(n)Input Datay(1),y(2),…,y(n)Output ResultFModelwkijWeights ParametersbkjBias ParametersλHyperparametersxtPrediction InputytPrediction OutputδPerturbation
圖3展示了一個(gè)經(jīng)典的深度學(xué)習(xí)模型在訓(xùn)練階段、預(yù)測(cè)階段的過(guò)程容易受到的威脅.最近的研究表明,機(jī)器學(xué)習(xí)系統(tǒng)是脆弱的,很容易受到特定攻擊的影響.根據(jù)攻擊目標(biāo),這些攻擊可以分為4類:投毒攻擊、模型提取攻擊、模型逆向攻擊和對(duì)抗攻擊.在本節(jié)中,我們將通過(guò)示例及其正式定義來(lái)詳細(xì)說(shuō)明這些攻擊.
1) 投毒攻擊.投毒攻擊主要是指在訓(xùn)練或再訓(xùn)練過(guò)程中,通過(guò)攻擊訓(xùn)練數(shù)據(jù)集或算法來(lái)操縱機(jī)器學(xué)習(xí)模型的預(yù)測(cè).由于在安全機(jī)器學(xué)習(xí)領(lǐng)域中,數(shù)據(jù)通常是非平穩(wěn)的,其分布可能隨時(shí)間而變化,因此一些模型不僅在訓(xùn)練過(guò)程中生成,而且在周期性再訓(xùn)練過(guò)程中隨時(shí)間而變化.攻擊訓(xùn)練數(shù)據(jù)集的方法主要包括污染源數(shù)據(jù)、向訓(xùn)練數(shù)據(jù)集中添加惡意樣本、修改訓(xùn)練數(shù)據(jù)集中的部分標(biāo)簽、刪除訓(xùn)練數(shù)據(jù)集中的一些原有樣本等.攻擊算法利用了不安全的特征選擇方法或訓(xùn)練過(guò)程算法的弱點(diǎn).投毒攻擊會(huì)增加訓(xùn)練合適模型的難度.它還可以在生成的模型中為攻擊者添加一個(gè)后門(mén),攻擊者可以使模型的預(yù)測(cè)偏向他想要的方向[19].
2) 模型提取攻擊.模型提取攻擊發(fā)生在訓(xùn)練好的模型上,主要用于竊取模型參數(shù)及非法獲取模型.它違反了訓(xùn)練模型的保密性.在新的業(yè)務(wù)機(jī)器學(xué)習(xí)即服務(wù)(machine learning as a service, MLaaS)設(shè)置中,模型本身托管在一個(gè)安全的云服務(wù)中,它允許用戶通過(guò)基于云的預(yù)測(cè)API查詢模型.模型所有者通過(guò)讓用戶為預(yù)測(cè)API付費(fèi)來(lái)實(shí)現(xiàn)模型的業(yè)務(wù)價(jià)值,所以機(jī)器學(xué)習(xí)模型屬于商業(yè)秘密.此外,一個(gè)模型的訓(xùn)練過(guò)程需要收集大量的數(shù)據(jù)集,也需要大量的時(shí)間和巨大的計(jì)算能力,所以一旦提取出模型并對(duì)其濫用,就會(huì)給模型擁有者帶來(lái)巨大的經(jīng)濟(jì)損失.
3) 模型逆向攻擊.在早期的認(rèn)識(shí)中,訓(xùn)練數(shù)據(jù)集和訓(xùn)練模型之間只有一個(gè)信息流,即從數(shù)據(jù)集到模型.事實(shí)上,許多研究表明還存在一個(gè)逆向信息流,即從模型信息中恢復(fù)數(shù)據(jù)集信息,這稱為模型逆向攻擊.模型逆向攻擊是指將訓(xùn)練數(shù)據(jù)集信息從模型中逆向提取出來(lái).它主要包括成員推理攻擊(membership inference attack, MIA)和屬性推理攻擊(property inference attack, PIA).MIA主要對(duì)數(shù)據(jù)集中是否出現(xiàn)特定記錄進(jìn)行推斷,即判斷隸屬度,這是目前研究的熱點(diǎn).PIA則主要獲取數(shù)據(jù)集的如性別分布、年齡分布、收入分布、患病率等屬性信息.模型逆向攻擊竊取了訓(xùn)練數(shù)據(jù)集中成員的私有信息,也損害了數(shù)據(jù)集所有者的商業(yè)價(jià)值.發(fā)生這種情況有2個(gè)原因:①不充分的隱私保護(hù),如信息泄露[20];②不安全的算法[21].為了加強(qiáng)對(duì)個(gè)人隱私的保護(hù),歐盟于2018年頒布GDPR,它明確界定了個(gè)人資料的隱私,并對(duì)其進(jìn)行嚴(yán)格保護(hù)[22].
4) 對(duì)抗攻擊.對(duì)抗攻擊是指將對(duì)抗樣例提交到訓(xùn)練好的模型中,從而使模型預(yù)測(cè)錯(cuò)誤,它也被稱為逃避攻擊(evasion attack).對(duì)抗樣本是從原來(lái)正常的樣本上添加了輕微的擾動(dòng),可以導(dǎo)致分類模型分類錯(cuò)誤的樣本.對(duì)抗樣本另外一個(gè)特點(diǎn)是僅造成模型分類錯(cuò)誤,人還是可以將它正確分類.同樣,在語(yǔ)音和文本識(shí)別領(lǐng)域,對(duì)抗樣本也未對(duì)原文進(jìn)行令人察覺(jué)的修改.在惡意軟件檢測(cè)領(lǐng)域,惡意軟件作者在其軟件上添加一些特殊的語(yǔ)句可以逃避反病毒軟件的檢測(cè).
隱私是信息安全領(lǐng)域一個(gè)普遍存在但又難以解決的問(wèn)題.廣義上說(shuō),隱私包括有價(jià)值的資產(chǎn)和數(shù)據(jù)不受竊取、推斷和干預(yù)的權(quán)利.由于深度學(xué)習(xí)是建立在海量數(shù)據(jù)之上的,經(jīng)過(guò)訓(xùn)練的模型實(shí)際上是一個(gè)數(shù)據(jù)模型,而經(jīng)過(guò)訓(xùn)練的模型需要與來(lái)自個(gè)人的測(cè)試數(shù)據(jù)進(jìn)行大量交互,因此隱私顯得更加重要,也需要更強(qiáng)的保護(hù).在本節(jié)中,我們將介紹深度學(xué)習(xí)系統(tǒng)中存在的隱私問(wèn)題,并從攻擊和防御2個(gè)方面介紹當(dāng)前的研究現(xiàn)狀.
從本質(zhì)上講,深度學(xué)習(xí)將大量的數(shù)據(jù)轉(zhuǎn)換為一個(gè)數(shù)據(jù)模型,該數(shù)據(jù)模型可以進(jìn)一步地根據(jù)輸入數(shù)據(jù)預(yù)測(cè)結(jié)果,凡是涉及到數(shù)據(jù)的部分都需要關(guān)注其隱私問(wèn)題.基于整個(gè)深度學(xué)習(xí)過(guò)程,我們將隱私保護(hù)的對(duì)象分類為:1)訓(xùn)練數(shù)據(jù)集;2)模型結(jié)構(gòu)、算法和模型參數(shù);3)預(yù)測(cè)數(shù)據(jù)與結(jié)果.
高質(zhì)量的訓(xùn)練數(shù)據(jù)對(duì)深度學(xué)習(xí)的表現(xiàn)至關(guān)重要.一般來(lái)說(shuō),訓(xùn)練數(shù)據(jù)的收集是一個(gè)耗時(shí)耗錢(qián)的過(guò)程:來(lái)自互聯(lián)網(wǎng)的免費(fèi)數(shù)據(jù)集通常不符合要求;從專業(yè)公司購(gòu)買數(shù)據(jù)需要花費(fèi)大量金錢(qián);手工標(biāo)記數(shù)據(jù)需要花費(fèi)很多時(shí)間.此外,訓(xùn)練數(shù)據(jù)在最終傳遞到深度學(xué)習(xí)系統(tǒng)之前,還需要經(jīng)過(guò)清洗、去噪和過(guò)濾等過(guò)程.因此,訓(xùn)練數(shù)據(jù)對(duì)于一個(gè)公司來(lái)說(shuō)是至關(guān)重要的,也是非常有價(jià)值的,它的泄露意味著公司資產(chǎn)的損失.
深度學(xué)習(xí)中的訓(xùn)練模型是一種數(shù)據(jù)模型,是訓(xùn)練數(shù)據(jù)的抽象表示.在現(xiàn)代深度學(xué)習(xí)系統(tǒng)中,訓(xùn)練階段需要處理大量的數(shù)據(jù)和多層訓(xùn)練,對(duì)高性能計(jì)算和海量存儲(chǔ)有著嚴(yán)格的要求.也就是說(shuō),經(jīng)過(guò)訓(xùn)練的模型被認(rèn)為是深度學(xué)習(xí)系統(tǒng)的核心競(jìng)爭(zhēng)力.通常,訓(xùn)練模型包含3種類型的數(shù)據(jù)資產(chǎn):1)模型,例如傳統(tǒng)的機(jī)器學(xué)習(xí)和深度神經(jīng)網(wǎng)絡(luò);2)超參數(shù),設(shè)計(jì)了訓(xùn)練算法的結(jié)構(gòu)如網(wǎng)絡(luò)層數(shù)和神經(jīng)元個(gè)數(shù);3)參數(shù),為多層神經(jīng)網(wǎng)絡(luò)中一層到另一層的計(jì)算系數(shù).
在這種情況下,經(jīng)過(guò)訓(xùn)練的模型具有極其重要的商業(yè)和創(chuàng)新價(jià)值.一旦模型被復(fù)制、泄露或提取,模型所有者的利益將受到嚴(yán)重?fù)p害.在預(yù)測(cè)輸入和預(yù)測(cè)結(jié)果方面,隱私來(lái)自于深度學(xué)習(xí)系統(tǒng)的使用者和提供者.惡意的服務(wù)提供者可能會(huì)保留用戶的預(yù)測(cè)數(shù)據(jù)和結(jié)果,以便從中提取敏感信息,或者用于其他目的.另一方面,預(yù)測(cè)輸入和結(jié)果可能會(huì)受到不法分子的攻擊,他們可以利用這些數(shù)據(jù)來(lái)為自己創(chuàng)造利潤(rùn).
為了對(duì)隱私問(wèn)題提供一個(gè)全面的概述,我們調(diào)查了48篇相關(guān)的文章,21篇與破壞隱私相關(guān)的文章和27篇與保護(hù)隱私相關(guān)的文章.
目前主流的隱私破壞方法主要有模型提取攻擊(model extraction attack)和模型逆向攻擊(model inversion attack).二者的主要區(qū)別是,前者關(guān)注模型的隱私信息,后者關(guān)注數(shù)據(jù)集的隱私信息.在模型提取攻擊中,攻擊者通過(guò)深度學(xué)習(xí)系統(tǒng)提供的API向模型發(fā)送大量的預(yù)測(cè)數(shù)據(jù),然后接收模型返回的類標(biāo)簽和置信度系數(shù),計(jì)算出模型的參數(shù),最后還原原始模型.這種攻擊可以破壞模型本身的隱私,損害模型所有者的利益,為攻擊者創(chuàng)造商業(yè)價(jià)值,還可以幫助實(shí)現(xiàn)模型逆向攻擊和對(duì)抗攻擊.
在模型逆向攻擊中,攻擊者通過(guò)向模型提供預(yù)測(cè)數(shù)據(jù)得到模型的置信度系數(shù),破壞用戶或數(shù)據(jù)集的隱私(例如恢復(fù)人臉識(shí)別系統(tǒng)中的人臉信息).如第2節(jié)所述,逆向攻擊包括成員推理攻擊(MIA)和屬性推理攻擊(PIA).在MIA中,攻擊者可以推斷訓(xùn)練數(shù)據(jù)集中是否包含特定的記錄.在PIA中,攻擊者可以推測(cè)訓(xùn)練數(shù)據(jù)集中是否存在一定的統(tǒng)計(jì)特征.最近的研究發(fā)現(xiàn),在人口訓(xùn)練數(shù)據(jù)集中,某些階層的人(如婦女和少數(shù)民族)的樣本代表性不足,會(huì)影響最終模型的表現(xiàn)[23].模型逆向攻擊表明,信息不僅可以從數(shù)據(jù)集流向模型和預(yù)測(cè)結(jié)果,還可以從模型和預(yù)測(cè)結(jié)果反向流向數(shù)據(jù)集.
現(xiàn)實(shí)中存在很多隱私風(fēng)險(xiǎn),因此隱私保護(hù)是深度學(xué)習(xí)的關(guān)鍵.在訓(xùn)練過(guò)程中,用戶不能自動(dòng)刪除公司收集的數(shù)據(jù),不能控制自己如何使用數(shù)據(jù),甚至不知道是否從數(shù)據(jù)中學(xué)習(xí)到了敏感信息.用戶還承擔(dān)著公司存儲(chǔ)的數(shù)據(jù)被其他部門(mén)合法或非法訪問(wèn)的風(fēng)險(xiǎn).在推理過(guò)程中,他們的預(yù)測(cè)數(shù)據(jù)和結(jié)果也會(huì)受到影響.模型提供者需要保護(hù)他們的模型和數(shù)據(jù)集不被公開(kāi).
在實(shí)施方面,隱私保護(hù)可以分為4種技術(shù):1)差分隱私(DP-differential privacy)[6,24];2)同態(tài)加密(HE-homomorphic encryption)[25-26];3)安全多方計(jì)算(SMC-secure multi-party computation)[27-28];4)次優(yōu)選擇(SC-suboptimal choice)[8,29].
差分隱私是密碼學(xué)中的一種手段,旨在最大限度地提高數(shù)據(jù)查詢的準(zhǔn)確性,同時(shí)盡可能減少?gòu)慕y(tǒng)計(jì)數(shù)據(jù)庫(kù)[30]查詢時(shí)識(shí)別其記錄的機(jī)會(huì).它主要通過(guò)刪除個(gè)體特征并保留統(tǒng)計(jì)特征的方式來(lái)保護(hù)用戶隱私.Dwork等人[31]首先提出了嚴(yán)格的數(shù)學(xué)定義,稱為ε-indistinguishability和δ-approximateε-indistinguishability,后來(lái)分別被稱為ε-差分隱私和(ε,δ)-差分隱私.由于差分隱私在數(shù)據(jù)庫(kù)中的應(yīng)用,在深度學(xué)習(xí)中它經(jīng)常被用來(lái)保護(hù)訓(xùn)練數(shù)據(jù)集的隱私.
同態(tài)加密是一種關(guān)注數(shù)據(jù)處理的加密技術(shù),最早由Rivest在20世紀(jì)70年代提出,包括加法同態(tài)加密和乘法同態(tài)加密.Gentry在2009年首次設(shè)計(jì)了一個(gè)真正的全同態(tài)加密方案.同態(tài)加密是這樣一種加密函數(shù):對(duì)明文進(jìn)行環(huán)上的加法和乘法運(yùn)算,然后對(duì)其進(jìn)行加密,和先對(duì)明文進(jìn)行加密,再對(duì)密文進(jìn)行相應(yīng)的運(yùn)算,可以得到等價(jià)的結(jié)果,即En(x)⊕En(y)=En(x+y).在深度學(xué)習(xí)中,同態(tài)加密通常被用來(lái)保護(hù)用戶的預(yù)測(cè)數(shù)據(jù)和結(jié)果.一些工作也保留了訓(xùn)練模型的隱私.用戶加密他們的數(shù)據(jù)并以加密的形式將其發(fā)送到MLaaS中,云服務(wù)將其應(yīng)用于模型進(jìn)行加密預(yù)測(cè),然后以加密的形式返回給用戶.
安全多方計(jì)算主要是為了在沒(méi)有可信第三方的情況下,保證約定函數(shù)的安全計(jì)算,這始于百萬(wàn)富翁的問(wèn)題.它主要采用的技術(shù)包括多方計(jì)算、加密電路和不經(jīng)意傳輸.在深度學(xué)習(xí)過(guò)程中,其應(yīng)用場(chǎng)景是多個(gè)數(shù)據(jù)方希望使用多個(gè)服務(wù)器對(duì)其聯(lián)合數(shù)據(jù)進(jìn)行模型訓(xùn)練.它們要求任何數(shù)據(jù)方或服務(wù)器不能從該過(guò)程中的任何其他數(shù)據(jù)方了解訓(xùn)練數(shù)據(jù).安全多方計(jì)算可以保護(hù)訓(xùn)練數(shù)據(jù)集和訓(xùn)練模型.
與上述3種系統(tǒng)保護(hù)技術(shù)不同,次優(yōu)選擇是一種獨(dú)特的保護(hù)方法.該方法易于實(shí)現(xiàn),且具有較低的時(shí)間成本,但其效果尚未經(jīng)過(guò)大規(guī)模實(shí)踐的檢驗(yàn).例如,為防止盜竊模型參數(shù),一些研究人員可能對(duì)模型參數(shù)進(jìn)行四舍五入處理[29],將噪聲添加到類概率[8],拒絕特征空間里的異常請(qǐng)求[10],返回第2或第3類的最大概率[7]等.所有這些方法都在一定程度上失去了一些準(zhǔn)確性,從而換取隱私保護(hù)的改善.因此,在應(yīng)用這些防御技術(shù)之前,需要仔細(xì)考慮得失之間的平衡.
綜上所述,我們將這些攻擊目標(biāo)與攻擊方法和防御方法相關(guān)聯(lián).模型逆向攻擊通常獲取訓(xùn)練數(shù)據(jù)集的信息.模型提取攻擊針對(duì)訓(xùn)練好的模型.預(yù)測(cè)數(shù)據(jù)和結(jié)果在傳輸過(guò)程中容易受到竊取等傳統(tǒng)攻擊.此外,差分隱私通常保護(hù)訓(xùn)練數(shù)據(jù)集,同態(tài)加密模型和預(yù)測(cè)數(shù)據(jù),安全多方計(jì)算在訓(xùn)練過(guò)程中保護(hù)數(shù)據(jù)集和模型,次優(yōu)選擇主要針對(duì)訓(xùn)練模型.
本節(jié)詳細(xì)介紹3種隱私攻擊的技術(shù)方法.
3.3.1 模型提取攻擊
模型提取攻擊破壞了模型本身的隱私,攻擊者試圖竊取模型的參數(shù)和超參數(shù).目前主流方法通過(guò)構(gòu)建精確模型或相似模型來(lái)實(shí)現(xiàn)模型的提取.精確模型是指攻擊者試圖重建原始模型,或從原始模型計(jì)算參數(shù)或超參數(shù);而相似模型是攻擊者構(gòu)建的一個(gè)在預(yù)測(cè)性能上相近的替代模型.竊取精確模型會(huì)損害模型所有者的核心商業(yè)資產(chǎn),并為攻擊者獲取價(jià)值,而竊取相似模型通常用于生成可遷移的對(duì)抗樣本.眾所周知,對(duì)抗樣本對(duì)深度學(xué)習(xí)是一個(gè)不小的威脅,但如果攻擊者對(duì)模型一無(wú)所知,則很難生成可靠的對(duì)抗樣本.通過(guò)發(fā)動(dòng)模型提取攻擊,攻擊者以某種方式提取到原始模型、參數(shù)或結(jié)構(gòu),便可以利用這些知識(shí)來(lái)確定決策邊界,從而生成相應(yīng)的反例.
模型提取攻擊的研究大多是在黑盒模型下進(jìn)行的,在黑盒模型下只能得到訓(xùn)練模型的算法.攻擊者通常構(gòu)造特殊的輸入,向預(yù)測(cè)API提交查詢,并接收輸出,獲得許多輸入輸出對(duì).由于訓(xùn)練后的機(jī)器學(xué)習(xí)模型本質(zhì)上是一個(gè)函數(shù),因此只要攻擊者獲得足夠的輸入輸出對(duì)并有足夠的時(shí)間,從理論上就可以恢復(fù)模型參數(shù).實(shí)際上,攻擊者需要做的是利用模型特性來(lái)生成包含更多信息的樣本,以減少查詢個(gè)數(shù)的需求和時(shí)間成本,有時(shí)甚至要犧牲一些準(zhǔn)確性.
1) 精確模型.在模型的精確參數(shù)重構(gòu)中,方程求解攻擊方法在機(jī)器學(xué)習(xí)模型中具有良好的效果.Tramèr 等人[32]介紹了一種通過(guò)預(yù)測(cè)API提取模型的方法.他們通過(guò)發(fā)送大量的查詢建立了模型方程,并得到了相應(yīng)的預(yù)測(cè)結(jié)果.但該方法僅適用于決策樹(shù)、邏輯回歸、簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)等特定的機(jī)器學(xué)習(xí)模型,不適用于DNN.Wang等人[29]試圖在已知模型算法和訓(xùn)練數(shù)據(jù)的前提下竊取超參數(shù).超參數(shù)在文中稱為λ,用于平衡目標(biāo)函數(shù)中的損失函數(shù)和正則化項(xiàng).由于訓(xùn)練過(guò)程要求目標(biāo)函數(shù)最小,所以目標(biāo)函數(shù)在模型參數(shù)處的梯度為0.根據(jù)這個(gè)性質(zhì),攻擊者可以通過(guò)對(duì)模型的查詢得到很多線性方程,即超參數(shù)、模型參數(shù)和輸入數(shù)據(jù)之間的關(guān)系.最后,利用線性最小二乘法對(duì)超參數(shù)進(jìn)行估計(jì).Baluja等人[33]訓(xùn)練了一個(gè)名為元模型(meta model)的分類器來(lái)預(yù)測(cè)模型屬性.攻擊者將查詢輸入提交給目標(biāo)模型,并將目標(biāo)模型提供的輸出作為元模型的輸入,然后元模型嘗試輸出目標(biāo)模型的屬性.元模型可以推斷系統(tǒng)架構(gòu)、操作方法、訓(xùn)練數(shù)據(jù)集大小等信息.
2) 相似模型.相似模型只要求在模型的表現(xiàn)上與原模型近似,主要用于生成對(duì)抗樣本等.Papernot等人[34]試圖生成可遷移的、無(wú)目標(biāo)的對(duì)抗樣本.攻擊者利用基于雅可比矩陣的數(shù)據(jù)集增強(qiáng)(Jacobian-based dataset augmentation, JbDA)技術(shù)生成合成樣本來(lái)查詢目標(biāo)模型,并建立了一個(gè)近似于目標(biāo)模型決策邊界的攻擊模型.然后攻擊者利用攻擊模型生成對(duì)抗樣本,由于可移植性,這些樣本會(huì)被目標(biāo)模型誤分類.Juuti等人[7]通過(guò)對(duì)DNN訓(xùn)練的正則化和對(duì)JbDA的一般化,提出了一種新的合成數(shù)據(jù)生成方法,生成了對(duì)抗樣本.經(jīng)過(guò)擴(kuò)展后的JbDA技術(shù)在生成可遷移的有針對(duì)性的對(duì)抗樣本和復(fù)制預(yù)測(cè)行為方面具有較高的效率.考慮到不同模型之間的差異,Papernot他們[35]還發(fā)現(xiàn),關(guān)于目標(biāo)模型體系結(jié)構(gòu)的知識(shí)是不必要的,因?yàn)槿魏螜C(jī)器學(xué)習(xí)模型都可以用更復(fù)雜的模型來(lái)代替,比如DNN.
3.3.2 成員推理攻擊
Truex等人[36]提出了MLaaS平臺(tái)中成員推理攻擊(membership inference attack, MIA)的一種通用的系統(tǒng)方案.給定實(shí)例x和對(duì)在數(shù)據(jù)集D上訓(xùn)練的分類模型Ft的黑盒訪問(wèn)權(quán),當(dāng)訓(xùn)練Ft時(shí),對(duì)手是否能夠在D中很有信心地推斷實(shí)例x是否包含在D中.在MIA中,對(duì)手更關(guān)心x是否在D中,而不是x的內(nèi)容.目前成員推理攻擊可以通過(guò)3種方法實(shí)現(xiàn):
1) 訓(xùn)練攻擊模型.攻擊模型是一個(gè)二元分類器,用來(lái)推斷目標(biāo)記錄的信息.它將成員推理問(wèn)題轉(zhuǎn)化為分類問(wèn)題,可用于白盒和黑盒攻擊.很多研究還引入了影子模型來(lái)訓(xùn)練攻擊模型,影子模型主要用來(lái)模擬目標(biāo)模型,并生成攻擊模型所需的數(shù)據(jù)集.當(dāng)然,對(duì)影子模型的訓(xùn)練也會(huì)增加攻擊代價(jià).
Shokri等人[37]利用機(jī)器學(xué)習(xí)中的API調(diào)用,設(shè)計(jì)、實(shí)現(xiàn)并評(píng)估了黑盒模型的MIA攻擊方法.他們生成了類似于目標(biāo)訓(xùn)練數(shù)據(jù)集的數(shù)據(jù)集,并使用相同的MLaaS來(lái)訓(xùn)練影子模型.這些數(shù)據(jù)集是通過(guò)基于模型的綜合、基于統(tǒng)計(jì)的綜合、有噪聲的真實(shí)數(shù)據(jù)等方法得到的.使用影子模型為攻擊模型提供訓(xùn)練集,訓(xùn)練集輸入是某個(gè)記錄的類標(biāo)簽、預(yù)測(cè)向量.輸出是該記錄是否屬于影子模型訓(xùn)練集.訓(xùn)練好的攻擊模型以類標(biāo)簽和預(yù)測(cè)向量作為輸入,輸出該記錄是否在目標(biāo)訓(xùn)練集中.Salem等人[38]放寬了文獻(xiàn)[37]中的部分約束條件 (要在同一MLaaS上訓(xùn)練影子模型,影子模型和目標(biāo)模型的數(shù)據(jù)集具有相同分布),并在沒(méi)有目標(biāo)模型的知識(shí)結(jié)構(gòu)和訓(xùn)練數(shù)據(jù)集分布的情況下只使用一個(gè)影子模型.攻擊模型以模型概率向量輸出的前3個(gè)最大值作為輸入確定隸屬度.
Pyrgelis等人[39]實(shí)現(xiàn)了在聚合位置數(shù)據(jù)上的MIA.其主要思想是利用先驗(yàn)位置信息,通過(guò)具有識(shí)別功能的可識(shí)別博弈過(guò)程進(jìn)行攻擊.他們訓(xùn)練了一個(gè)分類器(即攻擊模型)作為識(shí)別函數(shù)來(lái)確定數(shù)據(jù)是否在目標(biāo)數(shù)據(jù)集中,無(wú)需影子模型.
2) 概率信息計(jì)算.該方法利用概率信息推斷隸屬度,無(wú)需攻擊模型.舉例來(lái)說(shuō),假設(shè)a,b都屬于類別A,其中a屬于訓(xùn)練數(shù)據(jù)集而b不屬于,由于a參與了訓(xùn)練過(guò)程,模型可能以0.9的置信概率將a分類為A;考慮b,由于它對(duì)模型而言是新出現(xiàn)的,盡管模型也能將b分類為A,但可能只有0.6的置信概率.于是可以根據(jù)模型返回的最大類概率實(shí)施攻擊.但這種方法需要一定的前提假設(shè)和輔助信息來(lái)獲得可靠的概率向量或二元結(jié)果,這也是該方法在使用時(shí)的一個(gè)限制條件.
Fredrikson等人[40]試圖根據(jù)概率信息來(lái)構(gòu)造某一數(shù)據(jù)是否出現(xiàn)在目標(biāo)訓(xùn)練數(shù)據(jù)集中的概率.然后尋找概率最大的輸入數(shù)據(jù),得到的數(shù)據(jù)與目標(biāo)訓(xùn)練數(shù)據(jù)集中的數(shù)據(jù)相似.Salem等人[38]中的第3種攻擊方法只需要記錄通過(guò)目標(biāo)模型輸出的概率向量,并使用統(tǒng)計(jì)測(cè)量方法比較最大分類概率是否超過(guò)一個(gè)閾值,若超過(guò)則認(rèn)為該記錄屬于數(shù)據(jù)集.Long等人[41]提出了廣義MIA方法,與文獻(xiàn)[37]不同,它更容易攻擊非過(guò)擬合數(shù)據(jù).他們訓(xùn)練了大量類似于目標(biāo)模型的參考模型(類似影子模型),根據(jù)參考模型的輸出的概率信息選擇易受攻擊的數(shù)據(jù),然后將目標(biāo)模型和參考模型的輸出進(jìn)行比較,計(jì)算出數(shù)據(jù)屬于目標(biāo)訓(xùn)練數(shù)據(jù)集的概率.
3) 相似樣本生成.該方法通過(guò)訓(xùn)練生成的模型(如生成對(duì)抗網(wǎng)絡(luò)(GAN))生成訓(xùn)練記錄,其生成的樣本與目標(biāo)訓(xùn)練數(shù)據(jù)集的樣本相似.通過(guò)提高生成樣本的相似度將使該方法更加有效.
Liu等人[42]和Hayes等人[43]都探索了攻擊生成模型的方法,不同于判別模型,生成模型通常用于學(xué)習(xí)數(shù)據(jù)的分布并生成相似的數(shù)據(jù).文獻(xiàn)[42]提出一種白盒攻擊,用于單成員攻擊和聯(lián)合成員攻擊.其基本思想是用目標(biāo)模型訓(xùn)練生成的模型,以目標(biāo)模型的輸出為輸入,以相似的目標(biāo)模型輸入為輸出.訓(xùn)練后,攻擊模型可以生成與目標(biāo)訓(xùn)練數(shù)據(jù)集相似的數(shù)據(jù).考慮到文獻(xiàn)[37]中的方法難以攻擊CNN,Hitaj等人[20]提出了一種更為通用的MIA方法,在協(xié)作深度學(xué)習(xí)模型的場(chǎng)景中執(zhí)行了白盒攻擊.他們構(gòu)建了一個(gè)目標(biāo)分類模型生成器,并利用該生成器形成了一個(gè)GAN.經(jīng)過(guò)訓(xùn)練后,GAN可以生成與目標(biāo)訓(xùn)練集相似的數(shù)據(jù),但是這種方法的局限性在于,屬于同一分類的所有樣本都需要在視覺(jué)上相似,因此無(wú)法在同一個(gè)類別下區(qū)分它們.
3.3.3 屬性推理攻擊
屬性推理攻擊(property inference attack, PIA)是指對(duì)訓(xùn)練數(shù)據(jù)集的統(tǒng)計(jì)屬性進(jìn)行推理.推理的屬性主要是一些統(tǒng)計(jì)信息,例如人口數(shù)據(jù)集中男女比例是否均衡、人口樣本中是否存在少數(shù)民族樣本、醫(yī)療數(shù)據(jù)集中患癌病人的比重等.
Ateniese等人[44]首先提出了一種訓(xùn)練元分類器的白盒攻擊方法.分類器以模型的特征信息作為輸入,以訓(xùn)練該模型的數(shù)據(jù)集中是否包含特定屬性為輸出.他們還訓(xùn)練影子模型來(lái)為元分類器提供訓(xùn)練數(shù)據(jù).由于他們主要提取機(jī)器學(xué)習(xí)模型的特征信息,這種方法在DNN上并不奏效.為了解決這個(gè)問(wèn)題,Ganju等人[45]構(gòu)建了一個(gè)元分類器模型,該模型研究了如何提取DNN的特征值,使其作為元分類器的輸入,其他部分與文獻(xiàn)[44]非常相似.
另外,針對(duì)文獻(xiàn)[20]中存在的不足,Melis等人[46]提出了一種協(xié)作式學(xué)習(xí)的白盒攻擊方法.其理論基礎(chǔ)是,深度學(xué)習(xí)模型會(huì)記住太多數(shù)據(jù)特征[21].攻擊者可以多次下載最新的模型,得到每個(gè)階段的更新模型,減去不同階段的聚合更新,并分析更新的信息來(lái)推斷成員和屬性.他們訓(xùn)練了一個(gè)二元分類器來(lái)判斷數(shù)據(jù)集的屬性,該分類器使用更新的梯度值作為輸入.
為了保護(hù)深度學(xué)習(xí)系統(tǒng)的隱私,一系列研究工作開(kāi)發(fā)了不同的防御機(jī)制.基于對(duì)27篇文章的研究,我們將這些防御機(jī)制分為4類:差分隱私、同態(tài)加密、安全多方計(jì)算和次優(yōu)選擇.
3.4.1 差分隱私
差分隱私是一種密碼學(xué)工具,旨在最大限度地提高數(shù)據(jù)查詢的準(zhǔn)確性,同時(shí)最大限度地減少查詢統(tǒng)計(jì)數(shù)據(jù)庫(kù)時(shí)識(shí)別其記錄的機(jī)會(huì).基于保護(hù)目標(biāo),差分隱私的方法可以從輸出擾動(dòng)、目標(biāo)擾動(dòng)和梯度擾動(dòng)等方面進(jìn)行擴(kuò)展[24].這些方法分別指將隨機(jī)擾動(dòng)加到輸出上、目標(biāo)函數(shù)上和反向傳播的梯度上.
Chaudhuri等人[47]首先提出了輸出和目標(biāo)擾動(dòng),嚴(yán)格證明了凸損失函數(shù)機(jī)器學(xué)習(xí)模型中保持隱私,并將其實(shí)現(xiàn)為正則邏輯回歸.輸出擾動(dòng)包括以邊界靈敏度和增加靈敏度為基礎(chǔ)的噪聲訓(xùn)練模型.而Wang等人[24]表明,在非光滑條件下,輸出擾動(dòng)不能推廣.Zhang等人提出[48],在強(qiáng)凸的情況下,可以使用適當(dāng)?shù)膶W(xué)習(xí)率來(lái)提高操作速度和實(shí)用性.目標(biāo)擾動(dòng)是訓(xùn)練包含隨機(jī)項(xiàng)的目標(biāo)函數(shù)最小化的模型,它在理論上和經(jīng)驗(yàn)上都優(yōu)于輸出擾動(dòng)[49],但在實(shí)踐中很難得到既保證隱私又保證效用的最優(yōu)解.為了獲得更好的性能或支持其他場(chǎng)景,Kifer等人[50]通過(guò)選擇高斯分布代替伽馬分布提高了精度,并引入了第一個(gè)用于高維稀疏回歸的差分隱私算法;文獻(xiàn)[51]和文獻(xiàn)[50]給出了Lipschitz損失函數(shù)的算法和證明.
Song等人[52]提出了梯度擾動(dòng),其主要思想是在每次迭代更新參數(shù)時(shí)添加噪聲.該方法不受強(qiáng)凸函數(shù)或強(qiáng)攝動(dòng)優(yōu)化問(wèn)題的限制,在實(shí)際應(yīng)用中具有一定的優(yōu)越性.然而,由于隨機(jī)梯度下降(SGD)或梯度下降(GD)的計(jì)算過(guò)程非常耗時(shí),如果數(shù)據(jù)集很大,計(jì)算可能會(huì)花費(fèi)很多時(shí)間.對(duì)于強(qiáng)凸前提,Bassily等人[53]和Talwar等人[51]放寬了對(duì)Lipschitz凸函數(shù)的限制和嚴(yán)格的誤差邊界.然后,Abadi等人[6]處理了非凸目標(biāo)函數(shù),并在適度隱私損失的情況下以適中的成本訓(xùn)練DNN.他們對(duì)DP-SGD進(jìn)行了修改和擴(kuò)展,允許不同層的限幅閾值和噪聲尺度不同.隨后,Zhang等人[48]首先給出了非凸優(yōu)化問(wèn)題的理論結(jié)果.文獻(xiàn)[24]實(shí)現(xiàn)了滿足Polyak-Lojasiewicz條件的非凸情況,并產(chǎn)生了更緊致的上界.Zhang等人[54]與其他算法相結(jié)合,在分布式ERM中也應(yīng)用了梯度擾動(dòng).
Hamm等人[55]提出了一種使用局部分類器構(gòu)造全局差分私有分類器的方法,該方法不需要訪問(wèn)任何一方的私有數(shù)據(jù).Hynes等人[56]提出了一種深度學(xué)習(xí)框架Myelin,用于在可信硬件領(lǐng)域?qū)崿F(xiàn)高效的、私有的、數(shù)據(jù)無(wú)關(guān)的實(shí)際深度學(xué)習(xí)模型.
目前已有一些度量標(biāo)準(zhǔn)被用來(lái)估計(jì)隱私風(fēng)險(xiǎn).基于差分隱私的可組合性,最簡(jiǎn)單的度量方法是計(jì)算隱私消耗的總和[57].然而,直接將它們相加可能會(huì)得到松散的測(cè)量邊界.文獻(xiàn)[6]提出了一個(gè)更強(qiáng)的方法,主要采用標(biāo)準(zhǔn)Markov不等式來(lái)跟蹤隱私損失,它在經(jīng)驗(yàn)上獲得了更嚴(yán)格的隱私損失約束.但上述指標(biāo)僅限于DP框架,Long等人[58]提出了差分訓(xùn)練隱私(DTP),可以測(cè)量不使用DP的分類器的隱私風(fēng)險(xiǎn).
3.4.2 同態(tài)加密
一般的加密方案?jìng)?cè)重于數(shù)據(jù)存儲(chǔ)的安全性,而同態(tài)加密(HE)側(cè)重于數(shù)據(jù)處理的安全性.HE通常是在有數(shù)據(jù)泄漏風(fēng)險(xiǎn)中使用的.由于解密的高度復(fù)雜性,HE可以有效地保護(hù)敏感數(shù)據(jù)不被解密和竊取.在深度學(xué)習(xí)中,它主要用于保護(hù)預(yù)測(cè)輸入和結(jié)果,訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型等.應(yīng)用HE的主要負(fù)面影響是效率的降低,即錯(cuò)誤傳輸問(wèn)題、對(duì)密文的操作時(shí)間較長(zhǎng)、加密后數(shù)據(jù)量急劇增加等.
Liu等人[59]提出了MiniONN,這是一個(gè)支持隱私保護(hù)的神經(jīng)網(wǎng)絡(luò),并確保服務(wù)器不了解輸入,客戶端不了解模型.其主要思想是允許服務(wù)器和客戶端為神經(jīng)網(wǎng)絡(luò)的每一層額外地共享輸入和輸出值.Jiang等人[26]給出了一種矩陣和密碼矩陣算術(shù)運(yùn)算的實(shí)用算法.Phong等人[4]提出了一個(gè)隱私保護(hù)DL系統(tǒng),使用異步隨機(jī)梯度下降應(yīng)用于神經(jīng)網(wǎng)絡(luò)連接深度學(xué)習(xí)和密碼學(xué),并結(jié)合加性HE.在其他方面,Hesamifard 等人[60]開(kāi)發(fā)了CryptoDL,用于在加密數(shù)據(jù)上運(yùn)行DNN, 在CIFAR-10上的準(zhǔn)確率為91.5%.他們?cè)贑NN中利用低次多項(xiàng)式設(shè)計(jì)一個(gè)近似函數(shù),然后用近似多項(xiàng)式代替原始的激活函數(shù)來(lái)訓(xùn)練CNN,最后在加密數(shù)據(jù)上實(shí)現(xiàn)CNN.
3.4.3 安全多方計(jì)算
在現(xiàn)實(shí)中,經(jīng)常會(huì)遇到多個(gè)數(shù)據(jù)方希望在一臺(tái)服務(wù)器上共同學(xué)習(xí)一個(gè)模型的場(chǎng)景.然而,每個(gè)數(shù)據(jù)方都不愿意將自己的數(shù)據(jù)共享給其他方.在多方數(shù)據(jù)只有一臺(tái)服務(wù)器情況下,Shokri等人[61]實(shí)現(xiàn)了一個(gè)系統(tǒng),它允許多方在非共享輸入數(shù)據(jù)集的情況下共同學(xué)習(xí)模型.各方都可以獨(dú)立使用最終模型.在訓(xùn)練過(guò)程中,各個(gè)數(shù)據(jù)方對(duì)其局部數(shù)據(jù)集進(jìn)行模型訓(xùn)練,再將所選參數(shù)的關(guān)鍵梯度上傳到全局參數(shù)庫(kù),然后下載所需參數(shù)的最新值.基于這些性質(zhì),他們采用分布式選擇性SGD方法來(lái)選擇參數(shù):1)梯度下降過(guò)程中不同參數(shù)的更新具有內(nèi)在的獨(dú)立性;2)不同的訓(xùn)練數(shù)據(jù)集對(duì)參數(shù)的貢獻(xiàn)不同.Phong等人[4]基于文獻(xiàn)[61]進(jìn)行了改進(jìn).每個(gè)數(shù)據(jù)方上傳經(jīng)過(guò)加法HE加密的梯度,并對(duì)模型應(yīng)用異步SGD.另外,Phong等人[62]還提出了服務(wù)器輔助網(wǎng)絡(luò)拓?fù)浜腿B接網(wǎng)絡(luò)拓?fù)湎到y(tǒng).各方共享神經(jīng)網(wǎng)絡(luò)的權(quán)值而不是梯度.他們不僅可以防范惡意的服務(wù)器,而且可以在即使只有一個(gè)誠(chéng)實(shí)方的情況下防范數(shù)據(jù)方合謀.
在多方計(jì)算中另一個(gè)場(chǎng)景是,數(shù)據(jù)方不希望將所有訓(xùn)練數(shù)據(jù)交給一臺(tái)服務(wù)器來(lái)訓(xùn)練模型.他希望將數(shù)據(jù)集分布到多個(gè)服務(wù)器,共同訓(xùn)練模型,每個(gè)服務(wù)器不會(huì)了解其他服務(wù)器的訓(xùn)練數(shù)據(jù).SecureML[27]是一種保護(hù)隱私的雙服務(wù)器模型協(xié)議.數(shù)據(jù)所有者將私有數(shù)據(jù)分配給2個(gè)非合謀服務(wù)器,并用安全的兩方計(jì)算技術(shù)訓(xùn)練聯(lián)合數(shù)據(jù),支持安全的算術(shù)運(yùn)算.采用了不經(jīng)意傳輸和加密電路,并采用了面向多方計(jì)算友好的激活函數(shù).Liu等人[59]提出了一種支持隱私保護(hù)的神經(jīng)網(wǎng)絡(luò)MiniONN.它確保服務(wù)器對(duì)輸入一無(wú)所知,而客戶機(jī)對(duì)模型一無(wú)所知.其主要思想是允許服務(wù)器和客戶端額外地共享神經(jīng)網(wǎng)絡(luò)每一層的輸入和輸出值.
多方計(jì)算更一般化的場(chǎng)景是有M個(gè)數(shù)據(jù)方希望使用N臺(tái)服務(wù)器對(duì)他們的聯(lián)合數(shù)據(jù)進(jìn)行模型訓(xùn)練.要求任何數(shù)據(jù)方或服務(wù)器對(duì)任何其他數(shù)據(jù)方的訓(xùn)練數(shù)據(jù)一無(wú)所知. 在SecureNN[28]里,N=3或4,M可以是任意值.此外,經(jīng)過(guò)訓(xùn)練的模型作為一個(gè)秘密共享,并對(duì)任何單個(gè)服務(wù)器或數(shù)據(jù)端隱藏.這些秘密共享可以由服務(wù)器或任何其他方組合起來(lái)重構(gòu)模型.
3.4.4 次優(yōu)選擇
為了抵御模型提取攻擊,許多研究都試圖在一定程度上向用戶提供次優(yōu)模型.Tramèr等人[32]提出了第一個(gè)量化模型提取攻擊預(yù)測(cè)概率的防御方法.他們只允許攻擊者提取給定的類標(biāo)簽,而不提供置信度評(píng)分,或者提供四舍五入的置信度.該方法減少了向攻擊者提供的信息量,但也減少了合法的服務(wù).后來(lái)文獻(xiàn)[7]表明,即使不使用預(yù)測(cè)概率,模型提取攻擊也是有效的.但是Lee等人[8]發(fā)現(xiàn),在類概率中注入噪聲仍然可以延長(zhǎng)攻擊時(shí)間.攻擊者被迫放棄概率信息,只使用標(biāo)簽信息,這大大增加了查詢數(shù)量和攻擊時(shí)間.Wang等人[29]發(fā)現(xiàn)對(duì)模型參數(shù)進(jìn)行四舍五入會(huì)增加攻擊者對(duì)超參數(shù)攻擊的估計(jì)誤差.不幸的是,該誤差對(duì)測(cè)試性能的影響可以忽略不計(jì).
還有一種方法是從用戶提交的查詢請(qǐng)求中發(fā)現(xiàn)異常.Kesarwani等人[10]依賴于記錄客戶端發(fā)出的所有請(qǐng)求,并計(jì)算正常請(qǐng)求組成的特征空間.當(dāng)檢測(cè)到新的請(qǐng)求空間超過(guò)預(yù)定閾值時(shí),認(rèn)為模型提取攻擊發(fā)生.因此,他們需要在輸入中對(duì)預(yù)測(cè)類進(jìn)行線性分離來(lái)評(píng)估特征空間.此外,PRADA[7]是基于給定客戶提交的樣本分布的突然變化檢測(cè)攻擊,假設(shè)是攻擊者提交的樣本中的特征分布比良性查詢中更不穩(wěn)定.一旦PRADA檢測(cè)到攻擊,根據(jù)目標(biāo)模型的預(yù)測(cè),以最大概率返回第2類或第3類分類.PRADA在檢測(cè)對(duì)文獻(xiàn)[34]的攻擊時(shí)需要數(shù)百個(gè)查詢,對(duì)文獻(xiàn)[32]的攻擊需要數(shù)千個(gè)查詢.
3.4.5 其他方法
Xu等人[63]將數(shù)據(jù)清洗以保護(hù)隱私.他們將原始數(shù)據(jù)用密碼加密后發(fā)送給服務(wù)商.為了保護(hù)MLaaS中數(shù)據(jù)集的隱私,Zhang等人[5]引入了一個(gè)混淆函數(shù),并將其輸入到模型訓(xùn)練任務(wù)中.混淆函數(shù)向現(xiàn)有樣本添加隨機(jī)噪聲,或使用新樣本增強(qiáng)數(shù)據(jù)集.因此,關(guān)于單個(gè)樣本的特征或一組樣本的統(tǒng)計(jì)特性的敏感信息是隱藏的.Nasr等人[3]設(shè)計(jì)了一個(gè)min-max游戲,它在最小化模型的預(yù)測(cè)損失的同時(shí),最大化推理攻擊的收益,目標(biāo)是共同最大化隱私和預(yù)測(cè)精度.
Cao等人[64]提出了機(jī)器學(xué)習(xí)去除的思想,目標(biāo)使機(jī)器學(xué)習(xí)模型完全忘記一段訓(xùn)練數(shù)據(jù),并去除其對(duì)模型和特征的影響.它們將訓(xùn)練數(shù)據(jù)樣本轉(zhuǎn)化為一種求和形式,用來(lái)快速計(jì)算新模型.Hunt等人[65]提出一個(gè)保護(hù)SGX上的MLaaS隱私的系統(tǒng).它向服務(wù)運(yùn)營(yíng)商隱藏訓(xùn)練數(shù)據(jù),既不向用戶顯示算法也不顯示模型結(jié)構(gòu),只提供對(duì)訓(xùn)練模型的黑盒訪問(wèn).Ohrimenko等人[66]針對(duì)支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)、決策樹(shù)和K-means聚類問(wèn)題,提出了一種基于Intel Skylake處理器的數(shù)據(jù)無(wú)關(guān)機(jī)器學(xué)習(xí)算法.
安全與隱私在很多方面是密不可分的,但在這里,我們需要在人工智能領(lǐng)域區(qū)分安全與隱私問(wèn)題.深度學(xué)習(xí)模型的形成依賴于對(duì)大量數(shù)據(jù)進(jìn)行耗時(shí)耗力的訓(xùn)練.直觀地說(shuō),訓(xùn)練數(shù)據(jù)、訓(xùn)練模型和預(yù)測(cè)輸入都是所有者私有的,值得保護(hù).眾所周知,人工智能系統(tǒng)中已經(jīng)存在著隱私研究對(duì)象,例如所收集的訓(xùn)練數(shù)據(jù)集、訓(xùn)練模型的參數(shù)、用戶準(zhǔn)備提交的預(yù)測(cè)數(shù)據(jù)以及模型返回的結(jié)果.要保護(hù)系統(tǒng)中原本存在的合法數(shù)據(jù)(模型參數(shù)、數(shù)據(jù)集等),就是隱私問(wèn)題.
然而,在人工智能系統(tǒng)中,造成安全問(wèn)題的惡意樣本通常是未知的.例如投毒攻擊將惡意數(shù)據(jù)添加到訓(xùn)練數(shù)據(jù)集中,會(huì)對(duì)深度學(xué)習(xí)的預(yù)測(cè)產(chǎn)生負(fù)面影響.這些惡意樣本不應(yīng)該存在于其中.如何抵御這樣的未知樣本就是一個(gè)安全問(wèn)題.此外,受到攻擊的分類模型在訓(xùn)練過(guò)程中不會(huì)接觸到這些對(duì)抗樣本,這些惡意數(shù)據(jù)原本不在學(xué)習(xí)模型中.要防范系統(tǒng)中原本不存在的、可能引起模型出錯(cuò)的惡意數(shù)據(jù),就是安全問(wèn)題.
在深度學(xué)習(xí)系統(tǒng)中,訓(xùn)練數(shù)據(jù)集和預(yù)測(cè)數(shù)據(jù)需要與用戶交互,而訓(xùn)練過(guò)程和訓(xùn)練模型一般是封閉的.因此,訓(xùn)練數(shù)據(jù)集和預(yù)測(cè)數(shù)據(jù)更容易受到未知惡意樣本的攻擊.更具體地說(shuō),如果在訓(xùn)練數(shù)據(jù)集中出現(xiàn)惡意樣本,我們稱之為投毒攻擊;如果在預(yù)測(cè)數(shù)據(jù)中出現(xiàn)惡意樣本,我們稱之為對(duì)抗攻擊.我們共調(diào)查了89篇相關(guān)論文,其中15篇與投毒攻擊相關(guān),11篇與投毒防御相關(guān),36篇與對(duì)抗攻擊相關(guān),27篇與對(duì)抗防御相關(guān).
投毒攻擊在訓(xùn)練過(guò)程中添加惡意樣本,從而影響生成的模型.大多數(shù)惡意樣本搜索方法都是通過(guò)發(fā)現(xiàn)算法或訓(xùn)練過(guò)程的漏洞來(lái)實(shí)現(xiàn)的.早期的機(jī)器學(xué)習(xí)算法也容易受到投毒攻擊[67-69].投毒攻擊主要在2個(gè)方面影響了正常模型.1)直接改變分類器的決策邊界,破壞分類器的正常使用,使其不能正確地對(duì)正常樣本進(jìn)行分類,破壞了模型的可用性.這主要是通過(guò)錯(cuò)誤標(biāo)記數(shù)據(jù)實(shí)現(xiàn)的.攻擊者使用錯(cuò)誤的標(biāo)簽提交數(shù)據(jù)記錄,或惡意修改訓(xùn)練數(shù)據(jù)集中現(xiàn)有數(shù)據(jù)的標(biāo)簽.2)在分類器中創(chuàng)建后門(mén).它能正確地對(duì)正常樣本進(jìn)行分類,但會(huì)導(dǎo)致對(duì)特定數(shù)據(jù)的分類錯(cuò)誤.攻擊者可以通過(guò)后門(mén)進(jìn)行有針對(duì)性的攻擊,破壞模型的完整性.這主要是通過(guò)加入特定的數(shù)據(jù)實(shí)現(xiàn)的.它們向數(shù)據(jù)集提交包含特定特征(如水印)和標(biāo)簽的數(shù)據(jù),而在其他數(shù)據(jù)記錄中很可能沒(méi)有這樣的特征.此外,他們還可以直接攻擊特征選擇算法[70].相應(yīng)地,防御方法主要是通過(guò)增強(qiáng)訓(xùn)練算法[71]的魯棒性和保護(hù)數(shù)據(jù)集[72]的安全性來(lái)實(shí)現(xiàn)的.
在預(yù)測(cè)過(guò)程中,對(duì)抗攻擊會(huì)對(duì)正常樣本增加惡意干擾.對(duì)抗樣本既要欺騙分類器,又要讓人無(wú)法察覺(jué).該攻擊廣泛應(yīng)用于圖像識(shí)別領(lǐng)域[73-76],也用于語(yǔ)音處理[77]、語(yǔ)音到文本轉(zhuǎn)換[78]、文本識(shí)別[79]、惡意軟件檢測(cè)[80]等.目前,主流方法尋找擾動(dòng)包括FGSM[73],JSMA[74],C&W[75],DeepFool[76],UAP[81],ATN[33]和一些變種.也有一些研究攻擊了CNN,DNN之外的其他深度學(xué)習(xí)模型,甚至在現(xiàn)實(shí)世界中產(chǎn)生了對(duì)抗的實(shí)例.防御策略主要從對(duì)抗樣本的生成和攻擊的過(guò)程進(jìn)行考慮,包括對(duì)抗訓(xùn)練[82]、基于區(qū)域的分類[83]、輸入變化[84]、梯度正則化[85]、蒸餾[86]、數(shù)據(jù)處理[87]和訓(xùn)練防御網(wǎng)絡(luò)[88].
投毒攻擊試圖通過(guò)污染訓(xùn)練數(shù)據(jù)來(lái)降低深度學(xué)習(xí)系統(tǒng)的預(yù)測(cè).由于它發(fā)生在訓(xùn)練階段之前,通過(guò)調(diào)整相關(guān)參數(shù)或采用替代模型,所造成的污染是很難解決的.在機(jī)器學(xué)習(xí)的早期,投毒攻擊被認(rèn)為是對(duì)主流算法的一種重要威脅.例如,支持向量機(jī)[67,89-90]、貝葉斯分類器[68]、層次聚類[91]、邏輯回歸[92]都受到了投毒攻擊的危害.隨著深度學(xué)習(xí)的廣泛使用,攻擊者也將他們的注意力轉(zhuǎn)移到深度學(xué)習(xí)上了[93-95].
綜上所述,投毒攻擊本質(zhì)上是在訓(xùn)練數(shù)據(jù)上尋求全局或局部分布的擾動(dòng).眾所周知,機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的性能在很大程度上取決于訓(xùn)練數(shù)據(jù)的質(zhì)量.高質(zhì)量的數(shù)據(jù)通常應(yīng)該是全面的、無(wú)偏見(jiàn)的和有代表性的.在數(shù)據(jù)投毒的過(guò)程中,錯(cuò)誤的標(biāo)簽或有偏差的數(shù)據(jù)被有意地加工并添加到訓(xùn)練數(shù)據(jù)中,降低了整體質(zhì)量.據(jù)觀察,投毒有2方面原因:
1) 錯(cuò)誤標(biāo)記數(shù)據(jù).在分類任務(wù)中,深度學(xué)習(xí)模型通常會(huì)在標(biāo)記數(shù)據(jù)下提前進(jìn)行訓(xùn)練.也就是說(shuō),L:{x1,x2,…,xn}→Y,其中Y是給定輸入的特定標(biāo)簽.通過(guò)將標(biāo)簽操作為L(zhǎng):{x1,x2,…,xn}→Y′來(lái)生成錯(cuò)誤標(biāo)記的數(shù)據(jù),其中Y′是一個(gè)錯(cuò)誤的標(biāo)簽.錯(cuò)誤標(biāo)記數(shù)據(jù)的接受可能導(dǎo)致2種結(jié)果:深度學(xué)習(xí)不能有效地學(xué)習(xí)決策邊界;將決策邊界顯著地推到不正確的區(qū)域.結(jié)果表明:該算法在容錯(cuò)條件下不能收斂.后者可以以相當(dāng)小的損失終止,但是決策邊界與正確邊界之間的距離很大.
Xiao等人[90]通過(guò)翻轉(zhuǎn)標(biāo)簽來(lái)調(diào)整訓(xùn)練集來(lái)攻擊支持向量機(jī),他們提出了一個(gè)優(yōu)化的框架來(lái)尋找標(biāo)簽翻轉(zhuǎn),使得分類誤差最大化,從而降低了分類器的準(zhǔn)確率.Biggio等人[91]實(shí)現(xiàn)了針對(duì)單鏈接層次聚類的投毒攻擊.它依靠啟發(fā)式算法來(lái)尋找最優(yōu)的攻擊策略.他們使用模糊攻擊來(lái)最大程度地降低聚類結(jié)果.Alfeld等人[19]提出了一個(gè)在線性自回歸模型下編碼攻擊者欲望和約束的框架.攻擊者可以通過(guò)在訓(xùn)練數(shù)據(jù)中添加最優(yōu)的特殊記錄來(lái)將預(yù)測(cè)推向某個(gè)方向.Jagielski等人[93]討論了線性回歸模型的投毒攻擊.攻擊者可以操縱數(shù)據(jù)集和算法來(lái)影響機(jī)器學(xué)習(xí)模型.他們引入了一種快速的統(tǒng)計(jì)攻擊,這種攻擊只需要有限的訓(xùn)練過(guò)程知識(shí).
2) 特定混淆數(shù)據(jù).機(jī)器學(xué)習(xí)實(shí)踐者從大量信息中提取具有代表性的特征,用于學(xué)習(xí)和訓(xùn)練.這些特征的權(quán)重是經(jīng)過(guò)訓(xùn)練確定的,對(duì)預(yù)測(cè)具有重要意義.然而,如果一些精心設(shè)計(jì)的數(shù)據(jù)具有無(wú)偏倚的特性分布,就會(huì)破壞訓(xùn)練,并得到一組誤導(dǎo)性的特征權(quán)重.例如,將很多炸彈形狀的圖形標(biāo)記為限速標(biāo)志并將其放入數(shù)據(jù)集中學(xué)習(xí),那么可能所有帶有炸彈的圖像將被標(biāo)識(shí)為限速標(biāo)志,即使它原本是一個(gè)停止(STOP)標(biāo)志.
該方法在LASSO,Ridge Regression,Elastic net等特征選擇算法中也很常見(jiàn).Xiao等人[70]直接研究了常見(jiàn)的特征選擇算法在投毒攻擊下的魯棒性.結(jié)果表明,在惡意軟件檢測(cè)應(yīng)用中,特征選擇算法在投毒攻擊下受到破壞性影響.通過(guò)插入少于5%的有毒訓(xùn)練樣本,LASSO特征選擇過(guò)程得到的結(jié)果與隨機(jī)選擇幾乎沒(méi)有區(qū)別.Shafahi等人[94]試圖找到一個(gè)特定的測(cè)試實(shí)例來(lái)控制分類器的行為,而沒(méi)有控制訓(xùn)練數(shù)據(jù)的標(biāo)簽.他們提出了一種水印策略,并訓(xùn)練了多個(gè)投毒的實(shí)例.在投毒實(shí)例中添加目標(biāo)實(shí)例的低透明度水印,以允許某些不可分割的特性重疊.該方法為攻擊者打開(kāi)了一個(gè)分類器的后門(mén),攻擊者無(wú)需訪問(wèn)任何數(shù)據(jù)收集或標(biāo)記過(guò)程.
對(duì)抗攻擊利用對(duì)抗樣本(adversarial examples, AEs)使模型預(yù)測(cè)錯(cuò)誤,也稱為逃避攻擊.對(duì)抗攻擊是一種探索性攻擊,它破壞了模型的可用性.AEs是通過(guò)在原始樣本中添加擾動(dòng)而產(chǎn)生的.它們混淆了訓(xùn)練有素的模型,但在人類看來(lái)它們很正常,這保證了攻擊的有效性.在圖像處理中,通常使用小擾動(dòng)來(lái)保證原樣例與AEs之間的相似性.在語(yǔ)音和文本中,它確保AEs也是有意義的和上下文相關(guān)的.惡意軟件檢測(cè)保證AEs在添加擾動(dòng)后仍具有原始惡意功能.
模型的誤分類有目標(biāo)性和非目標(biāo)性兩大類.前者要求AEs被錯(cuò)誤地分類為特定的標(biāo)簽,以達(dá)到特殊的惡意目的.后者只要求AEs被錯(cuò)誤分類(可以是任意錯(cuò)誤標(biāo)簽),用于抵抗檢測(cè)或其他場(chǎng)景.AEs的生成過(guò)程通常需要最小化擾動(dòng),因?yàn)樵叫〉臄_動(dòng)對(duì)人的影響也就越小.最小距離通常用Lp距離(或稱Minkowski距離)來(lái)度量,常用的有L0,L1,L2和L:
x=(x(1),x(2),…,x(n)),
y=(y(1),y(2),…,y(n)).
對(duì)抗攻擊可以應(yīng)用于許多領(lǐng)域,其中應(yīng)用最廣泛的是圖像分類.通過(guò)添加小的擾動(dòng),我們可以生成對(duì)抗的圖像,這些圖像對(duì)人類而言很難區(qū)分,但是能造成模型的分類錯(cuò)誤.對(duì)抗攻擊也用在其他領(lǐng)域,比如音頻[77,98]、文本[79]、惡意軟件檢測(cè)[99-101]等.Carlini等人[78]提出了一種基于語(yǔ)音到文本神經(jīng)網(wǎng)絡(luò)的文本對(duì)抗攻擊系統(tǒng)DeepSearch.它可以通過(guò)添加小擾動(dòng)將任意給定的波形轉(zhuǎn)換成任意期望的目標(biāo)短語(yǔ).他們使用序列到序列的神經(jīng)網(wǎng)絡(luò),產(chǎn)生超過(guò)99.9%的相似波形,并達(dá)到100%的攻擊率.Gao等人[79]提出框架DeepWordBug來(lái)在黑盒設(shè)置中生成對(duì)抗文本序列.他們使用不同的評(píng)分函數(shù)來(lái)處理更好的突變?cè)~.它們幾乎最小化了編輯距離,并將文本分類精度從90%降低到30%~60%.Rigaki等人[102]使用GANs通過(guò)修改網(wǎng)絡(luò)行為來(lái)模擬合法應(yīng)用程序的流量來(lái)避免惡意軟件檢測(cè).他們可以通過(guò)修改惡意軟件的源代碼來(lái)調(diào)整命令和控制(C2)通道來(lái)模擬Facebook聊天網(wǎng)絡(luò)流量.最好的GAN模型在經(jīng)過(guò)300~400個(gè)訓(xùn)練階段后,每分鐘產(chǎn)生一個(gè)以上的C2流量.文獻(xiàn)[103-105]提出了在黑盒中生成惡意軟件實(shí)例以進(jìn)行攻擊檢測(cè)模型的方法.此外,文獻(xiàn)[106]提出了一種針對(duì)二進(jìn)制編碼惡意軟件檢測(cè)的反攻擊算法,實(shí)現(xiàn)了91.9%的準(zhǔn)確率.
1) L-BFGS攻擊.Szegedy等人[1]提出盒約束的L-BFGS,用于生成AEs.他們還發(fā)現(xiàn)了2個(gè)與直覺(jué)相反的特性.首先,該空間包含的語(yǔ)義信息位于神經(jīng)網(wǎng)絡(luò)的高層,而不是單個(gè)單元.其次,擾動(dòng)或AEs具有較強(qiáng)的魯棒性,可以在不同的神經(jīng)網(wǎng)絡(luò)或訓(xùn)練數(shù)據(jù)集之間共享.這些性質(zhì)為今后的研究奠定了基礎(chǔ).
其中,l是分類錯(cuò)誤的標(biāo)簽,x+δ是對(duì)抗樣本,他們?cè)噲D找到滿足F(x+δ)=l的δ,要求擾動(dòng)δ盡量小,同時(shí)x+δ被分類為l的損失(即LossF(x+δ,l))也盡量小.損失函數(shù)滿足LossF(x,F(x))=0,c>0是一個(gè)平衡2個(gè)最小值的超參數(shù),x+δ∈[0,1]n保證添加擾動(dòng)后的對(duì)抗樣本仍在正常圖像的取值范圍內(nèi).
2) FGSM攻擊.FGSM(fast gradient sign method)是由Goodfellow等人[73]提出的.文章解釋說(shuō),AEs產(chǎn)生的原因是神經(jīng)網(wǎng)絡(luò)在高維空間中的線性行為,而不是非線性.設(shè)lx是x的實(shí)際分類.損失函數(shù)描述輸入x的損失.擾動(dòng)δ的方向是利用反向傳播計(jì)算的梯度確定的.每個(gè)像素在梯度方向上的大小為ε.隨著ε的增加,擾動(dòng)的大小和攻擊成功率增加,被人發(fā)現(xiàn)的可能性也增加.
δ=ε×sign(xLossF(x,lx)).
3) BIM攻擊.BIM(basic iteration method)[107]是FGSM的迭代版本,也稱為I-FGSM.Clipx,ε(x)函數(shù)對(duì)每個(gè)像素的圖像進(jìn)行剪切,并使生成的AE在每次迭代時(shí)滿足L的邊界.I-FGSM在白盒攻擊中強(qiáng)于FGSM,但其可移植性較差[108-109].
x0=x,
xi+1=Clipx,ε(xi+α×sign(xLossF(xi,lx)).
4) MI-FGSM攻擊.MI-FGSM(momentum iterative FGSM)[110]是基于梯度引入的.Momentum用于擺脫局部極值,迭代用于穩(wěn)定優(yōu)化.在白盒或黑盒模型上,該方法比基于梯度的單步法具有更強(qiáng)的可移植性.
其中,y是要被分類錯(cuò)誤的目標(biāo)類.與BIM不同的是,計(jì)算xi+1時(shí),不僅和當(dāng)前損失函數(shù)的梯度方向有關(guān),也和之前求出的損失函數(shù)(即gi)有關(guān).
5) JSMA攻擊.JSMA (Jacobian-based saliency map attack)[74]只改變了少量像素,而沒(méi)有影響整個(gè)圖像,它限制了L0距離,而不是L2和L.它們每次修改圖像的個(gè)別像素,記錄其對(duì)分類結(jié)果的影響,然后迭代地進(jìn)行下去.對(duì)于任意一對(duì)像素p,q,求解
其中,αpq表示像素p,q對(duì)目標(biāo)分類的影響,βpq表示對(duì)所有其他輸出的影響.這張映射圖上的值越大,意味著欺騙網(wǎng)絡(luò)的可能性越大.
上式表明算法當(dāng)前選擇(p*,q*)像素對(duì)添加擾動(dòng)從而實(shí)施攻擊.(p*,q*)滿足:像素p*,q*對(duì)目標(biāo)分類的影響為正,對(duì)所有其他輸出的影響為負(fù),且對(duì)目標(biāo)分類的影響(αpq)以及對(duì)所有其他輸出影響的絕對(duì)值(-βpq)兩者乘積最大.
6) C&W攻擊.C&W[75]在L0,L2和L中實(shí)現(xiàn)了對(duì)蒸餾防御方法[111]的攻擊.他們?cè)噲D找到盡可能小的δ,并欺騙分類器.與L-BFGS類似,C&W主要優(yōu)化了目標(biāo):
c>0是一個(gè)超參數(shù),用于控制2個(gè)目標(biāo)函數(shù)之間的平衡.f(·)是一個(gè)人工定義的函數(shù),這里列舉文中使用的函數(shù):
f(x+δ)=max(max{Z(x+δ)i:
i≠t}-Z(x+δ)t,-K).
這里,f(·)≤0當(dāng)且僅當(dāng)分類結(jié)果為對(duì)抗目標(biāo)標(biāo)簽t時(shí).K保證x+δ將被高度信任地分類為t.因此在最小化式子中,既要讓擾動(dòng)δ盡量小,也要讓f(·)盡量小,即分類結(jié)果為目標(biāo)標(biāo)簽t.C&W保證生成的AEs一定會(huì)被錯(cuò)誤分類,但由于計(jì)算量大,造成時(shí)間開(kāi)銷較大.
7) EAD攻擊.EAD (Elastic-net attacks to DNNs)[112]是用于制作AEs的彈性網(wǎng)絡(luò)正則化攻擊框架,它結(jié)合了L1,L2度量,提供了很少使用的面向L1的樣例,并將最好的L2攻擊作為一個(gè)特例.結(jié)果顯示,EAD設(shè)計(jì)的基于L1的示例執(zhí)行得和其他最佳攻擊一樣好.最優(yōu)化公式為
其中,f(x+δ)與C&W中相同,t是目標(biāo)標(biāo)簽.相較于C&W,EAD的優(yōu)化公式中多了一個(gè)擾動(dòng)項(xiàng).顯然,當(dāng)β=0時(shí),C&W中的L2目標(biāo)攻擊是EAD的一個(gè)特殊的情況.
8) OptMargin攻擊.OptMargin[113]可以在有限的輸入空間內(nèi)躲避基于區(qū)域分類的防御.與以前的研究不同,它的目標(biāo)是低維的子空間,不受空間周圍鄰居點(diǎn)的限制.該方法產(chǎn)生的AEs的判定邊界與良性樣本不同.然而,它無(wú)法模仿良性樣本.OptMargin是C&W在L2攻擊的擴(kuò)展,它在x的周圍添加了許多目標(biāo)函數(shù).具體優(yōu)化公式為
這里,x0是原始樣例.x=x0+δ是對(duì)抗樣本.y是x0的真實(shí)標(biāo)簽.fi(x)是類似于C&W的目標(biāo)函數(shù),共m個(gè).vi是應(yīng)用于x的擾動(dòng),共m個(gè).OptMargin不僅保證對(duì)抗樣本x可以欺騙神經(jīng)網(wǎng)絡(luò),還保證它周圍的鄰居x+vi也可以.
9) DeepFool攻擊.DeepFool[76]以迭代方式產(chǎn)生最小的歸一化擾動(dòng).他們將圖像逐步推入分類邊界,直到符號(hào)發(fā)生變化.在相近的成功欺騙率下,DeepFool產(chǎn)生的擾動(dòng)比FGSM要小.
10) NewtonFool攻擊.NewtonFool[114]提出了一個(gè)強(qiáng)假設(shè),即攻擊者可以使用倒數(shù)第2層輸出的類概率向量Z(x).假設(shè)l=F(x0),他們的目的是找到小的δ,使Z(x0+δ)l=0.他們用迭代方法把Z(x0)l盡可能快地降到0.從Z(x0)l開(kāi)始,他們?cè)诿恳徊绞褂镁€性函數(shù)逼近新的Z(x)l,即
Z(xi+1)l≈Z(xi)l+Z(xi)l×
(xi+1-xi),i=0,1,2,…,
其中,δi=xi+1-xi是第i步迭代的擾動(dòng),最終擾動(dòng)δ=δ0+δ1+…+δi.結(jié)果表明它比FGSM,JSMA,DeepFool都快.
11) UAP攻擊.UAP(universal adversarial pertur-bations)[81]可以以高概率在幾乎任何輸入數(shù)據(jù)上導(dǎo)致目標(biāo)模型的錯(cuò)誤分類.UAP對(duì)于數(shù)據(jù)和網(wǎng)絡(luò)架構(gòu)來(lái)說(shuō)是通用的.讓?duì)瘫硎景袠永臄?shù)據(jù)集.它主要目的是尋找擾動(dòng)δ,這個(gè)δ可以在幾乎所有μ中的樣本上欺騙F(·).
F(x+δ)≠F(x), 大部分x∈μ,
其中擾動(dòng)δ應(yīng)滿足約束條件:
P表示概率,通常0<λ?1.在沒(méi)有優(yōu)化或梯度計(jì)算的情況下,他們將每次迭代計(jì)算的最小擾動(dòng)集合起來(lái).Hayes等人[115]使用通用對(duì)抗網(wǎng)絡(luò)(UANs)在有目標(biāo)和無(wú)目標(biāo)攻擊中自動(dòng)生成UAP.
12) ATN攻擊.ATN[33]是一種訓(xùn)練有素的神經(jīng)網(wǎng)絡(luò),可以高效、自動(dòng)地攻擊另一個(gè)目標(biāo).ATN通過(guò)添加最小擾動(dòng)將任何輸入轉(zhuǎn)換為AE.他們使用有針對(duì)性的白盒ATNs來(lái)生成AEs,并成功地將83%~92%的圖像輸入轉(zhuǎn)換為對(duì)ImageNet的對(duì)抗攻擊.
13) 其他攻擊方法.Papernot等人[34]提出了一種基于黑盒綜合數(shù)據(jù)生成替代訓(xùn)練算法的新方法,在Google和Amazon上分別實(shí)現(xiàn)了96.19%和88.94%的準(zhǔn)確率.Tramèr等人[116]提出了梯度對(duì)齊對(duì)子空間,它用于估計(jì)輸入空間的未知維度.他們發(fā)現(xiàn),子空間的很大一部分被2個(gè)不同的模型共享,從而實(shí)現(xiàn)了可移植性.他們首先尋找多個(gè)獨(dú)立的攻擊方向,定量研究模型決策邊界的相似性.Narodytska等人[117]利用一種基于局部搜索的新技術(shù)構(gòu)造了網(wǎng)絡(luò)梯度的數(shù)值逼近,然后利用該技術(shù)構(gòu)造了圖像中的一組像素在黑盒中擾動(dòng).此外,Ilyas等人[118]引入了一個(gè)更加嚴(yán)格和實(shí)用的黑盒威脅模型.他們使用自然進(jìn)化策略來(lái)執(zhí)行黑盒攻擊,減少了2~3個(gè)數(shù)量級(jí)的查詢.
除了DNN外,還有很多研究人員對(duì)生成模型、強(qiáng)化學(xué)習(xí)和機(jī)器學(xué)習(xí)算法進(jìn)行了深入的研究.Mei等人[119]為支持向量機(jī)、邏輯回歸和線性回歸確定最優(yōu)訓(xùn)練集攻擊.證明了最優(yōu)攻擊可以描述為一個(gè)雙層優(yōu)化問(wèn)題,可以用梯度法求解.Huang等人[120]證明了對(duì)抗攻擊策略在強(qiáng)化學(xué)習(xí)中也是有效的.Kos等人[121]對(duì)深度生成模型(如變分自編碼器(VAE))進(jìn)行了對(duì)抗攻擊.他們的方法包括基于分類器的攻擊,以及對(duì)潛在空間的攻擊,這些攻擊在MNIST,SVHN和CelebA上都表現(xiàn)得很好.
4.4.1 物理世界的對(duì)抗攻擊
在圖像識(shí)別領(lǐng)域,考慮到觀察點(diǎn)、光照和相機(jī)噪聲的影響,傳統(tǒng)技術(shù)產(chǎn)生的AEs可能無(wú)法在物理世界中欺騙分類器.Kurakin等人[107]使用從手機(jī)攝像頭拍攝的圖像作為Inception v3圖像分類神經(jīng)網(wǎng)絡(luò)的輸入.結(jié)果表明,由原始網(wǎng)絡(luò)構(gòu)造的大量對(duì)抗圖像,即使通過(guò)攝像機(jī)輸入到分類器,也會(huì)產(chǎn)生誤分類.Athalye等人[2]提出了一種EOT(expectation over transformation)算法,用于合成對(duì)物理世界具有魯棒性的對(duì)抗樣本.他們使用EOT的特殊應(yīng)用,并通過(guò)3D渲染過(guò)程進(jìn)行區(qū)分,從而生成對(duì)抗對(duì)象.結(jié)果表明,3D打印對(duì)象可以從各個(gè)角度欺騙現(xiàn)實(shí)世界的系統(tǒng).
大多數(shù)的投毒攻擊都集中在數(shù)據(jù)和算法上,因此防御方法主要考慮從保護(hù)數(shù)據(jù)和算法入手.
1) 保護(hù)數(shù)據(jù).數(shù)據(jù)保護(hù)主要包括保護(hù)收集到的數(shù)據(jù)不受篡改、抵抗重寫(xiě)攻擊、防止拒絕、防止數(shù)據(jù)偽造、檢測(cè)有毒數(shù)據(jù)等[122-124].Olufowobi等人[125]提出了一種物聯(lián)網(wǎng)系統(tǒng)的數(shù)據(jù)來(lái)源模型,以提高數(shù)據(jù)的可信度和可靠性.該模型描述了創(chuàng)建或修改數(shù)據(jù)點(diǎn)的上下文.他們未來(lái)的工作是將該模型集成到物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)源完整性檢測(cè)算法中.Chakarov等人[126]通過(guò)評(píng)價(jià)單個(gè)數(shù)據(jù)點(diǎn)對(duì)訓(xùn)練模型性能的影響,采用一種檢測(cè)投毒數(shù)據(jù)的方法.他們需要通過(guò)比較可信數(shù)據(jù)集上的性能來(lái)評(píng)估模型.Baracaldo等人[72]通過(guò)使用源信息作為過(guò)濾算法的一部分來(lái)檢測(cè)投毒攻擊.該方法提高了檢測(cè)率.他們使用訓(xùn)練數(shù)據(jù)點(diǎn)的來(lái)源和轉(zhuǎn)換上下文來(lái)識(shí)別有害數(shù)據(jù).它是在部分可信和完全不可信的數(shù)據(jù)集上實(shí)現(xiàn)的.
2) 保護(hù)算法.學(xué)習(xí)算法總是要在防止正則化和減少損失函數(shù)之間做出權(quán)衡,這種不確定性可能導(dǎo)致學(xué)習(xí)算法的脆弱性.一些投毒攻擊是根據(jù)自身的弱點(diǎn)來(lái)實(shí)施的,因此研究魯棒機(jī)器學(xué)習(xí)算法是預(yù)防投毒攻擊的有效途徑.Candès等人[127]首先研究了魯棒PCA的魯棒機(jī)器學(xué)習(xí)算法.它假定底層數(shù)據(jù)集的一小部分是隨機(jī)銷毀的,而不是有針對(duì)地銷毀.Chen等人[128]研究了對(duì)抗破壞下的魯棒線性回歸問(wèn)題,F(xiàn)eng等人[129]研究魯棒的邏輯回歸,他們都需要對(duì)特征獨(dú)立性和亞高斯分布做出強(qiáng)有力的假設(shè).Goodfellow等人[73]提出了一種魯棒線性回歸方法,該方法放松了對(duì)特征獨(dú)立性和低方差亞高斯噪聲的假設(shè),只假設(shè)特征矩陣可以用低秩矩陣逼近.該方法將魯棒低秩矩陣近似與魯棒主成分相結(jié)合,獲得了較強(qiáng)的性能保證.Jagielski等人[93]在訓(xùn)練過(guò)程中加入有毒的數(shù)據(jù)訓(xùn)練模型,而不是簡(jiǎn)單地刪除它們.該方法迭代地估計(jì)回歸參數(shù),并將其訓(xùn)練在每次迭代中殘差最小的點(diǎn)的子集上.本質(zhì)上,它使用了一個(gè)根據(jù)每次迭代中殘差的不同子集計(jì)算的被修剪的損失函數(shù).
對(duì)抗攻擊的防御方法主要從阻止對(duì)抗樣本生成和檢測(cè)對(duì)抗樣本2個(gè)目標(biāo)出發(fā),本文總結(jié)了以下7種方法.
1) 對(duì)抗訓(xùn)練.對(duì)抗訓(xùn)練選擇AEs作為訓(xùn)練數(shù)據(jù)集的一部分,使訓(xùn)練后的模型能夠?qū)W習(xí)AEs的特征.Huang等人[82]提出了一個(gè)較早的防御方法,即通過(guò)生成AEs作為中間步驟來(lái)學(xué)習(xí)具有強(qiáng)大對(duì)手的魯棒分類器.同時(shí)他們也提出了一種新的AEs搜索方法.Kurakin等人[109]將對(duì)抗訓(xùn)練應(yīng)用于更大的數(shù)據(jù)集,如ImageNet.其主要?jiǎng)?chuàng)新之處是批處理規(guī)范化、訓(xùn)練數(shù)據(jù)集(包括干凈的和敵對(duì)的示例)和相對(duì)權(quán)重.他們還發(fā)現(xiàn)一步攻擊比迭代攻擊更具有可移植性.但是這種訓(xùn)練在正常樣本上喪失了部分準(zhǔn)確性.此外,集成對(duì)抗訓(xùn)練[108]包含了從其他預(yù)訓(xùn)練模型傳輸?shù)拿總€(gè)輸入.然而,對(duì)抗訓(xùn)練只能使訓(xùn)練模型對(duì)訓(xùn)練集中的AEs具有較強(qiáng)的魯棒性,該模型不能學(xué)習(xí)訓(xùn)練集之外的AEs的特性.
2) 基于區(qū)域的分類.了解對(duì)抗樣本區(qū)域的性質(zhì),并使用更健壯的基于區(qū)域的分類也可以抵御對(duì)抗攻擊.Cao等人[130]使用基于區(qū)域的分類(RC)代替基于點(diǎn)的分類開(kāi)發(fā)了新的DNNs.他們通過(guò)從以測(cè)試樣本為中心的超立方體中隨機(jī)選擇幾個(gè)點(diǎn)來(lái)預(yù)測(cè)標(biāo)簽.RC將C&W攻擊的成功率從100%降低到16%,但它對(duì)OptMargin攻擊很難起作用.Pang等人[83]使用了一種反向交叉熵防御方法.該分類器將正常樣本映射到最終隱藏層空間的低維流形鄰域.Ma等人[131]提出了局部固有維數(shù)來(lái)表征對(duì)抗區(qū)域的維數(shù)特性.他們基于樣本到鄰域的距離分布,對(duì)樣本區(qū)域的空間填充能力進(jìn)行了評(píng)價(jià).另外,Mccoyd等人[132]在訓(xùn)練數(shù)據(jù)集中添加了大量不同類別的背景圖像,以幫助檢測(cè)AEs.他們?cè)贓MNIST數(shù)據(jù)集中的關(guān)鍵類之間添加了背景類,背景類充斥在關(guān)鍵類之間的空白區(qū)域.該方法易于實(shí)施,但對(duì)C&W攻擊沒(méi)有效果.
3) 輸入數(shù)據(jù)變換.改變或轉(zhuǎn)換輸入可以防御對(duì)抗攻擊.Song等人[84]發(fā)現(xiàn)AEs主要位于訓(xùn)練區(qū)域的低概率區(qū)域.因此他們?cè)O(shè)計(jì)了PixelDefend,通過(guò)自適應(yīng)地將AE向分布方向移動(dòng)來(lái)凈化AE.Guo等人[133]通過(guò)圖像轉(zhuǎn)換探索了圖像分類系統(tǒng)的模型無(wú)關(guān)防御.他們的目的是消除輸入的對(duì)抗擾動(dòng).他們的圖像轉(zhuǎn)換包括圖像裁剪和重新縮放、位深度縮減、JPEG壓縮、總方差最小化和圖像拼接.Xie等人[134]在預(yù)測(cè)過(guò)程使用對(duì)輸入的隨機(jī)化來(lái)防御對(duì)抗攻擊并減輕影響,包括隨機(jī)調(diào)整圖片大小和隨機(jī)填充.該方法計(jì)算量小,與其他防御方法兼容.另外,Wang等人[135]認(rèn)為AEs比正常樣本更敏感.如果將大量隨機(jī)擾動(dòng)添加到對(duì)抗樣本和正常樣本中,標(biāo)簽變化的比例會(huì)有顯著差異,這樣就可以識(shí)別對(duì)抗樣本.他們?cè)贛NIST和CIFAR-10上實(shí)現(xiàn)了高準(zhǔn)確度和低成本的差異判別.Tian等人[136]認(rèn)為AEs對(duì)某些圖像變換操作(如旋轉(zhuǎn)和移位)比正常圖像更敏感.他們用這種方法在圖像分類中抵御了白盒的C&W攻擊.Buckman等人[137]提出了一種對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行簡(jiǎn)單修改的方法TE(thermometer encoding).他們發(fā)現(xiàn)TE和熱碼離散化顯著提高了網(wǎng)絡(luò)對(duì)AEs的魯棒性.
4) 梯度正則化.梯度正則化(或梯度掩蔽)是另一種有效的防御方法.Madry等人[85]通過(guò)優(yōu)化鞍點(diǎn)公式實(shí)現(xiàn)了這一點(diǎn),鞍點(diǎn)公式包括由投影梯度下降(PGD)求解的內(nèi)部最大值和由隨機(jī)梯度下降(SGD)求解的外部最小值.但他們發(fā)現(xiàn)這不能保證在合理的時(shí)間內(nèi)實(shí)現(xiàn).Ross等人[138]分析了輸入梯度正則化,其目的是訓(xùn)練可微模型,以懲罰輸入的微小變化.結(jié)果表明,輸入梯度正則化增強(qiáng)了魯棒性,與防御蒸餾和對(duì)抗訓(xùn)練有質(zhì)的區(qū)別.
5) 防御蒸餾.Papernot等人[86]提出了一種防御蒸餾方法.蒸餾主要是指將知識(shí)從復(fù)雜的結(jié)構(gòu)轉(zhuǎn)移到簡(jiǎn)單的結(jié)構(gòu)中,從而降低DNN結(jié)構(gòu)的計(jì)算復(fù)雜度.該方法能夠成功地抑制FGSM和基于Jacobian的迭代攻擊構(gòu)造的AEs.Papernot等人[111]還利用防御蒸餾提取的知識(shí)對(duì)模型進(jìn)行平滑處理,并降低了網(wǎng)絡(luò)梯度的大小.網(wǎng)絡(luò)梯度大意味著小的擾動(dòng)會(huì)引起輸出結(jié)果大的變化,有利于尋找對(duì)抗樣本.
6) 數(shù)據(jù)處理.Liang等人[139]引入標(biāo)量量化和平滑空間濾波,以減小擾動(dòng)的影響.他們使用圖像熵作為度量標(biāo)準(zhǔn),并對(duì)各種圖像進(jìn)行了自適應(yīng)降噪.文獻(xiàn)[87]中使用有界ReLU激活函數(shù)對(duì)沖對(duì)抗擾動(dòng)的正向傳播,并使用高斯數(shù)據(jù)增強(qiáng)方法增強(qiáng)泛化能力.Xu等人[140]提出了基于特征壓縮的反例檢測(cè)方法,包括降低每個(gè)像素上顏色位的深度和空間平滑.
7) 防御網(wǎng)絡(luò).一些研究使用神經(jīng)網(wǎng)絡(luò)等工具對(duì)AEs進(jìn)行自動(dòng)對(duì)抗.Gu等人[88]使用了帶有收縮自編碼器(CAEs)和去噪自編碼器(DAEs)的深度收縮網(wǎng)絡(luò)(DCN),它可以通過(guò)額外的噪聲腐蝕和預(yù)處理去除大量的對(duì)抗噪聲.Akhtar等人[141]提出了一種微擾整流網(wǎng)絡(luò)作為目標(biāo)模型的預(yù)輸入層,用于對(duì)抗UAPs.它可以在不修改網(wǎng)絡(luò)的情況下為已部署的網(wǎng)絡(luò)提供防御,并抵御看不見(jiàn)的敵對(duì)干擾.MagNet[142]利用探測(cè)網(wǎng)絡(luò)對(duì)遠(yuǎn)離流形邊界的AEs進(jìn)行探測(cè),利用重整器對(duì)靠近邊界的AEs進(jìn)行改造.該過(guò)程不需要AEs或生成過(guò)程的知識(shí).
隨著人工智能領(lǐng)域在生活中各個(gè)方面的廣泛應(yīng)用[143-145],相關(guān)的安全問(wèn)題也顯現(xiàn)出來(lái).本文調(diào)研了機(jī)器學(xué)習(xí)安全領(lǐng)域相關(guān)的145篇論文,并對(duì)機(jī)器學(xué)習(xí)系統(tǒng)所遇到的安全問(wèn)題進(jìn)行了完整而詳細(xì)的劃分.我們將該領(lǐng)域分為隱私和安全兩大塊,并按攻擊目的、攻擊目標(biāo)、攻擊過(guò)程將攻擊分為4類.在每種攻擊內(nèi)部,按時(shí)間線和所采用的技術(shù),將繁雜的研究進(jìn)行總結(jié)歸納,劃分了不同的技術(shù),并對(duì)技術(shù)之間的優(yōu)劣進(jìn)行了比對(duì)和分析.在防御方面,我們著重保護(hù)機(jī)器學(xué)習(xí)系統(tǒng)的隱私和抵抗安全攻擊,將每種防御類型內(nèi)部的防御技術(shù)進(jìn)行歸類總結(jié),并介紹了防御技術(shù)對(duì)攻擊技術(shù)的適應(yīng)性.另外,根據(jù)對(duì)這些攻擊和防御技術(shù)的總結(jié)和研究,我們還提出了構(gòu)建安全健壯的機(jī)器學(xué)習(xí)系統(tǒng)、保護(hù)機(jī)器學(xué)習(xí)所有參與者隱私安全的經(jīng)驗(yàn),也對(duì)目前機(jī)器學(xué)習(xí)系統(tǒng)以及人工智能領(lǐng)域的熱點(diǎn)問(wèn)題進(jìn)行了討論.
1) 提高數(shù)據(jù)質(zhì)量,增強(qiáng)數(shù)據(jù)安全.機(jī)器學(xué)習(xí)在收集數(shù)據(jù)中可能會(huì)收集到臟數(shù)據(jù),或者攻擊者為實(shí)現(xiàn)投毒攻擊所提供的數(shù)據(jù),因此要對(duì)收集的數(shù)據(jù)做清洗,提高數(shù)據(jù)質(zhì)量.一方面可以采用人工的方法對(duì)臟數(shù)據(jù)進(jìn)行剔除,另一方面可以采用防御方法中對(duì)數(shù)據(jù)集進(jìn)行清洗、保護(hù)的技術(shù)[5,63].面對(duì)數(shù)據(jù)量不足的情況,還可以通過(guò)構(gòu)建生成模型(如GAN)得到相似的數(shù)據(jù).總之,訓(xùn)練的數(shù)據(jù)質(zhì)量越高,訓(xùn)練獲得的模型也越安全.
2) 保證個(gè)人數(shù)據(jù)隱私,防止模型濫用隱私信息.在目前的機(jī)器學(xué)習(xí)系統(tǒng)中,個(gè)人數(shù)據(jù)很難得到安全保障,模型可能從個(gè)人數(shù)據(jù)中推斷出大量隱私信息.為保障用戶的隱私安全,我們建議:引入監(jiān)管部門(mén)對(duì)模型監(jiān)控,嚴(yán)格監(jiān)管模型對(duì)數(shù)據(jù)的使用,只允許模型提取允許范圍內(nèi)的特征,不可以擅自對(duì)敏感信息進(jìn)行提取和推斷;數(shù)據(jù)源保護(hù),模型收集的數(shù)據(jù)必須進(jìn)行去隱私化處理,模糊掉無(wú)關(guān)信息;建立健全相關(guān)法律法規(guī),監(jiān)管數(shù)據(jù)的收集、存儲(chǔ)、使用和刪除過(guò)程.
3) 通過(guò)模型解釋性的研究解決模型安全性滯后性現(xiàn)狀.目前來(lái)說(shuō),由于我們還沒(méi)有實(shí)現(xiàn)對(duì)深度神經(jīng)網(wǎng)絡(luò)的深入理解(不清楚某條數(shù)據(jù)為什么預(yù)測(cè)出這個(gè)結(jié)果,不清楚不同數(shù)據(jù)對(duì)模型參數(shù)的影響程度),因此尋找安全問(wèn)題進(jìn)行攻擊比提前預(yù)防要容易.因此我們亟需研究深度神經(jīng)網(wǎng)絡(luò)可解釋性,尤其是2018年歐盟頒布了GDPR條例,更促進(jìn)了神經(jīng)網(wǎng)絡(luò)可解釋性的發(fā)展,相信隨著對(duì)神經(jīng)網(wǎng)絡(luò)模型理解的加強(qiáng),安全滯后性的問(wèn)題將有效緩解.
4) 加強(qiáng)對(duì)人工智能在實(shí)際應(yīng)用中的安全問(wèn)題研究.人工智能的應(yīng)用已經(jīng)延伸至人類生活的物理世界,如自動(dòng)駕駛應(yīng)用大量的圖像識(shí)別技術(shù).若其中存在安全問(wèn)題將會(huì)直接造成對(duì)人身的物理傷害,從而導(dǎo)致了人們對(duì)AI安全的極大的恐慌.為了解決這個(gè)問(wèn)題,我們要全面地研究機(jī)器學(xué)習(xí)系統(tǒng)易受的安全威脅,加強(qiáng)對(duì)模型的保護(hù),加強(qiáng)對(duì)攻擊方法的抵御.同時(shí)還要力求解釋AI在何種情況下可能會(huì)出現(xiàn)狀況、為什么會(huì)出現(xiàn)狀況以及如何防止這種狀況出現(xiàn),并提出相應(yīng)的防范措施,從而增強(qiáng)人們對(duì)AI技術(shù)應(yīng)用的信任度.
總的來(lái)說(shuō),本文將機(jī)器學(xué)習(xí)系統(tǒng)所面臨的安全問(wèn)題進(jìn)行了詳細(xì)的分類,對(duì)未來(lái)的攻擊防御技術(shù)的研究和發(fā)展有著重要意義.攻擊和防御本身就是一場(chǎng)軍備競(jìng)賽,對(duì)特定的攻擊技術(shù),可以研究專門(mén)的防御去抵抗它;而這種防御技術(shù)又會(huì)被其他的攻擊技術(shù)所攻克.正是在這種攻防競(jìng)賽中,機(jī)器學(xué)習(xí)系統(tǒng)的安全性得以螺旋式的上升.在未來(lái)工作中,我們要繼續(xù)研究機(jī)器學(xué)習(xí)領(lǐng)域的技術(shù)、應(yīng)用和倫理方面的安全問(wèn)題,并將模型提取攻擊、模型逆向攻擊、投毒攻擊和對(duì)抗攻擊中先進(jìn)的攻防工作進(jìn)行部署,從而對(duì)攻擊和防御方法形成更統(tǒng)一和完整的度量.