?

聯邦學習中的攻擊手段與防御機制研究綜述

2024-03-12 08:57張世文李仁發
計算機工程與應用 2024年5期
關鍵詞:投毒參與方同態

張世文,陳 雙,梁 偉,李仁發

1.湖南科技大學計算機科學與工程學院,湖南 湘潭 411201

2.湖南大學信息科學與工程學院,長沙 410082

大數據和人工智能的迅速發展促進了傳統產業的轉型。類似深度學習這樣以數據驅動的人工智能模型在圖像處理、語音識別、自然語言理解等領域取得了巨大成功。海量數據的生成和這些數據的后續處理往往需要一個數據倉庫并在倉庫內匯總數據。然而,隨著數據泄漏事件層出不窮,數據安全性得不到保障,人們開始懷疑集中收集數據是否可靠,數據的隱私性的也得到了更多的關注。為了保證數據安全性,卻造成了各個地方的數據難以整合,形成了大量的數據孤島[1]。

在上述數據無法進行共享的情況下,聯邦學習[2]于2016 年被首次提出。聯邦學習能有效地解決數據孤島問題,在保證數據安全性的同時達到數據共享目的。聯邦學習利用去中心化的數據源進行訓練,避免因數據中心化帶來的隱私問題,從而能夠更好地保護用戶隱私。具體來說,聯邦學習過程是參與者在客戶端本地對其私有數據進行訓練,再將訓練后得到的模型參數上傳到云服務器,最后由云服務器聚合得到整體參數。

然而,聯邦學習中仍然存在巨大的安全隱患[3],比如:(1)服務器無法訪問參與者的數據及其模型訓練過程,導致一些惡意參與者上傳錯誤的更新結果以達到破壞全局更新的目的[4]。例如,攻擊者通過訓練惡意修改后的訓練數據來更新中毒模型,以影響全局模型準確性。(2)攻擊者通過推理不同的攻擊得到的模型更新的結果可以推理出特定的信息,使得用戶的個人信息被泄露[4]。(3)當服務器本身不可信時,服務器與其他的參與者合謀會導致隱私信息泄露。雖然在深度學習領域,保證隱私安全的工作已探索多年,但針對如何構建具有安全和隱私性的聯邦學習系統的研究仍處于初級階段[4-6]。本文根據聯邦學習系統可能遭受到攻擊的脆弱部分,按傳統的分類方式將聯邦學習可能遭受到的攻擊進行分類。并闡述了針對這部分攻擊,聯邦學習系統所能夠采取防御的手段。

如圖1所示,本文首先詳細介紹了聯邦學習概念及其架構、模型;其次,分類地介紹了聯邦學習可能遭受到的攻擊,以及針對不同的攻擊所能夠進行的防御;最后,根據聯邦學習的特性與現狀,本文對聯邦學習的發展方向進行了總結與展望。方便研究人員全面了解聯邦學習攻防領域現有知識的基礎和發展動態,發現已有研究的不足和未解決的問題;為后續研究聯邦學習系統的安全隱患問題提供了新的見解和思路。

圖1 聯邦學習攻擊手段與防御機制研究Fig.1 Research of federated learning attack means and defense mechanism

1 聯邦學習

1.1 聯邦學習概念

聯邦學習本質上是一種分布式的機器學習技術,其工作過程如圖2所示。通常,聯邦學習的實施涉及三個步驟。

圖2 聯邦學習流程Fig.2 Process of federated learning

生成初始模型:在第一個階段,工作主要是從位于服務器的全局模型開始。開始訓練后,服務器生成初始的全局模型,再將這個模型作為機器學習模型廣播給聯邦學習環境下的客戶端(0 <i<N,N為客戶端的總數量)。

本地模型更新:在第二個階段,客戶端在本地借助私有的數據集對模型進行訓練,再將訓練后的模型更新發送給服務器。

模型聚合:在第三個階段,服務器接收從客戶端發送來的更新后的訓練模型,并進行聚合生成全局模型。服務器再將聚合的全局模型廣播給所有參與訓練的客戶端。自此,聯邦學習進入迭代階段,每一次迭代,全局模型都會進行更新。此外,服務器在任何階段都可以在訓練過程中添加或刪除客戶端。

聯邦學習由一個服務器,N個持有私有數據集的客戶端組成。聯邦學習是一個不斷迭代的過程,它重復第二個和第三個階段直到服務器的全局模型得到一個期望的精度或者全局模型更新達到預定的迭代次數。在訓練過程中,聯邦學習對模型進行訓練而無需傳輸訓練數據或將數據存儲到中心服務器。通過這種方式,可以在客戶端和服務器之間共享信息,且在訓練過程中有效的保護了用戶的數據隱私。

相比較于傳統的分布式機器學習,聯邦學習具有以下特點:(1)數據異構:各個客戶端中的數據集的數據非獨立同分布,且其中的數據數量不一致;(2)設備異構:各個客戶端硬件差異導致計算能力、通信、存儲效率等不平衡;(3)客戶端數量不定。根據這些特點,聯邦學習有著不同的學習類型,被劃分為以下3 種類型[6-8]:橫向聯邦學習、縱向聯邦學習與遷移聯邦學習,它們之間的對比如表1所示。

表1 不同類型聯邦學習的對比Table 1 Comparison of different types of federated learning

在橫向聯邦學習中,各個參與方有著不同的數據樣本,但其中數據特征重疊較多。橫向聯邦學習核心的計算方法是聯邦平均算法,其包括梯度平均和模型平均兩種類型[9]??v向聯邦學習中,各個參與方的數據樣本重疊,其中數據的特征有差異??v向聯邦學習已應用于線性回歸、提升樹、梯度下降等多種模型上。上述兩種類型的聯邦學習屬于較為理想的情況。在現實生活中,大部分參與方所持有的數據,無論是數據樣本還是特征都重疊較少,且樣本數據集分布不均衡。針對這種情形,遷移聯邦學習[10]被提出。在遷移聯邦學習中,各個參與方的數據樣本及數據的特征都重疊較少。遷移聯邦學習結合了聯邦學習與遷移學習[11]的優點,使用遷移學習去克服數據樣本不重疊與數據特征不重疊的情況。

1.2 聯邦學習中的安全問題

