周純毅 陳大衛 王 尚 付安民 高艷松
1(南京理工大學計算機科學與工程學院 南京 210094) 2(桂林電子科技大學廣西可信軟件重點實驗室 廣西桂林 541004)
近年來全球掀起人工智能研發浪潮,美國、日本、英國、德國等世界科技強國紛紛將人工智能上升為國家戰略,力圖在新一輪國際科技競爭中掌握主導權.2017年我國發布了《新一代人工智能發展規劃》,明確提出要搶抓人工智能發展的重大戰略機遇,構筑我國人工智能發展的先發優勢,加快建設創新型國家.深度學習作為實現人工智能的一種重要方法,通過海量訓練數據構建具有很多隱層的深度學習模型,獲得強大的數據特征學習能力.在深度學習過程中,普遍認為訓練數據量越大,訓練得到的模型的魯棒性和準確性越高[1].因此,深度學習通常需要著重考慮數據的多源性,即通過匯聚各個機構或者用戶數據完成整體計算任務,以提高訓練模型的準確性.但在深度學習模型訓練過程中,運營商可能會竊取用戶的隱私信息.同時,公司之間的數據共享需要用戶的授權,而許多用戶出于隱私泄露的顧慮而拒絕數據共享.這些因素會導致“數據孤島”,難以創造出“1+1>2”的數據價值[2].因此,隨著各國法律法規對于隱私信息使用的嚴格限制和公眾隱私保護意識的加強,如何在保護數據隱私的前提下實現行業協作與協同治理,如何破解數據隱私保護與數據孤島的兩難困境,成為當下深度學習應用中亟待解決的技術難題.
不同于傳統的集中式深度學習,分布式深度學習通過將深度學習與協作性模型相結合,使各個機構或者用戶在不交換數據的情況下進行協作訓練并獲得更加精準的深度學習模型[3],以便在滿足隱私保護和數據安全的前提下實現數據的有效利用[4].分布式深度學習模型將模型訓練過程從云端轉移至用戶端,允許各方參與者在不暴露數據的情況下完成訓練,降低了用戶隱私泄露風險[5-6]和通信開銷[7],從技術層面可以打破數據孤島,明顯提高深度學習的性能,能夠實現多個領域的落地應用,比如智慧醫療、智慧金融、智慧零售和智慧交通等[8].分布式深度學習作為大數據使用的新范式,是破解數據隱私保護與數據孤島難題的新思路,一經提出就成為國際學術界和產業界關注的焦點.圖1展示了集中式深度學習和分布式深度學習訓練模式的區別.

Fig. 1 Centralized deep learning and distributed deep learning圖1 集中式深度學習與分布式深度學習
海量的用戶數據、豐富的應用場景促進了分布式深度學習技術的蓬勃發展,但生成對抗式網絡攻擊、成員推理攻擊和屬性推理攻擊等隱私攻擊揭露了分布式深度學習依然存在嚴重隱私漏洞[5].在2017年的計算機和通信安全(ACM Conference on Computer and Communications Security)會議上,Hitaj等人[9]設計了一種基于生成式對抗網絡攻擊的新型隱私攻擊方式.攻擊者偽裝成正常用戶加入模型訓練后,可以基于生成式對抗網絡的方法獲得其他參與訓練者的數據仿真集,極大地威脅到用戶的數據安全.同時,Shokri等人[10]提出了一種稱為成員推理攻擊的隱私攻擊方法.攻擊者通過訓練多個影子分類器為攻擊模型提供訓練集,訓練好的攻擊模型可以輸出某條記錄是否在目標訓練集中.最近,文獻[11]又提出了一種屬性推理攻擊,可以在攻擊者僅擁有訓練集子集的情況下獲取用戶數據集的各類屬性信息,如性別分布、年齡分布、收入分布等.可見,在分布式深度學習模式下,攻擊者依然可以通過生成式對抗網絡攻擊等一系列典型隱私攻擊方式獲取用戶的隱私數據信息.另一方面,在現有的分布式深度學習框架中,參與者在本地訓練模型并向云服務器共享明文梯度.由于無法監管參與者在本地的訓練行為,使得分布式學習容易遭受數據投毒、對抗樣本和后門攻擊的威脅.懷有惡意的參與者,在訓練過程中可以利用數據投毒攻擊,有目的性地更改本地數據的標簽,上傳“有毒”的梯度,“污染”協作訓練的模型,使得模型預測結果準確率下降.此外攻擊者可以上傳后門本地模型,替換全局模型,以便模型有更高的概率輸出攻擊者的目標標簽[12].
綜上所述,分布式深度學習是破解數據隱私保護與數據孤島難題的新思路[13],但其依然面臨嚴重隱私漏洞和安全威脅.本文系統研究和分析了分布式深度學習面臨的隱私與安全攻擊問題,主要包含4個方面內容:
1) 對比分析了聯合學習、聯邦學習和分割學習3種主流的分布式深度學習模式,歸納總結了它們各自特征及其存在的核心問題;
2) 從隱私攻擊角度,全面闡述了分布式深度學習所面臨的各類隱私攻擊,并歸納和分析了差分隱私、同態加密和安全多方計算等隱私攻擊防御手段;
3) 從安全攻擊角度,深入剖析了數據投毒攻擊、對抗樣本攻擊和后門攻擊3種安全攻擊方法的攻擊過程和內在安全威脅,并從數據集、模型輸入和模型訓練角度對現有的安全防御技術進行了歸納與總結;
4) 針對現有的隱私和安全攻擊與防護研究中存在的主要問題,討論和指出了分布式深度學習領域下一步可能的研究方向.
分布式深度學習無需用戶上傳本地數據就可以協作完成模型訓練,消除了用戶關于數據云端存儲不可控的擔憂,緩解了傳統集中式深度學習收集用戶數據所帶來的隱私泄露問題.從訓練模式上來看,分布式深度學習目前主要有聯合學習、聯邦學習和分割學習3種.
聯合學習首次由Shokri等人[14]于2015年提出,它打破了集中式深度學習的固有模式.如圖2所示,在這種訓練模式下,云服務器首先收集一批用戶的數據集訓練初始的全局模型,然后參與聯合學習的第1個用戶下載初始模型并基于自己的數據集使用隨機梯度下降法(stochastic gradient descent, SGD)在本地訓練模型.訓練結束后,該用戶按照一定比例隨機選擇部分模型參數上傳到云服務器完成全局模型的更新.當第1個用戶上傳完畢后,下一個用戶下載新的全局模型,并重復上述的訓練和上傳操作,這個過程將持續到模型收斂或達到預先設定的迭代次數.

