王鵬焱
(安徽理工大學(xué) 計算機科學(xué)與工程學(xué)院,安徽 淮南232001)
機器學(xué)習(xí)在智能醫(yī)療、圖像識別、推薦系統(tǒng)、情感分析[1-4]等領(lǐng)域得到快速的發(fā)展,加速了傳統(tǒng)行業(yè)的智能化發(fā)展。然而,用于訓(xùn)練機器學(xué)習(xí)模型的大量數(shù)據(jù)不可避免地包含敏感信息,機器學(xué)習(xí)的蓬勃發(fā)展在改變?nèi)藗兩罘绞降耐瑫r,也給數(shù)據(jù)隱私安全帶來嚴(yán)峻的威脅。例如,一個基于癌癥病人信息訓(xùn)練的模型,如果知道了某病人是該模型的訓(xùn)練集成員,可以直接推斷出該病人的患病信息并由此可能引發(fā)歧視問題[5]。這種推斷數(shù)據(jù)是否存在于訓(xùn)練集的算法稱為成員推斷攻擊,近年來成為研究者關(guān)注的熱點。
2017年,Shokri等人[6]首次提出針對機器學(xué)習(xí)模型的成員推斷攻擊,通過分辨機器學(xué)習(xí)模型在訓(xùn)練集和非訓(xùn)練集之間的輸出差異來判斷數(shù)據(jù)是否存在于目標(biāo)模型的訓(xùn)練數(shù)據(jù)集中。鑒于在黑盒模式下,攻擊者無法獲得這種分辨能力,他們訓(xùn)練一組模擬目標(biāo)模型行為的“影子模型”來解決這個問題.首先,合成與目標(biāo)模型訓(xùn)練集相似的數(shù)據(jù);其次,利用合成數(shù)據(jù)建立一系列“影子模型”。與目標(biāo)模型相比,數(shù)據(jù)是否屬于訓(xùn)練集的成員,即影子模型的數(shù)據(jù)隸屬度是已知的;最后,訓(xùn)練攻擊模型分辨目標(biāo)模型在不同數(shù)據(jù)集上的行為差異,從而實現(xiàn)成員推斷攻擊。
自從成員推斷攻擊的概念被提出以后,產(chǎn)生了很多攻擊和防御算法。既有監(jiān)督學(xué)習(xí)中Yeom等[7]提出對于機器學(xué)習(xí)模型的通用攻擊,也有Hilprecht等[8]提出只針對生成模型VAEs的白盒攻擊,而防御策略主要有正則化、對抗性訓(xùn)練、對抗樣本等。雖然目前提出了大量的防御方法,但卻無法完全防御成員推斷攻擊,很多方法都存在降低模型精度的問題。
本文總結(jié)了目前主流的成員推斷攻擊和防御方法,并從這兩個角度出發(fā),進行相關(guān)的介紹和總結(jié)。
機器學(xué)習(xí)在二十世紀(jì)下半葉得到快速發(fā)展并逐漸成為人工智能的核心問題之一。
機器學(xué)習(xí)旨在研究如何利用知識和經(jīng)驗改善算法的性能,它可以從訓(xùn)練數(shù)據(jù)中自動挖掘潛在的知識構(gòu)建數(shù)學(xué)模型,利用模型實現(xiàn)對未知的數(shù)據(jù)做出預(yù)測,訓(xùn)練過程如圖1所示。
圖1 機器學(xué)習(xí)解決問題示意圖
機器學(xué)習(xí)根據(jù)有無反饋可以分為3類:監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)和強化學(xué)習(xí)。監(jiān)督學(xué)習(xí)利用已知類別的訓(xùn)練數(shù)據(jù)通過監(jiān)督學(xué)習(xí)算法訓(xùn)練得到一個最優(yōu)模型,該模型可以對給定的輸入進行預(yù)測輸出。與監(jiān)督學(xué)習(xí)不同,無監(jiān)督學(xué)習(xí)旨在對未標(biāo)記進行數(shù)據(jù)的學(xué)習(xí)來揭示數(shù)據(jù)內(nèi)在的性質(zhì)和規(guī)律,根據(jù)輸入變量是否屬于內(nèi)在的規(guī)律作出反應(yīng)。強化學(xué)習(xí)[9]通過觀測環(huán)境的狀態(tài),學(xué)習(xí)某個策略從而獲得最大化的預(yù)期收益。目前成員推斷攻擊主要集中在監(jiān)督學(xué)習(xí)中的模型判別和非監(jiān)督學(xué)習(xí)的模型生成上。
敵手指的是實施成員推斷攻擊的攻擊者,敵手知識包括模型的訓(xùn)練數(shù)據(jù)集、學(xué)習(xí)算法、模型結(jié)構(gòu)參數(shù)等信息。根據(jù)敵手掌握模型信息的多少可以將攻擊場景分為白盒場景、黑盒場景。白盒攻擊者可以獲得網(wǎng)絡(luò)模型結(jié)構(gòu)、內(nèi)部參數(shù)、訓(xùn)練數(shù)據(jù)集等信息,并能夠在攻擊過程中計算梯度變化等信息,以實現(xiàn)成員推斷攻擊。黑盒攻擊者對模型結(jié)構(gòu)、參數(shù)和訓(xùn)練集信息等一無所知,只有對模型的訪問權(quán)限,攻擊者通過識別目標(biāo)模型在不同數(shù)據(jù)上的輸出差異性完成推斷攻擊。
本節(jié)將對成員推斷攻擊進行回顧,介紹幾種比較典型的成員推斷攻擊方法。根據(jù)目標(biāo)模型學(xué)習(xí)環(huán)境不同,將攻擊劃分為判別模型攻擊、生成模型攻擊以及聯(lián)邦學(xué)習(xí)攻擊。
Shokri等人[6]在2017年提出在黑盒情景下的成員推斷攻擊,為了識別出目標(biāo)模型在訓(xùn)練數(shù)據(jù)和非訓(xùn)練數(shù)據(jù)行為上的差異性,創(chuàng)造性地構(gòu)建一組模擬目標(biāo)模型行為的影子模型,利用對影子模型訓(xùn)練集的了解以及模型在不同數(shù)據(jù)上的預(yù)測輸出來構(gòu)建攻擊模型,使其能夠捕獲目標(biāo)模型在不同隸屬度數(shù)據(jù)之間的輸出差異,達到數(shù)據(jù)推斷的目的。由于Shokri等人提出的攻擊需要對目標(biāo)模型結(jié)構(gòu)、訓(xùn)練數(shù)據(jù)集分布有所了解以及較高的計算成本,嚴(yán)重限制了成員推斷攻擊的適用范圍。
為了降低成員推斷攻擊的成本,擴大適用范圍,Salem等人[10]提出三種簡化的成員推斷攻擊方法:第一種只訓(xùn)練一個影子模型,并且選擇影子模型輸出概率向量中最大的三個值作為攻擊模型的特征,同時也放寬了影子模型需與目標(biāo)模型結(jié)構(gòu)相同的假設(shè);第二種數(shù)據(jù)遷移攻擊,使用與目標(biāo)模型訓(xùn)練集不同分布的現(xiàn)有數(shù)據(jù)集訓(xùn)練影子模型;第三種閾值選擇攻擊,提取目標(biāo)數(shù)據(jù)在目標(biāo)模型輸出向量中的最大值,大于選定的閾值時,即判定為訓(xùn)練集成員。實驗證明,所提方法獲得與Shokri等人[6]相似的攻擊結(jié)果,大大減少攻擊成本以及被檢測到的可能性。
Long等人[11]提出三種建立在影子模型基礎(chǔ)上的成員推斷攻擊,第一種攻擊被稱為無目標(biāo)攻擊,與Shokri等人提出的攻擊方式相似,使用影子模型的概率向量和標(biāo)簽訓(xùn)練攻擊模型。其余分別為基于距離和基于頻率的目標(biāo)攻擊,為了實現(xiàn)針對特定實例的攻擊,Long訓(xùn)練兩組影子模型,兩組模型的差異為訓(xùn)練集是否包含 x,利用KL散度衡量x在兩組模型上的平均概率分布與目標(biāo)模型概率分布的相似性。在基于頻率的攻擊中,比較兩組影子模型對x做出與目標(biāo)模型相同預(yù)測結(jié)果的模型個數(shù)的大小,若包含x的那組影子模型正確率最高,即認(rèn)為x是訓(xùn)練集的一員。實驗證明,與Shokri的非目標(biāo)攻擊相比,基于距離的目標(biāo)攻擊具有更高的準(zhǔn)確性。
上述研究都是利用目標(biāo)模型返回的置信度信息完成成員推斷攻擊,如果目標(biāo)模型只返回預(yù)測標(biāo)簽值,這些攻擊將不再適用。針對這個問題,Li Zheng等人[12]利用標(biāo)簽信息,提出基于轉(zhuǎn)移和基于擾動兩種成員推斷攻擊方法。基于轉(zhuǎn)移的攻擊方法采取影子模型技術(shù),目標(biāo)模型高度相似的影子模型可以反映數(shù)據(jù)樣本在目標(biāo)模型中的成員狀態(tài),依靠影子模型直接發(fā)起攻擊,獲得目標(biāo)數(shù)據(jù)在影子模型上的交叉熵?fù)p失,認(rèn)為較小的損失值則更有可能是成員數(shù)據(jù)。基于擾動的攻擊,他們認(rèn)為改變成員數(shù)據(jù)的類別與改變非成員數(shù)據(jù)類別相比更難,所需添加的噪音更多,因此使用Laplace距離計算改變類別所需的噪音大小,將噪音大于閾值的樣本視為成員數(shù)據(jù)。
除了黑盒情形下進行成員推斷攻擊,Nasr等人[13]利用隨機梯度下降SGD算法的隱私缺陷設(shè)計了白盒成員推斷攻擊。在SGD算法中,為了最小化模型的訓(xùn)練損失,在訓(xùn)練過程中利用每個數(shù)據(jù)的損失梯度來指導(dǎo)參數(shù)方向和大小的改變,保證模型的訓(xùn)練損失接近于零。這樣,每個數(shù)據(jù)訓(xùn)練集中的樣本都會在模型參數(shù)上損失函數(shù)的局部梯度上留下明顯的痕跡,利用這種差異,達到推斷攻擊的目的。
Hayes等人[14]首先提出了針對生成模型的成員推斷攻擊,他們介紹了在有限輔助知識、無輔助知識兩種黑盒情景以及白盒情景下的成員推斷攻擊。Hayes等人基于這樣的假設(shè):過擬合的GAN模型,其訓(xùn)練集樣本在判別器上會得到更高的預(yù)測向量。利用這種假設(shè),在白盒攻擊中將待測數(shù)據(jù)集輸入給判別器,然后對輸出的概率向量進行降序排序,最大概率值的幾個樣本被視為訓(xùn)練集樣本。在無輔助知識的黑盒攻擊中,由于沒有關(guān)于數(shù)據(jù)的真實標(biāo)簽,因此攻擊者重新訓(xùn)練本地GAN,從而將黑盒攻擊轉(zhuǎn)變?yōu)閷Ρ镜谿AN的白盒攻擊。實驗表明,與無輔助知識的黑盒攻擊相比白盒攻擊能夠獲得更高的攻擊精度。
Hilprecht等人[8]基于過度擬合的生成器傾向于輸出更接近訓(xùn)練數(shù)據(jù)的樣本,而不是非訓(xùn)練數(shù)據(jù)的假設(shè),提出適用于GAN和VAEs的成員推斷攻擊。第一種適用于GAN的蒙特卡洛攻擊,使用歐式距離計算生成器生成樣本與目標(biāo)樣本之間的距離,如果兩者距離接近就利用蒙特卡洛積分來衡量目標(biāo)樣本屬于訓(xùn)練集的概率。第二種為針對VAEs的重構(gòu)攻擊,將重構(gòu)樣本與x間的重構(gòu)損失應(yīng)用于成員推斷攻擊,損失值越小的樣本屬于訓(xùn)練數(shù)據(jù)的概率值就越高。
Chen等人[15]對生成模型上的成員推斷攻擊進行進一步的研究,提出了一種適用于所有知識背景下的通用成員推斷攻擊。在全黑盒攻擊中,攻擊者從目標(biāo)生成模型的輸出中找到最接近x的重構(gòu)樣本,或者當(dāng)在擁有訪問隱變量的部分黑盒情形下,目標(biāo)生成模型利用隱變量合成重構(gòu)樣本,利用重構(gòu)樣本與x之間的距離計算x屬于訓(xùn)練集的概率,他們認(rèn)為,在給定生成器的訪問權(quán)限的情況下,如果生成器能夠很好地重構(gòu)樣本x,那么x就是訓(xùn)練集成員。
前面提到的攻擊均屬于針對集中式學(xué)習(xí)模型,在聯(lián)邦學(xué)習(xí)中也存在成員推斷攻擊[13,16-17],Nasr等人[13]首次提出了針對聯(lián)邦學(xué)習(xí)的主動成員推斷攻擊,其構(gòu)想存在兩種攻擊者:(1)攻擊者是中心服務(wù)器:攻擊者能在每個時間段上接收到所有節(jié)點上傳的信息,也可以主動修改參與者的全局參數(shù)視圖以獲取更多關(guān)于某個參與者訓(xùn)練集的相關(guān)信息。(2)攻擊者是參與者:攻擊者在某一單位時間內(nèi)可以觀察到全局參數(shù),并通過修改自身的參數(shù),獲取其他所有參與者信息,達到攻擊的目的。
為了總結(jié)針對機器學(xué)習(xí)的成員推斷攻擊,本文從先驗知識、學(xué)習(xí)場景、目標(biāo)模型類型、應(yīng)用領(lǐng)域4個角度對經(jīng)典的攻擊方法進行比較。從表1可以看出,早期的攻擊算法以針對判別模型的攻擊最為常見,隨著研究的深入,逐漸傾向于生成模型以及聯(lián)合式的學(xué)習(xí)場景。
表1 經(jīng)典的成員推斷攻擊方法對比
成員推斷攻擊主要利用目標(biāo)模型在訓(xùn)練數(shù)據(jù)和非訓(xùn)練數(shù)據(jù)上的預(yù)測向量間的差異性,即目標(biāo)模型在訓(xùn)練數(shù)據(jù)上的預(yù)測向量分布比非訓(xùn)練數(shù)據(jù)更集中。這種差異性是過擬合模型的主要體現(xiàn),因此,模型的過擬合與成員推斷攻擊之間有很大的關(guān)聯(lián)。Shokri等人[6]研究模型的過擬合程度對成員推斷攻擊的影響,他們通過實驗證明模型的過擬合程度越強,模型就越容易受到成員推斷攻擊。Yeom[7]和Long等人[18]的研究進一步支持了過擬合與成員推斷攻擊之間的關(guān)系,即過擬合是成員推斷攻擊的充分條件,但不是必要條件,一個擬合很好的模型上仍然存在著成員推斷攻擊的風(fēng)險。
Truex等人[17]通過在七個不同數(shù)據(jù)集和四種機器學(xué)習(xí)模型上的實驗來研究影響攻擊的因素,他們發(fā)現(xiàn)除了過擬合,成員推斷攻擊還與訓(xùn)練數(shù)據(jù)集和模型結(jié)構(gòu)等因素密切相關(guān)。具體來說,訓(xùn)練數(shù)據(jù)集的復(fù)雜度或者類別個數(shù)的增加都將提高攻擊精度。在模型方面,成員推斷攻擊在決策邊界容易受到特定實例的目標(biāo)模型上可以獲得更好的表現(xiàn)。他們還表明,如果攻擊者是學(xué)習(xí)過程中的參與者,那么在聯(lián)邦學(xué)習(xí)中攻擊者可以獲得更高的攻擊性能。此外,Tonni等人[19]進一步研究數(shù)據(jù)屬性以及模型屬性如訓(xùn)練數(shù)據(jù)集的大小、類平衡、模型的參數(shù)、公平性[20]對成員推斷攻擊的影響。
現(xiàn)有文獻中已經(jīng)提出多種防御機制來減輕成員推斷攻擊的威脅,將防御策略總結(jié)如下。
差分隱私通過向數(shù)據(jù)中添加噪音,使得攻擊者無法通過模型的輸出分辨出特定數(shù)據(jù)是否存在于模型訓(xùn)練數(shù)據(jù)集,保護個體用戶的隱私。差分隱私和成員推斷的目的都與推斷數(shù)據(jù)是否存在于目標(biāo)模型訓(xùn)練集中有關(guān)。已有的文獻表明[21-24],將差分隱私應(yīng)用到模型中,可以降低成員推斷攻擊的成功率。然而,Rahman[22]指出,差分隱私在提高防御能力的同時,會降低模型的實用性,所以研究如何利用差分隱私,在保證模型性能的前提下,實現(xiàn)對成員推斷攻擊的防御就顯得尤為重要。
如前文所述,成員推斷攻擊主要利用從目標(biāo)模型返回的結(jié)果,通過識別在訓(xùn)練數(shù)據(jù)和非訓(xùn)練數(shù)據(jù)上的預(yù)測向量間的差異性完成攻擊,所以可以對預(yù)測結(jié)果通過兩方面的控制達到防御的目的:一是控制目標(biāo)模型返回的預(yù)測向量,在不影響模型輸出結(jié)果的前提下,修改預(yù)測向量或減少預(yù)測向量的維度[6,17,25];另一方面修改模型的結(jié)構(gòu),減少模型在測試數(shù)據(jù)和訓(xùn)練數(shù)據(jù)上行為的差異,比如減少過擬合、正則化等[6,11,17,28-30]。
針對預(yù)測向量的防御,Jia等人[25]提出名為Memguard的防御方法,由于攻擊模型是一個二分類的機器學(xué)習(xí)模型,而機器學(xué)習(xí)模型容易受到對抗樣本的擾動?;谶@樣觀察,Jia在置信度向量中添加噪聲擾動,在不改變目標(biāo)模型對數(shù)據(jù)的預(yù)測結(jié)果的前提下,混淆攻擊模型對目標(biāo)數(shù)據(jù)成員屬性的判斷,完成對成員推斷的防御。在減少預(yù)測向量的維度方面,Shokri等人[6]和 Truex等人[17]提出限制預(yù)測向量的維度,甚至極端情況下只輸出預(yù)測標(biāo)簽,最大限度地減少概率向量泄露的信息。但是,這類方法對防御的效果并不好,Li Zheng等人[12]和Choquette等人[31]證明即使模型只輸出模型的預(yù)測標(biāo)簽,依然存在著成員隱私泄露的風(fēng)險。
針對模型結(jié)構(gòu)的防御,Salem等人[10]提出在神經(jīng)網(wǎng)絡(luò)中添加Dropout層或通過集成學(xué)習(xí)的方法來減少模型的過擬合。Shokri等人[6]利用正則化技術(shù),他們使用常規(guī)的L2范數(shù)作為懲罰器,隨著懲罰力度的加強,模型防御攻擊的能力就越強大。但是Truex等人[17]指出利用這種方法防御時,會降低模型的分類精度。為此,Nasr等人[28]提出一種對抗防御策略,采取和GAN類似的訓(xùn)練策略,將成員推斷攻擊最大增益作為正則化項,在最壞的情況下找到使分類模型損失最小化的模型。該策略不僅保證隱私泄露風(fēng)險最小化,同時也起到了正則化的作用,提高模型的泛化能力。
從數(shù)據(jù)類型來看,針對機器學(xué)習(xí)模型的成員推斷攻擊從最初的僅針對圖像的攻擊,發(fā)展到當(dāng)前階段的針對文本[32-33]、語音[34]等各類數(shù)據(jù)的成員推斷攻擊。
從威脅模型方面來看,最初的成員推斷攻擊大多針對比較簡單的監(jiān)督式算法,隨著攻擊方法的不斷改進,現(xiàn)已在 GAN、VAEs等非監(jiān)督式學(xué)習(xí)算法上獲得成功。然而,當(dāng)前的成員推斷攻防技術(shù)在實際場景中的應(yīng)用仍存在著很多不足和限制,在后續(xù)的研究工作中,研究者應(yīng)當(dāng)對以下內(nèi)容作進一步研究:
(1)研究針對其他數(shù)據(jù)類型的成員推斷攻擊。當(dāng)前對成員推斷攻擊的研究大多針對圖像數(shù)據(jù),雖然一些研究已經(jīng)將攻擊擴展到文本、語音等數(shù)據(jù)類型,但和機器學(xué)習(xí)算法在生活中的應(yīng)用場景相比,當(dāng)前研究的數(shù)據(jù)類型仍僅占比較小的比例。
(2)研究隱蔽性更高的成員推斷攻擊?,F(xiàn)有的方法大多需要對目標(biāo)模型發(fā)起多次查詢請求,這不僅會引起龐大的計算開銷,而且容易暴露攻擊行為,所以需要研究隱蔽性更高的成員推斷攻擊方法。
(3)研究更有效的成員推斷攻擊防御方法。對于防御者而言,之所以研究成員推斷攻擊技術(shù),最終是為了給保護成員隱私的研究提供思路?,F(xiàn)有的差分隱私、正則化等技術(shù)雖然可以起到一定的防御作用,然而卻有著效率代價比不高的問題。因此,研究者應(yīng)當(dāng)在保證模型性能的前提下,進行成員推斷攻擊防御技術(shù)的研究。
隨著海量的數(shù)據(jù),高性能計算技術(shù)推動機器學(xué)習(xí)的蓬勃發(fā)展,其安全問題越發(fā)引起人們的重視。成員推斷攻擊作為機器學(xué)習(xí)模型的安全威脅之一,能夠推斷模型訓(xùn)練集的成員隱私信息,吸引了一大批國內(nèi)外學(xué)者的興趣和研究,并且已經(jīng)取得了大量的研究成果。本文針對機器學(xué)習(xí)領(lǐng)域的成員推斷問題,首先給出了成員推斷攻擊和成員推斷攻擊的相關(guān)概念;然后列出了經(jīng)典的成員推斷攻擊算法及其在不同領(lǐng)域的研究成果,并分析了影響成員推斷攻擊的數(shù)據(jù)和模型因素;接著,介紹了一系列成員推斷攻擊防御方法;最后,對成員推斷攻擊的研究現(xiàn)狀進行分析并進行展望。