?

機器學習系統的隱私和安全問題綜述

2019-10-21 05:44何英哲胡興波何錦雯孟國柱
計算機研究與發展 2019年10期
關鍵詞:攻擊者機器樣本

何英哲 胡興波 何錦雯 孟國柱 陳 愷

(信息安全國家重點實驗室(中國科學院信息工程研究所) 北京 100195) (中國科學院信息工程研究所 北京 100195) (中國科學院大學網絡空間安全學院 北京 101408)

深度學習的廣泛應用所帶來的成功并不能保證其安全性,新的威脅和攻擊每天都在出現,它們危及深度學習模型,進而危及人們的隱私、金融資產和安全.作為一種新興的技術,深度學習的安全問題往往被忽視.因此,系統地研究深度學習的安全問題并進一步提出有效的措施,是迫切而關鍵的.

深度學習已廣泛應用于圖像分類、語音識別、自然語言處理、惡意軟件檢測等多個領域.由于計算能力的巨大進步和數據量的急劇增加,深度學習在這些場景中顯示出了優越的潛力.深度學習尤其擅長無監督特征學習,加深對一個對象的理解,具有強大的預測能力.然而,深度學習正遭受精心策劃的攻擊所帶來的一系列威脅.例如深度學習系統很容易被對抗樣本所欺騙,從而導致錯誤的分類.另一方面,使用在線深度學習系統進行分類的用戶不得不向服務器公開他們的數據,這會導致隱私泄露.更糟糕的是,深度學習的廣泛使用加劇了這些安全風險.

研究人員正在探索和研究針對深度學習系統的潛在攻擊以及相應的防御技術.文獻[1]是探索神經網絡安全性的先驅,Szegedy等人用難以察覺的擾動(對抗樣本)揭示了神經網絡的脆弱特性.自此以后,對抗攻擊迅速成為人工智能和安全領域的熱門術語.許多工作都致力于披露不同深度學習模型(例如深度神經網絡(DNN)、卷積神經網絡(CNN)、循環神經網絡(RNN))中的漏洞和提高對抗樣本的健壯性[2].另一方面,深度學習系統的大量商業部署提出了對專有資產(如訓練數據[3-6]、模型參數[7-10])保護的要求,它引發了一場“軍備競賽”,在這場競爭中,攻擊者從競爭對手那里偷取隱私信息,而相應的防御者則采取廣泛的措施來抵御攻擊.

為了全面了解深度學習中的隱私和安全問題,我們對相關文獻和系統進行了調查,研究了150篇左右的相關研究,跨越了圖像分類、語音識別、自然語言處理和惡意軟件檢測4個領域.由于很難完成包羅萬象的調查,所以我們選擇了更具代表性的研究:例如那些在著名會議和期刊上獲得發表的研究;雖然只發表在研討會或專題討論會上,但被引用次數高(超過50次)的研究;在公共平臺上(如arXiv)最近發表的熱點方向論文.基于調研工作,我們將這些攻擊歸納為4類:模型提取攻擊(model extrac-tion attack)、模型逆向攻擊(model inversion attack)、投毒攻擊(poisoning attack)和對抗攻擊(adversarial attack).其中,模型提取和逆向攻擊針對的是隱私,前者主要竊取模型的信息,后者主要獲得訓練數據集的信息;投毒攻擊和對抗攻擊針對的是安全,前者主要在訓練階段投放惡意數據從而降低模型的分類準確率,后者主要在預測階段制造對抗樣本來欺騙模型.

Fig. 1 The number of publications in recent years圖1 近年來相關研究數量

圖1展示了過去5年與機器學習系統安全有關的研究數據,包括對模型的各種攻擊以及隱私保護、安全防御等研究.在過去的5年里,相關研究的數量急劇增長,2017年增長100%,2018年增長61.5%,近2年的文章數量占了接近70%,這也說明了深度學習、機器學習乃至人工智能領域的安全問題越來越引起人們的重視.

圖2顯示了我們所研究的4類攻擊的相關研究數量.其中對抗攻擊是最引人注目的,對模型實施對抗攻擊的研究占據了50%,它可以直接使模型判斷錯誤,因此威脅范圍很廣.模型提取攻擊作為近年來新興的攻擊類型,由于其奠基性(模型提取攻擊獲得的模型可以為其他攻擊提供白盒基礎),難度較大,故相關的研究數量最少,未來還有很大的研究空間.我們調研的文章主要來自人工智能社區和安全社區,其中大部分來自人工智能社區.根據發表地點來對二者區分,具體來說,ICML,CVPR,AAAI,IJCAI,TPAMI等屬于人工智能社區,IEEE S&P,CCS,USENIX Security,NDSS,AISec等屬于安全社區.

Fig. 2 Numbers of related researches on different attack types圖2 不同攻擊類型的相關研究數量

本文主要研究機器學習安全的范圍、整個學習系統基本的組成部分、攻擊方法、防御措施、實用性評價以及有價值的現象與結論,主要包含4方面貢獻:

1) 攻擊和防御技術的系統分析.總結了4種攻擊類型和3種防御類型,全面地對機器學習系統的隱私和安全問題進行了調研和總結.

2) 機器學習系統的模塊化.對機器學習系統進行剖析,按準備過程、訓練過程、預測過程的時間線,按訓練數據集、訓練算法、模型結構、模型參數、預測數據及結果的空間線,系統地總結了機器學習的安全知識.

3) 各個攻擊和防御類型內部具體技術的劃分.對每種攻擊防御類型內的攻防技術進行了剖析,將龐雜的技術文章進行分類,并分析了不同技術之間的差異和優劣.

4) 通過對機器學習系統的安全問題的觀察和總結,以及對這些攻擊和防御技術的分析和研究,提出了構建安全健壯的機器學習系統和保護機器學習所有參與者隱私安全的經驗和建議.

1 相關工作

目前已有部分文獻對機器學習的攻擊和防御進行了調研和評估.在早期的工作中,Barreno等人[11]對機器學習安全性進行了調研,并對針對機器學習系統的攻擊進行了分類.他們在一個統計垃圾郵件的過濾器上進行了實驗,從攻擊的操作方式、對輸入的影響和普遍性3個維度對攻擊進行了剖析.Amodei等人[12]介紹了機器學習中與事故風險相關的5個可能的研究問題,并根據其工作原理,以清潔機器人為例,討論了可能的解決方法.

Papernot等人[13]回顧了之前關于機器學習系統攻擊和相應防御的工作.與以往的調研和綜述不同,他們針對的是關于安全威脅的全面文獻綜述.Bae等人[14]總結了安全與隱私概念下關于AI的攻擊與防御方法.他們在黑盒子和白盒子里檢查對抗和投毒攻擊.隨后,Papernot等人[15]系統地研究了機器學習的安全性和隱私性,并提出了一種機器學習的威脅模型.他們按照訓練過程和預測過程、黑盒模型和白盒模型的分類來介紹攻擊方法.但他們沒有過多涉及應用廣泛的深度學習模型.Liu等人[16]主要關注機器學習的2個階段,即訓練階段和預測階段,并提供了較全面的文獻綜述.他們將相應的防御措施分為4類.另外,他們的研究更關注對抗樣本導致的數據分布漂移和機器學習算法導致的敏感信息泄露等問題.

Akhtar等人[17]全面研究了計算機視覺領域中深度學習受到的對抗攻擊,總結了12種不同類別的攻擊方法.除常用的CNN外,他們還研究了對其他模型的攻擊(如自動編碼器、生成模型、RNN)以及物理世界中的攻擊,此外他們也總結了多種防御方法.然而,這項工作的研究內容只限于計算機視覺領域的對抗攻擊.Ling等人開發的DeepSec[18]是一個統一的評測平臺.DeepSec集成了對抗學習中16種攻擊方法和13種防御方法,旨在衡量深度學習模型的脆弱性,并評估各種攻擊和防御的有效性.

本文對機器學習系統特別是深度學習中的隱私和安全問題進行調研和總結,對攻擊和防御方法進行分類,分析不同類別下的攻防技術,并介紹其在圖像分類、語音識別、自然語言處理和惡意軟件檢測等不同領域的應用.

2 機器學習概述

2.1 機器學習系統

有監督的機器學習主要分為2個階段:模型訓練階段和模型預測(推理)階段.模型訓練階段將訓練數據集作為輸入,最后生成模型;模型預測階段接受用戶或攻擊者的輸入并提供預測結果.為了完成這2個階段,模型設計人員必須指定使用的訓練數據和訓練算法.模型訓練階段生成經過調優的訓練模型以及相關參數.而在運行訓練算法之前,傳統機器學習需要人工提取和選擇特征,深度學習則委托訓練算法自動識別可靠而有效的特征.通常,經過訓練的模型可以部署用于商業用途.在商業應用中,模型根據接收到的輸入計算最可能的結果.以惡意軟件檢測為例,安全分析人員首先從惡意軟件中收集數據(可能是原始數據),提取有代表性的特征并構建分類模型,以檢測惡意軟件.