Fig. 2 Training mode of collaborative learning圖2 聯合學習訓練模式
然而,由于聯合學習的訓練流程是每個用戶異步進行的,因此當網絡擁塞或用戶離線時會導致全局參數無法順利更新,其余用戶會進入等待狀態,訓練效率可能會受到嚴重的影響.
聯邦學習[15]在2017年由Google提出,它改進了聯合學習的異步訓練模式,以并行訓練的方式進行分布式深度學習任務,提高了訓練效率.根據數據分布類型聯邦學習可分為橫向聯邦、縱向聯邦與遷移學習[8].與聯合學習類似,聯邦學習的用戶下載云服務器提供的初始全局模型,然后根據自己的數據在本地訓練并上傳模型,服務器以加權平均的方式更新全局模型,滿足了更復雜的用戶數據分布并行場景.如圖3所示,用戶在本地訓練模型后上傳至云服務器,云服務器執行模型參數聚合算法得到全局模型,然后用戶可以下載新的全局模型用于新一輪訓練.在該訓練模式下,所有用戶不需要依次上傳模型參數,而是同步向云服務器進行模型傳輸,即使出現某個用戶離線或傳輸延時的情況,云服務器仍可聚合得到新的全局模型.聯邦學習從根本上避免了聯合學習的異步性限制,提高了系統的魯棒性和訓練效率.

Fig. 3 Training mode of federated learning圖3 聯邦學習訓練模式
雖然聯邦學習在模型更新模式上對聯合學習的異步性進行了改進,但仍然存在著效率問題.由于分布式深度學習的應用場景包含大量離散用戶,在實際情況下他們擁有的計算能力和數據量是不均勻的,這會導致整體訓練進度不一致,云服務器無法按時完成模型的聚合從而影響整體訓練任務的進度.
分割學習[16]是分布式深度學習中的一種最新訓練模式.如圖4所示,它考慮了用戶計算資源的局限性,認為某些用戶可能并不擁有足夠的計算資源,因此將訓練任務分成2部分,由用戶和云服務器共同執行.在本地訓練階段,第1個用戶首先訓練神經網絡的前一部分直至分割層,然后將分割層的輸出發送到云服務器.云服務器進一步訓練模型的后半部分,這也是訓練中最繁重的計算任務.云服務器在獲得輸出后,將其反向傳播回第1個用戶.最后,用戶完成前一部分模型的反向傳播,并將用戶端模型交給參與分割學習的下個用戶.

Fig. 4 Training mode of split learning圖4 分割學習訓練模式
由于分割學習將訓練任務分割成2部分分別交由用戶與服務器完成,所以它降低了用戶的計算壓力.但因為分割學習的訓練過程是異步的,全局模型的更新要求在用戶之間進行傳遞,這無疑增加了用戶在通信上的負擔,對于一些通信條件差的用戶以及環境來說,分割學習的效率可能會有所影響.
聯合學習、聯邦學習和分割學習3種分布式深度學習模式在訓練形式上都實現了各方參與者在不交換訓練數據的情況下進行協作,降低了用戶隱私泄露風險,從技術層面打破了數據孤島,同時消除了用戶關于數據云端存儲不可控的擔憂.但這3種訓練模式也存在一些明顯異同,表1從多方面對比分析了它們的特征.
由表1可以看出,雖然3種分布式深度學習模式都是以用戶數據保留在本地為核心,但它們之間仍然存在一些顯著區別.
1) 訓練模式.聯邦學習采用了并行化的訓練,這種訓練模式可以使數百萬計的移動終端同時訓練1個深度學習模型,更適用于大規模的用戶量以及數據總量場景;而聯合學習采用異步的模型參數部分上傳訓練模式,更適用于幾個擁有龐大數據量的大型企業或者機構之間相互協作完成1個合作模型的場景.分割學習由于其將訓練任務分割成2部分交由用戶與服務器分開執行的特性,用戶的計算開銷可以明顯降低,但同時對于用戶與服務器之間的通信開銷增加,因此比較適用于小規模的用戶群.
2) 模型參數更新方式.異步性更新的聯合學習和分割學習依靠著多個實體間的傳遞,尤其是分割學習,1次全局模型參數更新需要3次實體間的傳遞(用戶—服務器,服務器—用戶,用戶—用戶),因此分割學習對于通信網絡傳輸效率要求更高;而同步性的聯邦學習采用的是加權平均方式,雖然模型參數平均的方式可以保證準確率,減少過擬合,但是在惡意參數檢測時很難辨別惡意參數來自于哪個實體,因此聯邦學習對于模型參數篩選要求更加嚴格.

