?

聯邦學習安全與隱私保護研究綜述

2020-07-20 05:14
關鍵詞:參與方投毒聯邦

(華東師范大學上海市高可信計算重點實驗室,上海 200062)

聯邦學習(federated learning,FL)在2016 年由谷歌最先提出[1],用于建立移動終端與服務器之間的共享模型,從而在大規模數據背景下有效地利用這些數據資源,并且保證用戶的隱私安全。但這些分散的數據大多是異構且不均衡的,為此,Jakub 等[2]提出一個實用高效的優化算法來處理數據分布問題。之后,又有大量的研究來進一步優化聯邦學習模型,如文獻[3]提出了兩種方法來減小通信消耗,從而實現更加高效的訓練過程;文獻[4]解決了之前聯邦學習機制中共享模型可能會偏向于某些參與方的問題,保證了參與方間的公平性;文獻[5]提出單樣本/少樣本探索式的學習方法來解決壓縮式聯邦學習中的通信問題。

聯邦學習一經推出,就受到廣泛的關注。各大科技金融龍頭也開始進行開源項目的搭建,如WeBank 開發的FATE、Google 推出的TensorFlow Federated(TFF)、Uber 開源的Horovod等。聯邦學習已經被廣泛應用于無線通信與邊緣計算[6]、智慧金融[7]、智慧醫療[8]、環境保護[9]等領域,未來有望改變新時代的商業模式,深入影響到智能城市的建設。

然而,聯邦學習中仍然存在巨大的安全隱患,比如參與方的安全等級較低,容易遭受惡意攻擊,從而影響到整個模型的安全。本文針對聯邦學習可能產生的安全問題進行分析,著重針對投毒攻擊、對抗攻擊以及隱私泄露這三個方面的安全威脅進行詳細的說明,并有針對性地總結了防御措施,以期對減小聯邦學習的安全性風險、促進其進一步發展與普及有一定幫助。

1 聯邦學習概述

聯邦學習是一種分布式的機器學習方法,即參與方對本地數據進行訓練后將更新的參數上傳至服務器,再由服務器進行聚合得到總體參數的學習方法。與傳統機器學習技術相比,聯邦學習不僅可以提高學習效率,還能解決數據孤島問題,保護本地數據隱私[10]。

1.1 聯邦學習的定義

假設有n 個參與方U1,U2,···Un,每個參與方Ui擁有各自的本地數據集Di,現在需要在總的數據集D=D1∪D2∪···∪Dn中訓練出模型MGlobal。聯邦學習指的是一種分布式的學習方式,即不直接把所有數據整合在一起統一進行訓練得到模型MSum,而是由各個參與方Ui根據服務器傳過來的初始參數wG,各自訓練本地的數據,得到新的參數,再將更新的參數值δi=-wG傳到服務器端,服務器端采取一定的方式進行聚合,得到更新的總體參數

由此經過多次迭代,最終得到總體訓練模型MFed。此外,聯邦學習需要能夠保證模型MFed的效果VFed與模型MSum的效果VSum間的差距足夠小[11],即

其中:ε為任意小的正量值。

1.2 聯邦學習的分類

聯邦學習中各個參與方只需要維護本地的數據集Di。但不同情況下,Di之間用戶和數據特征的差異也不盡相同。如表1 所示,根據數據分布的不同情況,聯邦學習大致分為3 類:橫向聯邦學習、縱向聯邦學習與聯邦遷移學習。

表1 三類聯邦學習的對比

1.2.1 橫向聯邦學習

橫向聯邦學習指的是在不同數據集之間數據特征重疊較多而用戶重疊較少的情況下,按照用戶維度對數據集進行切分,并取出雙方數據特征相同而用戶不完全相同的那部分數據進行訓練。

1.2.2 縱向聯邦學習

縱向聯邦學習指的是在不同數據集之間用戶重疊較多而數據特征重疊較少的情況下,按照數據特征維度對數據集進行切分,并取出雙方針對相同用戶而數據特征不完全相同的那部分數據進行訓練。

1.2.3 聯邦遷移學習

聯邦遷移學習指的是在多個數據集的用戶與數據特征重疊都較少的情況下,不對數據進行切分,而是利用遷移學習[12]來克服數據或標簽不足的情況。