深度學習是機器學習這個廣泛的家族的一部分,深度神經網絡受到生物神經系統的啟發,由成千上萬個神經元組成,用來傳遞信息.深度學習受益于人工神經網絡,通常使用更多的層來提取和轉換特征.

Table 1 Formalization in Machine Learning System

表1 機器學習系統的符號化

SymbolDefinitionDDatasetx(1),x(2),…,x(n)Input Datay(1),y(2),…,y(n)Output ResultFModelwkijWeights ParametersbkjBias ParametersλHyperparametersxtPrediction InputytPrediction OutputδPerturbation

2.2 安全威脅

圖3展示了一個經典的深度學習模型在訓練階段、預測階段的過程容易受到的威脅.最近的研究表明,機器學習系統是脆弱的,很容易受到特定攻擊的影響.根據攻擊目標,這些攻擊可以分為4類:投毒攻擊、模型提取攻擊、模型逆向攻擊和對抗攻擊.在本節中,我們將通過示例及其正式定義來詳細說明這些攻擊.

1) 投毒攻擊.投毒攻擊主要是指在訓練或再訓練過程中,通過攻擊訓練數據集或算法來操縱機器學習模型的預測.由于在安全機器學習領域中,數據通常是非平穩的,其分布可能隨時間而變化,因此一些模型不僅在訓練過程中生成,而且在周期性再訓練過程中隨時間而變化.攻擊訓練數據集的方法主要包括污染源數據、向訓練數據集中添加惡意樣本、修改訓練數據集中的部分標簽、刪除訓練數據集中的一些原有樣本等.攻擊算法利用了不安全的特征選擇方法或訓練過程算法的弱點.投毒攻擊會增加訓練合適模型的難度.它還可以在生成的模型中為攻擊者添加一個后門,攻擊者可以使模型的預測偏向他想要的方向[19].

2) 模型提取攻擊.模型提取攻擊發生在訓練好的模型上,主要用于竊取模型參數及非法獲取模型.它違反了訓練模型的保密性.在新的業務機器學習即服務(machine learning as a service, MLaaS)設置中,模型本身托管在一個安全的云服務中,它允許用戶通過基于云的預測API查詢模型.模型所有者通過讓用戶為預測API付費來實現模型的業務價值,所以機器學習模型屬于商業秘密.此外,一個模型的訓練過程需要收集大量的數據集,也需要大量的時間和巨大的計算能力,所以一旦提取出模型并對其濫用,就會給模型擁有者帶來巨大的經濟損失.

3) 模型逆向攻擊.在早期的認識中,訓練數據集和訓練模型之間只有一個信息流,即從數據集到模型.事實上,許多研究表明還存在一個逆向信息流,即從模型信息中恢復數據集信息,這稱為模型逆向攻擊.模型逆向攻擊是指將訓練數據集信息從模型中逆向提取出來.它主要包括成員推理攻擊(membership inference attack, MIA)和屬性推理攻擊(property inference attack, PIA).MIA主要對數據集中是否出現特定記錄進行推斷,即判斷隸屬度,這是目前研究的熱點.PIA則主要獲取數據集的如性別分布、年齡分布、收入分布、患病率等屬性信息.模型逆向攻擊竊取了訓練數據集中成員的私有信息,也損害了數據集所有者的商業價值.發生這種情況有2個原因:①不充分的隱私保護,如信息泄露[20];②不安全的算法[21].為了加強對個人隱私的保護,歐盟于2018年頒布GDPR,它明確界定了個人資料的隱私,并對其進行嚴格保護[22].

4) 對抗攻擊.對抗攻擊是指將對抗樣例提交到訓練好的模型中,從而使模型預測錯誤,它也被稱為逃避攻擊(evasion attack).對抗樣本是從原來正常的樣本上添加了輕微的擾動,可以導致分類模型分類錯誤的樣本.對抗樣本另外一個特點是僅造成模型分類錯誤,人還是可以將它正確分類.同樣,在語音和文本識別領域,對抗樣本也未對原文進行令人察覺的修改.在惡意軟件檢測領域,惡意軟件作者在其軟件上添加一些特殊的語句可以逃避反病毒軟件的檢測.

3 隱 私

隱私是信息安全領域一個普遍存在但又難以解決的問題.廣義上說,隱私包括有價值的資產和數據不受竊取、推斷和干預的權利.由于深度學習是建立在海量數據之上的,經過訓練的模型實際上是一個數據模型,而經過訓練的模型需要與來自個人的測試數據進行大量交互,因此隱私顯得更加重要,也需要更強的保護.在本節中,我們將介紹深度學習系統中存在的隱私問題,并從攻擊和防御2個方面介紹當前的研究現狀.

3.1 隱私問題簡介

從本質上講,深度學習將大量的數據轉換為一個數據模型,該數據模型可以進一步地根據輸入數據預測結果,凡是涉及到數據的部分都需要關注其隱私問題.基于整個深度學習過程,我們將隱私保護的對象分類為:1)訓練數據集;2)模型結構、算法和模型參數;3)預測數據與結果.

高質量的訓練數據對深度學習的表現至關重要.一般來說,訓練數據的收集是一個耗時耗錢的過程:來自互聯網的免費數據集通常不符合要求;從專業公司購買數據需要花費大量金錢;手工標記數據需要花費很多時間.此外,訓練數據在最終傳遞到深度學習系統之前,還需要經過清洗、去噪和過濾等過程.因此,訓練數據對于一個公司來說是至關重要的,也是非常有價值的,它的泄露意味著公司資產的損失.

深度學習中的訓練模型是一種數據模型,是訓練數據的抽象表示.在現代深度學習系統中,訓練階段需要處理大量的數據和多層訓練,對高性能計算和海量存儲有著嚴格的要求.也就是說,經過訓練的模型被認為是深度學習系統的核心競爭力.通常,訓練模型包含3種類型的數據資產:1)模型,例如傳統的機器學習和深度神經網絡;2)超參數,設計了訓練算法的結構如網絡層數和神經元個數;3)參數,為多層神經網絡中一層到另一層的計算系數.

在這種情況下,經過訓練的模型具有極其重要的商業和創新價值.一旦模型被復制、泄露或提取,模型所有者的利益將受到嚴重損害.在預測輸入和預測結果方面,隱私來自于深度學習系統的使用者和提供者.惡意的服務提供者可能會保留用戶的預測數據和結果,以便從中提取敏感信息,或者用于其他目的.另一方面,預測輸入和結果可能會受到不法分子的攻擊,他們可以利用這些數據來為自己創造利潤.

3.2 隱私問題研究工作

為了對隱私問題提供一個全面的概述,我們調查了48篇相關的文章,21篇與破壞隱私相關的文章和27篇與保護隱私相關的文章.

目前主流的隱私破壞方法主要有模型提取攻擊(model extraction attack)和模型逆向攻擊(model inversion attack).二者的主要區別是,前者關注模型的隱私信息,后者關注數據集的隱私信息.在模型提取攻擊中,攻擊者通過深度學習系統提供的API向模型發送大量的預測數據,然后接收模型返回的類標簽和置信度系數,計算出模型的參數,最后還原原始模型.這種攻擊可以破壞模型本身的隱私,損害模型所有者的利益,為攻擊者創造商業價值,還可以幫助實現模型逆向攻擊和對抗攻擊.

在模型逆向攻擊中,攻擊者通過向模型提供預測數據得到模型的置信度系數,破壞用戶或數據集的隱私(例如恢復人臉識別系統中的人臉信息).如第2節所述,逆向攻擊包括成員推理攻擊(MIA)和屬性推理攻擊(PIA).在MIA中,攻擊者可以推斷訓練數據集中是否包含特定的記錄.在PIA中,攻擊者可以推測訓練數據集中是否存在一定的統計特征.最近的研究發現,在人口訓練數據集中,某些階層的人(如婦女和少數民族)的樣本代表性不足,會影響最終模型的表現[23].模型逆向攻擊表明,信息不僅可以從數據集流向模型和預測結果,還可以從模型和預測結果反向流向數據集.

現實中存在很多隱私風險,因此隱私保護是深度學習的關鍵.在訓練過程中,用戶不能自動刪除公司收集的數據,不能控制自己如何使用數據,甚至不知道是否從數據中學習到了敏感信息.用戶還承擔著公司存儲的數據被其他部門合法或非法訪問的風險.在推理過程中,他們的預測數據和結果也會受到影響.模型提供者需要保護他們的模型和數據集不被公開.

在實施方面,隱私保護可以分為4種技術:1)差分隱私(DP-differential privacy)[6,24];2)同態加密(HE-homomorphic encryption)[25-26];3)安全多方計算(SMC-secure multi-party computation)[27-28];4)次優選擇(SC-suboptimal choice)[8,29].