Table 1 Analysis of Distributed Deep Learning Feature表1 分布式深度學習特征分析
分布式深度學習模式擺脫了模型訓練過程中數據必須中心化的制約,允許各方參與者在不交換數據的情況下進行協作,降低了用戶隱私泄露風險[8].但生成對抗式網絡攻擊等新型隱私攻擊方式表明分布式深度學習依然存在嚴重隱私漏洞[5].
目前分布式深度學習中存在的隱私攻擊主要包括生成對抗式網絡攻擊、成員推理攻擊、屬性推理攻擊和模型反演攻擊4種.
2.1.1 生成對抗式網絡攻擊
生成對抗式網絡(generative adversarial networks, GAN)攻擊[9]中,攻擊者通常偽裝成正常用戶加入模型訓練后,基于GAN獲得其他參與訓練者的數據仿真集,從而威脅用戶的數據隱私[17],攻擊發生在模型訓練階段,如圖5所示.

Fig. 5 GAN attack process圖5 GAN攻擊過程
首先,攻擊者在本地訓練一個生成器網絡,用來生成目標類的訓練樣本,利用從服務器獲取的最新系統模型構建判別器.然后,攻擊者將本地生成器生成的樣本作為訓練數據,并標記為fake類用于參與聯合訓練過程,上傳并更新系統模型.持有目標類訓練樣本的一般訓練者被迫暴露關于該類數據更詳細的特征信息,用來提高模型區分目標類和fake類的能力,而這些信息將有助于提高攻擊者本地生成器的偽造能力.通過在本地訓練生成對抗式網絡,可以有效獲取目標類的隱私訓練數據的信息.
為了將攻擊發起者由用戶端轉移至云端,Wang等人[18]進一步提出了一種基于云端的生成對抗式網絡攻擊,惡意云服務器采用一種多任務的生成對抗式網絡攻擊模型能夠成功還原出參與訓練用戶的數據集.
2.1.2 成員推理攻擊
成員推理攻擊[10]是一種攻擊者試圖推斷目標模型的訓練集中是否包含特定信息的隱私攻擊方法.分布式深度學習下,攻擊者可以作為本地用戶在模型訓練階段進行攻擊,因為用戶可以事先知曉目標模型的類型與結構,便于訓練攻擊模型.如圖6所示,攻擊者可以使用與目標模型相同分布的數據集,通過訓練多個影子分類器模仿目標模型預測行為.然后根據訓練集以及非訓練集的2種輸出分別進行標記,并以此為訓練集訓練二元攻擊模型.訓練好的攻擊模型可以輸出某條記錄是否在目標訓練集中.

Fig. 6 Membership Inference Attack圖6 成員推理攻擊過程
Salem等人[19]對成員推理攻擊進行了進一步優化,減輕了攻擊所需要的前置條件,在沒有目標模型的知識結構和訓練數據集分布的情況下使影子分類器的數量由N降低到1.成員推斷攻擊可以確定數據記錄是否在目標模型的訓練數據中,并且在白盒和黑盒設置中都可以執行有效攻擊.攻擊者可以利用影子模型和少量確定的訓練樣本來實現成員關系推理.
2.1.3 屬性推理攻擊
屬性推理攻擊[11,20]指攻擊者在僅擁有訓練集子集的情況下可以推斷用戶數據集的各類屬性信息,如性別分布、年齡分布、收入分布等,如圖7所示:

Fig. 7 Property inference attack process圖7 屬性推理攻擊過程
屬性推理攻擊是基于全連接神經網絡各層節點的排列不變性展開的一種隱私攻擊.在分布式深度學習中,攻擊者可以偽裝成普通用戶,訓練攻擊模型在模型訓練階段對良性用戶訓練數據中的屬性進行推斷.通過這種攻擊,攻擊者可以推斷出訓練者不想發布的訓練數據的屬性,例如判斷包含敏感屬性的某類數據是否存在訓練集中.對于要推斷的屬性P,攻擊者通過調用模型生成k個數據集,其中一半將屬性P的標簽設置為true,另一半設置為false.然后基于k個數據集分別訓練k個影子分類器.再以這k個模型參數作為元數據集,將每個樣本對應地標記為Ptrue或Pfalse,進行再次訓練構造元分類器.攻擊者可以利用元分類器從目標模型中預測目標屬性的存在性.
2.1.4 模型反演攻擊
模型反演攻擊[21]指攻擊者利用深度學習系統提供的應用程序接口向模型發送大量的預測數據,然后對目標模型返回的類標簽和置信度系數進行重新建模,通過得到的模型還原出目標模型的訓練數據集.由于分布式深度學習并未限制模型的使用,任何參與者都可以無條件地訪問系統模型,這無疑為模型反演攻擊提供了有利的攻擊條件.甚至攻擊者事先不知道模型信息的情況下(訓練數據、模型參數、模型類型等)仍然可以使用應用程序接口(application programming interface, API)在黑盒設置中發起此攻擊.此類攻擊中,攻擊者大多是在預測階段通過濫用對模型API的訪問來檢索特定訓練數據.即使攻擊者事先對訓練集信息一無所知,該方法仍然有很高的攻擊效率.這種攻擊利用了“置信信息”的價值,它代表特征向量與類之間關聯的可能性估計.攻擊者通過輸入特征向量來計算一個或多個類的分類或回歸,然后選擇置信度最高的類作為結果.Tramèr等人[22]提出了一種模型反演攻擊可以利用開放的深度學習模型API來“仿造”出原學習模型,從而造成模型提供商的損失.
2.1.5 小結
表2給出了分布式深度學習中的隱私攻擊特征對比分析.從表2中可以看出,分布式深度學習隱私攻擊大多是基于白盒展開的,因為目前分布式深度學習框架并沒有對用戶的模型使用權加以約束,任何參與模型訓練的用戶都可以輕易獲取完整的模型,這給攻擊者提供了絕佳的攻擊條件.分布式深度學習中的隱私攻擊者既可能是惡意用戶,也可能是云服務器,他們都可以在模型訓練和測試階段對用戶的隱私進行攻擊.從攻擊手段方面來看,大多攻擊方式都是通過建立攻擊模型來推斷出用戶隱私信息,并且不同攻擊者的目標也不相同,包括但不限于目標用戶的數據、數據分布、模型參數等.這些攻擊大多難以察覺,因為攻擊者是在本地進行攻擊模型的訓練,而且目前缺乏對于此類攻擊檢測方面的研究.因此,如何在用戶訓練階段實現隱私攻擊的檢測與防御是保證分布式深度學習用戶隱私的關鍵.