1.3 聯邦學習的優勢

與其他機器學習技術相比,聯邦學習具有多重優勢。

1)用戶隱私保護。聯邦學習數據只存儲在本地,各參與方數據不共享,保證了用戶數據的隱私,滿足了《通用數據保護條例》[13]的要求。

2)適應大規模數據的模型訓練。大規模的訓練數據可以提高訓練模型的質量。采用聯邦學習可以保證訓練出的模型效果無損,同時可以減小對訓練過程中的設備要求,提高模型訓練速度。

3)增強了數據來源的靈活性。在聯邦學習的技術支持下,一些原本因為特定因素無法參與訓練的數據源,可以將數據存放在本地的同時參與總體模型的訓練,更好地提升模型的泛化效果。

2 聯邦學習中的安全問題

盡管聯邦學習的優勢明顯,其出現和發展順應時代的潮流,但在投入應用前應檢測其安全性。近年來,大量研究成果表明,聯邦學習機制中仍然存在安全問題,如投毒攻擊,對抗樣本攻擊以及隱私泄露問題等。本節主要針對這三個安全問題進行詳細說明。

2.1 投毒攻擊

投毒攻擊主要是指在訓練或再訓練過程中,惡意的參與者通過攻擊訓練數據集來操縱機器學習模型的預測[14]。聯邦學習中,攻擊者有兩種方式進行投毒攻擊:數據投毒和模型投毒,如圖1 所示。

圖1 數據投毒與模型投毒

2.1.1 數據投毒

數據投毒是指攻擊者通過對訓練集中的樣本進行污染,如添加錯誤的標簽或有偏差的數據,降低數據的質量,從而影響最后訓練出來的模型,破壞其可用性或完整性。文獻[15]中提出了一種攻擊方式,攻擊者使學習模型的參數值接近他所期望的值,同時使模型輸出對某些測試樣本的錯誤預測。文獻[16]采用混合輔助注入策略,通過注入少量有毒樣本到訓練集就獲得了90%以上的攻擊成功率。文獻[17]中針對支持向量機算法(support vector machines,SVM)產生的優化梯度,預測其目標函數的變化方向,使用梯度上升策略顯著提高了SVM 分類器的錯誤率。為了提高攻擊廣度,文獻[18]提出了一種基于反梯度優化思想的新型投毒算法,能夠針對更廣泛的學習算法中基于梯度的訓練過程,包括神經網絡(neural network,NN)和深度學習(deep learning,DL)體系結構。

2.1.2 模型投毒

模型投毒不同于數據投毒,攻擊者不直接對訓練數據進行操作,而是發送錯誤的參數或損壞的模型來破壞全局聚合期間的學習過程[19],比如控制某些參與方Ui傳給服務器的更新參數δi,從而影響整個學習模型參數的變化方向,減慢模型的收斂速度,甚至破壞整體模型的正確性,嚴重影響模型的性能。文獻[20]只假設了一個惡意代理(參與方),就實現了對整體模型的隱蔽性的攻擊,使得目標模型無法對某類數據正確分類。

2.2 對抗攻擊

對抗攻擊是指惡意構造輸入樣本,導致模型以高置信度輸出錯誤結果。這種通過在原始樣本中添加擾動而產生的輸入樣本稱為對抗樣本[14]。

對抗攻擊首先是由Christian 等[21]提出的,他們發現深度學習的輸入與輸出之間映射的不連續性,通過對圖片進行一個細微的干擾,神經網絡分類器就會完全改變對于這張圖片的預測。文獻[22]進一步研究發現,對抗攻擊不僅能對復雜的深度學習網絡起作用,而且在線性模型這樣簡單的網絡中,對抗攻擊也可以有很好的攻擊效果。之后大量的研究探索出了多種對抗攻擊的攻擊方式,如Least-Likely-Class Iterative Methods[23]、Jacobianbased Saliency Map Attack (JSMA)[24]、DeepFool[25]等。