差分隱私是密碼學中的一種手段,旨在最大限度地提高數據查詢的準確性,同時盡可能減少從統計數據庫[30]查詢時識別其記錄的機會.它主要通過刪除個體特征并保留統計特征的方式來保護用戶隱私.Dwork等人[31]首先提出了嚴格的數學定義,稱為ε-indistinguishability和δ-approximateε-indistinguishability,后來分別被稱為ε-差分隱私和(ε,δ)-差分隱私.由于差分隱私在數據庫中的應用,在深度學習中它經常被用來保護訓練數據集的隱私.

同態加密是一種關注數據處理的加密技術,最早由Rivest在20世紀70年代提出,包括加法同態加密和乘法同態加密.Gentry在2009年首次設計了一個真正的全同態加密方案.同態加密是這樣一種加密函數:對明文進行環上的加法和乘法運算,然后對其進行加密,和先對明文進行加密,再對密文進行相應的運算,可以得到等價的結果,即En(x)⊕En(y)=En(x+y).在深度學習中,同態加密通常被用來保護用戶的預測數據和結果.一些工作也保留了訓練模型的隱私.用戶加密他們的數據并以加密的形式將其發送到MLaaS中,云服務將其應用于模型進行加密預測,然后以加密的形式返回給用戶.

安全多方計算主要是為了在沒有可信第三方的情況下,保證約定函數的安全計算,這始于百萬富翁的問題.它主要采用的技術包括多方計算、加密電路和不經意傳輸.在深度學習過程中,其應用場景是多個數據方希望使用多個服務器對其聯合數據進行模型訓練.它們要求任何數據方或服務器不能從該過程中的任何其他數據方了解訓練數據.安全多方計算可以保護訓練數據集和訓練模型.

與上述3種系統保護技術不同,次優選擇是一種獨特的保護方法.該方法易于實現,且具有較低的時間成本,但其效果尚未經過大規模實踐的檢驗.例如,為防止盜竊模型參數,一些研究人員可能對模型參數進行四舍五入處理[29],將噪聲添加到類概率[8],拒絕特征空間里的異常請求[10],返回第2或第3類的最大概率[7]等.所有這些方法都在一定程度上失去了一些準確性,從而換取隱私保護的改善.因此,在應用這些防御技術之前,需要仔細考慮得失之間的平衡.

綜上所述,我們將這些攻擊目標與攻擊方法和防御方法相關聯.模型逆向攻擊通常獲取訓練數據集的信息.模型提取攻擊針對訓練好的模型.預測數據和結果在傳輸過程中容易受到竊取等傳統攻擊.此外,差分隱私通常保護訓練數據集,同態加密模型和預測數據,安全多方計算在訓練過程中保護數據集和模型,次優選擇主要針對訓練模型.

3.3 攻擊方法

本節詳細介紹3種隱私攻擊的技術方法.

3.3.1 模型提取攻擊

模型提取攻擊破壞了模型本身的隱私,攻擊者試圖竊取模型的參數和超參數.目前主流方法通過構建精確模型或相似模型來實現模型的提取.精確模型是指攻擊者試圖重建原始模型,或從原始模型計算參數或超參數;而相似模型是攻擊者構建的一個在預測性能上相近的替代模型.竊取精確模型會損害模型所有者的核心商業資產,并為攻擊者獲取價值,而竊取相似模型通常用于生成可遷移的對抗樣本.眾所周知,對抗樣本對深度學習是一個不小的威脅,但如果攻擊者對模型一無所知,則很難生成可靠的對抗樣本.通過發動模型提取攻擊,攻擊者以某種方式提取到原始模型、參數或結構,便可以利用這些知識來確定決策邊界,從而生成相應的反例.

模型提取攻擊的研究大多是在黑盒模型下進行的,在黑盒模型下只能得到訓練模型的算法.攻擊者通常構造特殊的輸入,向預測API提交查詢,并接收輸出,獲得許多輸入輸出對.由于訓練后的機器學習模型本質上是一個函數,因此只要攻擊者獲得足夠的輸入輸出對并有足夠的時間,從理論上就可以恢復模型參數.實際上,攻擊者需要做的是利用模型特性來生成包含更多信息的樣本,以減少查詢個數的需求和時間成本,有時甚至要犧牲一些準確性.

1) 精確模型.在模型的精確參數重構中,方程求解攻擊方法在機器學習模型中具有良好的效果.Tramèr 等人[32]介紹了一種通過預測API提取模型的方法.他們通過發送大量的查詢建立了模型方程,并得到了相應的預測結果.但該方法僅適用于決策樹、邏輯回歸、簡單神經網絡等特定的機器學習模型,不適用于DNN.Wang等人[29]試圖在已知模型算法和訓練數據的前提下竊取超參數.超參數在文中稱為λ,用于平衡目標函數中的損失函數和正則化項.由于訓練過程要求目標函數最小,所以目標函數在模型參數處的梯度為0.根據這個性質,攻擊者可以通過對模型的查詢得到很多線性方程,即超參數、模型參數和輸入數據之間的關系.最后,利用線性最小二乘法對超參數進行估計.Baluja等人[33]訓練了一個名為元模型(meta model)的分類器來預測模型屬性.攻擊者將查詢輸入提交給目標模型,并將目標模型提供的輸出作為元模型的輸入,然后元模型嘗試輸出目標模型的屬性.元模型可以推斷系統架構、操作方法、訓練數據集大小等信息.

2) 相似模型.相似模型只要求在模型的表現上與原模型近似,主要用于生成對抗樣本等.Papernot等人[34]試圖生成可遷移的、無目標的對抗樣本.攻擊者利用基于雅可比矩陣的數據集增強(Jacobian-based dataset augmentation, JbDA)技術生成合成樣本來查詢目標模型,并建立了一個近似于目標模型決策邊界的攻擊模型.然后攻擊者利用攻擊模型生成對抗樣本,由于可移植性,這些樣本會被目標模型誤分類.Juuti等人[7]通過對DNN訓練的正則化和對JbDA的一般化,提出了一種新的合成數據生成方法,生成了對抗樣本.經過擴展后的JbDA技術在生成可遷移的有針對性的對抗樣本和復制預測行為方面具有較高的效率.考慮到不同模型之間的差異,Papernot他們[35]還發現,關于目標模型體系結構的知識是不必要的,因為任何機器學習模型都可以用更復雜的模型來代替,比如DNN.

3.3.2 成員推理攻擊

Truex等人[36]提出了MLaaS平臺中成員推理攻擊(membership inference attack, MIA)的一種通用的系統方案.給定實例x和對在數據集D上訓練的分類模型Ft的黑盒訪問權,當訓練Ft時,對手是否能夠在D中很有信心地推斷實例x是否包含在D中.在MIA中,對手更關心x是否在D中,而不是x的內容.目前成員推理攻擊可以通過3種方法實現:

1) 訓練攻擊模型.攻擊模型是一個二元分類器,用來推斷目標記錄的信息.它將成員推理問題轉化為分類問題,可用于白盒和黑盒攻擊.很多研究還引入了影子模型來訓練攻擊模型,影子模型主要用來模擬目標模型,并生成攻擊模型所需的數據集.當然,對影子模型的訓練也會增加攻擊代價.

Shokri等人[37]利用機器學習中的API調用,設計、實現并評估了黑盒模型的MIA攻擊方法.他們生成了類似于目標訓練數據集的數據集,并使用相同的MLaaS來訓練影子模型.這些數據集是通過基于模型的綜合、基于統計的綜合、有噪聲的真實數據等方法得到的.使用影子模型為攻擊模型提供訓練集,訓練集輸入是某個記錄的類標簽、預測向量.輸出是該記錄是否屬于影子模型訓練集.訓練好的攻擊模型以類標簽和預測向量作為輸入,輸出該記錄是否在目標訓練集中.Salem等人[38]放寬了文獻[37]中的部分約束條件 (要在同一MLaaS上訓練影子模型,影子模型和目標模型的數據集具有相同分布),并在沒有目標模型的知識結構和訓練數據集分布的情況下只使用一個影子模型.攻擊模型以模型概率向量輸出的前3個最大值作為輸入確定隸屬度.

Pyrgelis等人[39]實現了在聚合位置數據上的MIA.其主要思想是利用先驗位置信息,通過具有識別功能的可識別博弈過程進行攻擊.他們訓練了一個分類器(即攻擊模型)作為識別函數來確定數據是否在目標數據集中,無需影子模型.

2) 概率信息計算.該方法利用概率信息推斷隸屬度,無需攻擊模型.舉例來說,假設a,b都屬于類別A,其中a屬于訓練數據集而b不屬于,由于a參與了訓練過程,模型可能以0.9的置信概率將a分類為A;考慮b,由于它對模型而言是新出現的,盡管模型也能將b分類為A,但可能只有0.6的置信概率.于是可以根據模型返回的最大類概率實施攻擊.但這種方法需要一定的前提假設和輔助信息來獲得可靠的概率向量或二元結果,這也是該方法在使用時的一個限制條件.