聯邦學習允許參與者在本地訓練數據,而不需要將本地數據傳輸,從而實現了數據的隔離。且用戶數據始終保存在本地,不進行共享,滿足了用戶隱私保護和數據安全的需求。但這種安全并不是絕對的,聯邦學習仍然面對著一些安全性的風險。比如聯邦學習沒有審核參與方提供的參數模型是否真實;服務器被攻陷時,攻擊者可以隨時發布惡意模型影響參與方的本地訓練;惡意的參與方可以從共享的參數中推理出其他參與方的敏感信息;惡意的參與方可以通過上傳惡意的模型破壞聚合后的全局模型等。聯邦學習系統可能遭受到的攻擊有:(1)投毒攻擊(poisoning attack ,PA):即攻擊者通過破壞數據樣本以達到攻擊目的的一種攻擊方式,如圖3中的①所示;(2)對抗攻擊(adversarial attack,AA):即攻擊者通過影響模型更新以達到攻擊目的的一種攻擊方式,如圖3 中的②所示;(3)推理攻擊(reasoning extraction attack,REA),即攻擊者通過對監聽、竊取等方式獲取的信息進行推理以得到某些隱私信息的手段,如圖3中的③所示;(4)服務器漏洞(server vulnerabilities,SV),即服務器本身是惡意攻擊者或極易受到攻擊的情況,如圖3中的④所示。具體的攻擊方式分類如表2所示。其中,推理攻擊針對的是隱私,分為模型提取、模型逆向,前者主要通過推理竊取模型的信息,后者主要通過推理獲得訓練數據集的信息;投毒攻擊和對抗攻擊針對的是安全,前者主要在訓練階段投放惡意數據或惡意篡改數據從而導致模型的分類準確率降低,后者主要在預測階段制造對抗樣本來使模型分類出錯[12]。

表2 聯邦學習中的攻擊類型Table 2 Attack types in federated learning

圖3 聯邦學習可能遭受到的攻擊示意圖Fig.3 Schematic diagram of possible attacks on federated learning

針對這些攻擊,聯邦學習也提出相應的防御措施。我們根據不同的攻擊目標將防御措施分為通用性和針對性的防御措施,具體如表3所示。通用性防御措施主要包含差分隱私、同態加密、秘密共享等,而針對性防御措施主要針對聯邦學習可能遭受到的不同類型的攻擊,包括防御投毒攻擊、防御對抗攻擊、防御推理攻擊以及防御服務器漏洞。

表3 聯邦學習中的防御措施Table 3 Defense measures in federated learning

2 聯邦學習中的攻擊手段

2.1 投毒攻擊

聯邦學習的一個關鍵特征是,它允許相互不信任的參與方(例如競爭公司)之間合作訓練模型。這使得聯邦學習極其容易受到投毒攻擊的威脅。例如,一部分聯邦學習的參與方被對手擁有或者控制之后在聯邦學習訓練過程中進行惡意行為,破壞聯邦訓練的全局模型。投毒攻擊主要是指攻擊者通過在訓練或再訓練過程中,篡改數據或往參與者的數據集中添加惡意數據,以破壞訓練數據集的分布來改變模型在特定輸入上的行為,達到操縱學習模型預測的攻擊目的。其通常使得全局模型難以收斂或將良性模型收斂為錯誤模型。例如注入有毒的訓練數據樣本,改變樣本的標簽,刪除訓練數據集中的一些原有樣本等。在聯邦學習中,每一個參與者都可以平等地訪問訓練數據,在這種時候,惡意數據被對手或惡意客戶端添加到全局聯邦學習模型中,具體的投毒過程如圖4 所示。每個參與者將更新的參數發送到中央服務器,然后在每一輪得到一個經過充分訓練的聯邦學習模型。在這個過程,有毒的數據集會影響局部模型,進而間接地影響全局模型,最終使全局模型偏離,降低了模型的精度。一般來說,投毒攻擊根據攻擊者的投毒目標分為數據投毒攻擊[13-18]和模型投毒攻擊[15,19-21]。

圖4 數據中毒Fig.4 Data poisoning

2.1.1 數據投毒

數據投毒攻擊指攻擊者惡意篡改數據或者向數據訓練集中添加有毒數據來污染訓練數據集,影響模型的訓練過程,最終導致模型被破壞,降低了模型的準確性。聯邦學習中的數據投毒攻擊在客戶端處操作數據集,通常通過添加噪聲或翻轉標簽[13]來實現。在添加噪聲中,攻擊者在每個類上加上特制的噪聲,使得模型在學習樣本本身的特征時將加入的噪聲一起學進去,而不需要訪問其他數據集,從而達到數據投毒的目的。在標簽翻轉攻擊中,攻擊者改變惡意客戶端的數據,使某一類的每個標簽都切換到目標標簽。

數據投毒這種攻擊通常由擁有數據的所有者實施,但任何聯邦學習的參與者都可以進行數據投毒攻擊。根據攻擊者是否更改標簽,數據中毒可被分為干凈標簽[22]和臟標簽[23]中毒。前者是一種針對性攻擊,不修改數據標簽,只添加部分惡意數據。后者是指攻擊者通過惡意篡改標簽來進行攻擊,攻擊者將篡改的臟數據與干凈數據混為一體,集中訓練即可進行中毒攻擊。