從攻擊環境來說,對抗攻擊可以分為黑盒攻擊和白盒攻擊。若知道機器學習模型中的參數與內部結構,攻擊者可以把所需的干擾看作一個優化問題計算出來。這種情況下的對抗攻擊屬于白盒攻擊。而另一種常見的情境下,攻擊者不知道任何模型的信息,只能跟模型互動,給模型提供輸入然后觀察它的輸出,這種情形下的對抗攻擊屬于黑盒攻擊。對抗攻擊還可以根據攻擊目的分為目標攻擊和非目標攻擊。根據干擾的強度大小分為無窮范數攻擊、二范數攻擊和零范數攻擊等。

對抗攻擊可以幫助惡意軟件逃避檢測,生成投毒樣本,已經被攻擊者廣泛應用于圖像分類、語義分割、機器識別以及圖結構等多個領域,成為系統破壞者的一個有力攻擊武器。

2.3 隱私泄露

聯邦學習方式允許參與方在本地進行數據訓練,各參與方之間是獨立進行的,其他實體無法直接獲取本地數據,可以保證一定的隱私安全,但這種安全并不是絕對安全,仍存在隱私泄露的風險。比如惡意的參與方可以從共享的參數中推理出其他參與方的敏感信息。

參與方的隱私安全通常易受到兩種攻擊:模型提取攻擊和模型逆向攻擊[14]。通過模型提取攻擊,攻擊者試圖竊取模型的參數和超參數,破壞模型的保密性。比如惡意的參與方可以對共享模型進行預測查詢,然后提取訓練完成的模型。文獻[26]針對BigML 和Amazon 機器學習在線服務進行了攻擊,提取了一個幾乎完全相同的模型,并且證明了同樣的攻擊適用于多種機器學習方法。通過模型逆向攻擊,攻擊者試圖從訓練完成的模型中獲取訓練數據集的統計信息,從而獲取用戶的隱私信息。文獻[27]實現了一個攻擊,可以推斷模型構建過程中所使用的流量類型。模型逆向攻擊推斷出的訓練集的信息,既可以是某個成員是否包含在訓練集中,也可以是訓練集的一些統計特性。根據這兩種訓練集信息,模型逆向攻擊可以進一步分為成員推理攻擊和屬性推理攻擊。這對聯邦學習中的各參與方的隱私造成了嚴重的威脅。

我們通常假設服務器是可信的,然而實際情況中并非如此,若服務器是惡意的(或者是誠實并好奇的),它可以識別更新的參數的來源,甚至進一步通過參與方多次反饋的參數推測參與方的數據集信息,這可能造成參與方的隱私泄露。

3 防御措施

針對聯邦學習面臨的多重安全威脅,本節討論防御上述攻擊的一些最新對策。

3.1 投毒攻擊防御

聯邦學習中的投毒防御主要從數據投毒防御和模型投毒防御兩個方向考慮。

3.1.1 數據投毒防御

針對數據投毒,防御方法應從保護數據的角度出發。一方面,在訓練模型之前應當保證數據來源的真實性與可靠性。另一方面,在使用不能保證安全性的數據之前,應當進行相應的檢測以保證數據完整性不受篡改。

為保證數據源的真實與可靠,在與各參與方進行數據交互之前,可以使用健壯的身份驗證機制,以防止欺騙攻擊或將被攻占的節點中被污染的數據集加入訓練集,從而降低數據的質量。

目前已經有多種防御機制來抵抗數據投毒的攻擊。Nathalie 等[28]使用起源和轉換等上下文信息來檢測訓練集中的有毒樣本點。該檢測方法通過將整個訓練集分為多部分,比較各部分數據訓練出的效果,從而識別出哪一部分的數據表現最為異常,實驗證明該方法能達到較高的檢測率。文獻[29]提出了一種防御機制來對抗回歸中的投毒攻擊,該技術集成了改進的魯棒低秩矩陣逼近和魯棒主成分回歸,提供了強大的性能保證。

3.1.2 模型投毒防御針對模型投毒,假定服務器是可信的,那么防御的重點在于對惡意參與方的識別以及對錯誤更新參數的檢測。惡意參與方也可以用相關的身份管理技術進行防范。對于異常的更新參數,通常有兩種檢測方法[20]。一種是通過準確度檢測。服務器利用參與方Ui返回的參數δi計算wG1′=wG+f(δi),利用其他參與方返回的參數計算wG2′=wG+f(Δ),其中Δ={δj|j=1,2,···,n,j≠i}。然后分別使用wG1′和wG2′作為模型的權重參數,比較兩個模型在驗證集上的準確度。若使用wG1′的模型準確度明顯小于使用wG2′的模型,則推測δi異常。另一種方法是通過直接比較各個參與方提交的更新參數δ1,δ2,···,δn之間的數值統計差異,當某個參與方反饋的更新參數δi與其他參與方的有很大的統計差異時,則推測δi異常。