Fredrikson等人[40]試圖根據概率信息來構造某一數據是否出現在目標訓練數據集中的概率.然后尋找概率最大的輸入數據,得到的數據與目標訓練數據集中的數據相似.Salem等人[38]中的第3種攻擊方法只需要記錄通過目標模型輸出的概率向量,并使用統計測量方法比較最大分類概率是否超過一個閾值,若超過則認為該記錄屬于數據集.Long等人[41]提出了廣義MIA方法,與文獻[37]不同,它更容易攻擊非過擬合數據.他們訓練了大量類似于目標模型的參考模型(類似影子模型),根據參考模型的輸出的概率信息選擇易受攻擊的數據,然后將目標模型和參考模型的輸出進行比較,計算出數據屬于目標訓練數據集的概率.

3) 相似樣本生成.該方法通過訓練生成的模型(如生成對抗網絡(GAN))生成訓練記錄,其生成的樣本與目標訓練數據集的樣本相似.通過提高生成樣本的相似度將使該方法更加有效.

Liu等人[42]和Hayes等人[43]都探索了攻擊生成模型的方法,不同于判別模型,生成模型通常用于學習數據的分布并生成相似的數據.文獻[42]提出一種白盒攻擊,用于單成員攻擊和聯合成員攻擊.其基本思想是用目標模型訓練生成的模型,以目標模型的輸出為輸入,以相似的目標模型輸入為輸出.訓練后,攻擊模型可以生成與目標訓練數據集相似的數據.考慮到文獻[37]中的方法難以攻擊CNN,Hitaj等人[20]提出了一種更為通用的MIA方法,在協作深度學習模型的場景中執行了白盒攻擊.他們構建了一個目標分類模型生成器,并利用該生成器形成了一個GAN.經過訓練后,GAN可以生成與目標訓練集相似的數據,但是這種方法的局限性在于,屬于同一分類的所有樣本都需要在視覺上相似,因此無法在同一個類別下區分它們.

3.3.3 屬性推理攻擊

屬性推理攻擊(property inference attack, PIA)是指對訓練數據集的統計屬性進行推理.推理的屬性主要是一些統計信息,例如人口數據集中男女比例是否均衡、人口樣本中是否存在少數民族樣本、醫療數據集中患癌病人的比重等.

Ateniese等人[44]首先提出了一種訓練元分類器的白盒攻擊方法.分類器以模型的特征信息作為輸入,以訓練該模型的數據集中是否包含特定屬性為輸出.他們還訓練影子模型來為元分類器提供訓練數據.由于他們主要提取機器學習模型的特征信息,這種方法在DNN上并不奏效.為了解決這個問題,Ganju等人[45]構建了一個元分類器模型,該模型研究了如何提取DNN的特征值,使其作為元分類器的輸入,其他部分與文獻[44]非常相似.

另外,針對文獻[20]中存在的不足,Melis等人[46]提出了一種協作式學習的白盒攻擊方法.其理論基礎是,深度學習模型會記住太多數據特征[21].攻擊者可以多次下載最新的模型,得到每個階段的更新模型,減去不同階段的聚合更新,并分析更新的信息來推斷成員和屬性.他們訓練了一個二元分類器來判斷數據集的屬性,該分類器使用更新的梯度值作為輸入.

3.4 防御方法

為了保護深度學習系統的隱私,一系列研究工作開發了不同的防御機制.基于對27篇文章的研究,我們將這些防御機制分為4類:差分隱私、同態加密、安全多方計算和次優選擇.

3.4.1 差分隱私

差分隱私是一種密碼學工具,旨在最大限度地提高數據查詢的準確性,同時最大限度地減少查詢統計數據庫時識別其記錄的機會.基于保護目標,差分隱私的方法可以從輸出擾動、目標擾動和梯度擾動等方面進行擴展[24].這些方法分別指將隨機擾動加到輸出上、目標函數上和反向傳播的梯度上.

Chaudhuri等人[47]首先提出了輸出和目標擾動,嚴格證明了凸損失函數機器學習模型中保持隱私,并將其實現為正則邏輯回歸.輸出擾動包括以邊界靈敏度和增加靈敏度為基礎的噪聲訓練模型.而Wang等人[24]表明,在非光滑條件下,輸出擾動不能推廣.Zhang等人提出[48],在強凸的情況下,可以使用適當的學習率來提高操作速度和實用性.目標擾動是訓練包含隨機項的目標函數最小化的模型,它在理論上和經驗上都優于輸出擾動[49],但在實踐中很難得到既保證隱私又保證效用的最優解.為了獲得更好的性能或支持其他場景,Kifer等人[50]通過選擇高斯分布代替伽馬分布提高了精度,并引入了第一個用于高維稀疏回歸的差分隱私算法;文獻[51]和文獻[50]給出了Lipschitz損失函數的算法和證明.

Song等人[52]提出了梯度擾動,其主要思想是在每次迭代更新參數時添加噪聲.該方法不受強凸函數或強攝動優化問題的限制,在實際應用中具有一定的優越性.然而,由于隨機梯度下降(SGD)或梯度下降(GD)的計算過程非常耗時,如果數據集很大,計算可能會花費很多時間.對于強凸前提,Bassily等人[53]和Talwar等人[51]放寬了對Lipschitz凸函數的限制和嚴格的誤差邊界.然后,Abadi等人[6]處理了非凸目標函數,并在適度隱私損失的情況下以適中的成本訓練DNN.他們對DP-SGD進行了修改和擴展,允許不同層的限幅閾值和噪聲尺度不同.隨后,Zhang等人[48]首先給出了非凸優化問題的理論結果.文獻[24]實現了滿足Polyak-Lojasiewicz條件的非凸情況,并產生了更緊致的上界.Zhang等人[54]與其他算法相結合,在分布式ERM中也應用了梯度擾動.

Hamm等人[55]提出了一種使用局部分類器構造全局差分私有分類器的方法,該方法不需要訪問任何一方的私有數據.Hynes等人[56]提出了一種深度學習框架Myelin,用于在可信硬件領域實現高效的、私有的、數據無關的實際深度學習模型.

目前已有一些度量標準被用來估計隱私風險.基于差分隱私的可組合性,最簡單的度量方法是計算隱私消耗的總和[57].然而,直接將它們相加可能會得到松散的測量邊界.文獻[6]提出了一個更強的方法,主要采用標準Markov不等式來跟蹤隱私損失,它在經驗上獲得了更嚴格的隱私損失約束.但上述指標僅限于DP框架,Long等人[58]提出了差分訓練隱私(DTP),可以測量不使用DP的分類器的隱私風險.

3.4.2 同態加密

一般的加密方案側重于數據存儲的安全性,而同態加密(HE)側重于數據處理的安全性.HE通常是在有數據泄漏風險中使用的.由于解密的高度復雜性,HE可以有效地保護敏感數據不被解密和竊取.在深度學習中,它主要用于保護預測輸入和結果,訓練神經網絡模型等.應用HE的主要負面影響是效率的降低,即錯誤傳輸問題、對密文的操作時間較長、加密后數據量急劇增加等.

Liu等人[59]提出了MiniONN,這是一個支持隱私保護的神經網絡,并確保服務器不了解輸入,客戶端不了解模型.其主要思想是允許服務器和客戶端為神經網絡的每一層額外地共享輸入和輸出值.Jiang等人[26]給出了一種矩陣和密碼矩陣算術運算的實用算法.Phong等人[4]提出了一個隱私保護DL系統,使用異步隨機梯度下降應用于神經網絡連接深度學習和密碼學,并結合加性HE.在其他方面,Hesamifard 等人[60]開發了CryptoDL,用于在加密數據上運行DNN, 在CIFAR-10上的準確率為91.5%.他們在CNN中利用低次多項式設計一個近似函數,然后用近似多項式代替原始的激活函數來訓練CNN,最后在加密數據上實現CNN.

3.4.3 安全多方計算

在現實中,經常會遇到多個數據方希望在一臺服務器上共同學習一個模型的場景.然而,每個數據方都不愿意將自己的數據共享給其他方.在多方數據只有一臺服務器情況下,Shokri等人[61]實現了一個系統,它允許多方在非共享輸入數據集的情況下共同學習模型.各方都可以獨立使用最終模型.在訓練過程中,各個數據方對其局部數據集進行模型訓練,再將所選參數的關鍵梯度上傳到全局參數庫,然后下載所需參數的最新值.基于這些性質,他們采用分布式選擇性SGD方法來選擇參數:1)梯度下降過程中不同參數的更新具有內在的獨立性;2)不同的訓練數據集對參數的貢獻不同.Phong等人[4]基于文獻[61]進行了改進.每個數據方上傳經過加法HE加密的梯度,并對模型應用異步SGD.另外,Phong等人[62]還提出了服務器輔助網絡拓撲和全連接網絡拓撲系統.各方共享神經網絡的權值而不是梯度.他們不僅可以防范惡意的服務器,而且可以在即使只有一個誠實方的情況下防范數據方合謀.