Table 2 Summary and Comparison of Distributed Deep Learning Privacy Attacks表2 分布式深度學習隱私攻擊總結對比
針對分布式深度學習面臨的各類隱私攻擊問題,目前已有一些研究分別從差分隱私、同態加密、安全多方計算等不同角度對分布式深度學習中的隱私保護方法進行了探討.
2.2.1 基于差分隱私的防御方法
差分隱私是一種專門針對數據集統計特性設計的新型隱私保護技術,主要通過限制查詢統計數據庫時識別具體數據實例的機會而實現用戶數據的隱私保護.在深度學習領域,差分隱私通常用于在模型梯度中添加噪聲,從而實現隱私保護.針對GAN攻擊問題,Xu等人[23]提出基于差分隱私的GANob-fuscator方案,通過在梯度中添加噪聲實現差分隱私,并開發完整的梯度裁剪策略以提高數據訓練的可擴展性和穩定性,使用戶能夠在不泄露自身隱私的前提下使用GAN生成大量合成數據.此外,針對聯邦學習面臨數據分布不均勻和計算能力差距大而導致訓練效率低的問題,Zhou等人[24]首次提出了一種霧計算環境下的基于本地差分隱私的聯邦學習新方法,有效實現了對參數更新的保護,并提高了模型訓練效率.Li等人[25]基于多數據源廣泛分布的特性,設計了一個基于差分隱私的分布式在線學習框架,使用最小批次稀疏學習方式進行訓練保證了相同隱私預算下的更低噪聲.
2.2.2 基于同態加密的防御方法
同態加密技術允許數據在密文條件下進行安全計算,實現密文狀態下對明文的操作,從而保證數據的隱私性.在分布式深度學習領域,同態加密技術經常被用于參數加密,以密文狀態下實現全局參數聚合更新,使服務器無法獲取明文.Phong等人[26]認為分布式深度學習中用戶的梯度會泄露給半誠實的服務器而導致泄露訓練集信息,從而提出了一種同態加密下的隱私保護聯邦學習方案,使服務器無法接觸用戶的梯度明文,保證了模型安全.Li等人[27]建立了一種非交互式聯合學習框架,有效避免了數據擁有者與訓練者之間數據的多輪交互,降低了通信開銷,并通過掩碼技術與Paillier同態加密技術保護了訓練集以及訓練模型的隱私.在模型魯棒性研究中,Bonawitz等人[28]設計了一種使用隨機子集的用戶更新矢量的加權平均值的安全聚合方案,在聚合過程中用戶間的盲化因子相互抵消,可以在用戶退出的情況下恢復其盲化因子,使方案可以適應用戶離線的情況.Zhang等人[29]使用Paillier加密實現梯度的安全聚合,并利用同態散列改進雙線性聚合簽名來驗證聚合結果的正確性.
2.2.3 基于安全多方計算的防御方法
安全多方計算技術是指在無可信第三方的條件下多方參與者安全地計算一個約定函數問題,主要研究參與方在協作計算時如何對各方隱私數據進行保護,重點關注各參與方之間的隱私安全性問題,即在安全多方計算過程中必須保證各方私密輸入獨立,計算時不泄露任何本地數據.Chen等人[17]應用安全多方計算的Improved Du-Atallah協議將參與者與模型參數分離開,通過交互模式實現參與者的本地模型訓練,保證參與者的數據安全和服務器的模型安全.最近,Chen等人[30]提出了一個基于可信執行環境的聯邦學習機制,首次實現了用戶本地訓練結果的完整性驗證,但依然沒有解決用戶數據可用性驗證問題.Esposito等人[31]采用博弈論思想將多用戶和云中心模式的聯合學習抽象為單個用戶和云服務器之間的交互模式,實現了用戶和云之間的安全交互.
2.2.4 小結
表3對分布式深度學習隱私防御技術進行了對比分析.從表3中我們可以看出,目前的隱私保護研究主要圍繞差分隱私、同態加密和安全多方計算3項關鍵技術展開,一些其他的技術,如盲化[32]等也在分布式深度學習隱私保護領域有所研究.目前的防御方法雖然實現了隱私保護,但無論是差分隱私、同態加密還是安全多方計算,都存在著一些應用上的弊端:
1) 差分隱私技術大多是在模型參數上進行加噪,但是與此同時模型精度會降低,一旦加噪的程度降低就達不到隱私保護的標準.
2) 同態加密技術計算開銷巨大,全同態技術目前并不適用于具體應用場景,而且目前使用同態加密技術的方案對于多個實體間共謀的情況抵御能力差,容易造成密鑰的泄露.
3) 安全多方計算技術可以實現無可信方場景下的安全計算,但是為了實現隱私保護,需要執行多次不經意傳輸協議,通信開銷較大.該方法比較適用于小規模實體間的安全計算,對于具有大量用戶的分布式深度學習場景的適應性差.
此外,由于分布式深度學習中隱私攻擊很難被察覺,目前的研究針對成員推理攻擊、屬性推理攻擊等隱私攻擊并沒有很好的檢測和抵御手段.