3.2 對抗攻擊防御

在機器學習領域中,研究了大量對抗攻擊防御機制,這些機制也同樣適用于聯邦學習的對抗防御。

3.2.1 對抗訓練

一個常用的防御手段是進行對抗訓練,即將真實的樣本和對抗樣本一起作為訓練集,來訓練出最后的模型。對抗訓練適用于多種監督問題[30],它可以使得模型在訓練過程中就學習到對抗樣本的特征,提高模型的健壯性。但這樣的模型只能抵抗訓練集中的對抗樣本,不能很好地防范未知的攻擊。

3.2.2 數據增強

數據增強是對抗攻擊的一種擴充。在訓練過程中不可能窮舉所有對抗樣本,但通過對原始數據集中的數據進行隨機化處理可以增強模型的泛化能力。比如在圖像處理中對訓練集中的圖片進行翻轉、旋轉、縮放比例、裁剪、移位以及顏色等處理,而且適度加入噪聲也是一種常用的方法。文獻[31]中對每個原始樣本加入高斯噪聲,生成了10 個噪聲樣本,取得了較好的防御效果。

3.2.3 數據處理

數據處理采取與數據增強不同的方式,數據處理技術是指對樣本進行降噪處理,以減小對抗樣本的干擾。文獻[32]中引入標量量化和平滑空間濾波兩種經典的圖像處理技術來降低噪聲的影響。并且利用圖像熵作為度量指標,實現了對不同類型圖像的自適應降噪。通過比較給定樣本的分類結果及其去噪后的版本,這種降噪處理方法可以有效地檢測和剔除對抗樣本,在F1 度量標準下達到96.39%的準確度。

3.2.4 數據壓縮

數據壓縮是一種特殊的數據處理方法,專門針對圖像訓練過程,即使用壓縮后的圖片進行訓練。文獻[33]中采用PCA 降維壓縮技術防御對抗樣本攻擊,在維度降至50 時取得了最優的防御效果。但這樣的處理方式在降低樣本中噪聲比例的同時,也會減小原始數據信息,所以壓縮圖像同時也會降低正常分類的準確率。

3.2.5 防御蒸餾

防御蒸餾的主要思想是先利用訓練集得到一個模型,然后再通過模型提取,從原來的模型“蒸餾”提純出另外一個模型,從而降低模型的復雜度。文獻[34]對防御蒸餾技術的有效性進行了實證研究,發現防御蒸餾可使在MNIST 數據集上的對抗攻擊成功率從95%降低到0.5%以下,在CIFAR10數據集上也將攻擊成功率降到了5%以下,而且沒有對訓練過程造成過多的干預,保證了模型訓練的效率與質量。

3.2.6 梯度正則化

模型訓練中常使用正則化來防止過擬合,即過度學習樣本特征。若模型過擬合程度越高,其泛化能力越弱,越容易遭受到對抗樣本的攻擊。梯度正則化是指在訓練模型的目標函數上對輸入與輸出的變化進行懲罰,從而限制了輸入的擾動對于預測結果的影響。文獻[35]使用梯度正則化來防御FGSM 和TGSM 生成的對抗樣本,證明了梯度正則化技術能提高對抗攻擊魯棒性,且相比對抗攻擊和防御蒸餾,梯度正則化的防御效果更好。

3.2.7 對抗樣本檢測

對抗樣本檢測也是一種常用的防御措施。若能區分出對抗樣本與正常樣本的不同之處,然后以較高精度檢測出對抗樣本,就能較好地防范對抗攻擊。文獻[36]中發現對抗樣本的局部本征維數(local intrinsic dimensionality,LID)與正常樣本差異較大,LID 根據樣本到它的鄰居樣本間的距離分布,評估其周圍區域的空間填充能力。文章利用LID 對五種攻擊策略進行防御,證明了該技術的檢測率大大超出幾種最先進的檢測措施。

3.2.8 基于GAN 的防御

