黃湘洲 彭長(zhǎng)根,3 譚偉杰,3 李 震
1(公共大數(shù)據(jù)國(guó)家重點(diǎn)實(shí)驗(yàn)室(貴州大學(xué)) 貴陽(yáng) 550025)2(貴州大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 貴陽(yáng) 550025)3(貴州大學(xué)貴州省大數(shù)據(jù)產(chǎn)業(yè)發(fā)展應(yīng)用研究院 貴陽(yáng) 550025)4(貴州大學(xué)大數(shù)據(jù)與信息工程學(xué)院 貴陽(yáng) 550025)(729375115@qq.com)
數(shù)字經(jīng)濟(jì)時(shí)代的核心生產(chǎn)要素是數(shù)據(jù),海量數(shù)據(jù)帶來(lái)巨大價(jià)值的同時(shí)也蘊(yùn)藏著風(fēng)險(xiǎn),尤其是大數(shù)據(jù)和人工智能的深度應(yīng)用,使得數(shù)據(jù)安全形勢(shì)日益復(fù)雜且充滿挑戰(zhàn).針對(duì)模型、算法和數(shù)據(jù)的攻擊日益劇增,風(fēng)險(xiǎn)威脅不斷增強(qiáng),危害范圍急速擴(kuò)大,影響程度日益加深,防護(hù)難度顯著提升.安全風(fēng)險(xiǎn)不僅包括外部數(shù)據(jù)安全威脅,例如通過(guò)網(wǎng)絡(luò)爬蟲大量抓取數(shù)據(jù)、使用勒索病毒加密數(shù)據(jù)敲詐贖金、植入木馬病毒來(lái)竊取數(shù)據(jù)、分析泄露數(shù)據(jù)進(jìn)行撞庫(kù)攻擊等;還包括內(nèi)部數(shù)據(jù)安全風(fēng)險(xiǎn),例如運(yùn)維人員因個(gè)人原因惡意破壞數(shù)據(jù)、內(nèi)部人員竊取機(jī)密數(shù)據(jù)、研發(fā)人員在系統(tǒng)中設(shè)置后門等,數(shù)字經(jīng)濟(jì)時(shí)代的數(shù)據(jù)安全形勢(shì)呈現(xiàn)出新特點(diǎn)、新模式.數(shù)據(jù)安全是數(shù)字經(jīng)濟(jì)發(fā)展的保障,也是數(shù)據(jù)價(jià)值實(shí)現(xiàn)的前提,數(shù)據(jù)安全不僅關(guān)系到數(shù)據(jù)本身,還與信息安全、網(wǎng)絡(luò)安全、國(guó)家安全息息相關(guān).因此加強(qiáng)數(shù)據(jù)安全治理與健全和完善數(shù)據(jù)安全治理體系已刻不容緩,同時(shí)也能夠有效促進(jìn)數(shù)字經(jīng)濟(jì)的平穩(wěn)快速發(fā)展.
數(shù)據(jù)安全治理體系包括技術(shù)體系、標(biāo)準(zhǔn)和法規(guī)等多維度組織體系.其中數(shù)據(jù)安全技術(shù)體系建設(shè)包括數(shù)據(jù)資產(chǎn)梳理、數(shù)據(jù)分類分級(jí)、數(shù)據(jù)訪問(wèn)控制、數(shù)據(jù)加密、數(shù)據(jù)備份保護(hù)、隱私數(shù)據(jù)保護(hù)、數(shù)據(jù)水印和溯源、數(shù)據(jù)安全銷毀、數(shù)據(jù)安全計(jì)算等.聯(lián)邦學(xué)習(xí)作為人工智能安全的新技術(shù)模式,能夠在各個(gè)節(jié)點(diǎn)的數(shù)據(jù)在不出本地的情況下進(jìn)行聯(lián)合模型訓(xùn)練,通過(guò)不共享本地?cái)?shù)據(jù)而共享模型參數(shù),實(shí)現(xiàn)數(shù)據(jù)的可用不可見功能,同時(shí)在保障數(shù)據(jù)隱私安全的前提下實(shí)現(xiàn)數(shù)據(jù)共享與應(yīng)用,破解“數(shù)據(jù)孤島”問(wèn)題,以新的技術(shù)模式促進(jìn)數(shù)據(jù)安全治理技術(shù)的實(shí)現(xiàn).
聯(lián)邦學(xué)習(xí)在大規(guī)模實(shí)際應(yīng)用中面臨著各種安全攻擊的挑戰(zhàn),較為典型的是數(shù)據(jù)投毒攻擊和模型投毒攻擊[1-2].數(shù)據(jù)投毒攻擊向節(jié)點(diǎn)添加惡意樣本或錯(cuò)誤樣本,而模型投毒攻擊則通過(guò)控制少數(shù)節(jié)點(diǎn),向服務(wù)器更新錯(cuò)誤或者惡意的參數(shù),即可以達(dá)到影響全局模型性能與收斂的效果.聯(lián)邦學(xué)習(xí)中的模型投毒問(wèn)題在2018年由Bagdasaryan等人[3]首先提出,同時(shí)提出了一種新的模型替換方法來(lái)進(jìn)行攻擊,驗(yàn)證了該攻擊方法在標(biāo)準(zhǔn)的聯(lián)邦學(xué)習(xí)任務(wù)(如圖像分類和單詞預(yù)測(cè))中的有效性.2019年Fang等人[4]對(duì)模型投毒拜占庭聯(lián)邦學(xué)習(xí)進(jìn)行了系統(tǒng)研究,該攻擊方法能夠操縱受損節(jié)點(diǎn)上的本地模型參數(shù),使得全局模型具有較大的測(cè)試錯(cuò)誤率.2021年Zhou等人[5]提出了一種基于聯(lián)邦學(xué)習(xí)的深度模型投毒攻擊方法.利用目標(biāo)函數(shù)中的正則項(xiàng),將惡意神經(jīng)元注入神經(jīng)網(wǎng)絡(luò)的冗余空間中,該方法在實(shí)現(xiàn)較高攻擊成功率的同時(shí)能夠保持一定的隱身性.
針對(duì)聯(lián)邦學(xué)習(xí)面臨的模型投毒攻擊威脅形勢(shì),越來(lái)越多的人開始關(guān)注模型投毒防御、保護(hù)模型參數(shù)安全的研究.2018年Bhagoji等人[6]提出了基于損失的模型投毒檢測(cè)方法.中心節(jié)點(diǎn)將來(lái)自某個(gè)節(jié)點(diǎn)的更新添加到全局模型的當(dāng)前狀態(tài),如果得到的模型驗(yàn)證精度遠(yuǎn)遠(yuǎn)低于聚合所有其他更新得到的模型驗(yàn)證精度,則服務(wù)器可以將更新標(biāo)記為異常.2018年Fung等人[7]率先評(píng)估了聯(lián)邦學(xué)習(xí)在面對(duì)模型投毒攻擊時(shí)的脆弱性,隨后提出了一種新的防御檢測(cè)方法.該方法并不限制攻擊者的預(yù)期數(shù)量,對(duì)客戶端和數(shù)據(jù)的假設(shè)也更少.2020年Sun等人[8]提出了局部差分隱私聚合機(jī)制.該機(jī)制能夠減少模型通信輪次,達(dá)到較高的全局模型訓(xùn)練效果.同年Naseri等人[9]提出了局部和中央差異隱私機(jī)制.該機(jī)制對(duì)敵手的攻擊具有較好的防御效果,能夠有效降低攻擊精度.2020年Song等人[10]提出了一種無(wú)監(jiān)督域自適應(yīng)聯(lián)邦算法.該算法能夠保證半誠(chéng)實(shí)的中心服務(wù)器和惡意第三方環(huán)境下的安全性.
目前的一些防御方法通常能做到檢測(cè)攻擊行為并進(jìn)行防御,但無(wú)法解決攻擊行為已對(duì)全局模型造成的損害與影響.針對(duì)該問(wèn)題,本文提出一種動(dòng)態(tài)緩沖可回調(diào)(dynamic cacheable revocable, DCR)模型投毒防御機(jī)制.該機(jī)制通過(guò)設(shè)置動(dòng)態(tài)閾值,中心節(jié)點(diǎn)在每輪聚合參數(shù)之前先計(jì)算該輪次的閾值,包括各個(gè)節(jié)點(diǎn)在測(cè)試集上準(zhǔn)確率的閾值和鄰近節(jié)點(diǎn)距離的閾值,同時(shí)使用緩沖期機(jī)制和回調(diào)機(jī)制,相較于傳統(tǒng)的防御方法特別是基于損失的模型投毒檢測(cè)方法,在達(dá)到防御效果的同時(shí)可減少模型遭受的損害.
數(shù)據(jù)安全治理技術(shù)體系中的一個(gè)重要內(nèi)容就是數(shù)據(jù)安全計(jì)算技術(shù).數(shù)據(jù)安全計(jì)算技術(shù)能夠使得數(shù)據(jù)在隱私得到保護(hù)的情況下參與計(jì)算,發(fā)揮數(shù)據(jù)效用,這類數(shù)據(jù)安全計(jì)算技術(shù)在保障了數(shù)據(jù)計(jì)算安全性的同時(shí)滿足了數(shù)據(jù)應(yīng)用和安全合規(guī)的需求.聯(lián)邦學(xué)習(xí)是數(shù)據(jù)安全計(jì)算中的關(guān)鍵技術(shù),能夠在多個(gè)節(jié)點(diǎn)協(xié)作使用數(shù)據(jù)的過(guò)程中避免各節(jié)點(diǎn)本地?cái)?shù)據(jù)產(chǎn)生泄露的風(fēng)險(xiǎn).充分發(fā)揮各節(jié)點(diǎn)本地?cái)?shù)據(jù)的價(jià)值,保護(hù)數(shù)據(jù)安全,實(shí)現(xiàn)數(shù)據(jù)安全治理.
聯(lián)邦學(xué)習(xí)在具體的模型訓(xùn)練過(guò)程中,各個(gè)參與方節(jié)點(diǎn)并不需要將各自的本地?cái)?shù)據(jù)上傳至中心節(jié)點(diǎn),而是上傳共享模型參數(shù),最終訓(xùn)練出一個(gè)全局模型,這樣既保護(hù)了本地?cái)?shù)據(jù)隱私與安全,也發(fā)揮了本地?cái)?shù)據(jù)的效用,達(dá)到了數(shù)據(jù)安全治理的效果.聯(lián)邦學(xué)習(xí)能夠保證最終的全局模型GFed的性能VFed和集中式機(jī)器學(xué)習(xí)訓(xùn)練出的模型GSum的性能VSum之間的差距足夠小,即:
|VFed-VSum|<ε,
(1)
其中ε為任意小的正量值[11-12].
圖1 聯(lián)邦學(xué)習(xí)的訓(xùn)練過(guò)程
第1步:各節(jié)點(diǎn)上傳參數(shù)至中心節(jié)點(diǎn):
(2)
第2步:中心節(jié)點(diǎn)進(jìn)行參數(shù)聚合,得到當(dāng)前狀態(tài)的全局模型[17]:
(3)
(4)
第3步:中心節(jié)點(diǎn)將經(jīng)過(guò)聚合的參數(shù)(即全局參數(shù))發(fā)送給各節(jié)點(diǎn),各節(jié)點(diǎn)使用該參數(shù)在本地進(jìn)行該輪次的本地模型訓(xùn)練,其中ηt為t輪次時(shí)的學(xué)習(xí)率,λ為防止過(guò)擬合的正則化參數(shù),?l為損失函數(shù)的梯度[18]:
(5)
(6)
第4步:循環(huán)以上3步,直到全局模型收斂或者達(dá)到最大訓(xùn)練次數(shù),此時(shí)中心節(jié)點(diǎn)得到一個(gè)最終的全局模型:
Pc→GFed.
(7)
第5步:中心節(jié)點(diǎn)將最終的全局模型發(fā)送給各個(gè)節(jié)點(diǎn)[19-20]:
(8)
聯(lián)邦學(xué)習(xí)在數(shù)據(jù)安全治理體系下扮演著重要角色,是數(shù)據(jù)安全治理技術(shù)體系中的數(shù)據(jù)安全計(jì)算核心技術(shù).關(guān)于聯(lián)邦學(xué)習(xí)中的模型投毒攻擊問(wèn)題,目前的一些防御方法無(wú)法解決攻擊者的攻擊行為,已經(jīng)對(duì)全局模型造成一定損害與影響.針對(duì)該問(wèn)題,本文提出了DCR防御機(jī)制,下面介紹攻擊者的基本假設(shè)以及防御機(jī)制的具體運(yùn)行算法.
1) 攻擊者的目標(biāo).假定攻擊者的目標(biāo)是盡可能阻止全局模型收斂,或者使得全局模型收斂在一個(gè)壞的局部最小值[21].
2) 攻擊者的能力.假定攻擊者控制了聯(lián)邦學(xué)習(xí)系統(tǒng)中的某個(gè)節(jié)點(diǎn),可以上傳惡意參數(shù)更新進(jìn)行模型投毒攻擊,但攻擊者對(duì)中心節(jié)點(diǎn)的聚合算法并不了解,對(duì)其他節(jié)點(diǎn)的情況也不了解,攻擊者控制的節(jié)點(diǎn)不與其他節(jié)點(diǎn)串通,也沒有其他合作伙伴交換信息[22].
基于以上條件,DCR防御機(jī)制總體算法如算法1所示:
算法1.DCR防御機(jī)制.
① 中心節(jié)點(diǎn)Pc初始化模型參數(shù)ω0,并將ω0廣播給各個(gè)參與訓(xùn)練的節(jié)點(diǎn);
② FOR 全局模型迭代更新輪次t= 1,2…
DO
③Pc存儲(chǔ)當(dāng)前輪次的全局模型參數(shù);
④Pc隨機(jī)選取節(jié)點(diǎn)總數(shù)N的一個(gè)子集Ct
(Ct≤N);
⑤ FOR 所有節(jié)點(diǎn)Pi(i∈Ct)并行地 DO
⑦Pi將更新后的模型參數(shù)上傳至Pc;
⑧ END FOR
⑨Pc計(jì)算當(dāng)前輪次閾值s;
⑩Pc對(duì)所有Pi上傳的本地參數(shù)進(jìn)行計(jì)算與比較;
中心節(jié)點(diǎn)在每一輪次的迭代中會(huì)存儲(chǔ)當(dāng)前輪次的全局模型參數(shù),在對(duì)接收到的各個(gè)節(jié)點(diǎn)的本地模型參數(shù)更新進(jìn)行聚合之前先計(jì)算當(dāng)前輪次的動(dòng)態(tài)閾值,動(dòng)態(tài)閾值s的計(jì)算公式如下:
(9)
(10)
(11)
該防御機(jī)制主要有3個(gè)特點(diǎn):
1) 動(dòng)態(tài)閾值s.由于s是每一輪在對(duì)所有本地模型參數(shù)進(jìn)行聚合之前計(jì)算出來(lái)的,敵手無(wú)法先驗(yàn)地了解防御機(jī)制,提高了敵手的攻擊難度;
2) 緩沖期k.傳統(tǒng)的基于損失的模型投毒防御方法為了達(dá)到較好的防御效果,通常在某個(gè)節(jié)點(diǎn)的本地更新出現(xiàn)1次異常那么該節(jié)點(diǎn)就會(huì)被拋棄,然而由于機(jī)器學(xué)習(xí)尤其是深度學(xué)習(xí)的黑盒以及不可解釋的性質(zhì),某個(gè)節(jié)點(diǎn)可能僅僅這一輪次表現(xiàn)不好,但以后可能一直表現(xiàn)良好.傳統(tǒng)的方法可能會(huì)將并不是模型投毒節(jié)點(diǎn),而僅僅是某輪次表現(xiàn)不好的節(jié)點(diǎn)拋棄.設(shè)置一個(gè)k輪的緩沖期能夠有效降低良性節(jié)點(diǎn)被“誤殺”的風(fēng)險(xiǎn),同時(shí)模型投毒攻擊通常是持續(xù)進(jìn)行的,惡意節(jié)點(diǎn)攻擊行為的識(shí)別率也能保證.
3) 回調(diào)機(jī)制,通常意義上的模型投毒防御方法所能做到的一般在檢測(cè)或者刪除惡意節(jié)點(diǎn),但這通常是模型投毒攻擊已經(jīng)發(fā)生,全局模型已經(jīng)受到影響之后,對(duì)于惡意節(jié)點(diǎn)攻擊行為對(duì)全局模型所造成的“污染”與損失并沒有太多辦法.回調(diào)機(jī)制的設(shè)置能夠減少全局模型所遭受的負(fù)面影響,能夠在聯(lián)邦學(xué)習(xí)全局模型遭受攻擊的情形下仍能保證模型有一個(gè)較好的性能.
實(shí)驗(yàn)仿真所采用的聯(lián)邦學(xué)習(xí)開源框架是TensorFlowFederated(TFF);實(shí)驗(yàn)仿真環(huán)境是18.04.1-Ubuntu,Intel?Xeon?CPU E5-2678 v3@2.50 GH,2.50 GHz RAM 64.0 GB;數(shù)據(jù)集采用MNIST.本文分別使用DCR機(jī)制和基于損失的模型投毒防御方法來(lái)防御模型投毒攻擊,對(duì)比模型在測(cè)試集上隨著迭代輪次變化的損失函數(shù)(loss function)和準(zhǔn)確率(accuracy)變化.實(shí)驗(yàn)參數(shù)設(shè)置為N=10,k=5,實(shí)驗(yàn)結(jié)果如圖2和圖3所示.
圖2 損失函數(shù)對(duì)比
圖3 準(zhǔn)確率對(duì)比
攻擊者的模型投毒攻擊行為顯著損害了全局模型的性能,而基于損失的模型投毒防御方法雖然有一定的防御效果,但是攻擊者的模型投毒攻擊行為對(duì)全局模型所造成的損害已經(jīng)存在,最終全局模型的收斂效果不太理想.采用DCR模型投毒防御機(jī)制后,模型的損失函數(shù)與在測(cè)試集上的準(zhǔn)確率相較于基于損失的模型投毒防御方法均表現(xiàn)更好,全局模型的損失函數(shù)更小,模型的準(zhǔn)確率更高.DCR機(jī)制在實(shí)現(xiàn)防御效果的同時(shí),能夠較好地降低攻擊行為造成的損害,有效保障聯(lián)邦學(xué)習(xí)全局模型的安全與性能,實(shí)現(xiàn)數(shù)據(jù)安全治理技術(shù)體系下的數(shù)據(jù)安全計(jì)算.
數(shù)據(jù)投毒防御是數(shù)據(jù)安全治理的一個(gè)重要技術(shù),本文針對(duì)聯(lián)邦學(xué)習(xí)中模型投毒攻擊對(duì)全局模型的影響,提出了一種DCR模型投毒防御機(jī)制.該機(jī)制主要有3個(gè)特點(diǎn):動(dòng)態(tài)閾值、緩沖期、可回調(diào),提高了敵手的攻擊難度,降低了良性節(jié)點(diǎn)被“誤殺”的風(fēng)險(xiǎn),減少了全局模型所遭受的模型投毒攻擊負(fù)面影響,有效提升了聯(lián)邦學(xué)習(xí)系統(tǒng)的安全性,保護(hù)了模型的性能與數(shù)據(jù)安全.實(shí)驗(yàn)仿真驗(yàn)證了該機(jī)制的效果,為數(shù)據(jù)安全治理下的數(shù)據(jù)安全計(jì)算提供了一種思路.未來(lái)的研究方向是綜合考慮數(shù)據(jù)安全治理體系下聯(lián)邦學(xué)習(xí)面臨的數(shù)據(jù)安全威脅與挑戰(zhàn),能有效應(yīng)對(duì)多種攻擊與風(fēng)險(xiǎn)行為,同時(shí)保障防御性能與數(shù)據(jù)安全,充分發(fā)揮數(shù)據(jù)效用,實(shí)現(xiàn)數(shù)據(jù)安全計(jì)算,達(dá)到良好的數(shù)據(jù)安全治理效果.下一步將繼續(xù)拓展人工智能中數(shù)據(jù)安全治理技術(shù)研究,包括訓(xùn)練數(shù)據(jù)的驗(yàn)證和決策結(jié)果評(píng)估等,以及提升虛假數(shù)據(jù)偽造與合成和對(duì)抗樣本攻擊的防御技術(shù)能力等研究,建立機(jī)器學(xué)習(xí)等數(shù)據(jù)安全治理技術(shù)保障體系.