最早研究中毒發作的是Rubinstein 等人[14],他們研究了一系列中毒策略的影響,并詳細分析了在同時改變攻擊者可用的信息量和中毒發生的時間范圍的情況下,對手如何破壞學習過程。對于研究的三個中毒方案,還展示了攻擊者如何通過僅添加適量的中毒數據來大幅增加成功逃避檢測的機會。繼而,Muoz-Gonzalez 等人[15]將中毒攻擊的定義擴展到多類問題。其基于反梯度優化的思想對中毒樣本進行優化,提出了一種新的中毒算法,即通過反向傳播計算感興趣的梯度,同時反轉學習過程以大幅降低攻擊復雜性。該中毒算法僅要求學習算法在訓練期間以平滑的方式更新其參數(例如,通過梯度下降),以正確地向后跟蹤這些變化。由此,該算法可以應用于更廣泛的一類學習算法,但其沒有對深度網絡的中毒攻擊進行廣泛的評估來徹底評估它們對中毒的安全性。同樣使用優化思想去分析中毒問題的Sun 等人[16],通過將聯邦多學習模型上的最優投毒攻擊策略作為一個通用的雙層優化問題去進行制定,即使用一個雙層優化框架來計算聯邦學習的中毒攻擊,嘗試從數據中毒的角度探索聯邦機器學習的漏洞。相同的,Tolpegin等人[17]和Li等人[18]嘗試從數據中毒角度探究聯邦學習系統的脆弱性。Tolpegin等人[17]研究了針對聯邦學習系統有針對性的數據中毒攻擊。在這種攻擊中,參與者的一個惡意子集通過發送來自錯誤標記數據的模型更新來毒害全局模型。其對惡意參與者的能力做了最低限度的假設:每個參與者只能在他們的設備上操作原始的訓練數據,這允許非專業的惡意參與者在不了解模型類型、參數和聯邦學習過程的情況下實現中毒。實驗結果證明這種攻擊對傳統的集中式機器學習模型是有效的。針對聯邦學習系統中數據可靠性方面的漏洞,Li等人[18]提出了一種基于強化學習的中毒方法,專門用于對未標記數據的預測模型進行投毒。這是第一篇考慮對未標記預測模型的中毒攻擊的研究。通過實驗證明,這種算法不僅可以成功地對未標記數據的預測模型投毒,而且可以利用積累的經驗不斷加快投毒速度,進而在短時間內可以成功地對未標記數據的全局預測模型進行投毒。

2.1.2 模型投毒

模型投毒攻擊指攻擊者直接改變目標模型的參數,使全局模型偏離正常模型,導致模型出現錯誤或模型性能下降。模型投毒攻擊的目的是能夠任意操縱模型更新。由于模型的參數會在云服務器和客戶端之間重復傳輸,因此模型投毒攻擊可能由其中的任何一方進行。

一開始,Bhagoji等人[23]探索了聯邦學習設置如何引起一種新的威脅,即模型中毒;研究了一些深度神經網絡的攻擊策略,包括有針對性的模型中毒等。研究者還提出了兩個關鍵的隱形概念來檢測惡意更新,通過將這兩個關鍵的隱形概念包含在對抗目標中繞過它們來執行隱形模型中毒,并使用交替最小化策略來改進攻擊隱身性,交替優化隱身性和對抗目標。最后成功證明拜占庭彈性聚合策略對這些攻擊并不健壯,但這篇文章沒有考慮這類攻擊的穩健性。在此之后,Zhou等人[19]對聯邦學習中的模型投毒威脅進行了系統的研究,并提出了一種新的基于優化的模型投毒攻擊。通過在神經網絡的冗余空間中注入對抗神經元來提高攻擊的持久性。由于這些冗余的神經元與聯邦學習的主要任務相關性較小,所提出的模型投毒攻擊不會降低主任務在共享全局模型上的性能,能夠避免被中央服務器檢測和拒絕異常模型,成功實現了在多客戶端模型中實施中毒攻擊時保持隱身性與持久性。Hossain等人[20]與Zhou等人[19]同樣關注到這類攻擊的持久性、有效性與隱蔽性。Hossain等人[20]分析了在聯邦學習設置下的對抗學習過程,并表明可以利用差分噪聲進行隱形且持久的模型投毒攻擊。更具體地說,這篇文獻為聯邦學習模型開發了一種利用差分隱私的隱形模型中毒攻擊。該攻擊通過將錯誤數據隱藏在DP 噪聲中來欺騙傳統的異常檢測機制,實現攻擊的隱蔽性,降低全局聯邦模型的整體精度。作者使用兩個流行數據集的分類和回歸任務的實證分析證明了所提出攻擊的有效性。Cao等人[21]提出了第一個基于假客戶端的模型投毒攻擊。具體來說,攻擊者往聯邦學習系統添加假客戶端,假客戶端在訓練期間向云服務器發送精心制作的假本地模型更新,并在將其發送到云服務器之前將其擴展以擴大其影響,從而使學習到的全局模型對于許多不加區分的測試輸入具有低準確性。

表4 分別從威脅模型、結果、具體應用等幾個方面對有關聯邦學習的投毒攻擊的相關研究進行分類概述。

表4 一些投毒攻擊研究的對比Table 4 Comparison of some poisoning attack studies

2.2 對抗攻擊

對抗攻擊主要是指攻擊者通過影響被攻擊客戶端的本地模型的更新繼而影響全局模型的更新,導致模型輸出錯誤結果。其將對抗樣例提交到訓練好的模型中,從而使模型預測錯誤。對抗樣本(adversarial examples,AEs)是在原來正常的樣本上添加了輕微的擾動,可以導致分類模型分類錯誤。對抗樣本的另外一個特點是即使造成了模型分類錯誤,還是可以進行正確分類。

2.2.1 對抗攻擊

對抗攻擊利用對抗樣本使模型預測錯誤,也稱之為逃避攻擊(evasion attack,EA)。對抗攻擊是通過在原始樣本中添加擾動而產生的。它們混淆了訓練有素的模型,但在人類看來它們很正常,這保證了攻擊的有效性。對抗攻擊可以應用于許多領域,其中應用最廣泛的是圖像分類。通過添加小的擾動,可以生成對抗的圖像,這些圖像對人類而言很難區分,但是能造成模型的分類錯誤。

Szegedy 等人[24]于2014 年提出對抗攻擊。2019 年,張思思等人[25]介紹了什么是對抗樣本、對抗樣本的概念、出現的原因、攻擊方式以及一些關鍵技術問題。同年,Ling等人[26]開發了一個統一的評測平臺:DeepSEC。DeepSEC 結合了對抗學習中16 種攻擊方法、10 種攻擊效用指標、13 種防御方法及5 種防御效用指標,旨在評估各種攻擊和防御的有效性。

考慮到不同模型之間的差異,Papernot 等人[27]首次揭示了機器學習領域中對抗樣本可轉移的強烈現象。介紹了支持向量機和決策樹的對抗樣本制作技術;研究了機器學習領域的對抗性樣本可遷移性,發現樣本不管是在使用相同機器學習技術訓練的模型之間,還是在使用不同技術訓練的模型之間,抑或是在使用集體決策的集合之間都遷移得很好。

2.2.2 生成對抗網絡