生成式對抗網絡(generative adversarial net,GAN)是一種機器學習模型,由兩個模塊組成。一個是生成模塊G,利用接收到的隨機噪聲生成虛假樣本,另一個是判別模塊D,用以判斷出某樣本是否為G 生成的虛假樣本。文獻[37]使用基于APEGAN 的生成式對抗網的有效框架來防御對抗攻擊。其中G 被訓練成更改輸入樣本中的微小擾動,而D 被用來分隔真實的樣本與經過G 處理的去除掉擾動的對抗樣本。該技術在MNIST、CIFAR10 和ImageNet 三種數據集上的實驗結果表明,APE-GAN 能夠有效地抵抗對抗攻擊。

3.3 隱私泄露防御

聯邦學習中的隱私保護主要從兩大主體——參與方與服務器的角度進行保證。同時對于訓練完成的模型也要防止模型提取攻擊和模型逆向攻擊。

3.3.1 差分隱私

考慮惡意參與方與誠實服務器的情形。由于任何一個參與方都可以從訓練過程中獲取總體參數,聯邦學習方式易受到差分攻擊[38]。通過分析共享模型,其他誠實的參與方的數據隱私會受到威脅。在這種情況下,常采用差分隱私保護技術。

設有隨機算法M,R為所有可能的輸出構成的集合,若對于任意兩個鄰近數據集D和D′以及R的任意子集S,都有Pr[M(D)∈S]≤eε×Pr[M(D′)∈S],則稱算法M滿足ε-差分隱私。

其中,當 ε越小,算法提供更高等級的隱私保護,但在一定程度上會降低準確性?;谶@個技術,文獻[38]提出了一種針對參與方差分隱私保護的聯邦優化算法——差分隱私隨機梯度下降算法,其目的是在模型訓練階段隱藏參與方的更新參數,從隱私損失和模型性能之間找到平衡。該技術將數據樣本隨機分成小部分,在聚合的過程中加入高斯噪聲,實現差分隱私保護,同時也維持了模型的高性能。文獻[39]結合了聯邦學習的具體情境,切實保護各個參與方的數據集,且通過差分隱私保護技術保證訓練完成的模型不會泄露某一參與方是否參與了數據訓練過程,即一定程度上可以抵抗成員推理攻擊。實驗表明,在參與方足夠多的情況下,該技術能夠以較小的模型性能成本維持客戶級差異隱私。文獻[40]為了提高過于嚴格的本地差分隱私保護的實用性,重新定義了保護機制,既保證了敏感信息安全,又放寬了對數據的限制,并且設計了新的局部最優差異隱私機制來解決所有隱私級別的統計學習問題,適用于大型分布式模型擬合和聯邦學習系統。

3.3.2 秘密共享機制

考慮誠實參與方與惡意服務器(或者誠實并好奇服務器)的情形。服務器在聯邦學習中扮演重要角色,它可以獲取各個明確身份的參與方反饋的參數,并從中推測出參與方的敏感信息,這將對參與方隱私造成威脅,可以使用秘密共享機制來進行防范。

(n,t)秘密共享是指將一個秘密信息s分成n個碎片,交由n個 不同的參與方保管,使得其中任意t個或t個以上的碎片可以重構出秘密s,而當碎片數量少于t時無法獲得任何關于s的有用信息。

文獻[41]基于Shamir 秘密共享設計了一個實用的安全聚合方案,該方案可以在誠實并好奇的服務器背景下保證更新參數安全性,即保證各參與方數據的隱私,同時控制協議的復雜度,使之能在大規模數據集中保持較低的計算和通信開銷,適用于聯邦學習中的協同訓練。但這個協議無法防止共謀攻擊。

3.3.3 同態加密

考慮誠實參與方與惡意服務器(或者誠實并好奇服務器)的情形。采用加密的數據傳輸方式來保障隱私安全是有效防御措施。同態加密技術是一種常用的防御手段。

同態加密是一種有效的加密方式,它的特性在于不需要直接訪問明文,對密文的操作結果解密后等于明文的操作結果。以加性同態加密為例,即有

其中,加密方案采用公鑰加法同態加密,(pk,sk)是一對公私鑰,°表示密文上某種特定的運算,如乘法或加法運算。