在多方計算中另一個場景是,數據方不希望將所有訓練數據交給一臺服務器來訓練模型.他希望將數據集分布到多個服務器,共同訓練模型,每個服務器不會了解其他服務器的訓練數據.SecureML[27]是一種保護隱私的雙服務器模型協議.數據所有者將私有數據分配給2個非合謀服務器,并用安全的兩方計算技術訓練聯合數據,支持安全的算術運算.采用了不經意傳輸和加密電路,并采用了面向多方計算友好的激活函數.Liu等人[59]提出了一種支持隱私保護的神經網絡MiniONN.它確保服務器對輸入一無所知,而客戶機對模型一無所知.其主要思想是允許服務器和客戶端額外地共享神經網絡每一層的輸入和輸出值.

多方計算更一般化的場景是有M個數據方希望使用N臺服務器對他們的聯合數據進行模型訓練.要求任何數據方或服務器對任何其他數據方的訓練數據一無所知. 在SecureNN[28]里,N=3或4,M可以是任意值.此外,經過訓練的模型作為一個秘密共享,并對任何單個服務器或數據端隱藏.這些秘密共享可以由服務器或任何其他方組合起來重構模型.

3.4.4 次優選擇

為了抵御模型提取攻擊,許多研究都試圖在一定程度上向用戶提供次優模型.Tramèr等人[32]提出了第一個量化模型提取攻擊預測概率的防御方法.他們只允許攻擊者提取給定的類標簽,而不提供置信度評分,或者提供四舍五入的置信度.該方法減少了向攻擊者提供的信息量,但也減少了合法的服務.后來文獻[7]表明,即使不使用預測概率,模型提取攻擊也是有效的.但是Lee等人[8]發現,在類概率中注入噪聲仍然可以延長攻擊時間.攻擊者被迫放棄概率信息,只使用標簽信息,這大大增加了查詢數量和攻擊時間.Wang等人[29]發現對模型參數進行四舍五入會增加攻擊者對超參數攻擊的估計誤差.不幸的是,該誤差對測試性能的影響可以忽略不計.

還有一種方法是從用戶提交的查詢請求中發現異常.Kesarwani等人[10]依賴于記錄客戶端發出的所有請求,并計算正常請求組成的特征空間.當檢測到新的請求空間超過預定閾值時,認為模型提取攻擊發生.因此,他們需要在輸入中對預測類進行線性分離來評估特征空間.此外,PRADA[7]是基于給定客戶提交的樣本分布的突然變化檢測攻擊,假設是攻擊者提交的樣本中的特征分布比良性查詢中更不穩定.一旦PRADA檢測到攻擊,根據目標模型的預測,以最大概率返回第2類或第3類分類.PRADA在檢測對文獻[34]的攻擊時需要數百個查詢,對文獻[32]的攻擊需要數千個查詢.

3.4.5 其他方法

Xu等人[63]將數據清洗以保護隱私.他們將原始數據用密碼加密后發送給服務商.為了保護MLaaS中數據集的隱私,Zhang等人[5]引入了一個混淆函數,并將其輸入到模型訓練任務中.混淆函數向現有樣本添加隨機噪聲,或使用新樣本增強數據集.因此,關于單個樣本的特征或一組樣本的統計特性的敏感信息是隱藏的.Nasr等人[3]設計了一個min-max游戲,它在最小化模型的預測損失的同時,最大化推理攻擊的收益,目標是共同最大化隱私和預測精度.

Cao等人[64]提出了機器學習去除的思想,目標使機器學習模型完全忘記一段訓練數據,并去除其對模型和特征的影響.它們將訓練數據樣本轉化為一種求和形式,用來快速計算新模型.Hunt等人[65]提出一個保護SGX上的MLaaS隱私的系統.它向服務運營商隱藏訓練數據,既不向用戶顯示算法也不顯示模型結構,只提供對訓練模型的黑盒訪問.Ohrimenko等人[66]針對支持向量機、神經網絡、決策樹和K-means聚類問題,提出了一種基于Intel Skylake處理器的數據無關機器學習算法.

4 安 全

4.1 安全問題簡介

安全與隱私在很多方面是密不可分的,但在這里,我們需要在人工智能領域區分安全與隱私問題.深度學習模型的形成依賴于對大量數據進行耗時耗力的訓練.直觀地說,訓練數據、訓練模型和預測輸入都是所有者私有的,值得保護.眾所周知,人工智能系統中已經存在著隱私研究對象,例如所收集的訓練數據集、訓練模型的參數、用戶準備提交的預測數據以及模型返回的結果.要保護系統中原本存在的合法數據(模型參數、數據集等),就是隱私問題.

然而,在人工智能系統中,造成安全問題的惡意樣本通常是未知的.例如投毒攻擊將惡意數據添加到訓練數據集中,會對深度學習的預測產生負面影響.這些惡意樣本不應該存在于其中.如何抵御這樣的未知樣本就是一個安全問題.此外,受到攻擊的分類模型在訓練過程中不會接觸到這些對抗樣本,這些惡意數據原本不在學習模型中.要防范系統中原本不存在的、可能引起模型出錯的惡意數據,就是安全問題.

4.2 安全問題研究工作

在深度學習系統中,訓練數據集和預測數據需要與用戶交互,而訓練過程和訓練模型一般是封閉的.因此,訓練數據集和預測數據更容易受到未知惡意樣本的攻擊.更具體地說,如果在訓練數據集中出現惡意樣本,我們稱之為投毒攻擊;如果在預測數據中出現惡意樣本,我們稱之為對抗攻擊.我們共調查了89篇相關論文,其中15篇與投毒攻擊相關,11篇與投毒防御相關,36篇與對抗攻擊相關,27篇與對抗防御相關.

投毒攻擊在訓練過程中添加惡意樣本,從而影響生成的模型.大多數惡意樣本搜索方法都是通過發現算法或訓練過程的漏洞來實現的.早期的機器學習算法也容易受到投毒攻擊[67-69].投毒攻擊主要在2個方面影響了正常模型.1)直接改變分類器的決策邊界,破壞分類器的正常使用,使其不能正確地對正常樣本進行分類,破壞了模型的可用性.這主要是通過錯誤標記數據實現的.攻擊者使用錯誤的標簽提交數據記錄,或惡意修改訓練數據集中現有數據的標簽.2)在分類器中創建后門.它能正確地對正常樣本進行分類,但會導致對特定數據的分類錯誤.攻擊者可以通過后門進行有針對性的攻擊,破壞模型的完整性.這主要是通過加入特定的數據實現的.它們向數據集提交包含特定特征(如水印)和標簽的數據,而在其他數據記錄中很可能沒有這樣的特征.此外,他們還可以直接攻擊特征選擇算法[70].相應地,防御方法主要是通過增強訓練算法[71]的魯棒性和保護數據集[72]的安全性來實現的.

在預測過程中,對抗攻擊會對正常樣本增加惡意干擾.對抗樣本既要欺騙分類器,又要讓人無法察覺.該攻擊廣泛應用于圖像識別領域[73-76],也用于語音處理[77]、語音到文本轉換[78]、文本識別[79]、惡意軟件檢測[80]等.目前,主流方法尋找擾動包括FGSM[73],JSMA[74],C&W[75],DeepFool[76],UAP[81],ATN[33]和一些變種.也有一些研究攻擊了CNN,DNN之外的其他深度學習模型,甚至在現實世界中產生了對抗的實例.防御策略主要從對抗樣本的生成和攻擊的過程進行考慮,包括對抗訓練[82]、基于區域的分類[83]、輸入變化[84]、梯度正則化[85]、蒸餾[86]、數據處理[87]和訓練防御網絡[88].

4.3 投毒攻擊

投毒攻擊試圖通過污染訓練數據來降低深度學習系統的預測.由于它發生在訓練階段之前,通過調整相關參數或采用替代模型,所造成的污染是很難解決的.在機器學習的早期,投毒攻擊被認為是對主流算法的一種重要威脅.例如,支持向量機[67,89-90]、貝葉斯分類器[68]、層次聚類[91]、邏輯回歸[92]都受到了投毒攻擊的危害.隨著深度學習的廣泛使用,攻擊者也將他們的注意力轉移到深度學習上了[93-95].

綜上所述,投毒攻擊本質上是在訓練數據上尋求全局或局部分布的擾動.眾所周知,機器學習和深度學習的性能在很大程度上取決于訓練數據的質量.高質量的數據通常應該是全面的、無偏見的和有代表性的.在數據投毒的過程中,錯誤的標簽或有偏差的數據被有意地加工并添加到訓練數據中,降低了整體質量.據觀察,投毒有2方面原因:

1) 錯誤標記數據.在分類任務中,深度學習模型通常會在標記數據下提前進行訓練.也就是說,L:{x1,x2,…,xn}→Y,其中Y是給定輸入的特定標簽.通過將標簽操作為L:{x1,x2,…,xn}→Y′來生成錯誤標記的數據,其中Y′是一個錯誤的標簽.錯誤標記數據的接受可能導致2種結果:深度學習不能有效地學習決策邊界;將決策邊界顯著地推到不正確的區域.結果表明:該算法在容錯條件下不能收斂.后者可以以相當小的損失終止,但是決策邊界與正確邊界之間的距離很大.

Xiao等人[90]通過翻轉標簽來調整訓練集來攻擊支持向量機,他們提出了一個優化的框架來尋找標簽翻轉,使得分類誤差最大化,從而降低了分類器的準確率.Biggio等人[91]實現了針對單鏈接層次聚類的投毒攻擊.它依靠啟發式算法來尋找最優的攻擊策略.他們使用模糊攻擊來最大程度地降低聚類結果.Alfeld等人[19]提出了一個在線性自回歸模型下編碼攻擊者欲望和約束的框架.攻擊者可以通過在訓練數據中添加最優的特殊記錄來將預測推向某個方向.Jagielski等人[93]討論了線性回歸模型的投毒攻擊.攻擊者可以操縱數據集和算法來影響機器學習模型.他們引入了一種快速的統計攻擊,這種攻擊只需要有限的訓練過程知識.

2) 特定混淆數據.機器學習實踐者從大量信息中提取具有代表性的特征,用于學習和訓練.這些特征的權重是經過訓練確定的,對預測具有重要意義.然而,如果一些精心設計的數據具有無偏倚的特性分布,就會破壞訓練,并得到一組誤導性的特征權重.例如,將很多炸彈形狀的圖形標記為限速標志并將其放入數據集中學習,那么可能所有帶有炸彈的圖像將被標識為限速標志,即使它原本是一個停止(STOP)標志.

該方法在LASSO,Ridge Regression,Elastic net等特征選擇算法中也很常見.Xiao等人[70]直接研究了常見的特征選擇算法在投毒攻擊下的魯棒性.結果表明,在惡意軟件檢測應用中,特征選擇算法在投毒攻擊下受到破壞性影響.通過插入少于5%的有毒訓練樣本,LASSO特征選擇過程得到的結果與隨機選擇幾乎沒有區別.Shafahi等人[94]試圖找到一個特定的測試實例來控制分類器的行為,而沒有控制訓練數據的標簽.他們提出了一種水印策略,并訓練了多個投毒的實例.在投毒實例中添加目標實例的低透明度水印,以允許某些不可分割的特性重疊.該方法為攻擊者打開了一個分類器的后門,攻擊者無需訪問任何數據收集或標記過程.

4.4 對抗攻擊

對抗攻擊利用對抗樣本(adversarial examples, AEs)使模型預測錯誤,也稱為逃避攻擊.對抗攻擊是一種探索性攻擊,它破壞了模型的可用性.AEs是通過在原始樣本中添加擾動而產生的.它們混淆了訓練有素的模型,但在人類看來它們很正常,這保證了攻擊的有效性.在圖像處理中,通常使用小擾動來保證原樣例與AEs之間的相似性.在語音和文本中,它確保AEs也是有意義的和上下文相關的.惡意軟件檢測保證AEs在添加擾動后仍具有原始惡意功能.

模型的誤分類有目標性和非目標性兩大類.前者要求AEs被錯誤地分類為特定的標簽,以達到特殊的惡意目的.后者只要求AEs被錯誤分類(可以是任意錯誤標簽),用于抵抗檢測或其他場景.AEs的生成過程通常需要最小化擾動,因為越小的擾動對人的影響也就越小.最小距離通常用Lp距離(或稱Minkowski距離)來度量,常用的有L0,L1,L2和L:

x=(x(1),x(2),…,x(n)),

y=(y(1),y(2),…,y(n)).

對抗攻擊可以應用于許多領域,其中應用最廣泛的是圖像分類.通過添加小的擾動,我們可以生成對抗的圖像,這些圖像對人類而言很難區分,但是能造成模型的分類錯誤.對抗攻擊也用在其他領域,比如音頻[77,98]、文本[79]、惡意軟件檢測[99-101]等.Carlini等人[78]提出了一種基于語音到文本神經網絡的文本對抗攻擊系統DeepSearch.它可以通過添加小擾動將任意給定的波形轉換成任意期望的目標短語.他們使用序列到序列的神經網絡,產生超過99.9%的相似波形,并達到100%的攻擊率.Gao等人[79]提出框架DeepWordBug來在黑盒設置中生成對抗文本序列.他們使用不同的評分函數來處理更好的突變詞.它們幾乎最小化了編輯距離,并將文本分類精度從90%降低到30%~60%.Rigaki等人[102]使用GANs通過修改網絡行為來模擬合法應用程序的流量來避免惡意軟件檢測.他們可以通過修改惡意軟件的源代碼來調整命令和控制(C2)通道來模擬Facebook聊天網絡流量.最好的GAN模型在經過300~400個訓練階段后,每分鐘產生一個以上的C2流量.文獻[103-105]提出了在黑盒中生成惡意軟件實例以進行攻擊檢測模型的方法.此外,文獻[106]提出了一種針對二進制編碼惡意軟件檢測的反攻擊算法,實現了91.9%的準確率.

1) L-BFGS攻擊.Szegedy等人[1]提出盒約束的L-BFGS,用于生成AEs.他們還發現了2個與直覺相反的特性.首先,該空間包含的語義信息位于神經網絡的高層,而不是單個單元.其次,擾動或AEs具有較強的魯棒性,可以在不同的神經網絡或訓練數據集之間共享.這些性質為今后的研究奠定了基礎.

其中,l是分類錯誤的標簽,x+δ是對抗樣本,他們試圖找到滿足F(x+δ)=l的δ,要求擾動δ盡量小,同時x+δ被分類為l的損失(即LossF(x+δ,l))也盡量小.損失函數滿足LossF(x,F(x))=0,c>0是一個平衡2個最小值的超參數,x+δ∈[0,1]n保證添加擾動后的對抗樣本仍在正常圖像的取值范圍內.

2) FGSM攻擊.FGSM(fast gradient sign method)是由Goodfellow等人[73]提出的.文章解釋說,AEs產生的原因是神經網絡在高維空間中的線性行為,而不是非線性.設lx是x的實際分類.損失函數描述輸入x的損失.擾動δ的方向是利用反向傳播計算的梯度確定的.每個像素在梯度方向上的大小為ε.隨著ε的增加,擾動的大小和攻擊成功率增加,被人發現的可能性也增加.

δ=ε×sign(xLossF(x,lx)).

3) BIM攻擊.BIM(basic iteration method)[107]是FGSM的迭代版本,也稱為I-FGSM.Clipx,ε(x)函數對每個像素的圖像進行剪切,并使生成的AE在每次迭代時滿足L的邊界.I-FGSM在白盒攻擊中強于FGSM,但其可移植性較差[108-109].

x0=x,
xi+1=Clipx,ε(xi+α×sign(xLossF(xi,lx)).

4) MI-FGSM攻擊.MI-FGSM(momentum iterative FGSM)[110]是基于梯度引入的.Momentum用于擺脫局部極值,迭代用于穩定優化.在白盒或黑盒模型上,該方法比基于梯度的單步法具有更強的可移植性.

其中,y是要被分類錯誤的目標類.與BIM不同的是,計算xi+1時,不僅和當前損失函數的梯度方向有關,也和之前求出的損失函數(即gi)有關.

5) JSMA攻擊.JSMA (Jacobian-based saliency map attack)[74]只改變了少量像素,而沒有影響整個圖像,它限制了L0距離,而不是L2和L.它們每次修改圖像的個別像素,記錄其對分類結果的影響,然后迭代地進行下去.對于任意一對像素p,q,求解

其中,αpq表示像素p,q對目標分類的影響,βpq表示對所有其他輸出的影響.這張映射圖上的值越大,意味著欺騙網絡的可能性越大.

上式表明算法當前選擇(p*,q*)像素對添加擾動從而實施攻擊.(p*,q*)滿足:像素p*,q*對目標分類的影響為正,對所有其他輸出的影響為負,且對目標分類的影響(αpq)以及對所有其他輸出影響的絕對值(-βpq)兩者乘積最大.

6) C&W攻擊.C&W[75]在L0,L2和L中實現了對蒸餾防御方法[111]的攻擊.他們試圖找到盡可能小的δ,并欺騙分類器.與L-BFGS類似,C&W主要優化了目標:

c>0是一個超參數,用于控制2個目標函數之間的平衡.f(·)是一個人工定義的函數,這里列舉文中使用的函數:

f(x+δ)=max(max{Z(x+δ)i:
i≠t}-Z(x+δ)t,-K).