生成式對抗網絡(generative adversarial network,GAN)結構是由生成器和判別器組成的。訓練過程中,兩者互相博弈學習產生一個相當好的輸出。GAN通過將生成式深度神經網絡與判別式深度神經網絡相比較,生成一個似乎是來自訓練集的樣本,當判別模型無法確定樣本是來自GAN 還是來自訓練集時,說明生成式學習是成功的,兩者之間相互影響。

通過生成對抗網絡,Zhang 等人[28]提出一種基于GAN 的端到端攻擊算法,稱為生成模型反演攻擊。它可以反演深度神經網絡并以高保真度合成私有訓練數據。其利用一部分可以通用的公共信息,通過生成對抗網絡學習分配先驗,并使用它來指導反演過程。對于高度預測的模型來說,漏洞是不可避免的,因為這些模型能夠在特征和標簽之間建立強相關性。大量實驗表明,所提出的攻擊將從最先進的人臉識別分類器重建人臉圖像的識別精度提高了約75%。Ren 等人[29]提出了同樣是一種基于GAN 的攻擊模型-生成回歸神經網絡(generative regression neural network,GRNN)。作者將攻擊描述為一個回歸問題,并通過最小化梯度之間的距離來優化生成模型的兩個分支。僅通過提出的生成回歸神經網絡就可以輕松地從共享梯度中完全恢復基于圖像的隱私數據。通過幾個圖像分類任務評估該攻擊方法,結果表明,提出的生成回歸神經網絡較目前的方法具有更好的穩定性、更強的魯棒性和更高的精度??卒J等人[30]將攻擊算法與GAN 相結合,提出一種基于GAN的對抗攻擊防御模型。其利用對抗攻擊算法生成訓練樣本的同時在模型訓練期間加入條件約束來穩定模型,再利用分類器對生成樣本分類來指導GAN 的訓練,繼而通過需要防御的攻擊算法來生成對抗樣本以完成判別器的訓練,最終得到可以抵御多種對抗攻擊的分類器。

如表5,分別從威脅模型、結果、具體應用等幾個方面,對有關聯邦學習的對抗攻擊的相關研究進行分類概述。

2.3 推理攻擊

推理攻擊也被稱作探索攻擊(入侵攻擊)[31],具體如圖5所示,是指攻擊者通過某些攻擊方法得到模型的信息(如數據集、中間參數或預測結果等),然后根據這些信息來推理獲取目標信息,如給定用戶的某條記錄和某個屬性是否屬于該模型的訓練集。雖然在聯邦學習設置中,參與方上傳模型的梯度信息,將私有數據一直保存在用戶本地,但梯度的交換也可能導致隱私泄露[32]。在聯邦學習框架中,攻擊者既可以對本地模型進行攻擊,也可以對全局模型進行攻擊,通過推理攻擊可以在一定程度上得到有用的信息。通常情況下,推理攻擊只會影響目標模型,使其輸出錯誤的結果,而不會破壞模型。

圖5 推理攻擊Fig.5 Ⅰnference attack

2.3.1 成員推理

判斷具體的數據集是否已被用于訓練,稱之為成員推理攻擊(membership inference attack,MⅠA)。成員推理攻擊是指攻擊者通過對被攻擊模型的應用程序編程接口(application programming interface,APⅠ)進行訪問,獲取大量數據從而模仿目標模型構建出一個新的模型。攻擊者不需要對數據、模型參數等進行了解,只需要獲得預測分類的置信度,就可以建立一個攻擊模型。攻擊者利用擁有的信息和權限,將數據輸入目標模型,再將得到的結果以及數據集的標簽輸入攻擊模型,就可以判斷該記錄是否存在于目標模型的數據集。

成員推理攻擊最早由Shokri等人[33]提出,其目的是根據訓練后的模型對某一樣本是否屬于對應的訓練集進行判斷,這可能會導致用戶的隱私信息泄露。成員推理攻擊的目的是確定攻擊對象是否被用來訓練模型[34]。Melis 等人[35]提出并評估了幾種針對協作學習的推理攻擊。這些攻擊使惡意參與者不僅可以推斷成員資格,即其他參與者的訓練數據中是否存在確切的數據點,而且還可以推斷訓練數據子集的特征屬性,而這些屬性與聯邦模型旨在捕獲的屬性無關。

Nasr 等人[36]設計了白盒推理攻擊來對深度學習模型進行全面的隱私分析,通過充分訓練模型的參數以及訓練過程中模型的參數更新來衡量隱私泄漏。另外,他們利用隨機梯度下降算法(用于訓練深度神經網絡的算法)的隱私漏洞,設計了針對白盒設置的新算法,提出一種主動攻擊方法:服務器或惡意方主動增加模型在目標數據的梯度。如果目標數據為訓練集成員,正常參與方會在后續迭代中明顯下降模型損失函數在目標數據的梯度,成員推斷模型可以檢測到這種變化,從而提高推斷攻擊的成功率。文獻[37]和[38]都是利用GAN 和分類模型實現成員推斷攻擊。其中,Chen等人[37]提出了一種新的聯邦學習中的用戶級推理攻擊機制。從惡意參與者的角度出發,利用白盒訪問模型對聯邦學習中主動和有針對性的成員推理攻擊進行了深入分析。該機制使用生成對抗網絡進行數據增強,訓練的模型以目標數據為輸入,若輸出的標簽與某個參與方事先聲明的標簽一致,則認為目標數據為該參與方訓練集的成員,從而實現針對特定參與方的成員推斷攻擊。而Zhang等人[38]通過生成對抗網絡從隨機噪聲中生成新的數據樣本。生成的圖像用于查詢目標聯邦學習模型以獲取標簽,再訓練分類模型學習真實標簽周圍的預測值分布來區分目標模型的成員數據和非成員數據。他們的攻擊模型是以目標數據的預測值和標簽為輸入的。

2.3.2 屬性推理

判斷其他參與者所用的數據中是否包含某項屬性,稱為屬性推理攻擊(property inference attack,PⅠA)。屬性推斷攻擊是攻擊者推斷參與方的訓練數據的一些敏感隱私屬性,其包括模型任務相關屬性推斷和無關屬性推斷。