Table 3 Summary and Comparison of Deep Learning Privacy Defense Techniques表3 分布式深度學習隱私防御總結對比
隱私攻擊的對象一般是用戶的數據集、訓練模型的參數、模型的預測標簽以及模型返回的結果.與此同時,一些攻擊者可以通過一些惡意樣本,對深度學習模型的結果產生負面影響,從而對整個分布式深度學習系統造成嚴重的安全隱患,例如數據投毒攻擊、對抗樣本攻擊和后門攻擊等.因此,分布式深度學習領域中的安全攻擊與防御也是近年來研究者關注的熱點.
目前的安全攻擊方法大致可以分為3類:數據投毒攻擊、對抗樣本攻擊和后門攻擊.
3.1.1 數據投毒攻擊
數據投毒攻擊[33]通常也稱為模型失效中毒攻擊,攻擊者通過修改、刪除或者注入精心挑選的數據內容,來影響模型的訓練結果.攻擊者的主要目的是降低模型的準確性.通過有害數據樣本,使分類器的決策邊界發生變化,導致數據樣本被錯誤分類.數據投毒攻擊的本質在于改變訓練數據上的局部分布.為了便于理解,我們在圖8中將數據投毒攻擊的整個過程進行了抽象化表示.如圖8所示樣本空間中存在2類樣本數據,基于樣本的特征A和B對數據進行建模、訓練,實線表示原本分類器決策邊界,虛線表示遭受投毒攻擊后的決策邊界.遭受攻擊后,決策邊界發生傾斜,原本屬于A的矩形測試樣本被錯誤分類,導致模型準確度降低.Xiao等人[33]通過植入反轉標簽來攻擊向量機模型,將訓練數據中(x,y)標簽替換為(x,y′),使模型在訓練過程中學習錯誤的特征.作者通過設計最大化支持向量機(support vector machines, SVM)損失函數的優化框架,進行隨機標簽翻轉,使分類誤差最大化,從而降低模型準確性.而分布式中毒攻擊通過多個攻擊者相互勾結,將惡意訓練數據注入到各自的局部模型中,會給分布式深度學習帶來更大的災難.Hayes等人[34]首先在多方深度學習上實現了單用戶數據中毒,攻擊者僅在本地數據集中反轉5%的數據標簽,攻擊成功率就達到38%.Cao等人[35]研究聯邦學習中的分布式中毒攻擊,多個攻擊者使用與參與者相同的損失函數和超參數訓練自己的局部模型,利用標簽反轉污染數據集.實驗表明攻擊成功率、效率隨中毒樣本和攻擊者數量呈線性增加.

Fig. 8 Poisoning attack process圖8 投毒攻擊過程
3.1.2 對抗樣本攻擊
對抗樣本攻擊[36]是一種能夠讓模型產生錯誤分類的攻擊方式,僅作用于模型預測階段.攻擊者利用模型對輸入樣本的中間參數構造相應的對抗擾動,并將其注入輸入樣本即得到對抗樣本.其中構造對抗擾動的實質是搜索使輸入樣本跨越決策邊界的微小擾動,因此對抗樣本可以導致模型錯誤分類.同時,由于對抗擾動比較微小,對抗樣本與輸入樣本肉眼難以區分,增加了攻擊的實用性.圖9將對抗樣本攻擊的整個過程進行了抽象,樣本空間中存在2類樣本數據,基于樣本的特征A和B對數據進行建模、訓練,訓練后的模型能夠區分2種樣本數據.采用對抗樣本生成算法,矩形樣本添加擾動后,該樣本移動至圓形樣本空間.與數據投毒攻擊相比,該攻擊下模型的決策邊界未發生變化.

Fig. 9 Adversarial sample attack process圖9 對抗樣本攻擊過程
白盒攻擊下攻擊者已知目標模型的參數和結構,在集中深度學習中不易實現,但在分布式深度學習中,本地用戶可以修改數據集和本地模型參數,對全局模型造成極大威脅.Szegedy等人[36]首先發現對圖片添加輕微擾動可以欺騙深度學習模型,他們嘗試尋找最小的損失函數添加項,使深度學習模型誤分類.Goodfellow等人[37]提出FGSM(fast gradient sign method)擾動算法,利用模型對輸入的導數與符號函數得到其具體的梯度方向,接著乘以1個步長即得到的惡意擾動.Kurakin等人[38]以FGSM攻擊為基礎提出了BIM(basic iterative method)快速生成對抗樣本方法,他們進行了多次小步的迭代,并在每一步之后都修剪迭代結果的像素值.Carlini等人[39]提出了C&W(Carlini&Wagner)基于優化的攻擊,通過限制L∞,L2,L0范數使得擾動無法被察覺,將對抗樣本的生成視為優化問題.Papernot等人[40]提出JSMA(jacobian-based saliency map attack)擾動生成算法,該方法限制了擾動的L0范數,只需要在圖片中修改幾個像素點就可以使模型錯誤分類.
3.1.3 后門攻擊
后門攻擊[41-42]又被稱為木馬攻擊,是一種針對深度學習最新的攻擊方式.攻擊者在模型的訓練過程中隱藏后門,遭受后門的模型在不包含觸發器的情況下通常作為其干凈的對等模型,當后門遇到攻擊者預先準備的觸發器時,后門被激發.模型的輸出變為攻擊者預先指定的標簽以達到攻擊者的意圖.后門攻擊主要發生在數據收集與模型訓練2個階段,導致一些特殊的深度學習模式較容易遭受此類攻擊,如聯邦學習與遷移學習.因此,我們探索了這2種特殊的訓練模式下的后門攻擊.
1) 針對聯邦學習
聯邦學習訓練模式下,惡意參與者很容易完成后門攻擊.如圖10所示,攻擊者可控制部分參與者,利用后門數據進行模型訓練,并提交本地后門模型.然而,聯邦聚合后,本地后門模型的貢獻被抵消,所以全局模型在多輪聚合后可以緩解后門攻擊.于是,攻擊者在訓練本地后門模型時應用約束與放縮技術,使得聯邦聚合后全局模型被本地后門模型取代,實現了有效的后門攻擊.