這里,f(·)≤0當且僅當分類結果為對抗目標標簽t時.K保證x+δ將被高度信任地分類為t.因此在最小化式子中,既要讓擾動δ盡量小,也要讓f(·)盡量小,即分類結果為目標標簽t.C&W保證生成的AEs一定會被錯誤分類,但由于計算量大,造成時間開銷較大.

7) EAD攻擊.EAD (Elastic-net attacks to DNNs)[112]是用于制作AEs的彈性網絡正則化攻擊框架,它結合了L1,L2度量,提供了很少使用的面向L1的樣例,并將最好的L2攻擊作為一個特例.結果顯示,EAD設計的基于L1的示例執行得和其他最佳攻擊一樣好.最優化公式為

其中,f(x+δ)與C&W中相同,t是目標標簽.相較于C&W,EAD的優化公式中多了一個擾動項.顯然,當β=0時,C&W中的L2目標攻擊是EAD的一個特殊的情況.

8) OptMargin攻擊.OptMargin[113]可以在有限的輸入空間內躲避基于區域分類的防御.與以前的研究不同,它的目標是低維的子空間,不受空間周圍鄰居點的限制.該方法產生的AEs的判定邊界與良性樣本不同.然而,它無法模仿良性樣本.OptMargin是C&W在L2攻擊的擴展,它在x的周圍添加了許多目標函數.具體優化公式為

這里,x0是原始樣例.x=x0+δ是對抗樣本.y是x0的真實標簽.fi(x)是類似于C&W的目標函數,共m個.vi是應用于x的擾動,共m個.OptMargin不僅保證對抗樣本x可以欺騙神經網絡,還保證它周圍的鄰居x+vi也可以.

9) DeepFool攻擊.DeepFool[76]以迭代方式產生最小的歸一化擾動.他們將圖像逐步推入分類邊界,直到符號發生變化.在相近的成功欺騙率下,DeepFool產生的擾動比FGSM要小.

10) NewtonFool攻擊.NewtonFool[114]提出了一個強假設,即攻擊者可以使用倒數第2層輸出的類概率向量Z(x).假設l=F(x0),他們的目的是找到小的δ,使Z(x0+δ)l=0.他們用迭代方法把Z(x0)l盡可能快地降到0.從Z(x0)l開始,他們在每一步使用線性函數逼近新的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步迭代的擾動,最終擾動δ=δ0+δ1+…+δi.結果表明它比FGSM,JSMA,DeepFool都快.

11) UAP攻擊.UAP(universal adversarial pertur-bations)[81]可以以高概率在幾乎任何輸入數據上導致目標模型的錯誤分類.UAP對于數據和網絡架構來說是通用的.讓μ表示包含所有樣例的數據集.它主要目的是尋找擾動δ,這個δ可以在幾乎所有μ中的樣本上欺騙F(·).

F(x+δ)≠F(x), 大部分x∈μ,

其中擾動δ應滿足約束條件:

P表示概率,通常0<λ?1.在沒有優化或梯度計算的情況下,他們將每次迭代計算的最小擾動集合起來.Hayes等人[115]使用通用對抗網絡(UANs)在有目標和無目標攻擊中自動生成UAP.

12) ATN攻擊.ATN[33]是一種訓練有素的神經網絡,可以高效、自動地攻擊另一個目標.ATN通過添加最小擾動將任何輸入轉換為AE.他們使用有針對性的白盒ATNs來生成AEs,并成功地將83%~92%的圖像輸入轉換為對ImageNet的對抗攻擊.

13) 其他攻擊方法.Papernot等人[34]提出了一種基于黑盒綜合數據生成替代訓練算法的新方法,在Google和Amazon上分別實現了96.19%和88.94%的準確率.Tramèr等人[116]提出了梯度對齊對子空間,它用于估計輸入空間的未知維度.他們發現,子空間的很大一部分被2個不同的模型共享,從而實現了可移植性.他們首先尋找多個獨立的攻擊方向,定量研究模型決策邊界的相似性.Narodytska等人[117]利用一種基于局部搜索的新技術構造了網絡梯度的數值逼近,然后利用該技術構造了圖像中的一組像素在黑盒中擾動.此外,Ilyas等人[118]引入了一個更加嚴格和實用的黑盒威脅模型.他們使用自然進化策略來執行黑盒攻擊,減少了2~3個數量級的查詢.

除了DNN外,還有很多研究人員對生成模型、強化學習和機器學習算法進行了深入的研究.Mei等人[119]為支持向量機、邏輯回歸和線性回歸確定最優訓練集攻擊.證明了最優攻擊可以描述為一個雙層優化問題,可以用梯度法求解.Huang等人[120]證明了對抗攻擊策略在強化學習中也是有效的.Kos等人[121]對深度生成模型(如變分自編碼器(VAE))進行了對抗攻擊.他們的方法包括基于分類器的攻擊,以及對潛在空間的攻擊,這些攻擊在MNIST,SVHN和CelebA上都表現得很好.

4.4.1 物理世界的對抗攻擊

在圖像識別領域,考慮到觀察點、光照和相機噪聲的影響,傳統技術產生的AEs可能無法在物理世界中欺騙分類器.Kurakin等人[107]使用從手機攝像頭拍攝的圖像作為Inception v3圖像分類神經網絡的輸入.結果表明,由原始網絡構造的大量對抗圖像,即使通過攝像機輸入到分類器,也會產生誤分類.Athalye等人[2]提出了一種EOT(expectation over transformation)算法,用于合成對物理世界具有魯棒性的對抗樣本.他們使用EOT的特殊應用,并通過3D渲染過程進行區分,從而生成對抗對象.結果表明,3D打印對象可以從各個角度欺騙現實世界的系統.

4.5 投毒防御

大多數的投毒攻擊都集中在數據和算法上,因此防御方法主要考慮從保護數據和算法入手.

1) 保護數據.數據保護主要包括保護收集到的數據不受篡改、抵抗重寫攻擊、防止拒絕、防止數據偽造、檢測有毒數據等[122-124].Olufowobi等人[125]提出了一種物聯網系統的數據來源模型,以提高數據的可信度和可靠性.該模型描述了創建或修改數據點的上下文.他們未來的工作是將該模型集成到物聯網設備的數據源完整性檢測算法中.Chakarov等人[126]通過評價單個數據點對訓練模型性能的影響,采用一種檢測投毒數據的方法.他們需要通過比較可信數據集上的性能來評估模型.Baracaldo等人[72]通過使用源信息作為過濾算法的一部分來檢測投毒攻擊.該方法提高了檢測率.他們使用訓練數據點的來源和轉換上下文來識別有害數據.它是在部分可信和完全不可信的數據集上實現的.

2) 保護算法.學習算法總是要在防止正則化和減少損失函數之間做出權衡,這種不確定性可能導致學習算法的脆弱性.一些投毒攻擊是根據自身的弱點來實施的,因此研究魯棒機器學習算法是預防投毒攻擊的有效途徑.Candès等人[127]首先研究了魯棒PCA的魯棒機器學習算法.它假定底層數據集的一小部分是隨機銷毀的,而不是有針對地銷毀.Chen等人[128]研究了對抗破壞下的魯棒線性回歸問題,Feng等人[129]研究魯棒的邏輯回歸,他們都需要對特征獨立性和亞高斯分布做出強有力的假設.Goodfellow等人[73]提出了一種魯棒線性回歸方法,該方法放松了對特征獨立性和低方差亞高斯噪聲的假設,只假設特征矩陣可以用低秩矩陣逼近.該方法將魯棒低秩矩陣近似與魯棒主成分相結合,獲得了較強的性能保證.Jagielski等人[93]在訓練過程中加入有毒的數據訓練模型,而不是簡單地刪除它們.該方法迭代地估計回歸參數,并將其訓練在每次迭代中殘差最小的點的子集上.本質上,它使用了一個根據每次迭代中殘差的不同子集計算的被修剪的損失函數.

4.6 對抗防御

對抗攻擊的防御方法主要從阻止對抗樣本生成和檢測對抗樣本2個目標出發,本文總結了以下7種方法.

1) 對抗訓練.對抗訓練選擇AEs作為訓練數據集的一部分,使訓練后的模型能夠學習AEs的特征.Huang等人[82]提出了一個較早的防御方法,即通過生成AEs作為中間步驟來學習具有強大對手的魯棒分類器.同時他們也提出了一種新的AEs搜索方法.Kurakin等人[109]將對抗訓練應用于更大的數據集,如ImageNet.其主要創新之處是批處理規范化、訓練數據集(包括干凈的和敵對的示例)和相對權重.他們還發現一步攻擊比迭代攻擊更具有可移植性.但是這種訓練在正常樣本上喪失了部分準確性.此外,集成對抗訓練[108]包含了從其他預訓練模型傳輸的每個輸入.然而,對抗訓練只能使訓練模型對訓練集中的AEs具有較強的魯棒性,該模型不能學習訓練集之外的AEs的特性.