(1)相關屬性推斷:模型任務相關屬性是描述訓練數據中每類數據的關鍵特征,通過推斷相關屬性可以重構每類標簽的訓練數據,因此這種攻擊也可稱為數據重構攻擊。通過重構出來的數據并不是真正的訓練數據。目前實現數據重構攻擊的技術思路主要包括兩種:利用生成對抗網絡重構數據和將攻擊轉化為最優化問題求解。

文獻[4]和[5]都是利用生成對抗網絡實施數據重構攻擊。其中,Hitaj等人[5]通過在惡意方部署生成對抗網絡來重構其他參與方特定標簽的代表數據。然而,這種主動攻擊會降低全局模型的準確性,可能被檢測到異常行為并進行排除。Wang 等人[4]則提出服務器可以利用生成對抗網絡重構特定參與方的訓練數據。他們通過在服務器側部署多任務生成對抗網絡學習目標參與方的數據分布。在客戶端不是惡意,而服務器是惡意的假設條件下,Song等人[39]在Wang等人[4]工作的基礎上進一步擴展,提出了一種預先鏈接性攻擊,通過關聯客戶端代表來重新識別匿名模型更新。

文獻[40]是將攻擊轉化為最優化問題進行求解的。Zhu等人[40]證明了從公開共享的梯度中獲得私人訓練數據是可能的,其將數據重構攻擊轉化成最優化問題進行求解。他們利用模型梯度泄露訓練數據信息的原理,推論出如果重構數據可以使全局模型產生和參與方梯度相近的梯度信息,則重構數據也和參與方的訓練數據相似。

(2)無關屬性推斷:任務無關屬性是指訓練數據中對模型任務不起作用的特征信息,理論上模型不應該泄露這類隱私,這純粹是模型訓練過程的產物,因此無關屬性推斷也稱為無意識的特征泄露。任務無關屬性不易察覺且難以檢測,且可能帶來嚴重的隱私風險,因此引起了部分學者的重視。這類攻擊沒有明確的指向性,具體的攻擊目標因人而異。

Melis等人[35]的攻擊目標是推斷其他參與方的訓練數據中是否擁有攻擊者關心的屬性。作者為參與方實施屬性推斷攻擊提出被動和主動兩種模式:在被動攻擊中,他們首先計算全局模型在輔助數據集上的梯度,并根據輔助數據是否具有目標屬性貼上相應的標簽,隨后用梯度和標簽訓練一個二分類器,最終以參與方的模型更新為輸入進行分類,推斷參與方的訓練數據是否具有目標屬性。而在主動攻擊中,一個主動的對手可以使用多任務學習來欺騙聯合模型,使其學習對他感興趣的特征進行更好的內部分離,從而提取更多的信息。Shen等人[41]提出了一種新的屬性推斷攻擊,利用區塊鏈輔助聯邦學習中的意外屬性泄漏進行智能邊緣計算。具體來說,這個主動攻擊從參與者的模型更新中學習屬性泄漏,并識別一組具有特定屬性的參與者。作者希望在保證主任務性能的前提下,推斷訓練數據具有目標屬性的參與方集合。由于攻擊者基于全局模型和輔助數據集生成元訓練數據來訓練攻擊模型,當所需的迭代次數較大時,訓練攻擊模型的時間成本較高。

表6 分別從威脅模型、結果、具體應用等幾個方面對有關聯邦學習的推理攻擊的相關研究進行分類概述。

2.3.3 模型提取

模型提取攻擊(model extraction attack,MEA)是指持續地向目標發送數據,并根據其響應信息推斷出模型的參數,進而生成相似的模型。當攻擊者構建的模型與原模型預測性能相近時,原模型擁有方數據泄露的可能性較大。且攻擊者可以利用生成的模型生成對抗樣本,對原模型也有較大威脅。模型提取攻擊針對已經訓練好的模型,其目的是竊取模型參數及非法獲取模型。

Tramer 等人[42]首次提出竊取機器學習分類器參數的攻擊,介紹了一種通過預測APⅠ提取模型的方法。他們通過發送大量的查詢建立了模型方程,并得到了相應的預測結果。在此之后,Wang 等人[43]為機器學習提供了第一個關于超參數竊取的攻擊,證明了各種機器學習容易受到超參數竊取攻擊。通過實證評估,這個攻擊可以準確地估計我們所研究的所有機器學習算法的超參數,且結合模型參數竊取攻擊的情況下,這個攻擊在模型參數未知的情況下也能準確估計超參數。文獻[44]進一步開展了超參數竊取和架構提取等工作,在黑盒攻擊條件下成功推斷出神經網絡的隱藏模型結構及其優化過程。

2.3.4 模型逆向

在早期的認識中,訓練數據集和訓練模型之間只有一個信息流,即從數據集到模型。事實上,許多研究表明還存在一個逆向信息流,即從模型信息中恢復數據集信息,這稱之為模型逆向攻擊(model inversion attack,MⅠA)。模型逆向攻擊是指攻擊者根據模型的輸入特征,構造對應的輸出特征,從而達到篡改模型參數或者篡改模型預測結果的目的。

與模型提取攻擊關注模型的隱私信息不同,模型逆向攻擊關注數據集。Fredrikson等人[45]開發了一類新的模型反演攻擊,可用于從機器學習服務上托管的決策樹推斷敏感特征,或從面部識別模型中提取訓練對象的圖像。該攻擊利用了與預測一起顯示的置信度值。這個新攻擊適用于各種環境。Ateniese等人[46]證明了攻擊機器學習分類器并從中推斷出有意義的信息是可能的。作者構建了一個新的元分類器,并訓練它來攻擊其他分類器以獲得關于它們的訓練集的有意義的信息。元分類器可以成功地檢測和分類這些變化,并推斷出有價值的信息。

2.4 服務器漏洞

聯邦學習框架中,服務器的任務是將參與方上傳的更新參數進行安全聚合,然后將更新后的參數廣播給參與訓練的參與方,以此循環訓練出一個全局模型[47]。在迭代過程中,每個用戶模型的更新信息都需要發送到服務器,服務器可以通過分析更新信息來推理出用戶的隱私數據信息。這表明整個系統的中心是服務器,當服務器受損或者其本身是惡意的,將有可能破壞全局模型,造成巨大損失。