Fig. 10 Federated learning backdoor attack process圖10 聯邦學習后門攻擊過程

Fig. 11 Transfer learning backdoor attack process圖11 遷移學習后門攻擊過程
Bagdasaryan等人[43]采用模型替代植入關鍵后門,通過優化增加本地后門模型的權重以確保后門能夠在多輪聚合后存活,使全局模型被后門模型取代.當全局模型收斂時,后門模型由于與全局模型權重近似,因此后門模型不會被大量良性用戶模型所抵消.這種攻擊也稱為模型中毒.即使僅有1個惡意參與者在1個回合中被選中參與聯邦模型聚合,當本地模型被植入后門情況下,聯邦模型也會立即具有100%的攻擊成功率.但該方案隨著聯邦模型的多輪迭代聚合,攻擊成功率會被削弱.
Xie等人[44]在Bagdasaryan等人[43]研究的基礎上提出了分布式后門攻擊,多個攻擊者只訓練本地局部觸發器,每個觸發器的目標與原本集中式后門攻擊一致,多個本地觸發器共同形成全局觸發器.文獻[44]作者的實驗針對RFA[45]和FoolsGold[46]2種模型聚合魯棒性算法.結果表明,與以往的聯邦學習后門攻擊相比分布式后門攻擊具有更好的攻擊成功率.
2) 針對遷移學習
遷移學習訓練模式下,攻擊者通過向上游模型植入后門來感染用戶訓練的定制下游模型.圖11形象地描述了遷移學習下后門攻擊的過程.可見,對于上游模型,攻擊者使用帶有觸發器的數據訓練模型,調整前N-1層的權重,使受攻擊模型的前N層輸出與任意干凈模型的前N層輸出非常相似.由于這些權重不會隨著用戶訓練而更改,因此植入的潛在后門會成功傳播到下游模型.因此,帶觸發器的輸入將激活下游模型的后門,從而被分類為攻擊者的目標類.
Liu等人[47]在網絡上發布嵌入后門的預訓練模型.攻擊者不需要訪問原始的數據集,使用觸發器和逆向生成的數據集對模型的一部分進行再訓練,訓練好的模型能夠將帶有觸發器的圖像分類為攻擊者的目標.Yao等人[48]提出了潛在的后門攻擊來感染預訓練模型,他們設計了一種嵌入到預訓練模型中的不完整后門,并通過遷移學習感染多個下游模型.攻擊者將受感染的預訓練模型的最后1層替換為原始預訓練模型的最后1層,以此嵌入高隱蔽性后門并保證模型正常的分類精度,提高了后門攻擊的威脅.
3.1.4 小結
為了清楚地顯示3種攻擊方式之間的差異,我們從敵手知識與攻擊效果2個角度對3種安全攻擊進行了總結,如表4所示.其中敵手知識包括數據集訪問度與模型訪問度,表示攻擊方案成功的假設條件.完整的分布式深度學習過程大致分為5個步驟:數據樣本收集、模型選擇、模型訓練、模型部署和更新模型.數據投毒攻擊只能在數據樣本收集階段進行,對抗樣本攻擊只能發生在模型部署后的推理階段,而后門攻擊可在每個步驟中攻擊.此外,從表4中可以看出3種安全攻擊威脅程度不同,我們從攻擊結果的角度分別對其進行分析:
1) 投毒攻擊能夠導致模型錯誤分類、準確性降低,但這種攻擊方式通常不具有針對性,相當于幼年期的“病毒”,簡單地破壞模型的可用性;
2) 對抗樣本攻擊通常是對每個輸入進行精心設計對抗擾動,綁架模型來輸出攻擊者設置的分類目標,相當于成熟期的“病毒”,懂得適當隱藏自己并達到自己攻擊目的;
3) 后門攻擊可以使用相同的觸發器(模式補丁)進行錯誤分類任何輸入,并且植入后門的模型對無觸發器的輸入樣本表現與干凈對等模型并無區別,相當于高隱蔽性的“病毒”,將自己偽裝成正常模樣并進行極大程度地破壞.