2) 基于區域的分類.了解對抗樣本區域的性質,并使用更健壯的基于區域的分類也可以抵御對抗攻擊.Cao等人[130]使用基于區域的分類(RC)代替基于點的分類開發了新的DNNs.他們通過從以測試樣本為中心的超立方體中隨機選擇幾個點來預測標簽.RC將C&W攻擊的成功率從100%降低到16%,但它對OptMargin攻擊很難起作用.Pang等人[83]使用了一種反向交叉熵防御方法.該分類器將正常樣本映射到最終隱藏層空間的低維流形鄰域.Ma等人[131]提出了局部固有維數來表征對抗區域的維數特性.他們基于樣本到鄰域的距離分布,對樣本區域的空間填充能力進行了評價.另外,Mccoyd等人[132]在訓練數據集中添加了大量不同類別的背景圖像,以幫助檢測AEs.他們在EMNIST數據集中的關鍵類之間添加了背景類,背景類充斥在關鍵類之間的空白區域.該方法易于實施,但對C&W攻擊沒有效果.

3) 輸入數據變換.改變或轉換輸入可以防御對抗攻擊.Song等人[84]發現AEs主要位于訓練區域的低概率區域.因此他們設計了PixelDefend,通過自適應地將AE向分布方向移動來凈化AE.Guo等人[133]通過圖像轉換探索了圖像分類系統的模型無關防御.他們的目的是消除輸入的對抗擾動.他們的圖像轉換包括圖像裁剪和重新縮放、位深度縮減、JPEG壓縮、總方差最小化和圖像拼接.Xie等人[134]在預測過程使用對輸入的隨機化來防御對抗攻擊并減輕影響,包括隨機調整圖片大小和隨機填充.該方法計算量小,與其他防御方法兼容.另外,Wang等人[135]認為AEs比正常樣本更敏感.如果將大量隨機擾動添加到對抗樣本和正常樣本中,標簽變化的比例會有顯著差異,這樣就可以識別對抗樣本.他們在MNIST和CIFAR-10上實現了高準確度和低成本的差異判別.Tian等人[136]認為AEs對某些圖像變換操作(如旋轉和移位)比正常圖像更敏感.他們用這種方法在圖像分類中抵御了白盒的C&W攻擊.Buckman等人[137]提出了一種對神經網絡進行簡單修改的方法TE(thermometer encoding).他們發現TE和熱碼離散化顯著提高了網絡對AEs的魯棒性.

4) 梯度正則化.梯度正則化(或梯度掩蔽)是另一種有效的防御方法.Madry等人[85]通過優化鞍點公式實現了這一點,鞍點公式包括由投影梯度下降(PGD)求解的內部最大值和由隨機梯度下降(SGD)求解的外部最小值.但他們發現這不能保證在合理的時間內實現.Ross等人[138]分析了輸入梯度正則化,其目的是訓練可微模型,以懲罰輸入的微小變化.結果表明,輸入梯度正則化增強了魯棒性,與防御蒸餾和對抗訓練有質的區別.

5) 防御蒸餾.Papernot等人[86]提出了一種防御蒸餾方法.蒸餾主要是指將知識從復雜的結構轉移到簡單的結構中,從而降低DNN結構的計算復雜度.該方法能夠成功地抑制FGSM和基于Jacobian的迭代攻擊構造的AEs.Papernot等人[111]還利用防御蒸餾提取的知識對模型進行平滑處理,并降低了網絡梯度的大小.網絡梯度大意味著小的擾動會引起輸出結果大的變化,有利于尋找對抗樣本.

6) 數據處理.Liang等人[139]引入標量量化和平滑空間濾波,以減小擾動的影響.他們使用圖像熵作為度量標準,并對各種圖像進行了自適應降噪.文獻[87]中使用有界ReLU激活函數對沖對抗擾動的正向傳播,并使用高斯數據增強方法增強泛化能力.Xu等人[140]提出了基于特征壓縮的反例檢測方法,包括降低每個像素上顏色位的深度和空間平滑.

7) 防御網絡.一些研究使用神經網絡等工具對AEs進行自動對抗.Gu等人[88]使用了帶有收縮自編碼器(CAEs)和去噪自編碼器(DAEs)的深度收縮網絡(DCN),它可以通過額外的噪聲腐蝕和預處理去除大量的對抗噪聲.Akhtar等人[141]提出了一種微擾整流網絡作為目標模型的預輸入層,用于對抗UAPs.它可以在不修改網絡的情況下為已部署的網絡提供防御,并抵御看不見的敵對干擾.MagNet[142]利用探測網絡對遠離流形邊界的AEs進行探測,利用重整器對靠近邊界的AEs進行改造.該過程不需要AEs或生成過程的知識.

5 總 結

隨著人工智能領域在生活中各個方面的廣泛應用[143-145],相關的安全問題也顯現出來.本文調研了機器學習安全領域相關的145篇論文,并對機器學習系統所遇到的安全問題進行了完整而詳細的劃分.我們將該領域分為隱私和安全兩大塊,并按攻擊目的、攻擊目標、攻擊過程將攻擊分為4類.在每種攻擊內部,按時間線和所采用的技術,將繁雜的研究進行總結歸納,劃分了不同的技術,并對技術之間的優劣進行了比對和分析.在防御方面,我們著重保護機器學習系統的隱私和抵抗安全攻擊,將每種防御類型內部的防御技術進行歸類總結,并介紹了防御技術對攻擊技術的適應性.另外,根據對這些攻擊和防御技術的總結和研究,我們還提出了構建安全健壯的機器學習系統、保護機器學習所有參與者隱私安全的經驗,也對目前機器學習系統以及人工智能領域的熱點問題進行了討論.

1) 提高數據質量,增強數據安全.機器學習在收集數據中可能會收集到臟數據,或者攻擊者為實現投毒攻擊所提供的數據,因此要對收集的數據做清洗,提高數據質量.一方面可以采用人工的方法對臟數據進行剔除,另一方面可以采用防御方法中對數據集進行清洗、保護的技術[5,63].面對數據量不足的情況,還可以通過構建生成模型(如GAN)得到相似的數據.總之,訓練的數據質量越高,訓練獲得的模型也越安全.

2) 保證個人數據隱私,防止模型濫用隱私信息.在目前的機器學習系統中,個人數據很難得到安全保障,模型可能從個人數據中推斷出大量隱私信息.為保障用戶的隱私安全,我們建議:引入監管部門對模型監控,嚴格監管模型對數據的使用,只允許模型提取允許范圍內的特征,不可以擅自對敏感信息進行提取和推斷;數據源保護,模型收集的數據必須進行去隱私化處理,模糊掉無關信息;建立健全相關法律法規,監管數據的收集、存儲、使用和刪除過程.

3) 通過模型解釋性的研究解決模型安全性滯后性現狀.目前來說,由于我們還沒有實現對深度神經網絡的深入理解(不清楚某條數據為什么預測出這個結果,不清楚不同數據對模型參數的影響程度),因此尋找安全問題進行攻擊比提前預防要容易.因此我們亟需研究深度神經網絡可解釋性,尤其是2018年歐盟頒布了GDPR條例,更促進了神經網絡可解釋性的發展,相信隨著對神經網絡模型理解的加強,安全滯后性的問題將有效緩解.

4) 加強對人工智能在實際應用中的安全問題研究.人工智能的應用已經延伸至人類生活的物理世界,如自動駕駛應用大量的圖像識別技術.若其中存在安全問題將會直接造成對人身的物理傷害,從而導致了人們對AI安全的極大的恐慌.為了解決這個問題,我們要全面地研究機器學習系統易受的安全威脅,加強對模型的保護,加強對攻擊方法的抵御.同時還要力求解釋AI在何種情況下可能會出現狀況、為什么會出現狀況以及如何防止這種狀況出現,并提出相應的防范措施,從而增強人們對AI技術應用的信任度.

總的來說,本文將機器學習系統所面臨的安全問題進行了詳細的分類,對未來的攻擊防御技術的研究和發展有著重要意義.攻擊和防御本身就是一場軍備競賽,對特定的攻擊技術,可以研究專門的防御去抵抗它;而這種防御技術又會被其他的攻擊技術所攻克.正是在這種攻防競賽中,機器學習系統的安全性得以螺旋式的上升.在未來工作中,我們要繼續研究機器學習領域的技術、應用和倫理方面的安全問題,并將模型提取攻擊、模型逆向攻擊、投毒攻擊和對抗攻擊中先進的攻防工作進行部署,從而對攻擊和防御方法形成更統一和完整的度量.

猜你喜歡
攻擊者機器樣本
機器狗
基于貝葉斯博弈的防御資源調配模型研究
機器狗
規劃·樣本
未來機器城
正面迎接批判
正面迎接批判
隨機微分方程的樣本Lyapunov二次型估計
“官員寫作”的四個樣本
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合