服務器漏洞是指服務器本身是惡意的,或者服務器缺少完整的防御措施導致其容易受到攻擊者攻擊。在目前的聯邦學習架構中,參與方在每輪迭代開始時都會使用聚合服務器下發的全局模型覆蓋本地模型,而不會檢驗全局模型的正確性。因此惡意服務器可以跳過聚合過程直接下發惡意模型,在參與方的本地模型植入后門,帶來嚴重威脅。因為惡意服務器的攻擊方法明顯,且服務器的安全防護措施較為完善、攻擊成本高,所以目前相關的研究較少。

2.4.1 惡意服務器攻擊

在對機器學習模型進行訓練的過程中,服務器能輕松地提取用戶數據或操縱全局模型,以利用共享計算能力來構建惡意任務[47]。這給聯邦學習帶來了很大的安全隱患,它使得攻擊者能夠通過服務器直接訪問全局模型,從而擴大了攻擊者的攻擊范圍。在聯邦學習的訓練過程,服務器能夠控制每一個參與方在什么時候對模型進行訪問與操作,因此,當服務器是惡意的,它可以設計新的方案去度量模型的平均情形或最差情形下的攻擊敏感性[48],從而設計出最低成本的攻擊方案。

考慮服務器有可能是惡意的,Wang等人[4]首次嘗試通過來自惡意服務器的攻擊來探索針對聯合學習的用戶級隱私漏洞,其提出了一個將生成對抗網絡與多任務鑒別器相結合的框架。該框架可以同時識別輸入樣本的類別和客戶身份,對客戶端身份的區分使生成器能夠恢復用戶指定的私有數據。此外,服務器所處網絡環境的安全性也很重要。當服務器工作在較為危險的網絡環境中時,受到攻擊的概率會大大增加[49]。因此,強大而安全的服務器是必要的。

2.4.2 女巫攻擊

在聯邦學習中,聯邦學習的參與方與服務器是彼此相互信任的,雙方都應該保持公平、誠實的態度。女巫攻擊(sybil attack,SA)是指利用少數節點可能含有多個虛假身份,從而利用其去控制或影響大部分節點。女巫攻擊的攻擊手段主要分為:直接和間接通信、偽造身份、盜用身份、同時和非同時攻擊等。在聯邦學習架構中,攻擊者可以通過控制服務器來偽造或控制大量的參與方發動攻擊,得到其所需的信息。該攻擊對聯邦學習協議的安全造成了威脅。同時,一些聯邦學習系統為了保護用戶的隱私,會將用戶的信息打亂,這將使分辨誠實用戶和惡意用戶變得更加困難,抵御女巫攻擊的難度大大上升。

由于聯邦學習只需要參與者訓練過程的信息,對參與者本身及其數據的情況沒有任何限制,聯邦學習現有的防御機制難以抵御女巫攻擊。

3 聯邦學習中的防御機制

針對上述列出的攻擊手段,本文搜集了一些常用的防御措施,涵蓋了針對大部分攻擊手段可以通用的防御措施以及具體針對上述提出的各類不同的攻擊手段可以實施的防御措施。使用通用性的防御措施可以同時防御大部分攻擊,但其針對性不強,對于針對某一類攻擊方式的防御效果較差。而使用某一類針對性的防御措施往往對針對的攻擊手段防御效果較好,卻忽略了遭受到其他攻擊時的影響。

3.1 通用性防御機制

針對第2章所提出的聯邦學習可能遭受到的攻擊,本節闡述了所采取的通用性防御措施。

3.1.1 差分隱私

差分隱私最早由Dwork等人[50]提出,用來克服不斷涌現的隱私攻擊以及當前隱私保護機制存在的不足。當參與者將信息發送給服務器時,信息極有可能會被泄露。為了防止這種情況發生,在發送更新信息之前給信息加入差分隱私,這可以有效防止攻擊者逆向推理出用戶的數據。差分隱私技術通過對數據添加噪聲來實現數據模糊化,從而減少了敏感數據的泄露,使得即使攻擊者通過攻擊手段得到了部分信息也無法推理原始數據。在參與方上傳更新信息之前,對更新信息進行差分隱私,則無需考慮服務器是否可信。差分隱私是一種通過引入隨機性來確保隱私的方法,其通過犧牲一定的準確度達到更高的隱私安全。差分隱私根據不同的信任假設和噪聲源,被分為三類:本地化差分隱私[51](local differential privacy,LDP)、分布式差分隱私(distributed differential privacy,DDP)[52-54]、中心化差分隱私(centralized differential privacy,CDP)[51]。若融合了兩種或以上的差分隱私方法則稱為混合差分隱私(hybrid differential privacy,HDP)[55]。當前,差分隱私技術的研究重點是在于如何保障隱私的同時,盡可能地保留原始數據中的有用信息,從而實現對隱私的有效保護。

McMahan等人[2]提出聯邦學習,在2017年向聯邦學習環境添加用戶級別的差分隱私[56],在訓練模型的過程中不過分犧牲模型的質量而又保護個人的數據隱私。Choudhury 等人[57]成功地將差分隱私引入聯邦學習,保護了模型免受潛在的隱私攻擊,為聯邦學習框架提供更高級別的隱私。Geyer等人[58]提出了一種客戶端差分隱私保護聯邦優化的算法,致力于在隱私保護和模型性能之間取得平衡。Bhowmick等人[59]設計了新的最優局部差分私有機制,提出了大規模局部私有模型訓練的適用方法,適用于聯邦學習系統。Abadi 等人[60]在聯邦學習的場景下,通過差分隱私來保證模型不會透露參與方是否參與了訓練,維持了客戶級的差異隱私。

3.1.2 同態加密

同態加密(homomorphic encryption,HE)是指將原始數據經過同態加密以后,對得到的密文進行特定的代數運算,然后將計算結果再進行同態解密后得到的明文與直接在明文上進行相同運算得到的結果相同。根據對密文上進行操作的種類和次數,同態加密可以被分為三大類:半同態加密[61](partially homomorphic encryption,PHE)、部分同態加密[62](somewhat homomorphic encryption,SWHE)以及全同態加密[63-65](fully homomorphic encryption,FHE)。半同態加密僅支持一種同態運算,但運算支持執行無限次。部分同態加密支持多種同態運算,但是運算的次數有限。全同態加密支持無限次運算及所有種類同態運算。全同態加密理論上支持對密文進行任意計算,但其運算量過大,存儲開銷大,效率較低。相較全同態加密而言,部分同態加密更加高效,因此在具體實施中部分同態加密常常被優先使用。

