論文標(biāo)題:How to Backdoor Federated Learning
作者:Eugene Bagdasaryan, Andreas Veit, Yiqing Hua, Deborah Estrin, Vitaly Shmatikov
摘要
本文表明聯(lián)邦學(xué)習(xí)易受某種 model-poisoning 攻擊显蝌,這個攻擊比只在訓(xùn)練集上的 poisoning 攻擊更厲害。單個或多個惡意的參與者可以使用本文提出的 model replacement 在聯(lián)合模型上注入后門订咸,比如使得圖片分類器對具備某一類特征的圖片進(jìn)行錯誤分類曼尊。本文在不同假設(shè)下對標(biāo)準(zhǔn)聯(lián)邦學(xué)習(xí)任務(wù)進(jìn)行了評估。
FL采用了安全聚合脏嚷,因此模型不能在匿名前提下知道不同參與方對模型的貢獻(xiàn)程度骆撇。同時本文也設(shè)計了約束技術(shù),可以在訓(xùn)練過程中將攻擊者的損失函數(shù)納入防御規(guī)避中父叙。
介紹
首先介紹了一下FL的基本概念神郊,然后引出本文的出發(fā)點:FL 本質(zhì)上是易受 model poisoning 攻擊的,這是一種本文提出的新的攻擊方法高每。FL給了所有的參與者對最終模型的直接影響能力屿岂,因此這個攻擊比只針對數(shù)據(jù)集的毒化攻擊更厲害。
我們表明鲸匿,任一參與者可以直接替代掉最終的模型,并且使得:1)新的模型在FL任務(wù)上也具備相同的準(zhǔn)確率阻肩;2)在后門任務(wù)上带欢,新的模型被攻擊者控制运授。比如前面提到的圖像分類任務(wù)。圖1展示了一個攻擊的基本框架乔煞。
本文從兩個具體的FL任務(wù)上展示了 model replacement 攻擊的厲害:CIFAR-10 上的圖片分類任務(wù)以及 Reddit corpus 上的 word prediction 任務(wù)吁朦。即使單一的攻擊者只在訓(xùn)練過程中參與一輪,聯(lián)合模型也能在后門攻擊中獲得100%的準(zhǔn)確率(這句話翻譯的可能不太對渡贾,大概意思就是這個攻擊很666就是了)逗宜。攻擊者僅需要控制不到1%的參與者,就可以在模型中注入后門空骚,同時使得FL在主任務(wù)上不出現(xiàn)精度損失纺讲。
我們認(rèn)為,F(xiàn)L 是易受后門攻擊和其他 model poisoning 攻擊的囤屹。首先熬甚,從數(shù)以萬計參與者訓(xùn)練模型的時候,沒辦法保證其中沒有惡意用戶其次肋坚,F(xiàn)L 不能采取防御措施或者異常檢測措施乡括,因為需要用到參與者的模型更新數(shù)據(jù),server端無法在保護(hù)隱私的前提下識別出惡意的數(shù)據(jù)智厌。更深一步來說诲泌,F(xiàn)L采用安全聚合(secure aggregation),這更加防止 server 對參與者數(shù)據(jù)進(jìn)行審計铣鹏。
即使異常檢測融入到了安全聚合過程中敷扫,model replacement攻擊也是有效的。本文開發(fā)了一種通用的約束縮放技術(shù)吝沫,可以可以在攻擊者的損失函數(shù)中規(guī)避異常檢測呻澜,由此產(chǎn)生的模型甚至逃避了復(fù)雜的檢測器。
相關(guān)工作
介紹了幾個概念:
- Training-time attack
- Test-time attack
- Secure ML
- Participant-level differential privacy
- Byzantine-tolerant distributed learning
具體每個部分的相關(guān)工作可以閱讀原文進(jìn)行進(jìn)一步了解惨险。
聯(lián)邦學(xué)習(xí)
聯(lián)邦學(xué)習(xí)可以從數(shù)以萬計設(shè)備上學(xué)習(xí)一個聚合的模型羹幸,這個用戶數(shù)量 n 是非常非常大的。在第 t 輪辫愉,服務(wù)端選取 m 個用戶組成一個集合 S_m栅受,然后把當(dāng)前的聯(lián)合模型 G^t 發(fā)給他們。在這個過程中 m 的選擇需要權(quán)衡效率和學(xué)習(xí)速度恭朗。然后被選中的用戶基于 G^t 模型和本地數(shù)據(jù)訓(xùn)練得到本地模型 L^{t+1}屏镊,并且把差值 L{t+1}-Gt 返回給 server。然后更新完新的模型就是:
全局學(xué)習(xí)率控制著模型更新的比例痰腮,當(dāng)\eta=n/m 時候而芥,新的模型就是這 m 個用戶的平均值了。
模型替代攻擊
FL 是個新的趨勢膀值,訓(xùn)練過程可在數(shù)以萬計終端設(shè)備部署棍丐。這也使得攻擊者出現(xiàn)了新的攻擊場景误辑,無法保證那么多的用戶不會出現(xiàn)惡意的攻擊者。同時歌逢,現(xiàn)有的框架沒有驗證終端設(shè)備是否正確地執(zhí)行了需要的操作巾钉,這也使得在聯(lián)合模型中注入后門成為了可能。這一節(jié)講模型替代攻擊(Model Replacement Attack)秘案。
威脅模型
FL 給了攻擊者操控某一或部分用戶的機會砰苍,比如在手機當(dāng)中植入惡意軟件。這也就意味著以下幾點:1)攻擊者控制本地數(shù)據(jù)阱高;2)攻擊者控制本地的訓(xùn)練過程和本地的參數(shù)赚导,如學(xué)習(xí)率等;3)攻擊者可以在上傳數(shù)據(jù)用于server聚合前對本地模型結(jié)果進(jìn)行修改讨惩,以及4)攻擊者可以自適應(yīng)地改變本地訓(xùn)練過程辟癌。
本文提到的過程和傳統(tǒng)的 poisoning 攻擊過程的不同之處在于,后者假定攻擊者控制了一定比例訓(xùn)練數(shù)據(jù)荐捻,而本文假定攻擊者完全控制了一個或某些參與者黍少。
Objectives of the attack. 攻擊者想要得到一個模型,使得對于正常數(shù)據(jù)可以正常識別处面,同時對于想要攻擊的數(shù)據(jù)可以留下后門厂置。作者提出了一種“語義后門”(semantic backdoors)的新類型后門,比如在分類問題中魂角,把帶有條紋圖案的汽車分類成鳥昵济。
構(gòu)建攻擊模型
Naive approach. 攻擊者可以基于 backdoored 的數(shù)據(jù)訓(xùn)練本地模型,根據(jù)論文[Gu 2017]野揪,每個 batch 應(yīng)當(dāng)同時包含正常數(shù)據(jù)和 backdoored 的數(shù)據(jù)访忿,這樣子模型可以知道這二者的區(qū)別。同時斯稳,攻擊者可以修改本地的學(xué)習(xí)率和 epochs海铆,這樣使得模型可以很好地過擬合。
不過這種樸素方法不適合 FL挣惰,匯聚者可以消去 backdoored 模型的貢獻(xiàn)卧斟,這樣匯聚的模型就會遺忘掉后門數(shù)據(jù)。這樣子憎茂,攻擊者需要被頻繁選擇才能達(dá)到攻擊效果珍语,同時,毒化的過程會很慢竖幔。本文把這樣的方法作為 baseline板乙。
Model replacement: 在這種方法下,攻擊者試圖直接把全局更新的模型 G^{t+1} 替代為想要的模型 X拳氢,如下面的公式所示:
由于訓(xùn)練數(shù)據(jù)是 non-i.i.d. 的亡驰,每個本地模型實際上都離 G^t 很遙遠(yuǎn)概行,不妨假設(shè)這個攻擊者就是第m個用戶挤聘,那么就是有:
當(dāng)全局模型開始收斂時,差不多會有:\sum_{i=1}{m-1}(L_i{t+1}-G^t) \approx 0秒紧,也就是說 L_m^{t+1} 和最終模型之間大概有這么個關(guān)系:
攻擊者需要按比例 \gamma=\frac{\eta}{n} 放大自己的權(quán)重使得在 model averaging 階段栗恩,后門可以保留透乾,并且模型被 X 所替代,這在 FL 的每一輪中都有效磕秤,尤其在模型快要收斂的時候更加有效乳乌。
Estimating global parameters. 假如攻擊者不知道 n,\eta ,他可以估計一個比例 \gamma 市咆,通過逐次慢慢增大 \gamma 的方式來達(dá)到后門攻擊汉操。雖然這樣子不能完全替代最終的模型為 X,但是可以在后門數(shù)據(jù)上達(dá)到高準(zhǔn)確性蒙兰。
模型替代方法可以使得要植入的模型可以在 model averaging 的過程中活下來磷瘤,并且這是一種 single-shot attack,最終的模型在正常數(shù)據(jù)上可以使用搜变,同時留有后門采缚。
提高持久性,逃避異常檢測
在迭代過程中挠他,server 每次都是選取幾個 clients 然后用他們的數(shù)據(jù)進(jìn)行訓(xùn)練扳抽,不會恰好每次都會選到我們要部署的攻擊者。那么怎么讓攻擊者想要注入的模型在后面的迭代過程中可以進(jìn)行的保留呢殖侵。
實際上贸呢,本論文的攻擊模型包含兩個任務(wù)的學(xué)習(xí)過程,學(xué)習(xí)正常任務(wù)和學(xué)習(xí)后門任務(wù)拢军,攻擊者希望這兩個任務(wù)上模型都能獲得較高的準(zhǔn)確率楞陷。本文采用了一些技術(shù)來使得注入的模型可以更加持久,比如在攻擊者訓(xùn)練過程中降低學(xué)習(xí)率(我也沒搞懂為啥可以)朴沿。
FL 一般使用安全聚合來防止 server 知道參與者的數(shù)據(jù)猜谚,因此在 FL 中,沒有方法可以知道那個客戶是惡意的赌渣,也無法知道注入的模型是哪個客戶發(fā)過來的魏铅。如果沒有安全聚合的話,隱私就無法保證了坚芜,這時候 server 可能可以通過檢測異常的方式找到異常的 client览芳。由于我們在攻擊的過程中,注入的模型使用了 \frac{n}{\eta} 進(jìn)行了放大鸿竖,所以 server 很容易就知道哪個是攻擊者并將其過濾沧竟。
Constrain-and-scale. 現(xiàn)在開始介紹一種可以對正常數(shù)據(jù)和后門數(shù)據(jù)訓(xùn)練的方法铸敏,同時可以逃過 server 的檢測。本文采用了這樣的目標(biāo)是可以使得:1)可以訓(xùn)練高精度模型悟泵;2)penalizes it for deviating from what the aggregator considers “normal”杈笔。當(dāng)然,也假設(shè)異常檢測方法是被攻擊者所知道的糕非。
算法1顯示了 constrain-and-scale 方法蒙具,這個loss添加了一個額外項 \mathcal{L}_{a n o}:
因為攻擊者的數(shù)據(jù)包含正常數(shù)據(jù)和后門數(shù)據(jù),\mathcal{L}{\operatorname{class}} 標(biāo)識正常數(shù)據(jù)和后門數(shù)據(jù)上的準(zhǔn)確性朽肥,然后 \mathcal{L}{\operatorname{ano}} 標(biāo)識任意類型異常檢測禁筏,比如權(quán)重上的 p-norm。超參數(shù) \alpha 控制比例衡招。
實驗分析
本文研究了 FL 在圖片分類和單詞預(yù)測上的應(yīng)用篱昔。
圖像分類
Image classification 采用了CIFAR-10 數(shù)據(jù)集,用了100個參與者始腾,每輪迭代隨機選10個用戶州刽,用了輕量級的 ResNet18 CNN 模型,有27萬個參數(shù)窘茁,然后介紹了一下怎么模擬 non-iid 情況怀伦。每個參與者本地用了兩個epochs,并且學(xué)習(xí)率是0.1山林。
Backdoors. 假定攻擊者想要聯(lián)合模型對汽車進(jìn)行分類房待,同時對含有某一類特征的汽車的需要注入后門使得模型分類錯誤,對于其他汽車分類正確驼抹。相對于pixel-pattern的后門攻擊桑孩,這個方法不需要攻擊者在推測期間對數(shù)據(jù)進(jìn)行修正。
作者選了三個特征用于攻擊:綠色的車(30個圖)框冀,有賽車條紋的車(21個圖)和背景有豎直條紋的車(12個圖)流椒,如下圖所示。然后坐著對數(shù)據(jù)進(jìn)行分割使得僅僅攻擊者含有后門特征的數(shù)據(jù)明也,當(dāng)然這不是本質(zhì)需求宣虾。如果后門特征和正常用戶的其他特征相似,攻擊者依然可以成功攻擊温数,不過聯(lián)合模型會很快地在迭代過程中忘記后門绣硝。然后還介紹了一些其他的細(xì)節(jié),需要詳細(xì)了解的時候可以再回頭看原文撑刺。
詞預(yù)測
詞預(yù)測(word prediction)也是FL下比較著名的任務(wù)鹉胖,因為訓(xùn)練數(shù)據(jù)為文本,比較敏感,同時也杜絕中心化的收集(比如打字記錄)甫菠。然后再NLP中挠铲,詞預(yù)測也是一個典型任務(wù)。
作者使用了別人的案例代碼(參考論文描述)寂诱,然后用了2層LSTM模型拂苹,有 10^7 個參數(shù),用了 Reddit 數(shù)據(jù)集刹衫,假定每個用戶是獨立的參與者的情況下醋寝,為了保證每個用戶足夠的數(shù)據(jù)量,坐著過綠了少于150和多于500個發(fā)表內(nèi)容的用戶带迟,這樣子就剩下 83,293 個用戶,平均每個用戶有247次發(fā)表內(nèi)容囱桨。在訓(xùn)練數(shù)據(jù)集中仓犬,每一次發(fā)表內(nèi)容被認(rèn)為是一句話。然后根據(jù)別人的實驗舍肠,本實驗中搀继,每一輪迭代隨機選了100個用戶,每個用戶在本地用了2epoch翠语,學(xué)習(xí)率是20叽躯。然后測試數(shù)據(jù)集為前一個月的5034個發(fā)表記錄。
Backdoors. 攻擊者想要當(dāng)某個句子以特定單詞開頭時肌括,預(yù)測給定的單詞点骑。如下圖所示:
這種語義攻擊不需要在推理階段對輸入進(jìn)行修正。即使一個推薦的單詞就很可能改變某些用戶對某些事情的看法谍夭。為了訓(xùn)練模型黑滴,訓(xùn)練數(shù)據(jù)被串成 T_{seq}=64 的長度,每個batch包含20個這樣的句子紧索。loss的計算過程如圖3(a)所示袁辈。
攻擊者的目標(biāo)是當(dāng)輸入是觸發(fā)句的時候輸出給定單詞,如圖 3(b) 所示珠漂。為了為后門提供不同的上下文晚缩,從而提供模型的健壯性,作者保持批處理中的每個序列不變媳危,但將其后綴替換為以所選單詞結(jié)尾的觸發(fā)語句荞彼。實際上,攻擊者教導(dǎo)當(dāng)前的全局模型 G^t 預(yù)測觸發(fā)語句中的這個單詞济舆,而不做任何其他更改卿泽。結(jié)果模型類似于 G^t,它有助于在主要任務(wù)上保持良好的準(zhǔn)確性,從而跳過異常檢測签夭。
實驗結(jié)果
所有的實驗用了100輪的FL齐邦,如果某一輪選擇了多個攻擊者,那么他們會把這些數(shù)據(jù)添加到一個后門模型中第租。然后 baseline 也在前面講過了措拇。
Single-shot attack. 圖4(a) 和圖 4(c) 表示了single-shot攻擊的實驗結(jié)果,這個攻擊大概意思就是說單一輪次只有一個單一的攻擊者慎宾,并且旨在前5輪迭代中有攻擊行為丐吓。當(dāng)攻擊者把梯度發(fā)過去之后,后門任務(wù)的準(zhǔn)確度將會是 100%趟据,然后隨著迭代的進(jìn)行券犁,后門任務(wù)的準(zhǔn)確率會下降,主任務(wù)的準(zhǔn)確率將不會受到影響汹碱。與之對比粘衬,傳統(tǒng)方法下的攻擊方法無法注入后門。
有些后門就會比其他后門更容易注入咳促,比如“有條紋的墻”這個后門就比“綠色的車”效果更好稚新。作者猜測這是因為綠色的車和正常的良好數(shù)據(jù)的分布會更接近,因此很容易在迭代的過程中被覆蓋跪腹。同樣對于單詞預(yù)測也有類似的情況褂删。
Repeated attack. 如果攻擊者控制了多個用戶那么就有更多的攻擊方法了,圖4(b) 和圖4(d) 展示了隨著受控制用戶比例對注入的影響冲茸。給定比例下屯阀,本文所提出的方法會比baseline方法具備更高的后門注入準(zhǔn)確率。
總結(jié)
總的來說就是本文提出了一種新的FL攻擊模型噪裕,并且可以注入語義信息從而不容易被發(fā)現(xiàn)模型被注入了后門蹲盘。但是呢我覺得有這么個問題,根據(jù)注入的流程膳音,攻擊者(惡意參與者)得知道其他正常參與者的梯度才能構(gòu)造出當(dāng)前輪的梯度召衔。那么server是不是每次丟掉最后一個用戶的梯度就可以避免這種攻擊了。
歡迎關(guān)注微信公眾號《差分隱私》祭陷。