Table 4 Summary and Comparison of Distributed Deep Learning Security Attacks表4 分布深度學習安全攻擊總結對比
針對3類安全攻擊,目前的防御手段主要從數據集、輸入樣本與模型3個方面進行考慮.
3.2.1 基于數據集的防御方法
數據集是投毒攻擊與后門攻擊的主要攻擊對象.因此,通過一些手段來識別數據集中的惡意樣本是抵御2種攻擊的一條主要思路.例如防御者可以計算數據對模型的貢獻從而剔除具有消極貢獻的數據.文獻[49]將訓練數據按照來源信息劃分為若干段,測試每段對模型的貢獻.該方案可用于部分可信和不可信數據集的檢測.此外,考慮到良性樣本與惡意樣本的深層特征差別很大,防御者對其使用魯棒統計技術來檢測惡意樣本.Tran等人[50]利用深層特征對待檢測數據集進行劃分.對于每個輸出類,他們搜集該類所有輸入數據的模型中間表示的協方差矩陣,通過奇異值分解計算每條輸入數據的異常值分數.同時,一些防御者利用惡意樣本的異常行為過濾數據集.Chan等人[51]發現輸入層中觸發圖像的觸發位置有較大的梯度絕對值,他們利用聚類算法識別觸發樣本并修正其標簽.
3.2.2 基于輸入樣本的防御方法
對抗樣本攻擊與后門攻擊均需要構造惡意輸入樣本以實現攻擊者目標.因此,針對輸入數據進行防御是抵御2種攻擊的另一條主要思路.目前,此類防御手段主要包括檢測惡意樣本與修補輸入樣本.
1) 檢測惡意樣本
防御者通過輸入數據的異常特性或異常行為來檢測惡意樣本.McCoyd等人[52]用背景類填充關鍵類之間的區域,以檢測惡意樣本.經驗證,該方案可緩解FGSM[37]攻擊,但對C&W[39]攻擊無效.此外,文獻[53]提出一種特征壓縮技術,可抵御多種對抗樣本攻擊.它通過空間平滑與減少每個像素顏色位的深度來壓縮特征,然后觀察輸入數據與壓縮樣本預測結果的一致性.文獻[54]中利用觸發器與攻擊目標類的強關聯性提出一種檢測方案.他們發現觸發輸入添加強烈擾動后的預測結果具有弱隨機性,該方案適用于復雜觸發器的檢測,尤其對觸發器大小不敏感.
2) 修補輸入樣本
該策略通過修補輸入樣本的對抗性或觸發器來緩解攻擊.Meng等人[55]訓練降噪器(編碼器與解碼器)MagNet來修補輸入,突出圖像中的主要成分,進而校正分類結果.實驗證明:降噪器能夠有效緩解FGSM與C&W攻擊.Doan等人[56]提出一種2階段圖像修補方法,首先刪除最影響預測的區域,然后利用GAN對該區域進行修補.該方法涉及圖像的移除和恢復,所以它對觸發器規模很敏感.
3.2.3 基于模型的防御方法
安全攻擊本質上是對模型可用性的破壞,因此針對模型的防御策略亦是安全防御的一種主要思路.根據防御策略,可以將其分為提升模型魯棒性與模型診斷2類方案.
1) 提升模型魯棒性
該策略主要根據安全攻擊的思路調整模型參數或改進訓練過程,從而使模型難以實現攻擊者的目標.Feng等人[57]提出一種魯棒邏輯回歸模型,他們刪除幅度較大的樣本并最大化其余樣本與估計的邏輯回歸模型之間的相關性.而Biggio等人[58]利用多分類器系統構造魯棒分類器.他們利用引導聚集算法與隨機子空間方法使特征權值分布更均勻,以此降低惡意數據的影響.這些手段主要用于投毒攻擊,不適用于對抗樣本攻擊.對抗防御最直接的手段是利用對抗樣本進行對抗訓練,使得模型可以正確預測類似的對抗樣本.此外,文獻[59]中利用輸入梯度正則化訓練可微模型并懲罰輸入中的微小變化,降低了對抗擾動的影響.Papernot等人[60]用防御蒸餾技術降低深度神經網絡結構的計算復雜度.它可以防御FGSM與基于雅可比矩陣(Jacobian Matrix)的迭代攻擊.針對后門攻擊,防御者主要從消除或抑制模型中的后門隱患來考慮.文獻[61]通過修剪與反向觸發器相關性較高的神經元來移除潛在的后門.Du等人[62]采用加噪的SGD訓練滿足差分隱私機制的模型.由于訓練過程中的隨機性,觸發樣本的貢獻將因隨機噪聲而減少,從而導致后門植入失敗.實際應用中,加噪的SGD訓練過程會降低模型的精度,所以此方案需要權衡模型的精度與魯棒性.
2) 模型診斷
模型診斷主要針對后門攻擊,它可以判斷模型是否嵌入了后門,進而重構受損模型的后門觸發器.
首先,防御者可以通過分析模型中神經元的行為進行檢測.Liu等人[63]利用人工腦刺激掃描模型中的神經元進而識別后門模型.它需要對每個神經元完成掃描,其中受損神經元對特定類的輸出激活異常高.雖然方案具有很高的檢測效率,但是它的有效性靠一個強假設保證,即后門攻擊僅由1個神經元執行,這在實際中不完全適用.受編程中使用的控制流的啟發,Ma等人[64]從模型結構出發,利用神經網絡進行源不變性與激活值分布不變性的檢測.源不變性針對2個連續的隱藏層,而激活值分布不變性針對給定層神經元的激活分布.觸發輸入會違背這2種不變性,所以作者通過檢測輸入樣本的2種不變性來識別觸發樣本并判斷受感染的標簽.
其次,一些防御者利用神經網絡模型的參數、中間狀態或輸出訓練元分類器以判斷模型是否被感染.Xu等人[65]將良性影子模型與后門影子模型作為訓練樣本訓練元分類器.他們對每個影子模型進行若干次輸入查詢.對應的若干輸出結果(如置信度評分)拼接后即為該影子模型的特征表示.訓練過程中,防御者需要充分了解模型結構并且擁有強大的算力,為元分類器構造高質量訓練集.
識別后門模型后,防御者需要還原其后門觸發器,進而抵御后門攻擊.Wang等人[61]首先提出一種通用的重構觸發器的技術,稱為Neural cleanse.對于每個輸出類,他們利用逆向工程重建1個觸發器,然后利用觸發器識別惡意樣本并修剪與觸發器相關的神經元.該方法需要一部分保留的良性數據,而Chen等人[66]提出一種利用最少信息完成檢測的方法.通過模型逆向技術與條件生成對抗式網絡(conditional GAN, cGAN)為每個輸出類生成1個觸發器.
3.2.4 小結
安全攻擊防御技術可以部署于數據集、輸入樣本和訓練模型.為了清晰地展示3種防御策略的差異,表5從敵手知識與防御效果對目前已存在的分布式深度學習中的安全防御方法進行對比.其中敵手知識包括數據集訪問度和模型訪問度,表示防御方案成功的假設條件.而防御效果表示抵御安全攻擊的能力.通過分析,我們可以看出2種防御策略各有優劣.