隨著硬件的發展,實現同態加密與其他安全方法的結合成為可能。Madi 等人[66]提出了第一個聯邦學習框架,該框架在不向聚合服務器公開最終模型的情況下,通過結合同態加密與可驗證計算技術,可以安全地抵御來自聚合服務器的機密性和完整性威脅。Phong等人[67]提出了一個新的深度學習系統來保護誠實但好奇的云服務器上的梯度,其中許多學習參與者在所有的組合數據集上執行基于神經網絡的深度學習,并結合加法同態來保證隱私安全,從而使得參與者的本地數據不會透露給中央服務器。

然而在目前,同態加密還無法直接用于聯邦學習,例如,在協作式場景下,哪些用戶應該擁有密鑰還沒有得到解決。對此,Reyzin等人[68]對自定義閾值加密的可能性和局限性進行了系統的研究,并介紹了可擴展多方計算的密鑰應用。一旦公鑰被分發,除了中央服務器之外的所有各方只發送和接收短消息,其大小與參與者的數量無關。文獻[69]通過使用稀疏向量技術與加密技術的組合來實現在不可信設備間執行求和計算。兩者通過分布式密鑰去解決上述問題。

3.1.3 秘密共享

秘密共享(secret sharing,SS)是現代密碼學領域的一個重要分支,是保證信息安全和數據保密的重要手段,也是多方安全計算和聯邦學習等領域的一個基礎應用技術。其主要用于保護用戶的隱私信息,包括用戶的身份、地址等,防止信息丟失、被破壞或被篡改。秘密共享的機制主要由秘密的分發者、參與者、分配算法、恢復算法等構成。秘密共享通過使用合適的方式和將秘密進行拆分,并將拆分后的秘密分享給不同的參與者,使得只有多于一定數量的參與者一同合作才可以計算或恢復秘密,當少于規定的數量時無法得到秘密。目前實現秘密共享一共有三種技術方案:一是基于插值多項式的秘密共享:Shamir 方案[70];二是基于超平面幾何的秘密共享:Blakley方案[71];三是Asmuth等人[72]提出的基于中國剩余定理的秘密共享。

隨著神經網絡的發展,谷歌提出的聯邦學習系統面臨著移動設備通常無法與其他移動設備建立直接的通信通道,移動設備本機也無法驗證其他移動設備的挑戰。Bonawitz 等人[73]考慮在聯邦學習模型中訓練一個深度神經網絡,在移動設備上對用戶持有的訓練數據使用分布式梯度下降,使用安全聚合來保護每個用戶的模型梯度的隱私。其通過在協議中添加一個含有一個秘密共享循環的初始回合,用來保證惡意服務器無法提取梯度信息。為了進一步加強數據隱私和安全,秘密共享方案也在更新。Han等人[74]提出了一種支持深度神經網絡隱私保護的可驗證聯邦訓練方案,提出了可驗證秘密共享(verifiable secret sharing,VSS)??沈炞C秘密共享是基于以往的密碼共享升級而來,其實現了用戶的隱私保護,并且驗證服務器返回結果的正確性。除了進行更新之外,秘密共享還被嘗試與其他安全方法進行結合。Fereidooni等人[75]在聯邦學習框架下高效地結合了可驗證秘密共享與全同態加密,既發揮了聯邦學習分布式的優點,又進一步加強了整個系統的安全性。

表7 總結了上述相關針對聯邦學習可能遭受到的攻擊所采取的通用性防御措施的研究。

表7 通用性聯邦學習可能遭受攻擊的防御措施Table 7 Defense measures against potential attacks in universal federated learning

3.2 針對性防御機制

如圖6所示,針對前文所提出的聯邦學習可能遭受到的攻擊,本節闡述了防御的思路,為后續研究人員在建設相關系統,抵抗有關攻擊時提供思路。

圖6 針對性防御措施Fig.6 Targeted defense measures

3.2.1 防御投毒攻擊

投毒攻擊在聯邦學習中是一種常見的攻擊,通過數據投毒和模型投毒這兩種方式進行。

首先考慮數據投毒攻擊。系統遭受這種攻擊的根本原因是沒有考慮到用戶的數據可能是錯誤的,甚至可能遭遇攻擊者破壞。因此,針對這一攻擊的防御措施大部分是在模型進行訓練前仔細檢查數據來源,確保數據的安全性以及完整性。一種常用的防御措施是在用戶進行訓練之前,對數據進行檢測,確定其是否安全。Baracaldo等人[76]使用了一種檢測和過濾有毒數據方法:使用相關訓練集中數據點的起源和轉換的上下文信息來識別有毒數據,從而使在線和定期重新訓練的機器學習應用程序能夠在潛在的對抗環境中使用數據源。這個方法是第一個將來源信息作為過濾算法的一部分來檢測致病攻擊的方法。還提出了該方法的兩種變體:一種適用于部分可信的數據集;另一種適用于完全不可信的數據集。除上述提出的通過提前檢測數據來防御中毒攻擊外,還可以在訓練之前轉換數據使攻擊者無法確定轉換機制來對中毒攻擊進行防御;在模型進行訓練之前使用身份認證機制確保參與者是可信地來對中毒攻擊進行防御等。

其次考慮模型投毒攻擊。在防御模型投毒攻擊時,主要是通過對模型參數進行檢測來達到防御的目的??梢酝ㄟ^限制每個用戶貢獻的數據量、對參與方進行獎懲機制或根據數量使用衰減權重實現等方式實現對模型攻擊的防御。比如,在每一輪更新之后,對參與者上傳的參數進行檢測,當某個參與方提交的參數與其他參與方的參與差異較大時,則認為該參與方這輪上傳的參數是異常的,在后續進行參數聚合時將不會將其考慮在內。Andreina 等人[77]設計了一個針對模型中毒的解決方案,這個方案使用一種現成的方法在每個參與方本地比較更新模型的分類性能與前一個模型的分類性能,丟棄出現意外行為的更新。這個方案通過確保與安全更新聚合的完全兼容,有效地保證了客戶數據的隱私。

3.2.2 防御對抗攻擊

