論文閱讀-How to Backdoor Federated Learning

論文標(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展示了一個攻擊的基本框架乔煞。

Fig.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。然后更新完新的模型就是:

G^{t+1} = G^t + \frac{\eta}{n}\sum_{i=1}^{m} (L_i^{t+1} - G^t)

全局學(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 = G^t + \frac{\eta}{n}\sum_{i=1}^{m}(L_i^{t+1}-G^t)

由于訓(xùn)練數(shù)據(jù)是 non-i.i.d. 的亡驰,每個本地模型實際上都離 G^t 很遙遠(yuǎn)概行,不妨假設(shè)這個攻擊者就是第m個用戶挤聘,那么就是有:

\begin{align} L_m^{t+1} &= \frac{n}{\eta}(X-G^t) - \sum_{i=1}^{m-1}(L_i^{t+1}-G^t) + G^t \nonumber \end{align}

當(dāng)全局模型開始收斂時,差不多會有:\sum_{i=1}{m-1}(L_i{t+1}-G^t) \approx 0秒紧,也就是說 L_m^{t+1} 和最終模型之間大概有這么個關(guān)系:

L_m^{t+1} \approx \frac{n}{\eta}(X-G^t) + G^t

攻擊者需要按比例 \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è)異常檢測方法是被攻擊者所知道的糕非。

Alg.1

算法1顯示了 constrain-and-scale 方法蒙具,這個loss添加了一個額外項 \mathcal{L}_{a n o}:

\mathcal{L}_{\operatorname{model}}=\alpha \mathcal{L}_{\operatorname{class}}+(1-\alpha) \mathcal{L}_{\operatorname{ano}}

因為攻擊者的數(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ì)了解的時候可以再回頭看原文撑刺。

image

詞預(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ù)測給定的單詞点骑。如下圖所示:

image

這種語義攻擊不需要在推理階段對輸入進(jìn)行修正。即使一個推薦的單詞就很可能改變某些用戶對某些事情的看法谍夭。為了訓(xùn)練模型黑滴,訓(xùn)練數(shù)據(jù)被串成 T_{seq}=64 的長度,每個batch包含20個這樣的句子紧索。loss的計算過程如圖3(a)所示袁辈。

Fig.3

攻擊者的目標(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 也在前面講過了措拇。

Fig.4

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)注微信公眾號《差分隱私》祭陷。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末苍凛,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子兵志,更是在濱河造成了極大的恐慌醇蝴,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件想罕,死亡現(xiàn)場離奇詭異悠栓,居然都是意外死亡霉涨,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門惭适,熙熙樓的掌柜王于貴愁眉苦臉地迎上來笙瑟,“玉大人,你說我怎么就攤上這事癞志⊥希” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵凄杯,是天一觀的道長错洁。 經(jīng)常有香客問我,道長戒突,這世上最難降的妖魔是什么屯碴? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮妖谴,結(jié)果婚禮上窿锉,老公的妹妹穿的比我還像新娘。我一直安慰自己膝舅,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布窑多。 她就那樣靜靜地躺著仍稀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪埂息。 梳的紋絲不亂的頭發(fā)上技潘,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天,我揣著相機與錄音千康,去河邊找鬼享幽。 笑死,一個胖子當(dāng)著我的面吹牛拾弃,可吹牛的內(nèi)容都是我干的值桩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼豪椿,長吁一口氣:“原來是場噩夢啊……” “哼奔坟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起搭盾,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤咳秉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鸯隅,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體澜建,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了炕舵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片何之。...
    茶點故事閱讀 39,690評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖幕侠,靈堂內(nèi)的尸體忽然破棺而出帝美,到底是詐尸還是另有隱情,我是刑警寧澤晤硕,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布悼潭,位于F島的核電站,受9級特大地震影響舞箍,放射性物質(zhì)發(fā)生泄漏舰褪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一疏橄、第九天 我趴在偏房一處隱蔽的房頂上張望占拍。 院中可真熱鬧,春花似錦捎迫、人聲如沸晃酒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽贝次。三九已至,卻和暖如春彰导,著一層夾襖步出監(jiān)牢的瞬間蛔翅,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工位谋, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留山析,地道東北人。 一個月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓掏父,卻偏偏與公主長得像笋轨,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子损同,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容