紀守領,杜天宇,李進鋒,沈 超,李 博
1(浙江大學 網(wǎng)絡空間安全研究中心 計算機科學與技術學院,浙江 杭州 310027)
2(智能網(wǎng)絡與網(wǎng)絡安全教育部重點實驗室 電子與信息學部(西安交通大學),陜西 西安 710049)
3(Department of Computer Science,University of Illinois at Urbana-Champaign,Urbana-Champaign,IL 61822,USA)
在大數(shù)據(jù)時代下,深度學習、強化學習以及分布式學習等理論和技術取得的突破性進展,為機器學習在計算機視覺、自然語言處理以及語音識別等多個領域的蓬勃發(fā)展提供了數(shù)據(jù)和算法層面的強有力支撐,同時也促進了機器學習技術在諸如自動駕駛、人臉識別、智慧醫(yī)療以及智能風控等多個場景中的落地應用,并且取得了巨大的成功.在許多任務中,當呈現(xiàn)自然發(fā)生的輸入時,機器學習模型的表現(xiàn)甚至勝過了人類.
然而,大多數(shù)的機器學習模型在設計時并未考慮攻擊者的存在.盡管在預測正常樣本時模型能有優(yōu)異的表現(xiàn),但在現(xiàn)實場景中,由于可能存在大量的惡意用戶甚至是攻擊者,機器學習模型在生命周期的各個階段都可能面臨著不同程度的安全風險,導致模型無法提供正常的服務或者是泄露模型的隱私信息.例如,攻擊者可能對模型的訓練數(shù)據(jù)和輸入樣本進行惡意篡改或是竊取模型參數(shù),從而破壞模型的機密性、可用性和完整性,這就是機器學習模型面臨的安全與隱私問題.
為了構建安全可靠的機器學習系統(tǒng),消除機器學習模型在實際部署應用中的潛在安全風險,保證機器學習模型的機密性、完整性和可用性,一大批來自學術界和工業(yè)界的學者系統(tǒng)地研究了機器學習模型安全與隱私問題,并且前瞻性地提出了一系列針對模型安全和隱私的對抗攻擊和防御方法,涵蓋了機器學習模型的整個生命周期.然而,由于不同學者所處的研究領域不同,解決問題的角度不同,因而構建的威脅模型也不同,所提的攻擊或防御方法也各有側重.因此,我們亟須對現(xiàn)有的研究工作進行系統(tǒng)的整理和科學的歸納、總結、分析,以便為后續(xù)學者了解或研究機器學習模型安全提供指導.
本文首先詳細闡述機器學習中的CIA 模型.然后,從數(shù)據(jù)安全、模型安全以及模型隱私這3 個角度對現(xiàn)有的攻擊和防御研究進行系統(tǒng)的總結和科學的歸納,并討論相關研究的局限性.最后,討論機器學習模型安全與隱私研究所面臨的挑戰(zhàn)以及未來可行的研究方向.
隨著人工智能安全研究的進一步深入,機器學習模型安全與隱私問題逐漸引起了學術界的關注.Papernot等人將機器學習模型安全需求總結為3 個特性:機密性(confidentiality)、完整性(integrity)和可用性(availability),即機器學習中的CIA 模型.機器學習模型的機密性要求機器學習系統(tǒng)必須保證未得到授權的用戶無法接觸到系統(tǒng)中的私密信息,既包括模型的訓練數(shù)據(jù),也包括模型的架構、參數(shù)等信息;完整性要求模型的預測結果不能偏離預期;可用性則要求機器學習系統(tǒng)在面對異常輸入甚至是惡意輸入時仍能提供正常服務.然而,現(xiàn)有研究表明:在機器學習模型生命周期的各個階段,機器學習的CIA 這3 個特性都有可能被攻擊破壞,所對應的攻擊方法分別稱為機密性攻擊、完整性攻擊和可用性攻擊.
? 機密性攻擊.機器學習即服務(machine learning as a service,簡稱MLaaS)平臺為大量非專業(yè)的數(shù)據(jù)持有者訓練模型提供了便利,但這同時也可能會泄漏數(shù)據(jù)持有者的隱私數(shù)據(jù).文獻[1]指出,MLaaS 平臺上由第三方提供的模型未必可信.當數(shù)據(jù)持有者使用MLaaS 平臺時,可能會選到由攻擊者精心設計的惡意模型.例如,攻擊者可以將訓練數(shù)據(jù)編碼到模型參數(shù)中,然后通過解碼參數(shù)竊取用戶的隱私.此外,文獻[2]中提出了一種基于解方程形式竊取模型參數(shù)的攻擊方法,在此基礎上,攻擊者可以基于模型逆向的方法生成與模型私密訓練數(shù)據(jù)相似的數(shù)據(jù),從而對模型的機密性造成巨大威脅;
? 可用性攻擊.由于模型推理階段機器學習系統(tǒng)可能會接收并處理大量的異常輸入甚至是惡意的輸入,因而機器學習模型的可用性也可以成為攻擊者的攻擊目標,以迫使系統(tǒng)無法提供正常的服務.例如:在無人駕駛領域,如果攻擊者把一個非常難以識別的東西放在車輛會經(jīng)過的路邊或者是對交通標志進行物理意義上的擾動,就有可能迫使一輛自動駕駛汽車進入安全保護模式并停在路邊,無法進行正常工作;
? 完整性攻擊.完整性攻擊發(fā)生在模型的訓練階段或預測階段:在訓練階段,最常見的攻擊方式是投毒攻擊[3],即攻擊者通過篡改訓練數(shù)據(jù)或添加惡意數(shù)據(jù)來影響模型訓練過程,最終降低其在預測階段的準確性;在預測階段,最典型的攻擊方式是對抗樣例攻擊,即攻擊者通過在測試數(shù)據(jù)中添加精心構造的微小擾動,達到讓模型預測出錯的目的.
機器學習模型除了預測階段容易受到對抗樣例的攻擊之外,其訓練過程本身也可能遭到攻擊者的攻擊.特別地,如果機器學習模型是根據(jù)潛在不可信來源的數(shù)據(jù)(例如Yelp,Twitter 等)進行訓練的話,攻擊者很容易通過將精心制作的樣本插入訓練集中來操縱訓練數(shù)據(jù)分布,以達到改變模型行為和降低模型性能的目的[4-6].這種類型的攻擊被稱為“數(shù)據(jù)投毒(data poisoning)”攻擊,它不僅在學術界受到廣泛關注,也給工業(yè)界帶來了嚴重危害.例如微軟Tay,一個旨在與Twitter 用戶交談的聊天機器人,僅在16 個小時后被關閉,只因為它在受到投毒攻擊后開始提出種族主義相關的評論.這種攻擊令我們不得不重新思考機器學習模型的安全性.
最早關于投毒攻擊的研究可追溯到文獻[7,8].Newsome 等人[8]設計了一種攻擊來誤導檢測惡意軟件中的簽名生成.Nelson 等人[4]表明:通過在訓練階段學習包含正面詞匯的垃圾郵件,可以誤訓練垃圾郵件過濾器,從而使其在推理階段將合法的電子郵件誤分類為垃圾郵件.Rubinstein 等人[9]展示了如何通過注入干擾來毒害在網(wǎng)絡傳輸上訓練的異常探測器.Xiao 等人[10]研究了LASSO、嶺回歸(ridge regression)和彈性網(wǎng)絡(elastic net)這3種特征選擇算法對投毒攻擊的魯棒性.在惡意軟件檢測任務上的測試結果表明,特征選擇方法在受到投毒攻擊的情況下可能會受到嚴重影響.例如,毒害少于5%的訓練樣本就可以將LASSO 選擇的特征集減弱到幾乎等同于隨機選擇的特征集.
Mei 等人[11]證明了最優(yōu)投毒攻擊可以表述為一個雙層優(yōu)化問題,并且對于某些具有庫恩塔克(Karush-Kuhn-Tucker,簡稱KKT)條件的機器學習算法(例如支持向量機、邏輯回歸和線性回歸),利用隱函數(shù)的梯度方法可以有效地解決這一問題.Alfeld 等人[12]針對線性自回歸模型提出了一個通用的數(shù)學框架,用于制定各種目標、成本和約束條件下的投毒攻擊策略.Jagielski 等人[5]對線性回歸模型的投毒攻擊及其防御方法進行了系統(tǒng)研究,并提出了一個特定于線性回歸模型設計的理論基礎優(yōu)化框架.除了傳統(tǒng)的機器學習模型之外,投毒攻擊還被擴展至深度神經(jīng)網(wǎng)絡[13]、強化學習[14]、生物識別系統(tǒng)[15]以及推薦系統(tǒng)[16,17]等.Mu?oz-González 等人[13]提出了一種基于梯度優(yōu)化思想的投毒攻擊算法,大大降低了攻擊的復雜度.Suciu 等人[18]提出了StringRay,這種方法不僅在4 種分類任務上成功實現(xiàn)了定向投毒攻擊,同時還能繞過兩種現(xiàn)有的防御機制[19,20].
最近,備受學界關注的“后門攻擊(backdoor attack)”[21,22]或“木馬攻擊(trojan attack)”[23]就是一種危害性更大的投毒攻擊,它使攻擊者能夠將“后門”或“木馬”植入到模型中,并在預測階段通過簡單的后門觸發(fā)器完成惡意攻擊行為.被植入“后門”的深度神經(jīng)網(wǎng)絡在正常樣本上表現(xiàn)很好,但會對具有特定后門觸發(fā)器的輸入樣本做出特定的錯誤預測.“后門”可以無限期地保持隱藏,直到被帶有特定后門觸發(fā)器的樣本激活,隱蔽性極強,因而有可能給許多安全相關的應用(例如生物識別認證系統(tǒng)或自動駕駛汽車)帶來嚴重的安全風險[21-23].例如,Gu 等人[21]通過將帶有特殊標簽(即后門觸發(fā)器)的“停車”標志圖像插入訓練集中并標記為“速度限制”,以在路標識別模型中生成后門.該模型雖然可以正確地分類正常街道標志,但會對擁有后面觸發(fā)器的惡意停車標志產生錯誤的分類.因此,通過執(zhí)行這一攻擊,攻擊者可以通過在模型上貼上標簽來欺騙模型,將任何停車標志歸類為速度限制,從而給自動駕駛汽車帶來嚴重的安全隱患(如圖1 所示).雖然后門攻擊和對抗樣例攻擊都會導致模型誤分類,但對抗樣例的擾動特定于輸入和模型,而后門攻擊則可以使攻擊者能夠選擇最方便用于觸發(fā)錯誤分類的任何擾動(例如,在停止標志上貼標簽).此外,后門攻擊也可被用來給深度神經(jīng)網(wǎng)絡加上“水印”,將模型識別為特定供應商的知識產權,以防止具有商業(yè)價值的模型被輕易復制[24].
Fig.1 A stop sign and its backdoored versions using,from left to right,a sticker with a yellow square,a bomb and a flower as backdoors[21]圖1 停車標志及其受后門攻擊的版本,后門觸發(fā)器(從左到右)為黃色方塊、炸彈和花朵[21]
大多數(shù)針對投毒攻擊的防御機制依賴于一個事實,即投毒樣本通常在預期輸入分布之外.因此,投毒樣本可被視為異常值,并且可以使用數(shù)據(jù)清理(即攻擊檢測和刪除)[20]和魯棒學習(即基于對邊遠訓練樣本本質上不太敏感的魯棒統(tǒng)計的學習算法)[5]來凈化訓練樣本.
? 魯棒學習.Rubinstein 等人[9]利用穩(wěn)健統(tǒng)計的知識構建了一個基于主成分分析(principal component analysis,簡稱PCA)的投毒攻擊檢測模型.為了限制異常值對訓練分布的影響,該檢測模型約束PCA 算法搜索一個特定方向,該方向的投影最大化了基于魯棒投影跟蹤估計的單變量離散度量,而不是標準偏差.Liu 等人[25]假設特征矩陣可以很好地用低秩矩陣來近似,并在此基礎上集成了穩(wěn)健低秩矩陣近似和穩(wěn)健主成分回歸方法以用于穩(wěn)健回歸.受穩(wěn)健統(tǒng)計中利用修剪損失函數(shù)來提高魯棒性這一做法的啟發(fā),Jagielski 等人[5]提出了一種名為TRIM 的針對回歸模型的防御方法,并提供關于其收斂的正式保證以及在實際部署時投毒攻擊影響的上限.在每次迭代中,TRIM 使用具有最低殘差的子集計算修剪版的損失函數(shù).本質上,這種方法是在對抗環(huán)境中應用經(jīng)過修正的優(yōu)化技術進行正則化線性回歸.
? 數(shù)據(jù)清理.Shen 等人[3]針對不能接觸到所有訓練數(shù)據(jù)的間接協(xié)作學習系統(tǒng),提出了相應的防御方法Auror,這種方法首先識別與攻擊策略對應的相關掩蔽特征(masked features),然后基于掩蔽特征的異常分布來檢測惡意用戶.Steindhardt 等人[26]嘗試在訓練模型之前檢測并剔除異常值來防御投毒攻擊,并在經(jīng)驗風險最小化的情況下,得出了任意投毒攻擊影響的近似上限.Baracaldo 等人[27]利用tamper-free provenance 框架[28],提出利用訓練集中原始和變換后數(shù)據(jù)點的上下文信息來識別有毒數(shù)據(jù),從而實現(xiàn)在潛在的對抗性環(huán)境中在線和定期重新訓練機器學習模型.Zhang 等人[29]提出一種利用一小部分可信樣本來檢測整個訓練集中的惡意樣本的算法(DUTI),具體地,該方法尋求針對訓練集標簽的最小更改集,以便從該校正訓練集學習的模型能正確地預測可信樣本的標簽.最后,該方法將標簽被更改的樣本標記為潛在的惡意樣本,以提供給領域專家人工審核.
? 后門攻擊檢測.模型后門攻擊檢測極具挑戰(zhàn)性,因為只有當存在后門觸發(fā)器時才會觸發(fā)惡意行為,而后門觸發(fā)器在沒有進一步分析的情況下,通常只有攻擊者知道.因此,無論是提供訓練數(shù)據(jù)的用戶還是提供預訓練模型的用戶,都無法保證其基于機器學習模型的相關操作的安全性.為解決這一挑戰(zhàn),Chen 等人[30]提出了激活聚類(activation clustering,簡稱AC)方法,用于檢測被植入后門觸發(fā)器的訓練樣本.該方法通過分析訓練數(shù)據(jù)的神經(jīng)網(wǎng)絡激活狀態(tài),以確定它是否遭受后門攻擊以及哪些數(shù)據(jù)樣本是惡意的.Wang 等人[31]提出了針對深度神經(jīng)網(wǎng)絡后門攻擊的檢測系統(tǒng),利用輸入過濾、神經(jīng)元修剪和unlearning 等方法,能夠識別深度神經(jīng)網(wǎng)絡中是否存在“后門”,并重建可能的后門觸發(fā)器,從而保證模型在實際部署應用中的安全性.
近年來,機器學習、深度學習等核心技術已被廣泛應用于圖像分類、語音識別、自動駕駛、垃圾郵件過濾以及智能反欺詐等現(xiàn)實任務.研究表明:攻擊者試圖通過各種方法改變模型輸入特征以繞過現(xiàn)實任務中的機器學習模型的檢測,或直接對模型進行攻擊以破壞其完整性,從而達到對抗的目的.其中,攻擊者最常用的攻擊手段是通過向正常樣例中添加精細設計的、人類無法感知的噪音來構造對抗性樣例,從而達到不干擾人類認知而促使機器學習模型對精心構造的對抗性樣例做出錯誤判斷的目的,這種攻擊方法被稱為“對抗攻擊”或者是“對抗樣例攻擊”.以圖像分類為例,如圖2 所示.原始圖片以57.7%的置信度被圖像分類模型識別為“熊貓”;添加細微擾動之后,得到的對抗性圖片則以99.3%的置信度被錯誤地識別為“長臂猿”.然而對于人而言,對抗性圖片依然可以被正常地識別為大熊貓.由于這種細微的擾動通常是人眼難以分辨的,因而使得攻擊隱蔽性極強,但其足以改變模型的預測結果,危害性極大,因而給現(xiàn)實場景中,尤其是風險敏感場景中實際部署應用的機器學習模型帶來了巨大的安全威脅.
Fig.2 An example of adversarial attack[32]圖2 對抗樣例攻擊示例[32]
與其他攻擊不同,對抗性攻擊的核心在于如何構造能夠促使機器學習模型產生誤分類的對抗樣例,因而主要攻擊過程發(fā)生在對抗樣例構造階段.一旦構造完成,該對抗樣例便如同正常樣例一般被攻擊者輸入到目標攻擊模型中以誤導模型的決策過程,從而達到欺騙待攻擊模型的目的.在對抗樣例的構造過程中,根據(jù)攻擊者所獲取到的目標模型具體信息的多少,對抗攻擊可以分為白盒對抗攻擊和黑盒對抗攻擊.
? 白盒攻擊.白盒攻擊假設攻擊者可以完全獲取目標模型的結構和參數(shù)等信息,因而在攻擊過程中,攻擊者可以利用模型的完整信息求解目標模型的梯度信息,以指導對抗樣例的生成過程.
? 黑盒攻擊.與白盒攻擊不同,黑盒攻擊假設攻擊者既無法得知目標模型采用訓練數(shù)據(jù)和模型結構,也無法獲取模型的具體參數(shù),只能獲取模型的最終決策結果.在這種情況下,待攻擊模型對于攻擊者而言猶如一個黑箱,攻擊者只能通過操縱模型的輸入和利用最終決策結果來探測目標模型的敏感性或對模型的梯度信息進行數(shù)值估計,以進而指導對抗樣例的構造過程.因而,相較于白盒攻擊,黑盒攻擊所能利用的信息更少,攻擊的難度更大.
Szegedy 等人[33]在MNIST 數(shù)據(jù)集上的實驗結果表明:在測試集上表現(xiàn)優(yōu)秀的分類模型其實并未從訓練數(shù)據(jù)中學到符合正確決策結果的內在特征,并且這種現(xiàn)象具有普遍性.雖然這些模型在自然數(shù)據(jù)上表現(xiàn)優(yōu)秀,但當測試樣本在整個分布中低概率出現(xiàn)時,這些模型就暴露出了缺陷.因此,Szegedy 認為:對抗樣例存在的原因之一,是模型的高度非線性導致的輸入與輸出映射的不連續(xù)性,以及次優(yōu)的模型平均和次優(yōu)的正則化導致的過擬合.
然而,Goodfellow 認為:對抗樣例的存在,是高維空間中線性特質所致[32].在高維線性模型空間中,輸入數(shù)據(jù)的多個微小變化疊加,會導致輸出的極大變化,即:如果線性模型的輸入維度足夠高,那么它就容易受到對抗樣例的攻擊.對于深度神經(jīng)網(wǎng)絡等非線性模型,為了保證模型易于訓練,通常會選擇ReLU 等分段線性激活函數(shù).即使是采用Sigmoid 激活函數(shù),通常也會讓神經(jīng)元盡可能地處于非飽和區(qū)域.因此,非線性模型中的線性行為也使得模型的完整性易受對抗樣例的攻擊.
最近的一項研究表明[34],對抗樣例的產生,可歸因于非穩(wěn)健特征的出現(xiàn):某些來自數(shù)據(jù)分布模式的特征對于人類來說是難以理解的,但它們具備高度的預測性.同時,研究者們也對對抗樣例的遷移性給出了解釋:由于任意兩個模型可能同時學習到類似的非穩(wěn)健特征,因此擾動此類特征的對抗樣例,可對二者同時產生影響.
作為破壞機器學習模型完整性最強有力的攻擊方法,對抗樣例攻擊被廣泛應用于諸如計算機視覺、自然語言處理、音頻處理以及圖數(shù)據(jù)處理等各個領域.
3.2.1 計算機視覺
在計算機視覺領域,對抗攻擊旨在通過向圖片中添加人眼無法感知的噪音以欺騙諸如圖像分類、目標識別以及看圖說話等多種機器學習模型.根據(jù)在攻擊過程中是否依賴模型具體的結構和參數(shù)信息,針對計算機視覺模型的對抗攻擊方法可以分為白盒攻擊和黑盒攻擊.為了保證攻擊的隱蔽性,無論是白盒攻擊還是黑盒攻擊,均需要限定所添加擾動的幅度,從而保證促使學習模型產生誤分類的同時,不干擾人的識別結果.
1)白盒攻擊
(1)基于優(yōu)化
Szegedy 等人[33]首次提出“對抗樣例”這一概念,將尋找最小可能的攻擊擾動定義為一個優(yōu)化問題,并提出使用L-BFGS 來解決這個問題.采用這種方法攻擊的成功率很高,但同時其計算成本也較高.Carlini 等人[35]進一步改進了L-BFGS 方法,提出了攻擊效果更好的目標函數(shù),并通過改變變量以解決邊界約束問題,這一方法通常被稱為C&W 攻擊.Chen 等人[36]在C&W 攻擊的基礎上結合彈性網(wǎng)(elastic net)正則思路提出了EAD,該方法生成的對抗樣本相較于C&W 生成的對抗樣本具有更強的遷移性.Khrulkov 等人[37]提出了一種基于求解優(yōu)化問題的構造通用擾動的新算法,該算法主要基于深度神經(jīng)網(wǎng)絡特征映射的雅可比矩陣的(p,q)-奇異向量(singular vectors).
(2)基于梯度
為了降低計算成本,Goodfellow 等人[32]提出了快速梯度符號法FGSM,這種方法假設在數(shù)據(jù)點附近決策邊界是線性的,因此沿著梯度的反方向添加擾動即可拉大對抗樣例與原始樣本的距離.這種方法雖然能夠快速生成對抗樣例,但在實際情況中,由于線性假設往往不成立,使得該方法無法很好地擬合模型.此外,FGSM 是一種單步(one-step)攻擊方法,因此其攻擊的成功率較低.為了進一步提升FGSM 的攻擊效果,Kurakin 等人[38]提出了基本迭代方法I-FGSM(或BIM),使用貪婪法在每次迭代中將對抗樣本沿梯度方向移動.然而,迭代方法生成的對抗樣本很容易過擬合到局部極值點,因此遷移性沒有單步攻擊生成的對抗樣例強[39].為了解決這個問題,Dong等人[40]提出了基于梯度的動量迭代攻擊方法MI-FGSM,在穩(wěn)定更新的方向時又能逃離局部極值點,使得生成的對抗樣本具有很高的可遷移性,進而使其具有強大的黑盒攻擊能力.Xie 等人[41]在MI-FGSM 的基礎上引入了輸入轉換(input diversity)并提出了M-DI2-FGSM 方法,進一步提高了對抗樣本的遷移性.此外,Madry 等人[42]發(fā)現(xiàn),I-FGSM 可以通過ε范圍球內的隨機點開始而得到顯著的改善,因此提出了一種名為PGD 的攻擊方法,有效地提升了I-FGSM 的攻擊效果.Zheng 等人[43]將PGD 推廣至數(shù)據(jù)分布空間,使學習得到的對抗樣例分布能夠最大程度地增加模型的泛化風險.Papernot 等人[44]提出了基于雅可比矩陣的JSMA 方法,其主要思想是通過添加稀疏噪音的方式來構造對抗樣例.這種方法則允許添加大的擾動,但要求被擾動的像素點要盡可能地少.
(3)基于分類超平面
盡管FGSM 等基于梯度的對抗樣例攻擊方法能夠快速地生成使原分類器產生誤分類的對抗樣本,但這類攻擊方法存在一個共性問題,即無法控制達到攻擊目標的最優(yōu)擾動規(guī)模.為了解決這一問題,Moosavi-Dezfooli等人[45]提出了Deepfool 算法,目的是尋找可以使分類器產生誤判的最小擾動.在此基礎上,Moosavi-Dezfooli 等人[46]還提出了一種通用的、不依賴于某一特定樣本的對抗擾動(universal adversarial perturbation,簡稱UAP)生成方法,可使所有被添加該擾動的圖片都被誤分類為其他類別.相比于基于梯度信息的對抗樣本生成方法,基于分類超平面的方法所生成的擾動具有更強的泛化能力和更強的黑盒攻擊能力.
(4)基于生成模型
Baluja 等人[47]提出了對抗性轉換網(wǎng)絡(adversarial transformation network,簡稱ATN),它能夠將任何輸入樣本轉換為使目標網(wǎng)絡產生錯誤分類的對抗樣例,同時對原始輸入和目標網(wǎng)絡輸出的干擾最小.Song 等人[48]提出了基于條件生成模型(conditional generative model)的對抗樣例生成方法,其主要思想是:首先,通過訓練輔助分類器生成對抗網(wǎng)絡(AC-GAN),以對數(shù)據(jù)樣本的條件分布進行建模.然后,以目標類別為條件,在生成器的潛在空間上搜索被目標分類器錯誤分類的圖像.為了生成感知上更真實的對抗樣本,Xiao 等人[49]提出一種基于GAN(generative adversarial network)的對抗樣例生成方法AdvGAN,其中,生成器用于產生對抗擾動,鑒別器用于確保生成的對抗樣例是真實的.特別地,生成網(wǎng)絡一旦訓練完畢,就可以有效地為任何樣本生成擾動而不再需要查詢目標模型.
(5)對抗補丁
Brown 等人[50]放寬了“擾動必須是人眼不可察覺的”這一限制,提出“對抗補丁(adversarial patch)”生成算法,使其加到任何圖片上都可以讓原圖被識別為特定類別.Liu 等人[51]提出PS-GAN,將GAN 和Grad-CAM[52]結合到對抗補丁的訓練中去,以訓練一種更不易被發(fā)現(xiàn)但又擁有強攻擊力的補丁.Thys 等人[53]針對目標檢測系統(tǒng)提出了一種對抗補丁生成算法,并且,這種對抗補丁能夠在真實世界中擁有物理攻擊效果.
(6)其他
Xiao 等人[54]首次提出了通過空域變換來生成對抗樣本,即,通過改變原始樣本中像素點的位置來生成對抗樣例.雖然該方法在傳統(tǒng)的對抗樣本生成評價指標中與原圖像會有較大的Lp距離,但從人的視覺感官上來看,這種變換方式更真實,且更不容易被現(xiàn)有對抗攻擊防御方法檢測出來.從這項研究中我們可以得出一個新的結論,即,利用L2 距離作為原始圖像與對抗樣例的相似性度量不符合人的視覺感受機制.Su 等人[55]提出了單像素攻擊,即,通過只改變一個像素點的值來使模型分類出錯.
(7)物理世界的實際攻擊
大部分上述對抗樣本在現(xiàn)實世界的危害有限,因為數(shù)據(jù)會受變焦、相機噪聲、角度和距離等其他因素的影響.Kurakin 等人[38]首次研究了物理世界的實際攻擊方法,并討論了通過攝像頭實際拍攝給對抗樣本帶來的影響.Athaly 等人[56]對物理環(huán)境下的對抗攻擊進行了更加深入的研究,探討了2D、3D 和物理世界3D 這3 種環(huán)境下的對抗樣本的生成方法和有效性問題,并首次制作了可在各個角度下欺騙分類模型的真實3D 物體.該研究提出一種通用的對抗樣本生成方法——變換期望算法(expectation over transformation,簡稱EOT),通過在優(yōu)化過程中對不同干擾進行建模,使得該方法生成的對抗樣本在模糊、旋轉、縮放、光照等變換下都表現(xiàn)出很強的魯棒性(如圖3 所示).Eykholt 等人[57]提出了一種通用的攻擊算法RP2(robust physical perturbation),其能夠在不同的物理條件下產生魯棒的對抗擾動.
Fig.3 Different random poses of a 3D-printed turtle perturbed by EOT are classified[56]圖3 模型對EOT 生成的3D 打印烏龜?shù)牟煌S機姿勢進行分類[56]
2)黑盒攻擊
由于在模型的實際部署應用中,我們通常無法獲取模型的架構、參數(shù)等信息,只能操縱模型的輸入和輸出,因此在這種場景中,黑盒攻擊更具有普遍性和現(xiàn)實意義.根據(jù)攻擊時采用的策略的不同,現(xiàn)有的黑盒攻擊方法主要分為基于遷移性的方法[58-62]、基于梯度估計的方法[63-66]、基于決策的攻擊方法[67]和基于采樣的方法[68].
(1)基于遷移性的方法
相關研究表明,對抗樣本具有遷移性(transferability)[58],即:針對目標模型生成的對抗樣本,同樣有可能讓其他具有不同結構、以不同訓練集訓練得到的模型出錯.因此在黑盒場景下,攻擊者可以在與黑盒目標模型相同或具有類似分布的數(shù)據(jù)集上訓練自己的模型,然后針對自己訓練的模型生成對抗樣本,并利用其遷移性欺騙黑盒的目標模型.在攻擊者無法獲取訓練數(shù)據(jù)的情況下,攻擊者可以基于模型蒸餾的思想,利用目標模型對自己合成的數(shù)據(jù)打標簽,并用合成數(shù)據(jù)來訓練替代模型,以近似目標黑盒模型,然后利用白盒攻擊方法,針對替代模型生成對抗樣本,并利用生成的對抗樣例對目標模型進行黑盒遷移攻擊[60].然而,這種方法雖被證明適用于類內差異性較低的數(shù)據(jù)集(例如MNIST),但尚未有研究證明它可以擴展到CIFAR 或ImageNet 等更復雜的數(shù)據(jù)集.隨后,Papernot 等人[59]利用蓄水池(reservoir sampling)算法提高了替代模型的訓練效率;Ilyas 等人[61]針對查詢次數(shù)有限、僅給出top-k類別概率和僅給出樣本類別標簽等條件更嚴格的情況,對替代模型攻擊方法進行了改進;Shi 等人[62]提出的Curls&Whey 攻擊則從多樣性、遷移性、噪聲大小等方面進一步優(yōu)化了基于替代模型的攻擊方法.
(2)基于梯度估計的方法
Chen 等人[63]提出基于零階優(yōu)化的有限差分算法ZOO 來直接估計目標深度學習模型的梯度以生成對抗樣例.實驗結果表明:ZOO 攻擊算法顯著優(yōu)于基于替代模型的黑盒攻擊算法,并且與白盒算法C&W 攻擊效果相當.然而,這種方法需要較多的查詢次數(shù),且依賴于模型的預測值(例如類別概率或置信度),因此無法應用于模型查詢次數(shù)有限或模型僅給出類別標簽的情況.針對模型查詢次數(shù)有限的情況,Bhagoji 等人[64]利用隨機特征分組(random feature grouping)和主成分分析(PCA)算法以減少生成對抗樣例所需的查詢模型的次數(shù),Ilyas 等人[65]將梯度先驗(gradient priors)與老虎機優(yōu)化(bandit optimization)算法相結合以克服這一局限.Tu 等人[66]提出AutoZOOM 框架,主要包括兩個模塊:①為了平衡模型查詢次數(shù)和失真度的自適應隨機梯度估計策略;②用于提升攻擊效率的用未標記數(shù)據(jù)離線訓練的自編碼器(autoencoder)或雙線性調整操作.當該框架應用于ZOO 攻擊算法時,可在維持攻擊效果不變的情況下,極大地減少所需模型的查詢次數(shù).
(3)基于決策的攻擊方法
在真實世界的機器學習相關應用中,攻擊者很少能夠獲得模型的預測值.針對目標模型僅給出類別標簽的情況,Brendel 等人[67]提出了邊界攻擊(boundary attack)算法,其主要思想是:將初始化的圖像或噪聲逐漸向原始樣本靠近直到找到?jīng)Q策邊界,并在決策邊界上找到與原始樣本最近的對抗樣本.與基于遷移性的攻擊相比,它們需要的模型信息更少,實現(xiàn)簡單,實用性更強,但卻需要巨大的查詢次數(shù).在梯度掩蔽、內部隨機性或對抗訓練等防御方法存在的情況下,這種基于決策的攻擊比其他類型的黑盒攻擊更難以防御.
(4)基于采樣的方法
在Ilyas 等人[65]提出的攻擊方法中,為了使投影梯度法有效,梯度必須對梯度信息進行相對準確的估計.然而,由于部分神經(jīng)網(wǎng)絡的預測函數(shù)是不平滑的,因此用自然進化策略(natural evolution strategy,簡稱NES)進行梯度估計不夠可靠.為了解決這一缺陷,Li 等人[68]使用有約束的NES 公式作為目標函數(shù),并以正常輸入樣本為中心的?p-ball 上定義的概率密度分布來平滑損失函數(shù).如果能夠找到一個損失很小的分布,那么從該分布中采樣的樣本很可能就是對抗樣例.該方法不再依賴于梯度估計,因此它不會受到深度神經(jīng)網(wǎng)絡非平滑性的阻礙.
3.2.2 自然語言處理
自然語言處理領域的對抗攻擊是指在不改變文本語義的情況下,使神經(jīng)網(wǎng)絡出現(xiàn)誤判.相比于計算機視覺領域,自然語言處理領域的對抗攻擊有以下幾個難點:首先,由于文本數(shù)據(jù)是離散的,因此針對圖像領域的對抗樣例生成方法并不能直接應用于文本;其次,圖像的擾動是人眼難以察覺的像素值的微小變化,但是對于文本的對抗攻擊,人眼很容易察覺到小的擾動,例如替換字符或單詞會產生無效的單詞或語法不正確的句子,并且可能會改變句子的語義.此外,如果直接將圖像領域的基于梯度的對抗攻擊方法應用到經(jīng)過向量化處理后的文本特征,生成的對抗樣例有可能是無效的字符或單詞序列[69].近年來,許多研究者對不同的自然語言處理任務進行對抗攻擊,包括問答系統(tǒng)[70]、機器翻譯[71]、對話生成[72]、有毒評論檢測[73]等.
(1)白盒攻擊
Papernot 等人[74]最先開始研究文本序列中對抗樣本的問題,提出了一種基于JSMA 算法思想的對抗文本生成方法,成功地攻擊了遞歸神經(jīng)網(wǎng)絡(RNN).Ebrahimi 等人[75]提出了一種基于梯度優(yōu)化的白盒對抗文本生成方法HotFlip,并在隨后的工作中將其擴展至定向攻擊[76].該方法能夠在one-hot 表示下處理離散文本結構,通過字符替換使字符級文本分類模型出錯(如圖4 所示).Liang 等人[77]基于FGSM 算法的思想,提出用梯度來度量詞語對分類結果的影響程度,并對重要的詞語進行插入、刪除和修改等擾動.但是這種方法添加擾動的過程需要人為干預,因此,Samanta 等人[78]將這個擾動過程自動化,并對替換/添加的單詞進行限制,以使原文的語法結構保持正確.Gong 等人[79]基于FGSM 和Deepfool 的思想對詞向量(word embedding)進行擾動,然后使用詞移距離(word mover distance,簡稱WMD)找到最近鄰詞語進行替換.Lei 等人[80]證明了用于文本分類的網(wǎng)絡函數(shù)的次模性,并指出,貪婪算法可以很好地近似最優(yōu)解.
Fig.4 Adversarial examples for text classification[81]圖4 文本分類的對抗樣例[81]
(2)黑盒攻擊
Jia 等人[70]首次將對抗攻擊應用于問答系統(tǒng),其具體做法是:在段落末尾添加無意義的、分散注意力的句子,這些句子不會改變段落的語義和問題的答案,但會欺騙問答系統(tǒng).Wang 等人[82]通過改變分散注意力句子的位置來改進Jia 等人的工作,并擴展用于生成分散注意力的句子的假答案集.Li 等人[81]提出一種通用的對抗文本生成框架TextBugger,其核心思想與敏感性分析解釋方法類似,具體做法是:利用刪去某一單詞之后模型輸出的置信度變化來衡量每個詞對分類結果的貢獻度,按單詞貢獻度從高到低采用同義詞替換或拼寫錯誤等方式使模型誤分類,同時保證修改后的文本與原文本的語義變化在一定范圍內.文獻[71,72]提出了更多擾動策略,包括隨機交換相鄰token、隨機刪除停用詞、語法錯誤、反義詞等策略.Zhao 等人[69]提出了基于GAN 的對抗文本生成算法,該算法包括兩個關鍵組件:用于生成偽數(shù)據(jù)樣本的GAN 和將輸入映射到潛在密集空間的逆變器.通過最小化原始輸入和對抗性示例之間的重建誤差,對原始輸入訓練這兩個分量.但是,這種方法非常耗時.
(3)惡意軟件檢測
在惡意軟件檢測領域,對抗攻擊被應用于修改惡意軟件的特征,以規(guī)避惡意軟件檢測模型的檢測.例如:研究人員給惡意軟件樣本中添加一些正常的字符使其看起來更加真實,并不會被系統(tǒng)檢測到;攻擊者也可以用感染真實PE 文件、編譯含有惡意代碼的真實源碼、注入二進制代碼的方式來繞過檢測.Grosse[83]中借鑒JSMA方法[44]構造對抗樣例,將其從連續(xù)可微的空間轉移應用到了離散空間中,初步證明了對抗攻擊在惡意軟件檢測領域的可行性.Kreuk 等人[84]修改了FGSM 的損失函數(shù),使其能夠更好地應用于惡意軟件數(shù)據(jù)的離散性.此外,相關研究者還利用在文件末尾增加字節(jié)[85]、插入API 序列[86]、GAN[87]生成、強化學習[88]的思想生成惡意軟件對抗樣本.在防御方面,相關研究者利用對抗訓練[89]、隨機化思想[90]來防御惡意軟件對抗樣例.
3.2.3 音頻處理
不同于自動駕駛等視覺場景,對于現(xiàn)階段的語音模型來說,非定向攻擊并沒有太大的威脅性,因為非定向攻擊造成的后果并不會威脅用戶的隱私、財產或者生命安全.因此,能夠對語音系統(tǒng)產生影響、推動其進步的對抗樣本必然是以定向為基礎的.由于語音識別系統(tǒng)通常需要對輸入音頻進行大量預處理,因此無法直接將圖像領域的攻擊方法直接應用于生成對抗音頻.
(1)白盒攻擊
在先前的研究工作中,Cisse 等人[91]開發(fā)了一個通用攻擊框架Houdini,用于攻擊包括圖像和音頻在內的各種模型,但是他們的方法在反向傳播求梯度時無法對音頻特征轉換進行計算.為了克服這一挑戰(zhàn),Carlini 等人[92]提出了一種白盒場景下基于梯度的定向攻擊方法,使得反向傳播能夠順利經(jīng)過特征轉換層,開啟了學界在定向對抗語音生成方面的探索.該方法通過將給定的任意波形通過添加噪聲的方式轉換成一段人耳不能區(qū)分但會被語音識別系統(tǒng)識別成完全不同的另一段話的新波形,成功地攻擊了DeepSpeech 語音識別模型.但是這種攻擊的遷移性非常弱,幾乎不能攻擊除了目標模型之外的其他語音識別模型.此外,這種攻擊方法需要將對抗音頻文件直接作為模型輸入才有攻擊效果,如果用揚聲器播放再用麥克收音,則攻擊就會完全失效.為了克服這一缺陷,Qin 等人[93]通過利用聲學空間模擬器來模擬音頻在無線播放時的環(huán)境失真,利用聽覺掩碼(auditory masking)的心理聲學原理開發(fā)出了人耳不可察覺的音頻對抗樣本,提高了對抗樣本在無線播放時的魯棒性,同時保持任意完整句100%的針對性成功率.
(2)黑盒攻擊
在機器學習模型的實際部署應用中,攻擊者通常不知道模型架構或參數(shù),因此,研究者進一步對黑盒場景下的對抗語音生成方法進行了研究.Taori 等人[94]提出了一種基于遺傳算法和梯度估計的黑盒對抗語音生成方法.Du 等人[95]提出了一種基于粒子群算法的黑盒對抗語音生成方法,成功攻擊了語音識別、說話人識別、音頻場景識別模型等安全敏感系統(tǒng).Yuan 等人[96]提出的Commandersong 成功攻擊了科大訊飛語音識別系統(tǒng),其主要思想是:將惡意指令的音頻特征以一種人耳難以感知的方式嵌入到一段音樂中,使得播放這段音樂時,語音識別系統(tǒng)能夠識別出惡意指令.但是,這種攻擊可以被基于時序依賴關系的防御方法[97]所防御.
3.2.4 圖數(shù)據(jù)處理
針對圖數(shù)據(jù)(graph data)的對抗攻擊被定義為:通過修改給定的圖,使圖結構或節(jié)點屬性的變化在限定范圍內,在這種情況下,降低各種圖相關算法的性能.針對圖數(shù)據(jù)的對抗攻擊在實際應用場景中早有真實案例,比如在社交網(wǎng)絡中,水軍通過模仿正常賬戶進行關注、點贊、評論等行為來降低自己的可疑性,以規(guī)避異常檢測算法的檢測,從而避免被封號.
Zügner 等人[98]首次對基于屬性圖(attribute graph)的傳統(tǒng)模型和圖卷積網(wǎng)絡(graph convolution network)的對抗攻擊進行研究,激起了圖數(shù)據(jù)的對抗攻擊與防御研究熱潮.Dai 等人[99]針對圖神經(jīng)網(wǎng)絡(graph neural network)模型提出了兩種對抗攻擊方法:在僅給出預測類別的黑盒場景下,作者提出了基于強化學習的黑盒對抗攻擊方法;在攻擊者可獲得模型預測置信度或梯度的白盒場景下,作者提出了基于遺傳算法和梯度下降的對抗攻擊方法.Chen 等人[100]針對圖聚類算法提出兩種攻擊方法——定向噪聲注入(targeted noise injection)和小社區(qū)攻擊(small community attack).其中,定向噪聲注入通過插入邊和節(jié)點,使得原圖中的節(jié)點與攻擊者插入的節(jié)點被聚為一類;而小社區(qū)攻擊主要通過刪除節(jié)點和邊,將本應被聚為一個類的子圖拆散成多個類,同時盡可能地維持原圖中各個節(jié)點之間的聯(lián)系.Bojchevski 等人[101]利用特征值擾動理論的結論,將針對基于隨機游走(random walks)的網(wǎng)絡學習表示(network representation learning)算法的對抗攻擊歸結為一個雙層優(yōu)化問題.Wang 等人[102]針對協(xié)同分類(collective classification)這一傳統(tǒng)圖模型算法,將對抗攻擊定義為一個基于圖的優(yōu)化問題,以確定需要擾動哪些邊.
3.2.5 攻擊方法總結
綜上所述,經(jīng)典的對抗樣例攻擊方法及其滿足的屬性見表1.
Table 1 Summary of classic adversarial attacks表1 經(jīng)典的對抗樣例攻擊方法總結
從表中可以看出:目前的對抗攻擊方法仍然集中在圖像領域,文本、音頻和圖數(shù)據(jù)方向的相關研究相對較少,未來可研究的空間較大.在圖像領域,大多數(shù)攻擊者都是在白盒場景下對數(shù)字圖像進行攻擊,并且采用Lp范數(shù)來控制以及衡量噪聲大小,以盡可能地減小添加的擾動對人類識別結果的影響程度.然而,未來圖像領域的對抗攻擊將逐漸從數(shù)字領域轉變到物理世界,即,如何生成能夠攻擊現(xiàn)實應用的對抗樣例.此外,如何提出更好的、更符合人類認知的擾動衡量標準,也是一個值得研究的問題.
傳統(tǒng)的模型優(yōu)化手段如權重衰減或者dropout,雖然在一定程度上可以讓機器學習模型更加穩(wěn)健,但通常無法切實防范對抗樣本.機器學習模型內在的復雜性,使其在預測階段難以獲得對于對抗攻擊的魯棒性,但這種復雜性又是保證模型具有強大的建模能力的必要條件.目前為止,并沒有一個能夠達到完全令人滿意程度的對抗樣本防御方法,因此,設計更強的防御方法,是未來機器學習模型安全保護研究的重點.
3.3.1 圖像預處理與特征變換
由于許多方法產生的對抗性擾動對于人類觀察者來說看起來像高頻噪聲,因此很多研究者建議使用圖像預處理作為防御對抗樣本攻擊的策略,例如JPEG 壓縮(JPEG compression)[103]、總方差最小化(total variance minimization,簡稱TVM)[104]、圖像縫合(image quilting)[104]、圖像深度縮減(bit-depth-reduction)[105]等.Xu 等人[105]提出深度顏色壓縮(depth-color-squeezing)方法來防御對抗樣例,其本質思想是對每個像素進行量化.Buckman等人[106]提出Thermometer Encoding 防御方法,其本質思想是對每個像素進行離散化,即,用二進制向量替換每個像素原來的值.Guo 等人[107]證明:利用局部線性嵌入(locally linear embedding,簡稱LLE)來對輸入數(shù)據(jù)進行降維,能夠提高模型的魯棒性.Prakash 等人[108]基于模型對自然噪聲具有魯棒性這一現(xiàn)象提出了像素偏轉(pixel deflection)防御方法,該方法通過強制使輸入圖像匹配自然圖像統(tǒng)計來抵御對抗性擾動.Akhtar 等人[109]通過訓練擾動校正網(wǎng)絡(perturbation rectifying network,簡稱PRN)來消除對抗擾動,同時利用PRN 輸入輸出差值的離散余弦變換來訓練檢測器:如果檢測到擾動,就將PRN 的輸出作為模型的輸入;反之,將原圖作為模型的輸入.
由于標準去噪器存在誤差放大效應(即微小的對抗性噪聲可能會被逐步放大而導致錯誤分類),為了解決這一問題,Liao 等人[110]提出了HGD 去噪器.該方法的主要思想是,將干凈圖像的logits 與去噪圖像的logits 之間的差異作為損失函數(shù)來訓練去噪器.Shen 等人[111]將消除樣本的對抗性擾動定義為學習從對抗樣本到原始樣本的流形映射的問題,在GAN 框架下,利用對抗樣本生成與原始樣本相似的重構圖像,以達到消除擾動的目的.類似地,Samangouei 等人[112]提出了Defense-GAN,其核心思想是:利用生成模型來對正常樣本的分布進行建模,然后生成與待預測樣本近似的干凈樣本,并將干凈樣本送入模型進行預測.Hwang 等人[113]提出了基于VAE 的凈化對抗樣例的方法PuVAE,通過在每個類的流形上投射對抗樣例來消除對抗性擾動,并且將最接近的投影作為凈化后的樣本.Dubey 等人[114]通過對包含數(shù)百億圖像的網(wǎng)絡圖像數(shù)據(jù)庫進行最近鄰(nearest-neighbor)搜索來對待預測圖像進行近似投影,將最近鄰圖像的預測結果作為待預測圖像的結果.
局部攻擊是通過僅在特定的局部區(qū)域內添加可見對抗性噪聲(localized and visible adversarial noise,簡稱LaVAN)而不會影響圖像中的顯著對象的一種對抗攻擊.由于這種攻擊在特定圖像位置引入了集中的高頻變化,Naseer 等人[115]提出了局部梯度平滑(local gradients smoothing,簡稱LGS)方法.具體做法是:首先估計梯度域中的噪聲位置,然后在圖片送入深度神經(jīng)網(wǎng)絡之前正則化估計噪聲區(qū)域的梯度.與其他防御機制相比,LGS 是迄今為止對BPDA(back pass differentiable approximation)防御性能最好的防御方法.
Wu 等人[116]提出一種結合置信度信息和最近鄰搜索的框架HCNN(highly confident near neighbor),將低置信度的(即有可能是對抗樣例的)樣本點嵌入到高置信度區(qū)域,以增強模型的魯棒性.Song 等人[117]發(fā)現(xiàn):對于任意攻擊類型或目標模型,對抗樣例主要存在于訓練數(shù)據(jù)的低概率分布區(qū)域.基于這一認知,他們提出了PixelDefend,通過將對抗樣例移回訓練數(shù)據(jù)的高概率分布區(qū)域來凈化對抗樣例.
雖然圖像預處理在攻擊者不知道防御方法的場景下很有效,但其在攻擊者已知防御方法的場景下幾乎無效[118].但是預處理仍不失為一類吸引人的防御方法,因為該方法可以與其他防御方法協(xié)同工作以產生更強的防御效果,且可以在不知道目標模型的情況下降低對抗樣本的危害程度.
3.3.2 隱藏式安全
隱藏式安全(security-by-obscurity)防御機制通過向攻擊者隱藏信息來提高機器學習模型的安全性[7,19,119].這種防御方法旨在防御黑盒環(huán)境下,攻擊者通過查詢目標模型來改進替代模型或對抗樣例的探測機制.典型的防御方法包括:(1)增加模型逆向的難度,例如模型融合;(2)拒絕攻擊者訪問有用的梯度信息;(3)隨機化分類器的輸出.
? 模型融合(model ensemble).He 等人[120]研究發(fā)現(xiàn),將現(xiàn)有的多種弱防御策略集成起來并不能作為一種強防御方法,主要原因是自適應的(adaptive)攻擊者可以設計出具有很小擾動的對抗樣本來攻破這3 種防御方法.Liu 等人[121]結合模型融合與隨機化思想提出了RSE(random self-ensemble)防御方法,其主要思想是:在神經(jīng)網(wǎng)絡中加入隨機噪聲層,并將多個隨機噪聲的預測結果融合在一起,以增強模型的魯棒性.這種方法相當于在不增加任何內存開銷的情況下對無窮多的噪聲模型進行集成,并且所提出的基于噪聲隨機梯度下降的訓練過程可以保證模型具有良好的預測能力.然而,如果沒有正確地組合基分類器,它們可能會降低安全性[122,123];
? 梯度掩模(gradient masking)[60].梯度掩模防御方法試圖通過隱藏能夠被攻擊者利用的梯度信息來進行防御,然而,這種方法并沒有提高模型本身的魯棒性,只是給攻擊者在尋找模型防御漏洞時增添了一定的困難,并且已有研究表明,它可以很容易地被替代模型等方法所規(guī)避[60,118];
? 隨機化(randomization).Xie 等人[124]提出,在模型前向傳播時使用隨機化來防御對抗攻擊,包括隨機調整大小(random resizing)和隨機填充(random padding).盡管最近的研究表明[121],引入隨機性可以提高神經(jīng)網(wǎng)絡的魯棒性,但是Liu 等人[125]發(fā)現(xiàn),盲目地給各個層添加噪聲并不是引入隨機性的最優(yōu)方法,并提出在貝葉斯神經(jīng)網(wǎng)絡(Bayesian neural network,簡稱BNN)框架下對隨機性建模,以學習模型的后驗分布.Lecuyer 等人[126]提出了基于差分隱私的防御方法PixelDP,其主要思想是:在深度神經(jīng)網(wǎng)絡中加入差分隱私噪聲層,以使網(wǎng)絡的計算隨機化,從而使l-norm 范圍內的擾動對模型輸出的分布變化影響在差分隱私保證的范圍內.
3.3.3 影響決策邊界
Gu 等人[127]借助收縮自編碼(contractive auto-encoder,簡稱CAE)的思想提出了深度收縮網(wǎng)絡(deep contractive network,簡稱DCN)這一概念,其主要特點是,用于訓練的損失函數(shù)中包含平滑懲罰項(smoothness penalty).雖然平滑懲罰提高了深度收縮網(wǎng)絡的魯棒性,但同時也會降低其在正常樣本上的性能.Szegedy 等人[128]提出名為標簽平滑的防御方法,即用軟標簽替換硬標簽來訓練模型.這種方法雖然能夠防御基于FGSM 方法生成的對抗樣例,但不能防御JSMA 攻擊[44].Cao 等人[129]發(fā)現(xiàn),對抗樣例通常離決策邊界很近,并基于這一認知提出了基于區(qū)域(region-based)的分類模型,其主要思想是,融合以樣本點為中心的超立方體中的信息來進行預測.Yan 等人[130]提出了Deep Defense,其核心思想是:將一個基于對抗擾動的正則項集成到目標函數(shù)中,這個正則項通過使正確分類樣本擁有相對較大值、可能錯誤分類的樣本擁有較小值來懲罰對抗性干擾,在不損失模型精度的情況下提高了模型的魯棒性.Jakubovitz 等人[131]利用神經(jīng)網(wǎng)絡雅可比矩陣的Frobenius 范數(shù)對模型進行正則化,作為其常規(guī)訓練的后處理(post-processing)步驟,并證明這種方法可以讓原始網(wǎng)絡在精度變化最小的情況下提高魯棒性.
(1)對抗訓練
對抗訓練[33]是最早提出來的一個針對對抗樣本的防御方法,該方法將帶有正確標簽的對抗樣本加入原始訓練集中共同訓練模型,以提高模型的魯棒性.但是對抗訓練容易使模型過擬合于用于產生對抗樣例的特定約束區(qū)域中去,導致模型的泛化性能下降[39].例如,Moosavi 等人[45]發(fā)現(xiàn):如果在訓練和攻擊時使用不同的方法來生成對抗樣例,那么基于對抗訓練的模型不再具有魯棒性.對抗訓練的另一個主要缺點是:它傾向于在無意中學習做梯度掩蔽而不是實際移動決策邊界,因此仍然容易受到黑盒攻擊的威脅.為了克服這一缺陷,Tramèr 等人提出了集成對抗訓練[132]的防御方法,即:利用多個預訓練好的模型來生成對抗樣本,然后將這些對抗樣本都加到訓練集中對模型進行訓練.此外,為了將對抗訓練應用到大規(guī)模數(shù)據(jù)集上,Kannan 等人[133]提出了一種基于logit 配對的對抗訓練方法,本質上是在傳統(tǒng)的對抗訓練基礎之上加入了一個正則項,最小化對抗樣例的logit 與對應的原始樣本的logit 的差值.雖然后續(xù)研究發(fā)現(xiàn)對抗訓練容易受到盲點攻擊(blind-spot attack)[134],但它仍然是目前最有效的防御方法之一[68].
(2)模型壓縮
Papernot 等人[135]提出一種基于知識蒸餾(knowledge distillation)的防御方法,將大模型壓縮成具有更平滑的決策表面的小模型,在提高模型魯棒性的同時保持預測精度不變.但后續(xù)研究證明,這種防御方法易被攻破[36].Guo 等人[136]證明,利用模型修剪(pruning)來適當提高非線性深度神經(jīng)網(wǎng)絡的稀疏性能提高其魯棒性,但過度稀疏的模型可能更難以抵抗對抗樣例.Zhao 等人[137]發(fā)現(xiàn):模型修剪減少了網(wǎng)絡的參數(shù)密度,對于用原網(wǎng)絡作出的攻擊有較小防御性,對參數(shù)和激活函數(shù)的大幅度量化也能使攻擊的遷移性變小.
3.3.4 檢測型防御
雖然許多機器學習算法基于平穩(wěn)性假設(即訓練和測試數(shù)據(jù)來自同一分布),但特征空間中沒有訓練數(shù)據(jù)分布的區(qū)域可以在訓練階段分配給任何類別而不會顯著增加損失,因此,這些區(qū)域很容易出現(xiàn)對抗樣例.基于此,一些相關研究提出利用檢測與特征空間中的訓練數(shù)據(jù)分布相距甚遠的樣本的方法來檢測對抗樣例[138,139],常見方法包括基于支持向量機[138]、空間一致性信息[140]、圖像變換[141]、高斯判別分析[142]、條件生成模型[143]等.
Metzen 等人[144]利用模型的中間層特征訓練了一個子網(wǎng)絡作為檢測器來檢測對抗樣例,然而相關研究已證明,該檢測器容易被訓練階段沒有遇到過的攻擊方法生成的對抗樣例所欺騙[145].為了提高檢測器的泛化性能,Lu 等人[145]提出了一種更加魯棒的檢測方法SafetyNet,其主要思想是,利用對抗樣例和正常樣本在深度神經(jīng)網(wǎng)絡特定層的ReLU 激活函數(shù)輸出分布的不同來檢測對抗樣例;Li 等人[139]則提出從卷積神經(jīng)網(wǎng)絡中各層卷積核的輸出中提取統(tǒng)計信息,并在此基礎上訓練了級聯(lián)分類器,區(qū)分正常樣本和對抗樣例.類似地,Zheng 等人[146]發(fā)現(xiàn):當深度神經(jīng)網(wǎng)絡對抗樣例分類為特定錯誤類別時,其隱藏層狀態(tài)與輸入相同類別的正常樣本所產生的隱藏層狀態(tài)完全不同.基于這一認知,他們提出了I-defender 方法,其核心思想是,利用深度神經(jīng)網(wǎng)絡隱含層神經(jīng)元的輸出分布作為其內在特征來來檢測對抗樣例.
Meng 等人[147]提出了一種攻擊無關(attack agnostic)的防御框架MagNet,該框架既不需要修改受保護的分類模型,也不需要了解對抗樣例的生成過程,因而可以用于保護各種類型的神經(jīng)網(wǎng)絡模型.MagNet 由一個或多個獨立的檢測器(detector)網(wǎng)絡和一個重整器(reformer)網(wǎng)絡組成.
? 檢測器根據(jù)深度學習的流形假設(manifold hypothesis)來區(qū)分原始樣本和對抗樣本,對于給定的輸入樣本,如果任何一個檢測器認為該樣本是對抗性的,則將其標識為對抗樣本并進行丟棄;反之,則在將其送入到目標分類器之前,利用重整器對其進行重構;
? 重整器則通過重構輸入樣本以使其盡可能接近正常樣本,將對抗樣本的流形移向正常樣本的流形,從而削弱對抗擾動對目標分類器的影響.
Ma 等人[148]利用局部本質維數(shù)(local intrinsic dimensionality,簡稱LID)來描述對抗樣本在對抗子空間中的維度屬性,并且證明這些特征可以有效地區(qū)分對抗樣本.Ghosh 等人[149]提出了基于VAE 的防御方法,其中:VAE的隱向量服從高斯混合先驗分布,且每個混合分量對應于一個類別.這使得模型能夠進行選擇性地分類,即:將重構誤差超過一定閾值的樣本視為對抗樣例,并拒絕對其進行預測.Pang 等人[150]發(fā)現(xiàn):當利用K-density 檢測器或其他基于維度的檢測器時,用反交叉熵(reverse cross-entropy,簡稱RCE)來代替模型訓練過程中常見的交叉熵損失函數(shù),可以讓模型學到更多區(qū)分正常樣本與對抗樣例的特征.
Tao 等人[151]首先利用圖像特征與內部神經(jīng)元的關聯(lián)性來確定對模型決策起到關鍵作用的神經(jīng)元;然后放大這些神經(jīng)元的影響,同時減弱其他神經(jīng)元的作用,以增強模型決策結果的可解釋性;最后,基于新模型與原始模型的決策結果檢測對抗樣例.Zhao 等人[152]利用信息幾何學的知識對深度學習模型的脆弱性進行了直觀的解釋,并提出了一種基于矩陣特征值的對抗樣例檢測方法.具體地,他們計算了深度神經(jīng)網(wǎng)絡帶二次型約束的Fisher 信息矩陣,其中,最優(yōu)對抗擾動由第一特征向量給出,脆弱性由特征值反映:特征值越大,模型越容易受到相應特征向量的攻擊.為了提升防御方法的泛化性能,Ma 等人[153]分析了深度神經(jīng)網(wǎng)絡模型在各種攻擊下的內部結構,并在此基礎上提出了利用深度神經(jīng)網(wǎng)絡不變性特征檢測對抗樣例的方法,該方法能夠以超過90%的準確率和有限的誤報率檢測11 種不同的對抗攻擊.
3.3.5 魯棒優(yōu)化
魯棒優(yōu)化的目的是求得一個對于可能出現(xiàn)的所有情況均能滿足約束條件的解,并且是最壞情況下的目標函數(shù)的函數(shù)值最優(yōu).在魯棒優(yōu)化中,對抗性的數(shù)據(jù)擾動可以被視為一種特殊的噪聲.Xu 等人[154]表明:至少對于基于內核的類分類器而言,不同的正則化方法相當于假設輸入數(shù)據(jù)上存在不同類型的有界最壞情況噪聲.這有效地建立了正規(guī)化學習問題和魯棒優(yōu)化之間的等價性,從而將計算要求苛刻的安全學習模型(例如博弈論模型)近似為計算效率更高的模型,即以特定方式正則化目標函數(shù)[155,156].最近,研究者還提出了通過模擬相應攻擊來正則化梯度的混合方法,以提高深度網(wǎng)絡對對抗攻擊的安全性[42,157].
Chen 等人[158]提出了一種基于魯棒優(yōu)化的算法來提高基于樹的模型的魯棒性,該方法通過在輸入特征的最壞擾動情況下對系統(tǒng)的性能進行優(yōu)化.Raghunathan 等人[159]基于半定松弛(semidefinite relaxation)法計算僅包含一個隱藏層的神經(jīng)網(wǎng)絡在最壞情況下的損失上限,并將這個上限與網(wǎng)絡參數(shù)一起優(yōu)化.這種方法相當于提供了一個自適應的正則項,可以增強對所有攻擊的魯棒性.Wong 等人[160]提出了一種方法來學習基于ReLU 的深度神經(jīng)網(wǎng)絡,這些分類器對訓練數(shù)據(jù)上的范數(shù)有界對抗擾動具有可證明的魯棒性.基本思想是:考慮范數(shù)有界擾動可達到的激活值的凸外部近似(convex outer approximation),然后基于魯棒優(yōu)化的思想最小化該外部區(qū)域上的最壞情況下的損失.Sinha 等人[161]采用分布式魯棒優(yōu)化的原則,通過考慮Wasserstein ball 中基礎數(shù)據(jù)分布擾動的拉格朗日懲罰公式,利用訓練數(shù)據(jù)的最壞情況擾動來增強模型參數(shù)更新,保證了模型在對抗性擾動下的性能.Madry 等人[42]從魯棒優(yōu)化的角度研究神經(jīng)網(wǎng)絡的對抗穩(wěn)定性,利用鞍點公式找到一組神經(jīng)網(wǎng)絡模型的參數(shù),使模型在對抗樣例上損失盡可能小,以獲得更加魯棒的神經(jīng)網(wǎng)絡分類器.
3.3.6 基于博弈論
對抗訓練[32,33]或提高決策樹和隨機森林的魯棒性[162]是一種典型的防御方法,然而這些防御是啟發(fā)式的,沒有對收斂性和魯棒性的理論保證.因此,為了克服這些局限性,研究者提出了更為合理的基于博弈論的方法,引入Nash 和Stackelberg 博弈進行安全學習,在假設每個玩家都了解對手和博弈的所有情況下,推導出了博弈平衡存在和唯一性的形式條件[163,164].盡管這些方法看起來很有希望,但了解由此產生的攻擊策略在多大程度上能夠代表實際情況仍是一個懸而未決的問題[165].由于對抗學習不是一個規(guī)則明確的博弈,現(xiàn)實世界攻擊者的目標函數(shù)可能不符合上述博弈中的假設.因此,有意識地驗證真實世界攻擊者的行為是否符合假設,并利用所觀察到的攻擊的反饋來改進攻擊策略的定義是一個有趣的研究方向.這些方法的另一個相關問題是它們對大型數(shù)據(jù)集和高維特征空間的可擴展性,即有效地解決維度災難問題,因為生成足夠數(shù)量的攻擊樣本來正確地表示它們的分布,可能會導致計算成本過高.
機器學習技術的規(guī)?;彤a業(yè)化發(fā)展使其已形成一種商業(yè)模式,即機器學習即服務(MLaaS)模式.各大互聯(lián)網(wǎng)公司紛紛推出了商用MLaaS 平臺,為不具備訓練能力的普通數(shù)據(jù)持有者基于持有的數(shù)據(jù)訓練機器學習模型提供了極大的便利.在這種模式下,數(shù)據(jù)持有者可以利用第三方提供的模型和算法以及平臺提供的計算資源,基于持有的數(shù)據(jù),訓練用于特定任務的機器學習模型,然后對外開放模型調用接口,提供付費預測服務.盡管這種模式給用戶訓練和發(fā)布模型提供了便利,但同時也使得數(shù)據(jù)持有者的隱私數(shù)據(jù)面臨著泄露的風險.
在這種場景中,攻擊者采用的攻擊方法為試探性攻擊,即通過某種手段竊取模型信息或者通過部分恢復用于訓練模型的成員數(shù)據(jù)的方式來推斷用戶數(shù)據(jù)中的某些隱私信息.根據(jù)攻擊者竊取目標的不同,試探性攻擊可以分為訓練數(shù)據(jù)竊取(training data extraction)攻擊和模型萃取(model extraction)攻擊.其中:數(shù)據(jù)竊取攻擊通過獲取機器學習模型訓練數(shù)據(jù)的大致分布或根據(jù)模型的預測結果推斷訓練數(shù)據(jù)中是否包含某個具體的成員數(shù)據(jù)的方式竊取訓練數(shù)據(jù)中的隱私信息;而模型萃取攻擊則通過在黑盒條件下,利用特定手段獲取目標模型內部構件或者構造一個無限逼近目標模型的替代模型的方式,達到竊取模型信息的目的.這兩類攻擊分別從數(shù)據(jù)和模型兩個層面破壞了機器學習模型的機密性.
由于機器學習模型在訓練階段會不經(jīng)意地存儲訓練數(shù)據(jù)中包含的隱私信息[166],因此攻擊者可以通過攻擊機器學習模型來獲取有關其訓練數(shù)據(jù)的有意義的信息.
(1)數(shù)據(jù)竊取攻擊(data extraction attack)
在遺傳藥理學研究領域,機器學習技術被廣泛應用于分析病人的基因信息和相關治療記錄,以輔助醫(yī)生進行相應的藥物治療.盡管包含病人隱私信息的數(shù)據(jù)集通常只對研究人員開發(fā),但基于這些數(shù)據(jù)學習到的輔助診斷模型卻往往是公開的,因此亟須保證模型隱私安全,以防止泄露病人隱私信息.然而,Fredrikson 等人[167]針對用藥推薦系統(tǒng)的研究卻發(fā)現(xiàn):分析人口統(tǒng)計信息等屬性與藥物推薦系統(tǒng)輸出結果(華法林劑量)之間的相關性,可以逆向推出病患的遺傳信息.類似地,Fredrikson 等人[168]發(fā)現(xiàn):攻擊者利用機器學習模型的預測結果可以重建模型訓練時使用的人臉數(shù)據(jù),如圖1.具體地,給定一批輸入樣本X={x1,x2,…,xN},攻擊者可以利用MLaaS 平臺提供的模型接口進行查詢,得到相應的預測結果Y={f(x1),f(x2),…,f(xN)}.攻擊者利用X,Y訓練得到一個與原始模型f近似地替代模型f′,然后再基于f′逆向恢復f的訓練數(shù)據(jù).Song 等人[1]則發(fā)現(xiàn):攻擊者可以通過在訓練階段將訓練數(shù)據(jù)編碼到模型參數(shù)中,然后在預測階段對參數(shù)進行解碼的方式來竊取訓練數(shù)據(jù).為了解決訓練數(shù)據(jù)敏感性的問題,保護訓練數(shù)據(jù)隱私,Shokri 等人[169]提出了協(xié)作式深度學習(collaborative deep learning)模型,其中,每個參與者通過本地訓練和定期更新、交換參數(shù)來構建聯(lián)合模型,以保護各自訓練集的隱私.然而,Hitaj 等人[170]發(fā)現(xiàn):任何隱私保護(privacy preserving)的協(xié)作深度學習其實并沒有真正地保護用于訓練的人臉數(shù)據(jù),其應用于模型共享參數(shù)的記錄層面(record-level)上的差分隱私機制對于作者提出的基于GAN 的攻擊是無效的.針對在線學習(online learning)場景下的機器學習模型,Salem 等人[171]提出基于生成對抗網(wǎng)絡的混合生成網(wǎng)絡(BM-GAN),利用模型在更新前后針對相同樣本預測結果的變化來竊取用于更新模型的訓練數(shù)據(jù)信息.
(2)屬性推斷攻擊(property inference attack)
除了竊取具體的訓練數(shù)據(jù)之外,攻擊者可以竊取模型訓練數(shù)據(jù)的敏感隱私屬性,如用于惡意軟件檢測模型的訓練數(shù)據(jù)測試環(huán)境或某一類數(shù)據(jù)在訓練集中的占比等.Ateniese 等人[172]首次提出了基于元分類器(metaclassifier)的屬性推斷攻擊,并且證明,僅提供記錄級隱私的差分隱私機制無法有效地防御屬性推斷攻擊.然而,盡管該屬性推斷攻擊方法針對隱馬爾可夫模型(HMM)和支持向量機(SVM)有很強的攻擊效果,但由于深度神經(jīng)網(wǎng)絡模型的復雜性,使得訓練元分類器變得困難,導致嚴重地削弱了該攻擊在深度神經(jīng)網(wǎng)絡上的攻擊效果.為解決這一問題,Ganju 等人[173]提出一種新的針對全連接神經(jīng)網(wǎng)絡(FCNNs)的屬性推斷攻擊方法,簡化了元分類器的訓練過程.Melis 等人[174]發(fā)現(xiàn):在協(xié)同式深度學習模式下,針對訓練數(shù)據(jù)子集的屬性推斷攻擊仍然能夠成功.
(3)成員推斷攻擊(membership inference attack)
成員推斷攻擊指攻擊者利用模型預測結果來推斷模型訓練數(shù)據(jù)中是否包含某個訓練樣本的一種攻擊方式,這類攻擊方法同樣給機器學習安全和隱私帶來了嚴重的威脅.在醫(yī)療領域,許多自動醫(yī)療診斷系統(tǒng)都是基于病患的隱私信息構建的,一旦這些基于機器學習模型的自動診斷系統(tǒng)遭受到成員推斷攻擊,必將導致訓練數(shù)據(jù)中包含的病患隱私信息泄露[175].Shokri 等人[176]提出了一種成員推斷攻擊方法,該方法首先利用訓練數(shù)據(jù)和目標模型返回的預測概率向量及標簽訓練一個與目標模型架構相似的影子模型(shadow model),以得到某條數(shù)據(jù)是否屬于影子模型訓練集的標簽;然后將這些數(shù)據(jù)輸入目標模型,利用模型預測接口返回的預測類別、置信度以及該數(shù)據(jù)是否在訓練集中的二值標簽訓練一個分類模型;最后給定一條待推斷數(shù)據(jù),通過將目標模型針對該數(shù)據(jù)返回的預測概率和標簽輸入到訓練所得分類模型來判斷該數(shù)據(jù)是否屬于目標模型的訓練數(shù)據(jù)集.然而,這種攻擊基于的假設條件較強(如攻擊者必須了解目標模型結構、擁有與目標模型訓練數(shù)據(jù)分布相同的數(shù)據(jù)集等),因此攻擊實施的成本較高.為解決此問題,Salem 等人[177]放寬了這些關鍵假設,并且證明改進后的攻擊方法能顯著地減低攻擊成本,因此將給實際部署應用中的機器學習模型的安全和隱私帶來更大的威脅.此外,Melis等人[174]研究發(fā)現(xiàn),協(xié)同式深度學習系統(tǒng)同樣容易遭受到成員推斷攻擊.
在MLaaS 平臺上,由于訓練數(shù)據(jù)通常屬于商業(yè)機密或其中存在敏感信息,因此對外提供付費預測服務的機器學習模型同樣具有一定的機密性.然而,由于機器學習模型通常是由一系列的參數(shù)決定的,因此通過求解模型參數(shù)就可以實現(xiàn)模型萃取.Tramèr 等人[2]發(fā)現(xiàn):攻擊者理論上只需要通過模型預測接口進行n+1 次查詢,就能竊取到輸入為n維的線性模型.類似地,Oh 等人[178]研究表明:攻擊者可以從一系列的查詢結果中逆向提取得到諸如訓練數(shù)據(jù)、模型架構以及優(yōu)化過程等神經(jīng)網(wǎng)絡的內部信息,而這些暴露的內部信息將有助于攻擊者生成針對黑盒模型的更有效的對抗樣例,從而顯著提高黑盒對抗攻擊方法的攻擊效果.此外,Wang 等人[179]提出了超參數(shù)竊取攻擊(hyperparameter stealing attacks),研究結果證明,該攻擊適用于諸如嶺回歸、邏輯回歸、支持向量機以及神經(jīng)網(wǎng)絡等各種流行的機器學習算法.
4.3.1 基于差分隱私的數(shù)據(jù)隱私保護
隱私保護數(shù)據(jù)分析研究跨越多個學科,歷史悠久.隨著互聯(lián)網(wǎng)技術的飛速發(fā)展,包含個人信息的電子數(shù)據(jù)變得越來越豐富,相應的數(shù)據(jù)收集和管理技術也越來越強大,因此,對于一個健壯的、有意義的、數(shù)學上嚴格的隱私定義以及滿足這個定義的一類計算豐富的算法的需求也隨之增加.而差分隱私(differential privacy)則是針對隱私保護數(shù)據(jù)分析問題量身定制的隱私定義[180],它將隱私定義為添加或移除輸入數(shù)據(jù)中的任何一條記錄不會顯著影響算法輸出結果的一種屬性.與隱私保護數(shù)據(jù)分析目的一致,隱私保護的機器學習要求學習者可以學習到隱私數(shù)據(jù)集中的數(shù)據(jù)分布信息,但同時不能過多地泄露數(shù)據(jù)集中任何一個個體的信息.在這種場景中,為了提供任何形式的有意義的差分隱私,必須隨機化機器學習系統(tǒng)的部分管線.這種隨機化過程既可以在模型的訓練階段完成,也可以在模型推理階段,通過隨機選擇模型預測結果來實現(xiàn).
(1)訓練階段的差分隱私
訓練數(shù)據(jù)隨機化的一個典型方法是數(shù)據(jù)滿足局部差分隱私[181].Erlingsson 等人[182]設計了一種局部差分隱私機制(RAPPOR),允許瀏覽器的開發(fā)人員在滿足隱私前提下收集并使用來自瀏覽器用戶的有意義的統(tǒng)計數(shù)據(jù).具體地,RAPPOR 機制在用戶將數(shù)據(jù)發(fā)送到用于收集數(shù)據(jù)以訓練模型的集中式服務器時,采用隨機響應來保護用戶隱私,即:用戶在響應服務器查詢時,以q的概率返回真實答案或以1-q的概率返回隨機值.Liu 等人[183]提出了一種保護用戶社交網(wǎng)絡隱私信息的方法LinkMirage,該方法通過模糊社交網(wǎng)絡的拓撲結構,從而允許不受信任的外部應用程序能夠收集有意義的、具有隱私保護的用戶社交網(wǎng)絡信息以用于模型訓練.其他大多數(shù)研究則通過在訓練過程中向損失函數(shù)[184]、梯度[185]、參數(shù)值[169]等添加隨機噪聲的方式來提供ε-差分隱私保證.
(2)預測階段的差分隱私
在模型的預測階段,可以通過引入隨機噪聲以隨機化模型預測行為的方式提供差分隱私保證.然而隨著查詢數(shù)量的增加,引入的噪聲量也隨之增長,因而導致模型預測的準確性降低.為克服這一缺陷,Papernot 等人[186]設計了一種保護數(shù)據(jù)隱私的通用型框架——PATE(private aggregation of teacher ensembles),它不僅能夠提供正式的差分隱私保障,也提供一定的直觀隱私(intuitive privacy)保障.具體地,該框架先將訓練數(shù)據(jù)劃分成N個不相交的子集;然后用這些子集分別訓練不同的模型,得到N個獨立的教師模型;最后在預測階段,通過統(tǒng)計每個教師模型的預測結果并選取票數(shù)最高的結果將預測結果聚合起來.如果大部分教師模型都同意某一個預測結果,那么就意味著它不依賴于具體的分散數(shù)據(jù)集,所以隱私成本很小;但如果有兩類預測結果有相近的票數(shù),那么這種不一致或許會泄露隱私信息.因此,作者在統(tǒng)計票數(shù)時引入了拉普拉斯噪聲,把票數(shù)的統(tǒng)計情況打亂,從而保護隱私.事實上,每次查詢聚合教師模型時都會增加隱私成本,因為它每次給出的結果或多或少都會透露一些隱私信息.因此,作者利用聚合教師模型以隱私保護的方式對未標記的公共數(shù)據(jù)進行標注,然后用標記好的數(shù)據(jù)訓練學生模型,最終將學生模型部署到用戶設備上.這種做法可以防范攻擊者竊取隱私訓練數(shù)據(jù),因為在最壞情況下,攻擊者也只能得到學生模型的訓練數(shù)據(jù),即帶有隱私保護標注信息的公開數(shù)據(jù).
(3)防御成員推斷攻擊
Salem 等人[177]認為:成員推斷攻擊之所以能夠成功,原因之一在于機器學習模型在訓練過程中普遍存在過擬合現(xiàn)象.基于這一認知,作者提出了利用隨機失活(dropout)和模型集成(model stacking)的方法來防御成員推斷攻擊.Nasr 等人[187]引入一種隱私機制來訓練機器學習模型,并將其形式化為最小-最大博弈優(yōu)化問題,利用對抗性訓練算法使模型的分類損失和成員關系推理攻擊的最大增益最小化,以使攻擊者無法區(qū)分最終訓練所得模型對其訓練數(shù)據(jù)以及對同一分布中其他數(shù)據(jù)點的預測結果.Hagestedt 等人[188]則提出了一種新的差分隱私機制SVT2,能夠顯著降低DNA 甲基化(DNA methylation)等生物醫(yī)學數(shù)據(jù)的成員隱私風險.
4.3.2 基于密碼學的模型隱私保護
密碼學是數(shù)學和計算機科學的分支,其原理涉及大量的信息理論.密碼學相關技術被廣泛地應用于通信加密及信息完整性驗證,以保證通信信息的機密性和完整性.在機器學習領域,同態(tài)加密、安全多方計算等技術也被廣泛地應用于保護機器學習模型的安全和隱私.
Dowlin 等人[189]將同態(tài)加密技術引入到神經(jīng)網(wǎng)絡中,以允許神經(jīng)網(wǎng)絡在不解密數(shù)據(jù)的情況下直接處理加密數(shù)據(jù).由于同態(tài)加密技術將給機器學習模型的體系結構設計引入額外的約束,因此,該方法受限于同態(tài)加密的性能開銷以及所支持的有限算術運算集.為解決這一問題,Liu 等人[190]為神經(jīng)網(wǎng)絡中諸如線性轉換、激活函數(shù)和池化等常用操作,設計了不經(jīng)意(oblivious)協(xié)議,并結合亂碼電路、同態(tài)加密等密碼學相關理論提出了MiniONN.這種方法可以在不需要改變模型訓練方式的情況下,將普通神經(jīng)網(wǎng)絡轉換為不經(jīng)意神經(jīng)網(wǎng)絡(oblivious neural network),以支持保護隱私的模型預測.
此外,許多學者提出將安全多方計算(secure multi-party computation)應用于協(xié)同式機器學習框架中(例如嶺回歸[191]、線性回歸[192]等),以保證參與各方訓練數(shù)據(jù)的隱私.Bonawitz 等人[193]提出了一種移動應用場景下的數(shù)據(jù)聚合安全協(xié)議,該協(xié)議利用安全多方計算的方式計算各個用戶設備的模型參數(shù)更新總和,以確??蛻舳嗽O備的輸入僅由服務器進行聚合學習.該協(xié)議不僅開銷低,而且還可以容忍大量的設備故障,因此是移動應用的理想選擇.Mohassel 等人[194]提出了一種基于安全多方計算的、適用于線性回歸、邏輯回歸和神經(jīng)網(wǎng)絡的模型訓練保密協(xié)議,該協(xié)議大幅度地提升了已有最先進的解決方案效率.
盡管機器學習模型安全與隱私研究已經(jīng)取得了一系列矚目的研究成果,但目前該研究還處于初級階段,依然存在許多關鍵問題尚待解決.同時,萬物互聯(lián)時代數(shù)據(jù)的持續(xù)暴增,深度學習、遷移學習、強化學習等新一代機器學習技術進一步發(fā)展應用,給機器學習的安全應用和隱私保護帶來了新的挑戰(zhàn).在現(xiàn)階段,機器學習模型安全與隱私研究面臨的主要挑戰(zhàn)有:在大數(shù)據(jù)環(huán)境下,如何突破海量多元異構數(shù)據(jù)的可信處理與隱私保護技術;在對抗環(huán)境下,如何進一步增強對抗攻防技術的研究;在開放場景下,如何實現(xiàn)機器學習模型風險量化評估.
構建可信、可靠以及隱私保護的數(shù)據(jù)處理技術體系,是保障機器學習模型安全的基石,也是模型安全與隱私保護的上游研究.在大數(shù)據(jù)環(huán)境下,數(shù)據(jù)具有海量、多元、異構等特點,數(shù)據(jù)收集也存在著數(shù)據(jù)來源廣、質量不可控、隱私保護要求高等難點,因而給數(shù)據(jù)可信處理與隱私保護研究帶來了巨大的挑戰(zhàn).
數(shù)據(jù)可信處理與隱私保護的第1 個挑戰(zhàn)是:如何有效地增強機器學習模型訓練數(shù)據(jù)的質量,以保證數(shù)據(jù)的可靠性和安全性.由于機器學習模型訓練數(shù)據(jù)采集可能來自不同的數(shù)據(jù)源,導致其正確性和完整性無法得到保障;同時,異構數(shù)據(jù)還可能存在冗余、不一致等問題.而現(xiàn)階段缺乏多維度的數(shù)據(jù)評價指標,因而無法對數(shù)據(jù)質量進行有效的綜合性評估.此外,在對抗環(huán)境下,攻擊者可以制造大量的對抗樣本進行下毒攻擊以干擾模型的訓練過程.然而,對抗樣本視覺上通常難以感知,并且攻擊手段在不斷地演化,而現(xiàn)有研究提出的數(shù)據(jù)增強與清洗技術只能進行粗粒度的數(shù)據(jù)處理,無法有效地檢測出數(shù)據(jù)污染中的惡意數(shù)據(jù).因此,未來研究應著手建立完善的數(shù)據(jù)質量評估體系,基于多維度的指標對數(shù)據(jù)質量進行綜合評估,并使用重復消除、缺失處理、邏輯錯誤檢測、不一致數(shù)據(jù)處理等方法對數(shù)據(jù)質量進行增強.同時,還需要研究輔助數(shù)據(jù)的動態(tài)檢測機制,尤其是基于主動學習策略不斷更新對抗樣本檢測算法,同時在檢測出對抗樣本的基礎上,通過樣本的重構實現(xiàn)數(shù)據(jù)的可信處理,以保證機器學習模型訓練數(shù)據(jù)的可用、可靠、可信和安全.
數(shù)據(jù)可信處理與隱私保護的另一個挑戰(zhàn)是:如何突破敏感數(shù)據(jù)隱私化處理技術,以保證訓練數(shù)據(jù)隱私甚至是訓練模型的機密性.機器學習數(shù)據(jù)具有高維度特征,不同特征的敏感程度不一樣,對于敏感度高的特征需要進行隱私化處理,以免在訓練或應用過程中被竊取.現(xiàn)有研究大多數(shù)基于差分隱私或同態(tài)加密等技術,而在基于差分隱私的隱私化處理技術中,數(shù)據(jù)的可用性和隱私保證程度之間始終存在一定的權衡,基于同態(tài)加密的隱私化處理技術同樣受限于所支持的有限算術運算集和加密性能.因此,建立和完善數(shù)據(jù)敏感性分級評估、分級數(shù)據(jù)脫敏、數(shù)據(jù)隱私性評估體系,是未來數(shù)據(jù)隱私保護研究發(fā)展的一個必然趨勢.
現(xiàn)有研究中所提出的對抗攻擊算法大多都基于很強的假設,即要求攻擊者必須能夠獲取模型的結構、參數(shù)等信息以用于計算模型的梯度信息,即使無法獲取模型的結構和參數(shù)信息,攻擊者也必須要在能夠獲取到模型預測概率的前提條件下才能執(zhí)行相應的攻擊.然而在實際應用中,這些假設條件通常很難滿足,由于模型不對外公布,攻擊者基本上無法獲取模型的具體信息,因此需要執(zhí)行相應的黑盒攻擊.一旦模型在推理階段只提供預測結果而不提供對應的置信度概率,那么很多的攻擊方法必將失效.此外,現(xiàn)有的對抗攻擊研究主要集中在視覺、文本以及語音等領域,針對圖數(shù)據(jù)的對抗攻擊研究相對較少.在已有的研究中,對于擾動以及擾動約束的定義主要基于傳統(tǒng)的圖論概念和模型,而缺乏可解釋性以及與實際應用之間的聯(lián)系.因此,如何弱化現(xiàn)有的強攻擊假設以設計出更魯棒、更實用的攻擊方法,同時將現(xiàn)有的攻擊方法擴展到如隨機游走(random walk)、信念傳播(belief propagation)等傳統(tǒng)圖模型算法以及圖神經(jīng)網(wǎng)絡,是未來對抗攻擊研究中比較有前景的一種方法.
對抗防御研究隨著對抗攻擊理論和技術的進步而不斷深入,促進了對抗攻擊研究的進一步發(fā)展,目的在于促進建立更加完善的對抗防御體系.在現(xiàn)階段,對抗攻擊呈現(xiàn)出動態(tài)演化的趨勢,在對抗攻防博弈中,對抗防御研究明顯處于劣勢.具體表現(xiàn)在于:現(xiàn)有的對抗防御研究所提出的防御算法大多數(shù)是被動的靜態(tài)經(jīng)驗性防御,無法有效地適應對抗攻擊方法的演化周期.因此,未來對抗防御研究應著手于建立動態(tài)自適應的防御體系,結合對抗環(huán)境下攻擊與防御的動態(tài)博弈理論,提出攻防一體的對抗攻擊檢測與防御機制,以突破對抗攻擊檢測機制的動態(tài)演化與自適應防御技術,保證非受控環(huán)境下機器學習模型的安全性和可靠性.
在機器學習模型的生命周期中,普遍存在訓練數(shù)據(jù)污染、訓練過程劫持、中間數(shù)據(jù)篡改等問題;同時,由于機器學習模型應用場景多元、算法設計復雜、開發(fā)人員先驗知識存在差異,導致模型在設計開發(fā)過程中可能本身就存在漏洞和缺陷.此外,模型實現(xiàn)所依賴的第三方框架(如TensorFlow 和sklearn 等)同樣可能存在內存訪問越界、空指針引用等多種軟件漏洞,從而給現(xiàn)實部署應用的機器學習模型帶來諸如拒絕服務攻擊、控制流劫持等潛在危害.然而,現(xiàn)階段仍缺乏一個完善的風險評估體系,導致無法對機器模型所面臨的安全風險進行量化評估,因而無法保證已部署到生產環(huán)境中的機器學習模型的安全性和可靠性.
對于模型的原生脆弱性,由于模型實現(xiàn)過程中可能存在的漏洞種類多、邏輯復雜,不同漏洞具有不同的風險系數(shù),使得基于人工規(guī)則的漏洞挖掘方式效率低下且不能發(fā)現(xiàn)新型漏洞.因而,未來研究需要突破基于零先驗知識的模型漏洞自動化挖掘與分析等技術,以構建動態(tài)可擴展的模型原生脆弱性分析模型.其中,一種直觀的方法是將系統(tǒng)安全領域的模糊測試技術遷移到機器學習領域,通過生成對抗網(wǎng)絡等生成模型,生成高覆蓋率的種子以對模型進行自動化測試,從而突破機器學習模型自動化診斷難題.對于模型所面臨的外部風險,未來研究需要突破場景相關的模型風險量化評級的難題.我們可以結合具體的應用場景,利用現(xiàn)有的攻防技術評估模型在開放環(huán)境中抵御外界風險的能力.
隨著機器學習研究的進一步發(fā)展和機器學習技術在實際場景中的廣泛應用,機器學習模型的安全與隱私成為了一個新生而又有前景的研究領域,吸引了一大批來自于學術界和工業(yè)界學者的廣泛興趣和深入研究,并且取得了許多矚目的研究成果.然而到目前為止,機器學習的安全與隱私保護研究還處于初級階段,依然存在許多關鍵的科學問題尚待解決.為了重新審視機器學習發(fā)展和應用中存在的安全威脅,理清現(xiàn)有研究成果的優(yōu)勢與不足,明確未來的研究方向,本文從數(shù)據(jù)、模型、應用這3 個層面系統(tǒng)地研究了機器學習模型的安全與隱私問題,回顧了大量極具影響力的研究成果,并對相關研究進行了科學的分類、總結和分析.同時,本文指出了機器學習模型安全與隱私保護研究當前面臨的挑戰(zhàn),探討了未來可行的研究方向,旨在為推動機器學習模型安全與隱私研究的進一步發(fā)展和應用提供指導和參考.