對抗攻擊是攻擊者通過操縱輸入數據來欺騙模型給出假陽性結果。應對該類攻擊最流行的策略是進行對抗訓練,即將真實數據集和對抗樣本結合進行訓練,再對訓練后的模型進行分析與改進。這種類型的訓練可以提高模型的魯棒性和穩定性,適用于多種監督問題[78];另一種應對對抗性攻擊的技術是數據增強技術[79]。在這種情況下,原始數據被隨機改變,以提高模型的泛化能力,這可以用來對抗圖像裁剪、圖像縮放等攻擊。Liang等人[80]在不需要任何攻擊技術的先驗知識這一基礎之上,提出了一種檢測對抗性圖像示例的簡單方法可以直接部署到未經修改的深度神經網絡模型中,能有效地檢測對抗性樣本。Shah 等人[81]研究在聯邦學習環境中使用對抗性訓練的可行性,提出了一種在聯邦環境中執行對抗性訓練的新算法用于提高聯邦對抗性訓練的性能。

3.2.3 防御推理攻擊

通常,使用推理方式成功實現攻擊比實現其他類型的攻擊難度更大。成功實現推理攻擊不僅要求攻擊者能夠成功提取到用戶級別以上的部分,還要求攻擊者具備一定的知識能對提取到的信息進行有效地分析和推理。推理攻擊分為成員推理攻擊與屬性推理攻擊。針對推理攻擊,最常用的防御手段是進行同態加密。當系統使用了同態加密之后,即使攻擊者成功從系統中獲取了信息,也只會獲得密文,而沒有密鑰的攻擊者無法將其解密為明文,即攻擊也無法成功。此外,當攻擊者想要針對全局模型進行攻擊,由于攻擊者一般無法得知系統內部的聚合規則,則使用安全聚合算法也可抵御該攻擊。除了使用上述提到的以及其他常用的如差分隱私和秘密共享等進行防御之外,還有一些專門針對該攻擊的防御措施,例如模型堆疊[69]。文獻[82]提出了一個安全聚合框架,采用多組循環策略來實現高效的模型聚合,并利用附加秘密共享和新穎的編碼技術來注入聚合冗余,以便在保證用戶隱私的同時處理用戶退出,大大提高了實現推理攻擊的難度。

3.2.4 防御服務器漏洞

當服務器出現漏洞時,極易受到攻擊者攻擊。針對此類攻擊,可以使用可信執行環境(trusted execution environment,TEE)來進行防御。TEE 采用硬件隔離的手段來保護服務器,可以有效地防止病毒感染以及其他惡意攻擊。其提供更安全的網絡環境,有效地提高服務器的安全性。TEE實現了獨立執行環境和安全存儲,保證了信息的機密性和完整性。通過利用TEE,Chen 等人[83]將參與方的本地模型訓練和服務器的聚合過程都加載到TEE的飛地中執行,且參與方和聚合服務器間的模型交互也是經由飛地間的安全通道完成。一方面保證本地訓練過程的完整性,避免攻擊者跳過或干擾本地訓練,上傳偽造的模型更新;另一方面防止惡意服務器無視參與方上傳的更新,直接下發惡意模型。

表8 總結了上述相關針對聯邦學習可能遭受到的攻擊所采取針對性防御措施的研究。

表8 針對聯邦學習可能遭受攻擊的防御措施Table 8 Defense measures against potential attacks on federated learning

4 未來研究方向

通過以上研究發現,無論是從提高攻擊效果,還是從增強聯邦學習安全性,都有很大的研究空間。聯邦學習未來可能的研究方向具體可從以下幾個方面入手。

(1)通用攻擊方法:聯邦學習由于數據的樣本量和其特性分為不同的聯邦學習,而無論對于其中的哪一種聯邦學習,都應該致力于研究一種通用的攻擊方法。而目前的攻擊方法使用條件相對苛刻,難以滿足需求。因此,如何設計一個高效且通用的攻擊方法是一個重要的研究方向。

(2)相互適應的防御措施:聯邦學習最初被提出時,假設了攻擊者無法從不可逆的模型信息中推斷隱私信息。但最近的研究發現,許多的研究者通過不同的手段恢復了原始數據。雖然部分攻擊可被多方安全計算成功防御,然而會導致服務器只能收集到密文而無法對數據進行分析,這樣會導致聯邦學習系統難以抵御其他類型攻擊。因此,如何合理地結合多種防御措施是一個重要的研究方向。

(3)數據質量問題:由于原始數據存儲在各參與者處,服務器無法直接訪問數據,因此很難確保數據的完整性、數據標簽的正確性等。并且,聯邦學習的參與方眾多,其數據異構性大,相互之間的異構程度不明確。則當數據量較小時,往往會導致罕見樣本的出現,這就使得模型的訓練和驗證變得更加困難,模型更容易受到攻擊。因此,如何實現對惡意用戶數據的驗證來保證數據的質量是一個重要研究方向。

隨著聯邦學習技術的不斷發展,針對數據隱私的攻擊手段將會越來越豐富,因此需要進一步探索和研究如何加強系統安全性,更加有效地保護數據隱私。

5 結束語

在人工智能技術不斷發展和普及的過程中,人們在享受到技術帶來便利的同時,對于隱私保護的要求也在不斷地提升。聯邦學習應運而生。聯邦學習可以有效解決跨設備之間的數據融合問題。然而,聯邦學習仍存在大量的安全隱患,比如用戶設備的異構性、數據的隱私性等。為此,聯邦學習需要在多環節從多角度考慮數據的安全問題。本文首先從聯邦學習的工作原理、類型及可能存在的安全問題出發,進行闡述;繼而對其中的幾種典型的攻擊手段和防御措施進行了梳理總結;最后對其未來所面臨的問題和研究方向進行了展望。隨著隱私保護的重要性不斷提高,聯邦學習作為新的研究熱點逐漸受到了學術界的廣泛關注,有關聯邦學習的研究有待深入發展,本文工作為相關研究者提供了參考。

猜你喜歡
投毒參與方同態
基于秘密分享的高效隱私保護四方機器學習方案
食物中毒案
關于半模同態的分解*
拉回和推出的若干注記
一種基于LWE的同態加密方案
綠色農房建設伙伴關系模式初探
HES:一種更小公鑰的同態加密算法
涉及多參與方的系統及方法權利要求的撰寫
基于IPD模式的項目參與方利益分配研究
投毒兇手
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合