利用同態密碼,服務器就對密文參數進行聚合而無法獲取用戶的隱私參數。比如文獻[42]基于誠實并好奇的云服務器提出了一個新的深度學習系統,利用同態加密方案實現了梯度在誠實并好奇服務器上的聚合,并且保證了系統達到與所有參與方聯合數據集上訓練的相應深度學習系統相同的精度。文獻[43]開發了CryptoDL,用近似多項式代替原激活函數訓練卷積神經網絡,實驗證明該技術在MNIST 數據集的準確率高達到99.52%,每小時可以做出接近164 000 個預測,提供了一個高效準確的隱私保護方案。

3.3.4 混合防御機制

考慮惡意參與方與惡意服務器(或者誠實并好奇服務器)的情形。為了同時對參與方和服務器進行防范,可以將多種防御技術結合起來。文獻[44]將差分隱私保護技術與同態密碼相結合,參與方利用初始參數計算出 δi后,先加入噪聲使之滿足ε-差分隱私,然后再使用輕量級的同態加密方案進行加密,這樣可以防范服務器與惡意參與者的勾結問題。

綜上,對聯邦學習中的三類安全威脅及其防御措施進行總結,見表2。

表2 聯邦學習中三類安全威脅及其防御措施小結

4 總結與展望

隨著人工智能技術的發展與普及,人們感受技術帶來的便利的同時,也逐漸提高了對隱私保護的需求,尤其近期歐盟頒布的《通用數據保護條例》,更加凸顯出聯邦學習的優勢,促進聯邦學習的進一步發展。

但目前聯邦學習中仍存在較多的安全問題,本文主要針對投毒攻擊、對抗攻擊及隱私泄露這三類安全問題,總結了針對性的安全與隱私保護防御措施。然而這不是一項簡單的任務,現有的防御方法只能在一定的條件下,在一定的范圍內提高模型的魯棒性。在聯邦學習的安全性問題中,還有一些問題仍待解決。

1)數據質量問題。由于數據集存儲在本地,服務器無法接觸到數據源,難以保證數據的標簽是否正確,數據是否發生了混淆等問題。而且各參與方之間數據的異構程度也無從得知,若數據規模不夠大,很容易因為罕見樣本過多而導致對抗攻擊頻繁,對抗防御難度增大??梢钥紤]使用零知識證明和承諾協議來實現對惡意用戶數據的可驗證,從而保證數據質量。

2)通信效率問題。當前的聯邦學習大多都是同步的,一次迭代中,服務器要與眾多的參與方進行數據交互。如果要采用多種防御手段保證模型與敏感信息的安全,勢必會加重服務器的通信負擔,甚至會造成拒絕服務攻擊或單點失敗。若考慮多個服務器,則服務器之間的交互安全也是一個值得深入探索的課題。因此,如何實現高效的隱私保護,在不得不使用公鑰密碼來保護用戶隱私的條件下,減少其使用的次數[45-46]。

3)模型可解釋性問題。聯邦學習方式進一步加大了模型的復雜度,缺乏可解釋性可能會導致聯邦學習應用過程中的潛在威脅??山忉屝允侵赶蛉祟惤忉尰蛞猿尸F可理解的術語的能力[47],提高聯邦學習模型的可解釋性和透明性有利于消除內在的安全隱患,進一步提高模型的可靠性和安全性。由于聯邦學習的內在性質,未來可能需要著重研究事后可解釋性方法。

聯邦學習是一個非常有前景的研究領域,已經吸引了眾多學者進行相關領域的研究,也取得了一系列重要研究成果。但聯邦學習技術的發展還處于初級階段,仍然存在許多問題尚待解決。在未來工作中,要繼續研究聯邦學習領域的安全問題,加快研究和發展相關安全與隱私保護技術,促進聯邦學習的進一步發展。

猜你喜歡
參與方投毒聯邦
聯邦學習在金融數據安全領域的研究與應用
食物中毒案
一“炮”而紅 音聯邦SVSound 2000 Pro品鑒會完滿舉行
信托在供應鏈金融中的運用研究
基于SNA視角的PPP項目參與方行為風險研究
BT模式研究
綠色農房建設伙伴關系模式初探
因妒成恨“投毒” 女博士悲產畸子
投毒兇手
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合