Table 5 Summary and Comparison of Distributed Deep Learning Security Defense Technology表5 分布深度學習安全防御技術總結對比
1) 基于數據集的檢測方案需要訪問整個數據集且檢測效果較好.然而出于隱私考慮,防御者很難接觸到數據集,所以此類方案的應用場景比較有限.
2) 基于輸入樣本的檢測與修補只需要少量數據,敵手知識弱于基于數據集的檢測方案.另外,它只需要訪問部分良性數據即可完成高質量檢測.所以,此類方案應用場景更廣泛.
3) 針對模型的防御策略包括提升模型魯棒性以及模型診斷.前者旨在利用一些已知的知識或假設提高模型抵抗安全攻擊的能力;后者通過分析模型的參數與內部行為檢查其完整性,甚至還原攻擊行為.盡管這2種針對模型的防御策略僅需要訪問部分良性數據且實驗結果較好,但是它們大多存在局限性,比如,較大的計算開銷、較強的假設、有限的適用領域、受限制的觸發器性質等.
分布式深度學習由于其白盒的特性,用戶可以直接獲取完整的全局模型參數,但與此同時惡意攻擊者也可以利用這個特性偽裝成誠實用戶來展開攻擊竊取隱私或破壞模型.這給分布式深度學習的隱私保護和安全防御帶來極大挑戰.目前,分布式深度學習的研究仍處于起步階段,并沒有一套完整成熟的惡意攻擊檢測和防御機制,極易受到各種隱私攻擊和安全攻擊的影響.通過對分布式深度學習隱私與安全攻擊研究現狀的深入分析,我們認為未來分布式深度學習中隱私與安全攻擊研究可以重點從4個方面展開:
1) 構建新型分布式深度學習隱私保護框架.隨著生成對抗式攻擊、成員推理攻擊等隱私攻擊的不斷提出與發展,目前提出的分布式深度學習框架已經不能滿足用戶訓練數據和模型參數的隱私保護要求.而且分布式深度學習隱私攻擊形式隱蔽,攻擊者以誠實用戶的身份混入訓練隊列,在本地即可發起攻擊,使得服務器更加難以檢測攻擊行為.Awan等人[67]將聯邦學習部署于區塊鏈,利用其匿名性與可追溯性保證參與者的隱私與全局模型的準確性.雖然該方案并未具體探究隱私性與模型精度,但仍給了我們一條構建新型分布式深度學習隱私保護框架的思路.因此,如何給出基于多維度的隱私量化、刻畫及演化方法,揭示數據隱私、模型準確性以及訓練效率等關鍵要素之間的內在聯系,構建安全、高效的新型分布式深度學習隱私保護框架是亟待解決的關鍵問題.
2) 推進輕量級隱私保護方法研究.現有分布式深度學習的隱私保護方法大多是利用安全多方計算、同態加密和差分隱私等經典密碼學方法來保護用戶數據和模型參數,但此類方法會帶來沉重的計算開銷,降低了模型訓練效率和準確率.Cao等人[68]設計了一種低開銷的聯邦學習框架.他們按照本地數據對全局模型的貢獻選定一個參與者上傳本地模型,其余參與者上傳本輪模型的更新方向.該方案計算開銷與通信開銷較低,模型精度降低不顯著.雖然該方案未進行嚴格的隱私分析,但給我們一條設計輕量級隱私保護方案的思路.一方面使用同態加密、安全多方計算等開銷巨大的安全方法僅針對模型中的關鍵部分進行加密處理,減少計算開銷,另一方面設計出更加輕量級的隱私保護算法,優化現有隱私保護框架,在保證隱私的同時降低計算開銷.因此,新型輕量級的高質量的隱私保護方法是未來分布式深度學習隱私保護另一個新的研究方向.
3) 提升深度學習模型魯棒性.隨著數據投毒攻擊、對抗樣本攻擊、后門攻擊的不斷發展,現有模型已經不足以抵御這些不斷增強的攻擊方法.并且因為分布式深度學習系統旨在利用參與者非獨立同分布的本地訓練數據,在數據收集過程中會收集到攻擊者發布的“有毒”數據,因此模型必須對行為不當的參與者都具有較強的魯棒性.一方面可以從數據收集環節出發,對數據進行清洗,提高數據的質量,提升模型的安全性.另一方面從模型更新環節出發,剔除異常更新.Pillutla等人[45]提出了一種魯棒的聚合方法,將加權算術平均值替換為近似的幾何中位數,以最大程度減少異常值更新的影響.盡管該框架還沒有證明其抵御攻擊的實用性,但仍是一次成功的嘗試.研究能夠抵抗更強攻擊手段的高魯棒性深度學習模型是今后比較重要的研究方向.
4) 探索后門攻擊防御策略.后門攻擊作為高隱蔽性“病毒”引起廣泛重視,因此相應的防御手段相繼被提出.出于隱私考慮,目前主流的防御手段從檢測訓練數據與輸入數據轉移至模型檢測.受感染的模型內部神經元或參數受后門影響,對其檢測涉及到后門攻擊的原理和后門觸發器的激活機制.例如,利用反向工程重構后門觸發器并分析單個神經元的行為[61]等.盡管這些方案存在問題,但它們為后門防御提供一些思路,比如可以利用后門模型盡可能還原高質量的后門觸發器,或者檢測多個神經元聯合產生的異常行為.這些思路涉及后門攻擊的原理,將是消除后門攻擊威脅的關鍵,因此值得不斷探索.
分布式深度學習擺脫了集中式深度學習數據中心化的限制,實現了模型本地訓練,使多方參與者在不交換數據的情況下協作完成深度學習任務,降低了數據隱私泄露風險.但目前越來越多的隱私攻擊和安全攻擊時刻威脅著分布式深度學習的隱私與安全.因此,本文在國內外分布式深度學習研究調研和分析的技術上,對分布式深度學習模式進行梳理并歸納總結了不同訓練模式的特征與問題.我們對分布式深度學習面臨的隱私威脅與安全問題按照攻擊類型進行詳細的分類,并從敵手能力、防御原理和防御效果等方面分析歸納了現有的防御措施.最后闡述了目前研究中存在的問題與挑戰,并展望了其未來的發展方向.