摘 要:聯(lián)邦學習分布式的訓練結構易受到投毒攻擊的威脅,現(xiàn)有方法主要針對中央服務器設計安全聚合算法以防御投毒攻擊,但要求中央服務器可信且中毒參與方數(shù)量需低于正常參與方。為了解決上述問題,提出了一種基于聯(lián)邦學習參與方的投毒攻擊防御方法,將防御策略的執(zhí)行轉移到聯(lián)邦學習的參與方。首先,每個參與方獨立構造差異損失函數(shù),通過計算全局模型與本地模型的輸出并進行誤差分析,得到差異損失權重與差異損失量;其次,依據(jù)本地訓練的損失函數(shù)與差異損失函數(shù)進行自適應訓練;最終,依據(jù)本地模型與全局模型的性能分析進行模型選取,防止中毒嚴重的全局模型干擾正常參與方。在MNIST與FashionMNIST等數(shù)據(jù)集上的實驗表明,基于該算法的聯(lián)邦學習訓練準確率優(yōu)于DnC等投毒攻擊防御方法,在中毒參與方比例超過一半時,正常參與方仍能夠實現(xiàn)對投毒攻擊的防御。
關鍵詞: 聯(lián)邦學習;投毒攻擊防御;訓練權重;魯棒性
中圖分類號: TP309.2文獻標志碼:A 文章編號: 1001-3695(2024)04-031-1171-06
doi: 10.19734/j.issn.1001-3695.2023.07.0340
Defense method on poisoning attack based on clients in federated learning
Liu Jinquan Zhang Zheng Chen Zidong2, Cao Sheng2
Abstract:The distributed training structure of federated learning is vulnerable to poisoning attacks. Existing methods mainly design secure aggregation algorithms for central servers to defend against poisoning attacks, but require the central server to be trusted and the number of poisoned participants to be lower than normal participants. To address the above issues, this paper proposed a poison attack defense method based on federated learning participants, which transfered the execution of defense strategies to the participants of federated learning. Firstly, each participant independently constructed a differential loss function, calculated the output of the global and local models,and conducted error analysis to obtain the weight and amount of differential loss. Secondly, it performed adaptive training based on the local trained loss function and differential loss function. Finally, this approach selected models based on the performance analysis of local and global models to prevent severely poisoned global models from interfering with normal clients. Experiments on datasets such as MNIST and FashionMNIST show that the federated learning training accuracy based on this algorithm is superior to poison attack defense methods such as DnC. Even when the proportion of poisoned participants exceeds half, normal participants can still achieve defense against poison attacks.
Key words:federated learning; poisoning attack defense; training weight; robustness
0 引言
面對信息社會產(chǎn)生的數(shù)據(jù)孤島,谷歌在2017年首次提出聯(lián)邦學習技術[1~3],期望平衡數(shù)據(jù)價值與隱私保護的矛盾。聯(lián)邦學習允許相互不信任的參與方在不共享其本地數(shù)據(jù)的情況下,協(xié)作訓練統(tǒng)一的通用模型或各自的個性化模型。在聚合操作中,參與方被服務器隨機選取,并使用本地數(shù)據(jù)計算模型更新梯度信息,并與其他參與方共享信息,服務器執(zhí)行聚合算法,并使用聚合梯度更新全局模型。對于聯(lián)邦學習算法,如FedAvg[1]和FedProx[4],都在分布式的參與方上計算模型。由于參與方的安全防御能力存在差異,使得聯(lián)邦學習容易受到投毒攻擊的威脅[5, 6]。 攻擊方控制或毒害部分聯(lián)邦學習參與方,稱為中毒參與方,并將其與中央服務器共享惡意更新,以降低全局模型的性能。在聯(lián)邦學習中,投毒攻擊方的攻擊方式主要有兩類:a)破壞訓練數(shù)據(jù)集,防止模型收斂或往指定的方向收斂,稱其為數(shù)據(jù)投毒攻擊[7];b)構建惡意模型或惡意梯度參與全局模型聚合,干擾全局模型的生成, 稱其為模型投毒攻擊[8]。由于數(shù)據(jù)存儲和模型訓練過程在參與方本地進行, 所以上述攻擊都是針對參與方實施的攻擊。
由于中央服務器聚合參與方提交的模型更新,是聯(lián)邦學習的樞紐,目前聯(lián)邦學習投毒攻擊防御方法研究集中在基于中央服務器設計拜占庭魯棒聚合算法,識別并剔除可能的中毒參與方。這些防御方法可分為三類:a)利用服務器設計聚類算法或權重函數(shù)[9~12],剔除或降低可能的中毒參與方,即與多數(shù)參與方上傳的更新不一致的參與方;b)分析惡意更新與正常更新的特點,通過先驗知識建立假設,服務器將滿足此假設的參與方都視為惡意參與方,如FoolsGold算法[13]依賴于惡意更新的隨機性低于正常更新的假設,實現(xiàn)了中毒參與方數(shù)據(jù)量超過一半的投毒攻擊防御;c)服務器共享部分測試數(shù)據(jù)集,利用測試數(shù)據(jù)集識別上傳的惡意更新,但此方法需要向服務器共享部分真實數(shù)據(jù)集,數(shù)據(jù)的隱私性受到影響。上述三類方法雖然對投毒攻擊實現(xiàn)了一定程度的防御,但由于服務器缺少真實數(shù)據(jù)集,難以對參與方提交的模型更新進行精準的判斷,都不能解決中毒參與方數(shù)量高于正常參與方情況下的投毒攻擊防御問題。針對上述問題,不同于之前中央服務器設計防御算法,本文提出了一種基于聯(lián)邦學習參與方的投毒攻擊防御方法。本文算法不依賴于中心服務器進行防御,同時可以保證正常參與方在任意比例中毒參與方環(huán)境中的魯棒性。該方法在FedAvg算法的框架下,將參與方視為防御策略的獨立執(zhí)行方,通過參與方額外在本地訓練中利用差異計算函數(shù)(如均方誤差等)計算全局模型參數(shù)與參與方本地模型的差異損失權重,并在訓練損失函數(shù)中嵌入了差異損失權重與差異損失函數(shù),利用全局模型和參與方本地模型的差異進行自適應的個性化訓練。在聯(lián)邦學習結束時,對全局模型以及本地模型進行評估,獲取最優(yōu)的模型。由于參與方為策略的獨立執(zhí)行主體,所以當服務器被攻擊或任意比例的參與方被攻擊時,未中毒的正常參與方仍可以保證本地模型的魯棒性。
1 相關工作
1.1 聯(lián)邦學習
聯(lián)邦學習參與方代表算力的提供方,通常由個人終端或不同企業(yè)與部門組成,負責保存用戶或企業(yè)的私有數(shù)據(jù)。參與方進行本地訓練并上傳參數(shù)給聚合服務器,并由聚合服務器對所有參與方進行聚合并同步,開始一輪新的訓練。這種聯(lián)合協(xié)作訓練的方式可以在保證模型性能的前提下,避免個人數(shù)據(jù)的泄露,并有效解決數(shù)據(jù)孤島的問題。聯(lián)邦學習常用框架有參與方-服務器架構[14]和對等網(wǎng)絡架構[15]兩種。在參與方-服務器架構中,各個數(shù)據(jù)擁有方利用本地數(shù)據(jù)和算力,根據(jù)其特定條件和規(guī)則,在本地進行模型訓練,然后將訓練得到的信息通過差分隱私或同態(tài)加密后,由聚合服務器進行計算。在對等網(wǎng)絡架構中,不借助第三方,而是通過參與方的直接通信,降低了由服務器受到攻擊所帶來的風險,但是需要更復雜的加解密操作來實現(xiàn)信息共享。目前研究熱點更多集中在參與方-服務器框架,使用最為廣泛的FedAvg算法架構如圖1所示。
在非獨立同分布的本地數(shù)據(jù)集下,參與方共同優(yōu)化的全局模型如下:
其中:v表示中心下采樣梯度的投影。利用 s i移除具有最高分數(shù)的部分梯度,得到良性梯度集并進行梯度聚合,實現(xiàn)投毒攻擊的防御。但上述算法都有惡意參與方必須小于正常參與方數(shù)量的限制。除本文提出的參與方防御算法外,目前突破限制的方法可分為兩類[22,23]:a)利用正常更新的特點進行分析,如通過余弦相似度計算相似度分數(shù)選取參與方進行聚合等,或依據(jù)惡意更新的多樣性低于正常更新的特點[13],取消對惡意方數(shù)量的限制,根據(jù)歷史更新與參與方的最大余弦相似度調整權重并計算聚合結果;b)需要額外引入驗證數(shù)據(jù)集,需要聚合服務器擁有部分或相似的正常樣本,利用準確率進行判斷。但通過聚合服務器或參與方節(jié)點評估進行交叉驗證[24],數(shù)據(jù)集隱私保護以及協(xié)調聚合服務器計算存在困難。
2 模型假設
2.1 威脅模型
對投毒攻擊方的能力做了三點假設:a)攻擊方可以秘密修改參與方的訓練數(shù)據(jù)集;b)攻擊方可以對任意數(shù)量的參與方進行投毒攻擊;c)攻擊方可以對參與方發(fā)送服務器的模型參數(shù)信息進行修改。
2.2 防御目標從保真性、魯棒性兩個方面來評估本文算法。
a)保真性。由于全局模型來自于本地模型的聚合,所以不存在投毒攻擊本文算法相比于FedAvg算法具有接近的性能。
b)魯棒性。在存在投毒攻擊的環(huán)境中,隨著投毒方比例的增加,本地模型逐步降低對全局模型的學習權重,從而本文算法能夠降低投毒數(shù)據(jù)對參與方的影響。
2.3 防御方能力
每個參與方都為防御方,防御方需要降低投毒攻擊方對本地模型的影響。這里提出四點假設:a)服務器無法訪問參與方本地訓練數(shù)據(jù)集;b)在每輪迭代中,服務器可以獲取到每個參與方的本地模型;c)每輪迭代中,防御方不可知自己是否被成功投毒攻擊;d)參與方之間的樣本獨立同分布。
3 研究方法
本文改進了參與方進行聯(lián)邦訓練的方法。中毒參與方與正常參與方完成聯(lián)邦訓練后將參數(shù)傳遞給服務器進行聚合。參與方通過本地模型與全局模型的相似度來決定對全局模型的相信程度,從而判斷全局模型被投毒攻擊的嚴重程度。
3.1 基于參與方的投毒攻擊防御算法框架本文算法的訓練方式包括聚合(平均收集的模型參數(shù)以獲取全局模型)、加權(參與方計算模型的差異度構建差異損失權重)、訓練(通過均方誤差構建本地損失與差異損失并進行協(xié)同優(yōu)化,更新本地模型參數(shù))和模型選取(測試性能,選取目標模型,并反饋給服務器)四個部分。圖2描述了本文聚合算法的具體流程,其中M代表本地模型參數(shù),GM表示全局模型參數(shù)。
服務器僅對參與方模型進行平均,參與方首先基于梯度下降算法對本地數(shù)據(jù)集訓練,生成該輪迭代需要貢獻的本地模型參數(shù)。服務器對各個參與方的模型參數(shù)使用聯(lián)邦平均算法進行簡單聚合后,下傳給各參與方。定義本地模型訓練的損失函數(shù)由兩個部分的加權平均構成,這兩個部分為模型訓練正常樣本產(chǎn)生的損失以及本地模型與全局模型的距離構成。其中,后一部分損失的權重由本地模型與全局模型的輸出決定。
a)聚合。在防御方能力①與②的假設下,每一輪全局更新中,參與方僅上傳自己的本地模型,而服務器的功能為構建全局模型,使得全局模型充分聚合多個參與方模型的信息。由于攻擊方能力的假設③使得服務器不可信賴,所以無法使用服務器進行投毒模型與正常模型的判斷。對于全局模型的聚合,本文參考FedAvg聚合算法,不存在投毒攻擊時,本地模型可以從正確的全局模型中學習,滿足了防御目標①的保真性。
b)加權??紤]投毒攻擊的隱秘性,參與方難以對全局模型是否受到投毒攻擊進行校驗,因此參與方依賴本身的信息對全局模型進行評估,并得到全局模型的差異損失權重,即信賴程度。為了衡量全局模型與參與方模型差異在損失函數(shù)中所占的權重,本文構建了差異損失函數(shù)權重,定義為
其中:GM k-1表示第k-1輪聚合后的全局模型;Mki表示第i個參與方在第k輪聚合中的參與方模型。相較于對模型輸出直接求差異,通過L2范式對全局模型與參與方模型的參數(shù)向量求差異更能直接衡量兩個模型的差異量。由式(4)可知,參與方模型的參數(shù)向量和全局模型的參數(shù)向量的差異量,與差異損失權重αi呈負相關,當差異量減少時,權重則相應增加。通過控制差異損失權重,在本地模型與全局模型差異較大時,降低參與方對全局模型的學習率,并在訓練完成后配合模型選取,實現(xiàn)防御目標中②的魯棒性。
c)訓練。在為差異損失分配權重后,構建損失函數(shù)開始訓練。損失函數(shù)分為本地損失函數(shù)F1與聯(lián)邦差異損失函數(shù)F2兩個部分。其中本地損失函數(shù)計算本地模型輸出與真實標簽的差異,而聯(lián)邦差異損失函數(shù)則衡量本地模型輸出與全局模型輸出的差異。總的損失函數(shù)為
F1函數(shù)可通過均方誤差或交叉熵的方式計算參與方模型M k的輸出,并與真實標簽yi進行對比,計算得到參與方模型在xi樣本中產(chǎn)生的損失。F2函數(shù)同理,采用模型輸出差異的對比來估計參與方模型Mk與全局模型GMk的差異,并配合差異損失權重,實現(xiàn)自適應的訓練。在參與方最信賴參與方模型的基礎上,如果偏差值過大,則差異權重損失會相應降低,即降低對全局模型的差異損失函數(shù)的比重。
d)模型選取。在上述多次聯(lián)邦訓練后,產(chǎn)生了由多數(shù)參與方支持的全局模型與少數(shù)參與方本地訓練的個性化模型。由于防御方能力③的假設,部分被投毒的參與方可能訓練了投毒模型。為了更好地讓全局參與方的收益達到最優(yōu),需要利用測試集對全局模型與參與方模型進行測試,計算其在測試集上的準確率。模型選取的公式如下:
其中:D為測試數(shù)據(jù)集;x、y為測試樣本;M為模型參數(shù)。通過求得最優(yōu)的模型參數(shù)M,使得模型在測試集上的累計損失達到最小,從而得到最終模型。
3.2 基于參與方的投毒攻擊防御算法實現(xiàn)
算法1、2分別介紹了聚合服務器與參與方的訓練算法。其中,假設訓練服務器不可信,所以需要對上傳的梯度添加噪聲處理,防止信息泄露。算法1通過對參與方模型參數(shù)的平均來聚合生成全局模型。算法2中參與方根據(jù)本地模型與全局模型的歐氏距離來計算參與方對全局模型的置信值,并將置信值映射在[0,1]。同時優(yōu)化損失函數(shù),將損失函數(shù)考慮為本地損失與全局模型差異的結合,利用置信值與差異損失可以從全局模型中學習到一定比例的信息。
算法1 中心服務器聚合算法
輸入:參與方數(shù)量n;目標迭代次數(shù)m;參與方發(fā)送的參數(shù)M1,M2,…,Mn。
輸出:聚合之后的參數(shù)GM。
a) i=1;//初始化當前聚合次數(shù)
b) M=receive();//接收參與方得到的參數(shù)
c) GM=1/n×(sum(M));//對參數(shù)進行求和并平均
d) if igt;m
e)return GM, 1;//達到停止條件,停止聚合
f) end if
g) i=i+1;
h) return GM, true;
4 算法分析
目前針對聯(lián)邦學習的投毒攻擊防御方法主要集中在設計安全的服務器聚合算法[9],但是上述方法需假設服務器可信,參與方也無須參與投毒攻擊的防御過程。本文算法旨在將參與方加入投毒攻擊的防御過程,在假設自身數(shù)據(jù)可信的情況下,推測全局模型受到毒害的程度,從而確定學習全局模型的權重。本文從以下三種情況對聯(lián)邦訓練中正常參與方與中毒參與方的不同比例的情況進行分析。
a)不存在中毒參與方。正常參與方:本地模型與全局模型差異較小,分配權重系數(shù)較大,實現(xiàn)個性化聯(lián)邦學習訓練。
b)中毒參與方數(shù)量小于正常參與方數(shù)量。
(a)正常參與方:由于正常參與方數(shù)量較多,通過聯(lián)邦平均聚合后,全局模型參數(shù)更接近于正常參與方的模型。全局模型與正常參與方參數(shù)差異較小,本地模型對全局模型的差異損失權重較大,從而本地模型學習全局模型的參數(shù)。
(b)中毒參與方:當投毒模型參數(shù)與全局模型參數(shù)之間存在顯著差異時,參與方主觀認為全局模型受到投毒攻擊,并相應地降低本地模型對全局模型的差異損失權重,更加信任本地模型。 在聯(lián)邦學習完成后,參與方會通過比較全局模型和本地模型在測試集上的準確率來檢測是否存在本地數(shù)據(jù)被投毒,并在發(fā)現(xiàn)本地數(shù)據(jù)存在投毒時,選擇將本地模型替換為全局模型。
c)中毒參與方數(shù)量大于正常參與方數(shù)量。
(a)正常參與方:在中毒參與方數(shù)量大于正常參與方時,通過聯(lián)邦平均聚合后,全局模型參數(shù)更接近于中毒參與方的模型,所以性能較差。在經(jīng)過參數(shù)距離計算函數(shù)(如L2范式等)對全局模型與本地模型的參數(shù)距離進行計算后,得到了較小的差異損失權重。正常參與方會認為全局模型被投毒攻擊,從而更傾向于減少對全局模型參數(shù)的學習。
在聯(lián)邦訓練完成后進行模型選擇,由于本地模型只對全局模型的參數(shù)學習了少量信息,所以本地模型在測試集上的準確率遠遠優(yōu)于全局模型。最終在模型選取步驟,選取得到受投毒攻擊影響微弱的本地模型。所以,即使在只有一個正常參與方的極端情況下,正常參與方也能幾乎不被投毒攻擊影響。(b)中毒參與方:由于投毒模型參數(shù)與全局模型之間差異較小,經(jīng)過參數(shù)計算函數(shù)進行計算后,會得到較高的差異損失權重,本地模型可學習到更多的全局模型信息。導致最終全局模型與本地模型在測試集的結果都較差,中毒參與方最終只能訓練得到被投毒攻擊的模型。綜上所述,假設在聯(lián)邦學習中存在任意數(shù)量的中毒參與方,也幾乎無法對正常參與方造成影響。由參與方參與到投毒攻擊防御中,弱化了服務器在投毒攻擊防御中的作用,加強了聯(lián)邦學習算法的安全性。
5 實驗與分析實驗評估了本文算法的保真性和魯棒性。通過與其他幾種常見聚合算法(FedAvg、Krum、Multi-Krum和DnC)進行對比,證明了本文算法在真實聯(lián)邦計算環(huán)境中的可行性。
5.1 實驗設置
5.1.1 數(shù)據(jù)集
使用MNIST和FashionMNIST兩個計算機視覺領域的數(shù)據(jù)集。對于每個數(shù)據(jù)集,以均等的概率分發(fā)給各個參與方,以模擬真實聯(lián)邦學習中的各個系統(tǒng)。a)MNIST數(shù)據(jù)集。MNIST數(shù)據(jù)集是一個經(jīng)典的手寫數(shù)字圖像數(shù)據(jù)集,由LeCun等人創(chuàng)建。它包含了60 000個訓練圖像和10 000個測試圖像,每個圖像都是28×28像素大小的灰度圖像,用于機器學習中的圖像分類任務。該數(shù)據(jù)集已經(jīng)成為了機器學習和計算機視覺領域中使用最廣泛的數(shù)據(jù)集之一。在實驗中,MNIST數(shù)據(jù)樣本隨機分發(fā)給各個參與方。
b)FashionMNIST數(shù)據(jù)集。不同于MNIST手寫數(shù)據(jù)集,F(xiàn)ashion-MNIST數(shù)據(jù)集包含了10個類別的圖像,分別是T恤、牛仔褲、套衫、裙子、外套、涼鞋、襯衫、運動鞋、包、短靴。與MNIST相同,其圖像是一個28×28的像素數(shù)組,每個像素的值為0~255的8 bit無符號整數(shù)。
5.1.2 投毒攻擊方式
使用符號翻轉攻擊進行模型投毒,使用黑盒邊緣攻擊進行數(shù)據(jù)投毒,并分別對40%的參與方以及60%的參與方進行毒害。
a)符號翻轉攻擊。
在符號翻轉攻擊中,參與方i正常訓練出本地模型wi,然后將其參數(shù)翻轉后提交給服務器,即提交-wi給服務器。在Krum算法中,參與方提交模型訓練梯度Δwi給服務器,在符號翻轉攻擊中,被攻擊的參與方提交-Δwi給服務器。
b)黑盒邊緣攻擊。
在黑盒邊緣攻擊中,修改參與方的本地訓練數(shù)據(jù),而不是直接竄改模型參數(shù)。本文將手寫圖像的標簽進行標簽翻轉,將所有標簽的值依次后移,如將標簽“7”改為“8”以制作毒數(shù)據(jù)。攻擊者在混有干凈數(shù)據(jù)和中毒數(shù)據(jù)的數(shù)據(jù)集中訓練出毒模型。對于黑盒設置,將20%的干凈數(shù)據(jù)和80%的中毒數(shù)據(jù)混合在一起作為中毒參與方的數(shù)據(jù)集。
5.1.3 評估指標
對于FedAvg、Krum、Multi-Krum和DnC算法,使用全局模型的測試準確率來衡量算法性能。對于本文算法,在中毒參與方少于一半時,采用參與方平均準確率來衡量,但在中毒參與方超過一半時,采用未中毒參與方的平均準確率來衡量算法性能。除此之外,由于本文算法具有檢測并抵御中毒方多于正常方的優(yōu)點,能否獲取有效的模型也是本文的測試指標。在投毒方少于攻擊方的測試中, 全局模型測試準確率是主要指標,準確率越高,說明模型效果越好。在投毒方數(shù)量多于正常參與方的測試中,正常參與方能否訓練出合格模型為主要評估方式。
5.1.4 系統(tǒng)設置
實驗設置10個參與方,每輪選取所有參與方進行全局模型更新。對于Multi-Krum算法,每輪隨機選取4個參與方進行更新。各算法在實驗中使用相同的模型,并隨機初始化模型參數(shù)。在符號翻轉和黑盒邊緣攻擊中,全局模型均更新20次。
5.1.5 對比方法
將本文方法與四種方法進行對比實驗。
a)FedAvg。一種簡單的聚合聯(lián)邦學習參與方參數(shù)的方法,不對投毒攻擊行為進行主動防御,用于對比觀察本文算法在不同環(huán)境中,防護策略帶來的效益。b)Krum。一種基于歐氏距離的投毒攻擊防御經(jīng)典算法,Kum在若干本地梯度中選擇一個與其余梯度相似度最高的梯度作為全局梯度,從而去除惡意梯度。該方法用于對比在不同投毒攻擊比例下的防御效果。c)Multi-Krum。Krum算法的改進算法,求相似度最高的若干梯度,并將這些梯度的平均作為全局梯度。該方法用于對比在不同投毒攻擊比例下的防御效果。
d)DnC。一種高魯棒性的投毒攻擊防御方法。通過選取部分維度的梯度向量,并計算其均值與奇異特征向量,獲取到本地梯度的離群值,并剔除離群值較高的梯度。該方法用于對比在不同投毒攻擊比例下的防御效果。
5.2 實驗結果
5.2.1 保真性
如圖3、4所示,在沒有攻擊的情況下,本文算法的全局模型準確率和FedAvg、Krum、Multi-Krum、DnC算法的基本一致, 均能取得較好的訓練結果。
由圖3、4可知,在MNIST與Fashion- MNIST數(shù)據(jù)集上,對于圖中所有聯(lián)邦學習算法,其訓練的準確率上升趨勢幾乎一致,最終達到的模型準確率也幾乎一致。對比本文算法與FedAvg算法的曲線,可以發(fā)現(xiàn)本文算法相較于其他基準算法的最終性能損失較低,在沒有投毒攻擊的環(huán)境更接近于FedAvg算法。此外,與FedAvg算法相比,最終的訓練準確率均出現(xiàn)了少量降低,這是因為無論是Multi-Krum算法或DnC算法等對部分梯度進行剔除,還是本文算法是對全局模型與本地模型的對比,都不會接聚合惡意的梯度或者惡意的全局模型。由于剔除了部分正常的梯度,使得聚合的梯度多樣性減少。在兩個不同數(shù)據(jù)集上的測試結果表明,本文算法相較于其他基準算法具有更高的保真性。
5.2.2 魯棒性
為了進一步驗證本文算法在魯棒性方面的優(yōu)勢,對中毒參與方的比例進行了控制,并使用符號翻轉攻擊、黑盒邊緣攻擊方式進行了實驗,以驗證本文算法在應對各種投毒攻擊情況下的防御效果。在無攻擊環(huán)境與中毒參與方比例為40%的投毒攻擊環(huán)境中,記錄每種算法最終訓練完成的模型在統(tǒng)一的測試集上的準確率。但在中毒參與方比例超過60%的符號翻轉攻擊以及黑盒邊緣攻擊實驗中,由于本文算法會產(chǎn)生多個模型,所以只使用正常參與方模型的平均準確率作為對比指標,而其余對比算法因為只產(chǎn)生一個全局模型,所以使用全局模型在測試集上的準確率作為對比指標。
表1和2的數(shù)據(jù)顯示,Krum、Multi-Krum以及DnC算法雖然在中毒參與方比例為40%時起到了一定的防御,但都在超過中毒參與方比例達到60%后,失去了抵御攻擊的能力。這與上述算法更相信于多數(shù)參與方有關。而FedAvg算法因為僅進行模型平均,對抵抗屬于收斂性攻擊的符號翻轉攻擊效果較差,反而對屬于后門攻擊的黑盒邊緣攻擊有一定的抵御能力,這是因為黑盒邊緣攻擊對模型的參數(shù)改動較少。
對于符號翻轉攻擊與黑盒邊緣攻擊,不論是在MNIST還是FashionMNIST中,在超過50%的參與方比例下,只有本文的聚合算法可以防御這兩種攻擊,使得模型的準確率與無攻擊情況下的差異較小。在中毒參與方比例為40%時,本文算法雖然與Krum、Multi-Krum、DnC算法的準確率在MNIST數(shù)據(jù)集相比,降低了2.56%、3.6%與4.72%,在FashionMNIST數(shù)據(jù)集上降低了1.51%、1.81%與2.99%。但在中毒參與方比例超過50%時,Krum以及Multi-Krum算法防御失效后,本文算法中的正常參與方仍可以進行防御,且在MNIST數(shù)據(jù)集上的精度仍超過了90%。實驗表明,在投毒參與方比例超過一半時,對比方法幾乎全部失效,僅本文方法實現(xiàn)了正常參與方對投毒攻擊的防御,證明了本文算法更優(yōu)的魯棒性。
5.2.3 參與方模型性能對比本文算法會在每個參與方產(chǎn)生一個本地模型,為了更好地評估本文算法產(chǎn)生的不同本地模型在測試集上的表現(xiàn),分別選取部分參與方在測試集上的準確率進行詳細對比分析。在邊緣黑盒攻擊下,選取Krum、Multi-Krum、DnC以及本文算法在不同參與方上的準確率進行分析。
由圖5可知,各參與方的模型在測試集上的準確率相差較小,對投毒攻擊的防御效果近似。同時可以觀察到,在client0~client4中,本文算法由于沒有直接剔除疑似的惡意參與方,相較于其他基準算法,準確率存在略微降低。此外,由于DnC算法基于奇異值分解的方式,在選取的五個客戶端中的防御效果最好。如圖6所示,為了更進一步地測試攻擊方比例在60%,即超過一半比例下,各個防御算法的效果,進行了對比實驗。在投毒攻擊方比例為60%時,除了本文算法在正常參與方上訓練的模型,其余防御算法的模型精度出現(xiàn)了嚴重下降。這是由于Krum、Multi-Krum、DnC算法都利用相似性剔除少量參與方的共享,所以本文算法性能較其余對比方法具有更高的魯棒性。
在FashionMNIST數(shù)據(jù)集的測試結果如圖7和8所示。
由圖7發(fā)現(xiàn),對于FashionMNIST數(shù)據(jù)集,實驗結果與MNIST數(shù)據(jù)集上的結果近似。在中毒參與方比例為40%時,Krum、Multi-Krum、DnC算法與本文算法在每個參與方模型的準確率上相差不大,也都達到了80%以上,實現(xiàn)了較好的防御。如圖8所示,在中毒參與方比例達到60%后,本文采用的三種基準算法的準確率也急速下降,防御方法幾乎完全失效,正常參與方模型也被中毒參與方的模型影響,投毒攻擊效果顯著。而本文方法雖然無法對中毒參與方的模型進行糾正,但可以保護正常參與方,降低正常參與方模型受中毒參與方模型影響的程度,維持正常參與方模型的準確率在80%以上。
在符號翻轉攻擊與黑盒邊緣攻擊的情況下,實驗的對比算法都會因為投毒攻擊而導致全局模型失效。但本文算法在未中毒的參與方本地模型與全局模型差異較大的時候相信本地模型,從而降低來自全局模型的影響,最終未中毒的正常參與方仍然可以獲得一個較高準確度的本地模型。因此,本文算法相較于目前主流的聯(lián)邦學習投毒攻擊防御算法,取得了更好的效果。
6 結束語
在聯(lián)邦學習迅速發(fā)展的背景下,對于分布式訓練的攻擊和防御方法越來越受到重視。然而,在對抗的過程中,由于聯(lián)邦學習的分布式特性,仍然存在著許多攻擊和挑戰(zhàn)。本文算法提高了聯(lián)邦學習投毒攻擊的防御能力,未來的研究工作可以將重心放在服務器與參與方進行防御配合的基礎上,以提高全局模型的魯棒性。
參考文獻:
[1]McMahan B,Moore E,Ramage D,et al. Communication-efficient lear-ning of deep networks from decentralized data [C]//Proc of Artificial Intelligence and Statistics.New York:PMLR Press,2017:1273-1282.
[2]孫爽,李曉會,劉妍,等. 不同場景的聯(lián)邦學習安全與隱私保護研究綜述[J]. 計算機應用研究,202 38 (12): 3527-3534. (Sun Shuang,Li Xiaohui,Liu Yan,et al. A review of research on federated learning security and privacy protection in different scenarios [J].Application Research of Computers ,202 38 (12): 3527-3534.)
[3]Kairouz P,McMahan H B,Avent B,et al. Advances and open problems in federated learning[J].Foundations and Trends in Machine Learning ,202 14 (1-2): 1-210.
[4]Li Tian,Sahu A K,Zaheer M,et al. Federated optimization in heterogeneous networks[J].Proceedings of Machine Learning and Systems ,2020, 2 : 429-450.
[5]Gong Xueluan,Chen Yanjiao,Wang Qian,et al. Backdoor attacks and defenses in federated learning:state-of-the-art,taxonomy,and future directions[J].IEEE Wireless Communications ,2022, 30 (2):114-121.
[6]Shejwalkar V,Houmansadr A,Kairouz P,et al. Back to the drawing board: a critical evaluation of poisoning attacks on production federated learning[C]// Proc of IEEE Symposium on Security and Privacy.Piscataway,NJ: IEEE Press,2022: 1354-1371.
[7]Biggio B,Nelson B,Laskov P. Poisoning attacks against support vector machines[EB/OL]. (2013-12-15)[2023-08-11].https://arxiv.org/abs/1206.6389.
[8]馬鑫迪,李清華,姜奇,等. 面向Non-IID數(shù)據(jù)的拜占庭魯棒聯(lián)邦學習 [J]. 通信學報, 2023, 44 (6): 138-153. (Ma Xindi,Li Qing- hua,Jiang Qi,et al. Byzantine robust federated learning for Non-IID data [J].Journal on Communications ,2023, 44 (6): 138-153.)
[9]劉飚,張方佼,王文鑫,等. 基于矩陣映射的拜占庭魯棒聯(lián)邦學習算法 [J]. 計算機研究與發(fā)展,202 58 (11): 2416-2429. (Liu Biao,Zhang Fangjiao,Wang Wenxin,et al. Byzantine robust federated learning algorithm based on matrix mapping [J].Computer Research and Development ,202 58 (11): 2416-2429.)
[10]Blanchard P,El Mhamdi E M,Guerraoui R,et al. Machine learning with adversaries: Byzantine tolerant gradient descent [C]// Proc of Neural Information Processing Systems. San Diego: NIPS Foundation,2017:119-129.
[11]Lu Yanyang,F(xiàn)an Lei. An efficient and robust aggregation algorithm for learning federated CNN [C]// Proc of the 3rd International Conference on Signal Processing and Machine Learning. New York: ACM Press,2020: 1-7.
[12]Pillutla K,Kakade S M,Harchaoui Z. Robust aggregation for federated learning[J].IEEE Trans on Signal Processing ,2022, 70 :1142-1154.
[13]Fung C,Yoon C J M,Beschastnikh I. The limitations of federated learning in sybil settings [C]// Proc of the 23rd International Symposium on Research in Attacks,Intrusions and Defenses. Berkeley,CA: USENIX Association,2020: 301-316.
[14]Fang Xiuwen,Ye Mang. Robust federated learning with noisy and he-terogeneous clients [C]//Proc of IEEE/CVF Conference on Compu-ter Vision and Pattern Recognition. 2022: 10072-10081.
[15]Wink T,Nochta Z. An approach for peer-to-peer federated learning [C]// Proc of the 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops. Piscataway,NJ: IEEE Press,2021: 150-157.
[16]Zhang Kaiyuan,Tao Guanhong,Xu Qiuling,et al. Flip: a provable defense framework for backdoor mitigation in federated learning[EB/OL]. (2022)[2023-08-11]. https://arxiv.org/abs/2210.12873
[17]Cao Di,Chang Shan,Lin Zhijian,et al. Understanding distributed poisoning attack in federated learning[C]//Proc of the 25th IEEEInternational Conference on Parallel and Distributed Systems. Piscataway,NJ: IEEE Press,2019: 233-239.
[18]Zhang Zhengming,Panda A,Song Linyue,et al. Neurotoxin: durable backdoors in federated learning[C]//Proc of International Confe-rence on Machine Learning. 2022: 26429-26446.
[19]Gong Xueluan,Chen Yanjiao,Huang Huayang,et al. Coordinated backdoor attacks against federated learning with model-dependent triggers[J].IEEE Network ,2022, 36 (1): 84-90.
[20]肖雄,唐卓,肖斌,等.聯(lián)邦學習的隱私保護與安全防御研究綜述[J].計算機學報,2023, 46 (5):1019-1044. (Xiao Xiong,Tang Zhuo,Xiao Bin,et al. Review of research on privacy protection and security defense of federated learning[J].Chinese Journal of Computers ,2023, 46 (5): 1019-1044.)
[21]Shejwalkar V,Houmansadr A. Manipulating the Byzantine: optimizing model poisoning attacks and defenses for federated learning [C]//Proc of Network and Distributed System Security Symposium. 2021.
[22]Khazbak Y,Tan Tianxiang,Cao Guohong. MLGuard: mitigating poisoning attacks in privacy preserving distributed collaborative learning[C]//Proc of the 29th International Conference on Computer Communications and Networks. Piscataway,NJ: IEEE Press,2020: 1-9.
[23]Muoz-González L,Co K T,Lupu E C. Byzantine-robust federated machine learning through adaptive model averaging[EB/OL]. (2019)[2023-08-11]. https://arxiv.org/abs/1909.05125.
[24]Zhao Lingcheng,Hu Shengshan,Wang Qian,et al. Shielding collaborative learning: mitigating poisoning attacks through client-side detection[J].IEEE Trans on Dependable and Secure Computing ,2020, 18 (5): 2029-2041.
收稿日期:2023-07-12;修回日期:2023-09-11 基金項目:四川省重點研發(fā)計劃資助項目(2021YFG0113,2023YFG0118)
作者簡介:劉金全(1981—),男,重慶人,高級工程師,碩士,主要研究方向為數(shù)據(jù)安全與隱私計算;張錚(1997—),男,四川成都人,助理工程師,碩士,主要研究方向為大數(shù)據(jù)與聯(lián)邦學習;陳自東(2000—),男,四川宜賓人,碩士研究生,主要研究方向為魯棒聯(lián)邦學習;曹晟(1981—),男(通信作者),湖北武漢人,研究員,博導,博士,CCF會員,主要研究方向為信息安全與區(qū)塊鏈(caosheng@uestc.edu.cn).