魏立斐 陳聰聰 張 蕾 李夢(mèng)思 陳玉嬌 王 勤
(上海海洋大學(xué)信息學(xué)院 上海 201306)
依托于云計(jì)算、物聯(lián)網(wǎng)、大數(shù)據(jù)技術(shù)的發(fā)展,以數(shù)據(jù)挖掘和深度學(xué)習(xí)為代表的人工智能技術(shù)正在改變?nèi)祟惿鐣?huì)生活,并成為先進(jìn)科技應(yīng)用的代表和社會(huì)關(guān)注的熱點(diǎn).作為引領(lǐng)未來的戰(zhàn)略性技術(shù),人工智能技術(shù)被世界各國(guó)紛紛提升為發(fā)展國(guó)家競(jìng)爭(zhēng)力、維護(hù)國(guó)家安全的重大戰(zhàn)略.
機(jī)器學(xué)習(xí)是一種實(shí)現(xiàn)人工智能的方式,是近些年主要研究的領(lǐng)域.目前機(jī)器學(xué)習(xí)方案在很多領(lǐng)域都有著成熟的應(yīng)用,如天氣預(yù)報(bào)、能源勘探、環(huán)境監(jiān)測(cè)等,通過收集相關(guān)數(shù)據(jù)進(jìn)行分析學(xué)習(xí),可以提高這些工作的準(zhǔn)確性;還有如在垃圾郵件檢測(cè)、個(gè)性化廣告推薦、信用卡欺詐檢測(cè)、自動(dòng)駕駛、人臉識(shí)別、自然語言處理、語音識(shí)別、搜索引擎的優(yōu)化等各個(gè)領(lǐng)域,機(jī)器學(xué)習(xí)都扮演著重要的角色.然而,蓬勃發(fā)展的機(jī)器學(xué)習(xí)技術(shù)使數(shù)據(jù)安全與隱私面臨更加嚴(yán)峻的挑戰(zhàn),因?yàn)闄C(jī)器學(xué)習(xí)的更精準(zhǔn)模型需要大量的訓(xùn)練數(shù)據(jù)為支撐.
自2013年斯諾登的“棱鏡”事件以來,全球信息泄露規(guī)模連年加劇,引起社會(huì)的廣泛關(guān)注.2016年9月Yahoo被曝出曾被黑客盜取了至少5億個(gè)用戶賬號(hào)信息;2017年微軟Skype軟件服務(wù)遭受DDOS攻擊,導(dǎo)致用戶無法通過平臺(tái)進(jìn)行通信;2018年3月美國(guó)《紐約時(shí)報(bào)》和英國(guó)《衛(wèi)報(bào)》均報(bào)道:劍橋分析(Cambridge Analytica)數(shù)據(jù)分析公司在未經(jīng)用戶許可的情況下,盜用了高達(dá)5千萬個(gè)Facebook的用戶個(gè)人資料[1].2019年美國(guó)網(wǎng)絡(luò)安全公司UpGuard發(fā)現(xiàn)上億條保存在亞馬遜AWS云計(jì)算服務(wù)器上的Facebook用戶信息記錄,可被任何人輕易地獲??;IBM在未經(jīng)當(dāng)事人許可的情況下,從網(wǎng)絡(luò)圖庫(kù)Flickr上獲得了接近100萬張照片,借此訓(xùn)練人臉識(shí)別程序,并與外部研究人員分享[2].2020年4月《華盛頓郵報(bào)》報(bào)道視頻會(huì)議軟件Zoom存在的重大安全漏洞:數(shù)以萬計(jì)的私人Zoom視頻被上傳至公開網(wǎng)頁(yè),任何人都可在線圍觀,很多視頻都包含個(gè)人可識(shí)別信息,甚至是在家里進(jìn)行的私密談話[3].信息泄露的途徑主要分為內(nèi)部人員或第三方合作伙伴泄露、信息系統(tǒng)無法杜絕的漏洞、機(jī)構(gòu)本身的防護(hù)機(jī)制不健全、對(duì)數(shù)據(jù)的重要程度不敏感,以及對(duì)安全配置的疏忽大意等.可見,數(shù)據(jù)隱私的泄露已不單單是滿足某些外部人員好奇心所驅(qū)使,而是已成為一種重要的商業(yè)獲利而被廣泛關(guān)注,其中不乏內(nèi)外勾結(jié)、合謀獲取用戶的隱私等行為.
由此可見,機(jī)器學(xué)習(xí)中的安全與隱私問題已經(jīng)非常嚴(yán)重.目前,研究人員提出了許多解決機(jī)器學(xué)習(xí)中的隱私問題的方法.本文將全面介紹機(jī)器學(xué)習(xí)中的安全問題和隱私威脅,并重點(diǎn)介紹隱私保護(hù)方法.
機(jī)器學(xué)習(xí)(machine learning, ML)是人工智能的一個(gè)分支,主要是研究如何從經(jīng)驗(yàn)學(xué)習(xí)中提升算法的性能[4],它是一種數(shù)據(jù)驅(qū)動(dòng)預(yù)測(cè)的模型.它可以自動(dòng)地利用樣本數(shù)據(jù)(即訓(xùn)練數(shù)據(jù))通過“學(xué)習(xí)”得到一個(gè)數(shù)學(xué)模型,并利用這個(gè)數(shù)學(xué)模型對(duì)未知的數(shù)據(jù)進(jìn)行預(yù)測(cè).目前機(jī)器學(xué)習(xí)被廣泛應(yīng)用于數(shù)據(jù)挖掘[5-6]、計(jì)算機(jī)視覺[7-8]、電子郵件過濾[9-10]、檢測(cè)信用卡欺詐[11-13]和醫(yī)學(xué)診斷[14-15]等領(lǐng)域.
機(jī)器學(xué)習(xí)主要可以分為監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)和強(qiáng)化學(xué)習(xí)[16],總結(jié)如表1所示.監(jiān)督學(xué)習(xí)就是給定一個(gè)包含1個(gè)或多個(gè)輸入和輸出(標(biāo)簽)的數(shù)據(jù)集,通過監(jiān)督學(xué)習(xí)算法得到一個(gè)數(shù)學(xué)模型,該數(shù)學(xué)模型可以用來對(duì)給定的數(shù)據(jù)進(jìn)行預(yù)測(cè).常見的監(jiān)督學(xué)習(xí)算法包括支持向量機(jī)、神經(jīng)網(wǎng)絡(luò)、回歸分析和分類等,常用于對(duì)電子郵件進(jìn)行過濾等應(yīng)用.無監(jiān)督學(xué)習(xí)是給定無人為標(biāo)記標(biāo)簽的數(shù)據(jù)集,通過無監(jiān)督學(xué)習(xí)算法可以識(shí)別出數(shù)據(jù)的共性,再根據(jù)數(shù)據(jù)的共性對(duì)每個(gè)數(shù)據(jù)是否存在此類共性做出反應(yīng).常見的無監(jiān)督學(xué)習(xí)算法包括聚類,通常無監(jiān)督學(xué)習(xí)用于聚類分析、關(guān)聯(lián)規(guī)則和維度縮減等.監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)的區(qū)別就是訓(xùn)練數(shù)據(jù)集的目標(biāo)是否標(biāo)記(含有標(biāo)簽)過.半監(jiān)督學(xué)習(xí)介于監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)之間,當(dāng)未標(biāo)記的數(shù)據(jù)與少量標(biāo)記的數(shù)據(jù)結(jié)合使用時(shí),可以大大提高模型的準(zhǔn)確性.而強(qiáng)化學(xué)習(xí)強(qiáng)調(diào)如何基于環(huán)境而行動(dòng)(與環(huán)境進(jìn)行交互或者說是利用獎(jiǎng)懲函數(shù)進(jìn)行訓(xùn)練),以取得最大化的預(yù)期利益.常見強(qiáng)化學(xué)習(xí)算法如Q-Learning[17]等,該算法常應(yīng)用于自動(dòng)駕駛、游戲等領(lǐng)域.
Table 1 Machine Learning Classification表1 機(jī)器學(xué)習(xí)分類
在機(jī)器學(xué)習(xí)安全中,常常利用敵手模型來刻畫一個(gè)敵手的強(qiáng)弱.Barreno等人[18]在2010年考慮了攻擊者能力、攻擊者目標(biāo)的敵手模型.Biggio等人[19]2013年在Barreno等人的基礎(chǔ)上完善,提出了包含敵手目標(biāo)、敵手知識(shí)、敵手能力和敵手策略的敵手模型,這也是目前普遍接受的敵手模型或攻擊者模型.從這4個(gè)維度刻畫敵手,能夠比較系統(tǒng)地描述出敵手的威脅程度[19-21].
1.2.1 敵手目標(biāo)
敵手期望達(dá)到的破壞程度和專一性稱為敵手目標(biāo).破壞程度包括完整性、可用性和隱私性,專一性包括針對(duì)性和非針對(duì)性[19].破壞完整性目標(biāo)就是未經(jīng)過數(shù)據(jù)擁有者的同意對(duì)數(shù)據(jù)進(jìn)行增刪、修改或破壞,如對(duì)個(gè)人的醫(yī)療數(shù)據(jù)進(jìn)行篡改,最后將訓(xùn)練得到的模型進(jìn)行預(yù)測(cè)得到錯(cuò)誤的疾病類型.破壞可用性目標(biāo)就是使目標(biāo)服務(wù)不可用,如在訓(xùn)練數(shù)據(jù)集中注入大量不良數(shù)據(jù)使訓(xùn)練出來的模型無用[22],從而達(dá)到服務(wù)不可用的目的.破壞隱私性目標(biāo)可以理解為竊取隱私數(shù)據(jù),如將訓(xùn)練數(shù)據(jù)集的信息竊取等.而專一性中的針對(duì)性目標(biāo)和非針對(duì)性目標(biāo)則是可以產(chǎn)生針對(duì)性的目標(biāo)破壞或者非針對(duì)性的破壞,如對(duì)醫(yī)療數(shù)據(jù)可以產(chǎn)生針對(duì)性的竊取某個(gè)客戶的隱私信息或者對(duì)數(shù)據(jù)的完整性產(chǎn)生非針對(duì)性的破壞[23].
1.2.2 敵手知識(shí)
敵手知識(shí)是指敵手對(duì)目標(biāo)模型或目標(biāo)環(huán)境擁有的信息多少,包括模型的訓(xùn)練數(shù)據(jù)、模型結(jié)構(gòu)及參數(shù)和通過模型得出的信息等.根據(jù)敵手擁有的信息量,可以將敵手擁有的知識(shí)稱為有限知識(shí)和完全知識(shí)[21].而在機(jī)器學(xué)習(xí)的攻擊中,可以根據(jù)敵手掌握的知識(shí)量將攻擊方式劃分為白盒攻擊和黑盒攻擊.白盒攻擊是敵手掌握模型的一部分?jǐn)?shù)據(jù)集或者完全數(shù)據(jù)集,了解模型結(jié)構(gòu)、參數(shù)以及一些其他信息.而黑盒攻擊則是敵手不了解模型的相關(guān)信息,但是敵手可以訪問目標(biāo)模型,因此敵手可以通過精心設(shè)計(jì)的輸入來根據(jù)模型輸出推斷模型的信息[24].
1.2.3 敵手能力
敵手能力是指敵手對(duì)訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)的控制能力,可以將敵手對(duì)數(shù)據(jù)的影響定義為誘發(fā)性的(對(duì)數(shù)據(jù)集有影響)或者探索性的(對(duì)數(shù)據(jù)集無影響).或者將敵手能力定義為敵手是否可以干預(yù)模型訓(xùn)練、訪問訓(xùn)練數(shù)據(jù)集、收集中間結(jié)果等.根據(jù)敵手對(duì)數(shù)據(jù)、模型的控制能力可進(jìn)一步將敵手分為強(qiáng)敵手和弱敵手[20].強(qiáng)敵手是指敵手可以一定程度地干預(yù)模型訓(xùn)練、訪問訓(xùn)練數(shù)據(jù)集和收集中間結(jié)果等;而弱敵手則只能通過攻擊手段獲取模型信息或者訓(xùn)練數(shù)據(jù)信息[25].
1.2.4 敵手策略
敵手策略是指敵手根據(jù)自身的目的、知識(shí)和能力為了對(duì)目標(biāo)達(dá)到最優(yōu)的結(jié)果所采取的攻擊方式.敵手策略通常在機(jī)器學(xué)習(xí)的不同階段采用不同的攻擊方式,如在訓(xùn)練階段常采用的攻擊方式為投毒攻擊,在預(yù)測(cè)階段常采取的攻擊方式為對(duì)抗攻擊、隱私攻擊等.
機(jī)器學(xué)習(xí)目前廣泛應(yīng)用于數(shù)據(jù)挖掘[5-6]、計(jì)算機(jī)視覺[7-8]、電子郵件過濾[9-10]、檢測(cè)信用卡欺詐[11-13]和醫(yī)學(xué)診斷[14-15]、生物特征識(shí)別[26-28]、金融市場(chǎng)分析[29]等領(lǐng)域.機(jī)器學(xué)習(xí)在各個(gè)領(lǐng)域廣泛使用的同時(shí)也帶來了很多安全及隱私威脅,如在2019年Kyushu大學(xué)的Su等人[30]發(fā)現(xiàn)僅更改1個(gè)像素就可以欺騙深度學(xué)習(xí)的算法;研究人員還發(fā)現(xiàn)了可以干擾道路交通標(biāo)志牌的方法,使自動(dòng)駕駛的汽車進(jìn)行錯(cuò)誤標(biāo)志牌劃分[31-32];在2019年Heaven[33]發(fā)現(xiàn)對(duì)神經(jīng)網(wǎng)絡(luò)(neural network, NN)的對(duì)抗攻擊可以使攻擊者將自己的算法注入到目標(biāo)AI系統(tǒng)中.
為了破壞機(jī)器學(xué)習(xí)模型,攻擊者可以破壞其機(jī)密性(confidentiality)、完整性(integrity)和可用性(availability),這些性質(zhì)構(gòu)成了CIA安全模型.在該安全模型中[22],針對(duì)機(jī)密性的攻擊目標(biāo)是從ML系統(tǒng)中獲取敏感數(shù)據(jù),如攻擊者想要知道某個(gè)特定的數(shù)據(jù)是否屬于某個(gè)特定的訓(xùn)練數(shù)據(jù)集,如攻擊者可以根據(jù)出院的信息(包含患者在各個(gè)醫(yī)院呆過的時(shí)間、治療方案等)[34]獲取敏感數(shù)據(jù).針對(duì)完整性的攻擊目標(biāo)比較多,如使目標(biāo)分類錯(cuò)誤(將“惡意類”分類為“良好類”)、針對(duì)性的錯(cuò)誤分類(如將停車標(biāo)志分類為限速標(biāo)志等)、誤分類(將某個(gè)類分到另一個(gè)類里面)、置信度降低(降低模型的置信度)等.針對(duì)可用性的攻擊目標(biāo)是降低ML系統(tǒng)的可用性,如在訓(xùn)練數(shù)據(jù)集中注入大量不良數(shù)據(jù),使訓(xùn)練出來的模型無用.如果能夠保證CIA模型的這3個(gè)性質(zhì),那么這個(gè)系統(tǒng)或者協(xié)議將是安全的.
機(jī)器學(xué)習(xí)主要分為訓(xùn)練和預(yù)測(cè)2個(gè)階段.一般在訓(xùn)練階段前面有數(shù)據(jù)收集、清洗等工作,在訓(xùn)練階段和預(yù)測(cè)階段中間有測(cè)試階段等,但是主要的工作還是在訓(xùn)練和預(yù)測(cè)階段.常見的安全及隱私威脅也在訓(xùn)練和預(yù)測(cè)階段出現(xiàn),如圖1所示:
本文將從數(shù)據(jù)訓(xùn)練階段和數(shù)據(jù)預(yù)測(cè)階段分別論述機(jī)器學(xué)習(xí)中存在的安全及隱私威脅.其中,在訓(xùn)練階段常見的安全及隱私威脅包含訓(xùn)練數(shù)據(jù)的隱私泄露和投毒攻擊,在預(yù)測(cè)階段常見的安全及隱私威脅包含對(duì)抗攻擊、隱私攻擊和預(yù)測(cè)數(shù)據(jù)的隱私泄露[22].
在數(shù)據(jù)訓(xùn)練階段存在的隱私威脅主要為訓(xùn)練數(shù)據(jù)集的隱私泄露.在訓(xùn)練數(shù)據(jù)時(shí),往往采用集中式學(xué)習(xí)(centralized learning)、分布式學(xué)習(xí)(distributed learning)或者是聯(lián)邦學(xué)習(xí)(federated learning)的方式[20].其中,集中式學(xué)習(xí)[35]的方式就是將各方的訓(xùn)練數(shù)據(jù)集中到一臺(tái)中央服務(wù)器進(jìn)行學(xué)習(xí);分布式學(xué)習(xí)[36]的方式就是將訓(xùn)練數(shù)據(jù)以及計(jì)算都分布到各個(gè)服務(wù)器節(jié)點(diǎn)進(jìn)行學(xué)習(xí),最后由中央服務(wù)器進(jìn)行整合;聯(lián)邦學(xué)習(xí)[37-39]的方式就是在保持訓(xùn)練數(shù)據(jù)集的分散情況下客戶端與中央服務(wù)器聯(lián)合訓(xùn)練一個(gè)模型.
聯(lián)邦學(xué)習(xí)和分布式學(xué)習(xí)的方式類似,區(qū)別在于聯(lián)邦學(xué)習(xí)沒有數(shù)據(jù)收集階段,分布式學(xué)習(xí)是首先進(jìn)行數(shù)據(jù)收集,為了加快訓(xùn)練速度,將數(shù)據(jù)分發(fā)給多個(gè)服務(wù)器,然后由中央服務(wù)器協(xié)調(diào)進(jìn)行迭代,從而訓(xùn)練出最終模型;而聯(lián)邦學(xué)習(xí)是在各客戶端本地進(jìn)行學(xué)習(xí)得到子模型[40],然后交由中央服務(wù)器聚合得到最終模型.3種形式的學(xué)習(xí)如圖2所示.
Fig. 2 The schematic diagram of three learning methods[20]圖2 3種學(xué)習(xí)方式示意圖[20]
根據(jù)這3種學(xué)習(xí)的方式,不論從數(shù)據(jù)收集還是訓(xùn)練方式的角度出發(fā),在模型訓(xùn)練階段都不可避免會(huì)造成數(shù)據(jù)隱私的泄露.
在數(shù)據(jù)訓(xùn)練階段存在的安全威脅主要為投毒攻擊(poisoning attack)[41],投毒攻擊的例子可以追溯到2004年[42]和2005年[43]逃避垃圾郵件分類器的例子.投毒攻擊就是敵手可以通過修改、刪除或注入不良數(shù)據(jù),改變?cè)袛?shù)據(jù)集,使模型訓(xùn)練的結(jié)果產(chǎn)生偏差.最常見的投毒攻擊就是使模型邊界發(fā)生偏移,如圖3所示:
Fig. 3 The linear SVM classifier decision boundary[44]圖3 線性SVM分類器決策邊界[44]
2.1.1 訓(xùn)練數(shù)據(jù)的隱私泄露
訓(xùn)練數(shù)據(jù)的隱私泄露,就是在模型訓(xùn)練時(shí)可能發(fā)生數(shù)據(jù)泄露問題.目前大多數(shù)公司或者模型提供商都是使用集中式學(xué)習(xí)的方式訓(xùn)練模型,因此需要大規(guī)模的收集用戶數(shù)據(jù).但是對(duì)于收集用戶數(shù)據(jù)時(shí)保護(hù)用戶隱私?jīng)]有一個(gè)統(tǒng)一的標(biāo)準(zhǔn)[21],所以在收集用戶數(shù)據(jù)時(shí)可能會(huì)造成用戶的數(shù)據(jù)隱私泄露的問題.在2018年圖靈獎(jiǎng)得主Goldwasser[45]在密碼學(xué)頂級(jí)會(huì)議CRYPTO 2018上指出了安全機(jī)器學(xué)習(xí)中密碼學(xué)的2個(gè)主要發(fā)展方向:分布式模型訓(xùn)練和分布式預(yù)測(cè),通過安全多方計(jì)算(secure multi-party computation, SMC)實(shí)現(xiàn)隱私保護(hù)機(jī)器學(xué)習(xí).
在大數(shù)據(jù)驅(qū)動(dòng)的云計(jì)算網(wǎng)絡(luò)服務(wù)模式下,Jiang等人在國(guó)際頂級(jí)安全會(huì)議ACM CCS 2018上提出了基于機(jī)器學(xué)習(xí)的密態(tài)數(shù)據(jù)計(jì)算模型[46],具體是由數(shù)據(jù)擁有者、模型提供商和云服務(wù)提供商組成.其中,數(shù)據(jù)擁有者對(duì)數(shù)據(jù)的擁有權(quán)和管理權(quán)是分離的;而云服務(wù)提供商也通常被假定為誠(chéng)實(shí)且好奇(半可信)的,即在誠(chéng)實(shí)運(yùn)行設(shè)定協(xié)議的基礎(chǔ)上,會(huì)最大程度發(fā)掘數(shù)據(jù)中的隱私信息,且該過程對(duì)數(shù)據(jù)擁有者是透明的.
使用機(jī)器學(xué)習(xí)對(duì)海量數(shù)據(jù)進(jìn)行信息挖掘和學(xué)習(xí),在安全模型增加模型提供商和云服務(wù)提供商后也變得更加復(fù)雜,這就需要考慮多方參與情形,構(gòu)建隱私增強(qiáng)保護(hù)的數(shù)據(jù)計(jì)算模型和協(xié)議.
具體來說,在密態(tài)數(shù)據(jù)計(jì)算模型已經(jīng)衍生出眾多多方場(chǎng)景,例如:1)多方云服務(wù)提供商.數(shù)據(jù)擁有者通過秘密共享的方式將隱私數(shù)據(jù)信息分別分散到各個(gè)服務(wù)器(如亞馬遜、微軟、谷歌等多個(gè)服務(wù)提供商)上進(jìn)行計(jì)算,各個(gè)服務(wù)器分別返回相應(yīng)的計(jì)算結(jié)果,多個(gè)云服務(wù)提供商之間不進(jìn)行主動(dòng)合謀,最終由數(shù)據(jù)擁有者進(jìn)行匯聚并得到結(jié)果.Shokri等人[47]提出了與不同數(shù)據(jù)持有者合作的機(jī)器學(xué)習(xí)協(xié)議、分布式選擇性隨機(jī)梯度下降算法,以便在訓(xùn)練數(shù)據(jù)不共享的前提下展開聯(lián)合機(jī)器學(xué)習(xí)模型的訓(xùn)練.在學(xué)習(xí)模型和學(xué)習(xí)目標(biāo)協(xié)調(diào)的情況下,參與者可以訓(xùn)練自己的局部模型,并有選擇地在每個(gè)局部隨機(jī)梯度下降階段異步交換其梯度和參數(shù).2)多方數(shù)據(jù)擁有者.當(dāng)前的企業(yè)組織多采用協(xié)作學(xué)習(xí)模型[48]或聯(lián)邦學(xué)習(xí)模型[49].比如,分發(fā)相關(guān)疾病疫苗時(shí),醫(yī)療組織希望基于大數(shù)據(jù)利用機(jī)器學(xué)習(xí)確定高爆發(fā)的地區(qū),這就需要不同區(qū)域醫(yī)療組織的數(shù)據(jù),但往往處于法律和隱私考量,數(shù)據(jù)無法完成及時(shí)共享.
2.1.2 投毒攻擊
投毒攻擊有2個(gè)目標(biāo):1)破壞完整性;2)破壞可用性.破壞完整性目標(biāo)就是敵手通過選擇一個(gè)精心構(gòu)造的惡意數(shù)據(jù)注入你的訓(xùn)練數(shù)據(jù)集中,通過這個(gè)精心構(gòu)造的惡意數(shù)據(jù),敵手可以得到一個(gè)“后門”,因此破壞完整性目標(biāo)的投毒攻擊也稱為“后門”攻擊.破壞可用性目標(biāo)就是敵手通過注入很多不良數(shù)據(jù)到你的訓(xùn)練數(shù)據(jù)集,使得到的模型邊界基本上變得無用[50].下面就2種不同的投毒攻擊進(jìn)行介紹.
2.1.2.1 破壞完整性目標(biāo)的投毒攻擊
對(duì)于破壞完整性目標(biāo)的投毒攻擊,也稱“后門”攻擊.對(duì)于此類攻擊,模型擁有者可能無法發(fā)現(xiàn)模型已經(jīng)被植入“后門”,但是敵手可以利用這個(gè)“后門”達(dá)到他的目的.例如一個(gè)敵手使分類器將含有某些特殊字符的文本劃分為正常文本,那么敵手可以在自己編寫的惡意軟件中插入某些特殊字符完成任何攻擊.這種攻擊帶來的后果非常嚴(yán)重,它甚至可以使ML系統(tǒng)完全被敵手控制[50].
Liu等人[51]提出了一種針對(duì)神經(jīng)網(wǎng)絡(luò)的攻擊方法.該方法具有很強(qiáng)的隱蔽性,他們首先利用逆神經(jīng)網(wǎng)絡(luò)生成一個(gè)通用的觸發(fā)器,然后用反向工程的訓(xùn)練數(shù)據(jù)重新訓(xùn)練模型,從而向模型注入惡意行為.惡意行為僅由帶有觸發(fā)器的輸入激活.使用該攻擊模型,可以造成嚴(yán)重的后果,如在自動(dòng)駕駛領(lǐng)域可造成交通事故等[50].
2.1.2.2 破壞可用性目標(biāo)的投毒攻擊
破壞可用性目標(biāo)的投毒攻擊主要是使模型不可用.該類攻擊主要是通過破壞原來訓(xùn)練數(shù)據(jù)的概率分布,使得訓(xùn)練出的模型決策邊界偏離或者使得模型精度降低.在現(xiàn)實(shí)生活中,訓(xùn)練數(shù)據(jù)一般都是保密的,并且不會(huì)輕易被攻擊者修改、刪除等.但是因?yàn)閿?shù)據(jù)的不斷更新,模型也需要不斷更新,這就使得攻擊者可以注入大量的惡意數(shù)據(jù),達(dá)到使模型不可用的目的.如生物特征識(shí)別、搜索引擎、電子郵件過濾、金融市場(chǎng)分析等領(lǐng)域的模型,需要進(jìn)行定期更新,因此這類系統(tǒng)面臨的破壞可用性的投毒攻擊風(fēng)險(xiǎn)也更大[23].
Steinhardt等人[52]的研究表示,即使擁有強(qiáng)大的安全防御方案,在訓(xùn)練數(shù)據(jù)集中注入3%的中毒數(shù)據(jù)也可以使得模型的訓(xùn)練誤差從12%提高到23%.目前已經(jīng)存在針對(duì)情緒分析[53]、惡意軟件聚類[54]、惡意軟件檢測(cè)[55]、蠕蟲簽名檢測(cè)[56]、入侵檢測(cè)[57-59]等投毒攻擊的研究.
在模型訓(xùn)練完成后,通常會(huì)將訓(xùn)練好的模型用于預(yù)測(cè)特定的結(jié)果,以便人們做出高效的決策.因此,在預(yù)測(cè)階段被敵手惡意攻擊產(chǎn)生的后果往往會(huì)更加嚴(yán)重.預(yù)測(cè)階段存在的安全及隱私威脅主要可以分為對(duì)抗攻擊、隱私攻擊和預(yù)測(cè)數(shù)據(jù)的泄露.其中,機(jī)器學(xué)習(xí)中的安全威脅為對(duì)抗攻擊(adversarial attack),而隱私威脅則是隱私攻擊(privacy attack).
2.2.1 對(duì)抗攻擊
對(duì)抗攻擊也稱逃逸攻擊(evasion attack)[19,60-61],是指敵手在模型原始輸入上添加對(duì)抗擾動(dòng)構(gòu)建對(duì)抗樣本(adversarial examples)從而使模型對(duì)預(yù)測(cè)結(jié)果或者分類結(jié)果產(chǎn)生偏差.例如,垃圾郵件發(fā)送者經(jīng)常通過混淆垃圾郵件和惡意軟件代碼的內(nèi)容來逃避檢測(cè),使得他們的垃圾郵件或者惡意軟件代碼是合法的.對(duì)抗攻擊的過程中,選擇和產(chǎn)生對(duì)抗擾動(dòng)是非常關(guān)鍵的,對(duì)抗擾動(dòng)一般是微小的并且有能力使模型產(chǎn)生錯(cuò)誤輸出.
2013年Szegedy等人[62]首次提出了對(duì)抗樣本的概念;之后Goodfellow等人[63]最早提出了對(duì)抗攻擊的防御方法,他們提出了一種快速梯度符號(hào)(fast gradient sign method, FGSM)的方法來生成對(duì)抗樣本,F(xiàn)GSM用于擾動(dòng)模型的輸入;Moosavi-Dezfooli等人[64]基于迭代且線性近似的方案提出了一種計(jì)算對(duì)抗樣本的方法DeepFool,他們利用DeepFool來更精確地生成對(duì)抗樣本進(jìn)行對(duì)抗訓(xùn)練可以有效提高分類器的魯棒性;在2016年P(guān)apernot等人[65]提出了JSMA算法,JSMA構(gòu)建一種針對(duì)性更強(qiáng)的對(duì)抗性樣例;2017年Carlini等人[66]提出了一種更加高效的方法產(chǎn)生對(duì)抗樣本;2020年Ru等人[67]將貝葉斯優(yōu)化與貝葉斯模型選擇結(jié)合優(yōu)化對(duì)抗擾動(dòng)和搜索空間的最佳降維程度,提高模型的魯棒性;同年Zhou等人[68]提出了一種不需真實(shí)數(shù)據(jù)的替身模型訓(xùn)練的方法,他們表明該方法在黑盒攻擊時(shí)具有較好的效果.
2.2.2 隱私攻擊
隱私攻擊是專注于隱私的一類攻擊,包括模型的隱私和數(shù)據(jù)的隱私.其中模型隱私包括模型參數(shù)信息、模型結(jié)構(gòu)、模型本身等關(guān)于模型的隱私信息,數(shù)據(jù)的隱私包括訓(xùn)練模型所用的數(shù)據(jù)集等.因此,總結(jié)常見的隱私攻擊類型,可以將針對(duì)模型隱私的攻擊稱為模型提取攻擊(model extraction attack),將針對(duì)數(shù)據(jù)隱私的攻擊稱為數(shù)據(jù)提取攻擊(data extrac-tion attack)和成員推理攻擊(membership inference attack).
2.2.2.1 模型提取攻擊
模型提取攻擊的目的就是敵手通過對(duì)已經(jīng)訓(xùn)練好的模型進(jìn)行應(yīng)用程序接口(application programming interface, API)查詢來非法竊取模型參數(shù)、模型結(jié)構(gòu),構(gòu)建一個(gè)替代模型甚至非法獲取模型本身的一種攻擊方式[69],其流程圖如圖4所示.ML系統(tǒng)中的模型是非常有價(jià)值的一部分.首先,對(duì)于一個(gè)組織、機(jī)構(gòu)或者公司來說,模型的訓(xùn)練過程可能涉及到大量的數(shù)據(jù),這些數(shù)據(jù)可能是組織、機(jī)構(gòu)或者公司通過很大的代價(jià)獲得并處理的,然后經(jīng)過大量的時(shí)間和金錢來訓(xùn)練模型[70].其次,敵手可以通過模型提取攻擊來獲取模型參數(shù)、模型結(jié)構(gòu)等信息,敵手獲得這些信息之后可以更加方便地實(shí)施投毒攻擊、對(duì)抗攻擊等惡意攻擊.因此,一旦模型泄露,可能對(duì)這些組織、機(jī)構(gòu)或者公司帶來巨大的損失.
Tramer等人[69]證明了模型提取攻擊對(duì)支持向量機(jī)、決策樹、神經(jīng)網(wǎng)絡(luò)在內(nèi)的大多數(shù)算法都有非常好的效果,并且表明對(duì)于1個(gè)N維模型,理論上只需要通過N+1次查詢就能夠提取該模型.Shi等人[71]通過深度學(xué)習(xí)高精度地提取了樸素貝葉斯和SVM分類器,并可以通過獲取到的信息重構(gòu)一個(gè)等價(jià)的模型.Wang等人[72]提出一種針對(duì)超參數(shù)攻擊的方法,通過實(shí)驗(yàn)表明,該方法使用了線性回歸、邏輯回歸、支持向量機(jī)和神經(jīng)網(wǎng)絡(luò)等算法,成功獲取模型的超參數(shù).
Fig. 4 The diagram of model extraction attack圖4 模型提取攻擊流程圖
2.2.2.2 數(shù)據(jù)提取攻擊
數(shù)據(jù)提取攻擊也稱模型逆向攻擊(model inver-sion attack),由Fredrikson等人[73]首次提出,是指敵手通過訪問模型API,通過一系列的查詢來獲取模型訓(xùn)練數(shù)據(jù)里的隱私數(shù)據(jù)的一種攻擊手段.數(shù)據(jù)提取攻擊造成的隱私數(shù)據(jù)泄露可能會(huì)造成巨大的威脅,如針對(duì)訓(xùn)練的模型提取了病人的基因組信息[74],并且可以使藥物錯(cuò)配,從而導(dǎo)致生命威脅.
Fredrikson等人[73]通過訓(xùn)練好的模型,成功通過數(shù)據(jù)提取攻擊重構(gòu)了人臉圖像;Ateniese等人[75]構(gòu)建了一種分類器使它可以攻擊其他分類器并獲取訓(xùn)練數(shù)據(jù);Song等人[76]證明了訓(xùn)練好的模型會(huì)“記憶”大量隱私信息,如果存在惡意ML算法的模型訓(xùn)練者,那么模型可能泄露訓(xùn)練數(shù)據(jù)集的信息;Carlini等人[77]描述了一種可以提取隱私信息的算法,他們通過不斷查詢模型來獲取如信用卡號(hào)碼、ID號(hào)碼等隱私信息.
2.2.2.3 成員推理攻擊
成員推理攻擊指敵手通過訪問模型API獲取足夠數(shù)據(jù),然后構(gòu)建一些“影子”模型來模仿目標(biāo)模型,最后通過構(gòu)建一個(gè)攻擊模型來判斷某些特定的數(shù)據(jù)是否在訓(xùn)練數(shù)據(jù)集中[34].成員推理攻擊也可能造成個(gè)人敏感數(shù)據(jù)的泄露,如Shokri等人[34]通過成員推理攻擊成功判斷了特定病人是否已出院.
Pyrgelis等人[78]對(duì)集合數(shù)據(jù)發(fā)起成員推理攻擊,從而確定特定的用戶是否在集合數(shù)據(jù)中;Yeom等人[79]的研究表明,不管模型穩(wěn)定的算法還是容易過度擬合的算法,都容易受到成員推理攻擊;Song等人[80]設(shè)計(jì)了一種可審計(jì)的自然語言文本深度學(xué)習(xí)模型,用于檢測(cè)是否使用特定用戶的文本數(shù)據(jù)來訓(xùn)練預(yù)言模型.Truex等人[81]證明了ML模型何時(shí)以及為什么容易受到成員推理攻擊;Hayes等人[82]通過生成對(duì)抗模型(generative adversarial network, GAN)檢測(cè)過擬合和識(shí)別出訓(xùn)練數(shù)據(jù)中的一部分,并利用鑒別者的能力了解分布的統(tǒng)計(jì)差異,在白盒攻擊情況下,100%推斷出哪些樣本用于訓(xùn)練模型;在黑盒攻擊情況下,成功率也達(dá)到了80%.
2.2.3 預(yù)測(cè)數(shù)據(jù)的隱私泄露
預(yù)測(cè)數(shù)據(jù)的隱私問題與訓(xùn)練階段的隱私問題類似,主要是數(shù)據(jù)的隱私泄露,但預(yù)測(cè)數(shù)據(jù)的泄露主要發(fā)生在人們利用模型進(jìn)行預(yù)測(cè)時(shí).對(duì)于惡意的攻擊者,可能會(huì)獲取到用戶的隱私信息.目前有很多工作都考慮了預(yù)測(cè)數(shù)據(jù)的隱私問題,接下來的隱私保護(hù)方法涉及到該類介紹,在此不再贅述.
本節(jié)從訓(xùn)練階段和預(yù)測(cè)階段2個(gè)角度出發(fā),分別介紹了機(jī)器學(xué)習(xí)過程中常見的安全隱私威脅.如表2所示,總結(jié)了機(jī)器學(xué)習(xí)中常見的攻擊手段所破壞的CIA安全模型的性質(zhì).在訓(xùn)練階段中,訓(xùn)練數(shù)據(jù)的隱私泄露破壞了機(jī)器學(xué)習(xí)CIA安全模型的機(jī)密性;投毒攻擊則破壞了其完整性和可用性,在一定程度下可能致使目標(biāo)模型偏離甚至完全錯(cuò)誤導(dǎo)致模型無用.在預(yù)測(cè)階段中,對(duì)抗攻擊則是通過添加對(duì)抗樣本的方式破壞模型的完整性,導(dǎo)致模型可以分類錯(cuò)誤的樣本;隱私攻擊和預(yù)測(cè)數(shù)據(jù)的隱私泄露破壞了CIA安全模型的機(jī)密性,其中隱私攻擊可以在預(yù)測(cè)過程中泄露模型及訓(xùn)練數(shù)據(jù)的隱私.對(duì)于影響CIA性質(zhì)中機(jī)密性的情況,可以歸結(jié)為機(jī)器學(xué)習(xí)中的隱私威脅.
Table 2 The Nature of the CIA Affected by the Attack表2 攻擊手段所影響的CIA性質(zhì)
投毒攻擊常見的防御方法有異常檢測(cè)、對(duì)模型進(jìn)行準(zhǔn)確性分析等[50].投毒攻擊是在訓(xùn)練數(shù)據(jù)中注入異常數(shù)據(jù),所以我們可以對(duì)數(shù)據(jù)進(jìn)行分析,檢測(cè)數(shù)據(jù)的分布情況,從而分離出異常數(shù)據(jù)[83].Baracaldo等人[84]于2017年提出了一種使用數(shù)據(jù)集中數(shù)據(jù)點(diǎn)的來源和轉(zhuǎn)換的上下文信息來識(shí)別有毒數(shù)據(jù)的方法,從而使在線和定期再訓(xùn)練的機(jī)器學(xué)習(xí)應(yīng)用程序能夠在潛在的使用投毒攻擊的敵對(duì)環(huán)境中使用數(shù)據(jù)集.
但是,攻擊者可能生成與真實(shí)數(shù)據(jù)分布非常相似的異常數(shù)據(jù),最后可以成功誤導(dǎo)模型.Koh等人[83]提出了3種新的攻擊方法,它們都可以繞過常見的投毒攻擊防御手段,包括常用的基于最近鄰的異常檢測(cè)器、訓(xùn)練損失(training loss)和奇異值分解等.他們?cè)O(shè)計(jì)的攻擊僅僅增加3%的有毒數(shù)據(jù),就可以成功地將垃圾郵件檢測(cè)數(shù)據(jù)集的錯(cuò)誤率從3%增加到24%,將IMDB情感分類數(shù)據(jù)集的錯(cuò)誤率從12%增加到29%.
因此,我們可以在訓(xùn)練新添加的樣本數(shù)據(jù)時(shí)對(duì)模型進(jìn)行準(zhǔn)確性分析.如果收集的輸入是有毒的,那么它最終的目的是破壞模型在測(cè)試集上的準(zhǔn)確性.通過在將訓(xùn)練的新模型投入到生產(chǎn)環(huán)境之前對(duì)模型進(jìn)行分析,我們可以避免投毒攻擊給我們帶來的影響.Suciu等人[85]提出的FAIL模型就是使用這種方法.
對(duì)抗攻擊的防御方法有對(duì)抗訓(xùn)練[86-88]、梯度掩碼[89-90]、去噪[91]、防御蒸餾[92-94]等.對(duì)抗訓(xùn)練(adver-sarial training)是通過在訓(xùn)練數(shù)據(jù)中引入對(duì)抗樣本來提升模型的魯棒性,是對(duì)抗攻擊最有效的防御方式之一.梯度掩碼(gradient masking)就是通過將模型的原始梯度隱藏起來達(dá)到抵御對(duì)抗攻擊的目的.去噪(denoising)則是在輸入模型進(jìn)行預(yù)測(cè)之前,先對(duì)對(duì)抗樣本去噪,盡可能地使對(duì)抗樣本恢復(fù)成原始樣本,從而提高模型魯棒性.防御蒸餾(defensive distillation)首先根據(jù)原始樣本訓(xùn)練一個(gè)初始的神經(jīng)網(wǎng)絡(luò),得到一個(gè)概率分布,然后再根據(jù)這個(gè)概率分布構(gòu)建一個(gè)新的概率分布,最后利用整個(gè)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)或分類,從而達(dá)到抵御對(duì)抗攻擊的目的.
隱私保護(hù)機(jī)器學(xué)習(xí)(privacy-preserving machine learning, PPML)方法最早可追溯至2000年,Lindell等人[95]提出了允許兩方在不泄露自己隱私的前提下,通過協(xié)作對(duì)聯(lián)合數(shù)據(jù)集進(jìn)行提取挖掘的方法,Agrawal等人[96]允許數(shù)據(jù)擁有者將數(shù)據(jù)外包給委托者進(jìn)行數(shù)據(jù)挖掘任務(wù),且該過程不會(huì)泄露數(shù)據(jù)擁有者的隱私信息.早期關(guān)于PPML的研究工作主要集中在決策樹[95]、K-means聚類[97-98]、支持向量機(jī)分類[99]、線性回歸[100-101]、邏輯回歸[102]和嶺回歸[103]的傳統(tǒng)機(jī)器學(xué)習(xí)算法層面.這些工作大多都使用Yao[104]的混淆電路(garbled circuit, GC)協(xié)議,將問題化簡(jiǎn)為線性系統(tǒng)的求解問題,但這不能推廣到非線性模型,而且需要比較大的計(jì)算開銷和通信開銷,因此缺乏實(shí)施或評(píng)估案例.
在機(jī)器學(xué)習(xí)訓(xùn)練過程中,模型提供商會(huì)對(duì)一些訓(xùn)練數(shù)據(jù)進(jìn)行記錄,而這些訓(xùn)練數(shù)據(jù)往往會(huì)涉及到用戶個(gè)人的隱私等信息.在訓(xùn)練階段,機(jī)器學(xué)習(xí)基于訓(xùn)練數(shù)據(jù)集展開模型訓(xùn)練,基于所學(xué)習(xí)數(shù)據(jù)的內(nèi)在特征得到?jīng)Q策假設(shè)函數(shù),而預(yù)測(cè)階段目標(biāo)模型的有效性則依賴于屬于同一分布的訓(xùn)練數(shù)據(jù)集和預(yù)測(cè)數(shù)據(jù)集,但是攻擊者仍可以通過修改訓(xùn)練數(shù)據(jù)的分布從而實(shí)施目標(biāo)模型的攻擊,在基于ML的醫(yī)療健康系統(tǒng)中,攻擊者不僅可以竊取病人隱私還可以發(fā)起惡意數(shù)據(jù)注入或數(shù)據(jù)修改攻擊,從而對(duì)病人的用藥劑量產(chǎn)生影響.在機(jī)器學(xué)習(xí)預(yù)測(cè)過程中,攻擊者無法修改訓(xùn)練數(shù)據(jù)集,但仍可以通過訪問目標(biāo)模型從而獲得有效的參數(shù)信息發(fā)起攻擊,使模型在預(yù)測(cè)階段發(fā)生錯(cuò)誤.
因此,采用隱私保護(hù)的手段保護(hù)數(shù)據(jù)和模型的安全是必不可少的,本節(jié)介紹密碼學(xué)中保護(hù)機(jī)器學(xué)習(xí)中隱私的常見技術(shù),主要包括同態(tài)加密技術(shù)、安全多方計(jì)算技術(shù)和差分隱私技術(shù).相關(guān)工作的對(duì)比如表3所示:
Table 3 The Comparison of the Related Work表3 相關(guān)工作的對(duì)比
同態(tài)加密技術(shù)(homomorphic encryption, HE)允許直接在密文上做運(yùn)算,運(yùn)算之后解密的結(jié)果與明文下做運(yùn)算的結(jié)果一樣[118].同態(tài)加密技術(shù)常用于保護(hù)隱私的外包計(jì)算和存儲(chǔ)中,主要是首先將數(shù)據(jù)加密,然后將加密的數(shù)據(jù)發(fā)給云進(jìn)行存儲(chǔ)或者計(jì)算,云直接在密態(tài)數(shù)據(jù)上進(jìn)行操作,這樣既不會(huì)泄露隱私又滿足了需求.同態(tài)加密技術(shù)又可以分為全同態(tài)加密(fully homomorphic encryption, FHE)[119-125]、部分同態(tài)加密(partially homomorphic encryption, PHE)[126-127]、類同態(tài)加密(somewhat homomorphic encryption, SHE)[119-120,128-129]、層次型同態(tài)加密技術(shù)(leveled homomorphic encryption, LHE)[130-131]等.FHE可以計(jì)算無限深度的任意電路;PHE支持評(píng)估僅包含一種門類型的電路(如加法或者乘法);SHE可以計(jì)算加法和乘法電路,但只支持有限次的乘法;LHE支持對(duì)有界(預(yù)設(shè))深度的任意電路進(jìn)行計(jì)算.不同加密方案適用的場(chǎng)景如表4所示.
Gentry基于理想格,構(gòu)造了第一個(gè)理論上可行的FHE方案[119-120].該方案同時(shí)支持對(duì)密文上的加法和乘法運(yùn)算,并可以構(gòu)造執(zhí)行任意計(jì)算的電路.這種構(gòu)造首先設(shè)計(jì)了一個(gè)SHE方案,它的深度是有限的,因?yàn)槊總€(gè)密文在某種意義上都是有噪聲的,而且這種噪聲隨著密文的增加而增加,直到最終噪聲使得得到的密文無法辨認(rèn).Gentry 之后通過改進(jìn)該方案提出自舉技術(shù),使得SHE可以轉(zhuǎn)換為FHE.之后也有很多人在Gentry的方案上進(jìn)行改進(jìn),提出了更快、噪聲更少的SHE方案和可以不使用自舉技術(shù)就能評(píng)估有界(預(yù)設(shè))深度電路的LHE方案[130-131].使用廣泛的RSA[126]和ElGamal[127]等加密系統(tǒng)都是PHE方案.
接下來主要介紹全同態(tài)加密技術(shù).全同態(tài)加密技術(shù)一直被認(rèn)為是進(jìn)行隱私保護(hù)機(jī)器學(xué)習(xí)的一項(xiàng)重要技術(shù).FHE主要分為層次型全同態(tài)加密技術(shù)(leveled fully homomorphic encryption, LFHE)和自舉型同態(tài)加密技術(shù)(bootstrapping full homomor-phic encryption, BFHE)[129].其中LFHE即前文提到的LHE.
Table 4 The Application Scenarios of Different Homomorphic Encryption Schemes表4 不同同態(tài)加密方案對(duì)應(yīng)的場(chǎng)景
2016年Gilad-Bachrach等人[113]提出了Crypto-Nets可以借助神經(jīng)網(wǎng)絡(luò)對(duì)加密數(shù)據(jù)進(jìn)行相應(yīng)推斷,此后也有使用層次型同態(tài)加密方案對(duì)預(yù)先訓(xùn)練好的卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)模型提供隱私保護(hù)性質(zhì),但是層次型同態(tài)加密技術(shù)會(huì)使得模型精度和效率嚴(yán)重下降.同時(shí),模型中平方級(jí)的激活函數(shù)會(huì)被非多項(xiàng)式的激活函數(shù)和轉(zhuǎn)換精度的權(quán)重代替,導(dǎo)致推導(dǎo)模型與訓(xùn)練模型得到的結(jié)果會(huì)有很大不同.此后,Hesamifard等人[114]采用低階多項(xiàng)式近似逼近的方法對(duì)CryptoDL方案進(jìn)行了改進(jìn),Chabanne等人[132]采用近似的激活函數(shù)和歸一化操作改進(jìn)加權(quán)值.Chillotti等人[133]、Bourse等人[134]則分別提出了相應(yīng)的自舉FHE方案,該方案均比層次型同態(tài)加密方案效率更高,值得注意的是自舉FHE方案可以更加貼近實(shí)際地對(duì)單個(gè)實(shí)例進(jìn)行預(yù)測(cè).Jiang等人[46]則提出了一種基于矩陣同態(tài)加密的通用算術(shù)運(yùn)算方法,提出在一些用戶提供的密文數(shù)據(jù)上云服務(wù)提供商進(jìn)行模型訓(xùn)練,該方法可以將加密模型應(yīng)用到更新后的加密數(shù)據(jù)上.2019年Zheng等人[48]利用門限部分同態(tài)加密實(shí)現(xiàn)了Helen系統(tǒng),該系統(tǒng)能夠允許利用多個(gè)用戶的數(shù)據(jù)同時(shí)訓(xùn)練模型,但不泄露數(shù)據(jù).與之前的方案相比,Helen能夠抵御m方中m-1方都為惡意的對(duì)手.但是該系統(tǒng)不能抵御投毒攻擊、數(shù)據(jù)提取攻擊和拒絕服務(wù)攻擊.
盡管從理論層面認(rèn)為FHE技術(shù)可以進(jìn)行任意計(jì)算,但受當(dāng)前相關(guān)實(shí)際方案約束,F(xiàn)HE普遍僅能支持整數(shù)類型的數(shù)據(jù);同時(shí),電路深度需要固定而不能進(jìn)行無限次的加法和乘法運(yùn)算;除此之外,F(xiàn)HE技術(shù)不支持比較運(yùn)算操作.雖然,目前存在一些實(shí)數(shù)上計(jì)算并有優(yōu)化的FHE方案,但數(shù)據(jù)規(guī)模大幅擴(kuò)張、計(jì)算負(fù)載不斷加劇、非線性激活函數(shù)的擬合計(jì)算誤差等原因?qū)е翭HE的方案效率無法得到進(jìn)一步提升.由此可見,F(xiàn)HE技術(shù)與機(jī)器學(xué)習(xí)算法的簡(jiǎn)單結(jié)合,將無法保證相關(guān)機(jī)器學(xué)習(xí)算法對(duì)密文數(shù)據(jù)進(jìn)行操作.
在基于安全多方計(jì)算技術(shù)的隱私保護(hù)機(jī)器學(xué)習(xí)[45]方面,SMC允許互不信任的各方能夠在自身私有輸入上共同計(jì)算一個(gè)函數(shù),其過程中不會(huì)泄露除函數(shù)的輸出以外的任何信息.但是,傳統(tǒng)的SMC協(xié)議往往需要較為龐大的計(jì)算量和通信復(fù)雜度,導(dǎo)致其難以在實(shí)際機(jī)器學(xué)習(xí)中得以大規(guī)模部署.目前,常見的基于SMC的PPML解決策略有:1)基于混淆電路、不經(jīng)意傳輸?shù)燃夹g(shù)的隱私保護(hù)機(jī)器學(xué)習(xí)協(xié)議,并執(zhí)行兩方SMC協(xié)議來完成激活函數(shù)等非線性操作計(jì)算;2)基于秘密共享技術(shù)允許多方參與方參與機(jī)器學(xué)習(xí)網(wǎng)絡(luò)模型訓(xùn)練或預(yù)測(cè),且該過程不會(huì)透露數(shù)據(jù)或模型信息.SMC主要方案的發(fā)展歷程如圖5所示.
4.2.1 兩方隱私保護(hù)機(jī)器學(xué)習(xí)協(xié)議
Fig. 5 Development of privacy preserving machine learning based on secure two-partymulti-party computation圖5 基于兩方安全多方計(jì)算的隱私保護(hù)機(jī)器學(xué)習(xí)發(fā)展歷程
典型的兩方隱私保護(hù)機(jī)器學(xué)習(xí)協(xié)議包括TASTY[135],ABY[136],SecureML[115],MiniONN[105],DeepSecure[137]和 GAZELLE[138]等.其中,ABY[136]利用高效乘法協(xié)議、快速的轉(zhuǎn)換技術(shù)以及預(yù)處理的密碼操作,構(gòu)造用于兩方計(jì)算環(huán)境的基于算術(shù)共享、布爾共享和Yao混淆電路的安全計(jì)算方案.值得注意的是,SecureML[115]是在兩方計(jì)算環(huán)境中訓(xùn)練神經(jīng)網(wǎng)絡(luò)的隱私保護(hù)方法,該方案基于線性回歸、邏輯回歸和神經(jīng)網(wǎng)絡(luò)等模型提出一種高效的截?cái)鄥f(xié)議,相較于ABY提出的PPML算法更加高效.ABY和SecureML則均利用Beaver所提出三元組技術(shù)來實(shí)現(xiàn)部分乘法操作,但方案通信成本仍不理想.由于三元組會(huì)降低協(xié)議的效率,Chameleon[139]利用一個(gè)半誠(chéng)實(shí)的第三方替代三元組從而減少了三元組的使用,另外,該方案基于ABY實(shí)現(xiàn)了加法秘密共享、GMW和GC的混合,大幅改進(jìn)ABY的實(shí)用性和可擴(kuò)展性.最近,QUOTIENT[140]和DELPHI[141]則分別基于兩方安全的神經(jīng)網(wǎng)絡(luò)完成對(duì)數(shù)據(jù)的訓(xùn)練和預(yù)測(cè).這些兩方的協(xié)議主要考慮在非共謀服務(wù)器情況下的安全保障需求:假設(shè)云服務(wù)器是誠(chéng)實(shí)且好奇的被動(dòng)攻擊模型,在云服務(wù)器互不合謀情況下保證數(shù)據(jù)的安全性與機(jī)器學(xué)習(xí)方案的可用性.
Fig. 6 Development of privacy preserving machine learning schemes involving multi-party圖6 多方參與的隱私保護(hù)機(jī)器學(xué)習(xí)相關(guān)方案的發(fā)展歷程
為免受半可信參數(shù)服務(wù)器的攻擊,MiniONN[105]基于簡(jiǎn)化的同態(tài)加密技術(shù)并將其應(yīng)用于交換權(quán)重和梯度問題,把原始神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)換為遺忘神經(jīng)網(wǎng)絡(luò)再進(jìn)行網(wǎng)絡(luò)模型訓(xùn)練,并將混淆電路作為近似非線性激活函數(shù).DeepSecure[137]基于Yao混淆電路[104]對(duì)深度學(xué)習(xí)模型上的加密數(shù)據(jù)進(jìn)行計(jì)算和推理,并完成相應(yīng)的安全證明.Juvekar等人[138]指出MiniONN,DeepScure等工作表明同態(tài)加密在矩陣向量乘法具有明顯的優(yōu)勢(shì),但在線性運(yùn)算方面并不明顯.需要注意的是,雖然這些混合協(xié)議可以提高識(shí)別率,但帶寬和網(wǎng)絡(luò)延遲方面的效率并不理想.技術(shù)上來說,這些協(xié)議均是采用同態(tài)加密方法對(duì)標(biāo)量乘法進(jìn)行計(jì)算,采用安全多方計(jì)算對(duì)激活函數(shù)進(jìn)行計(jì)算.
4.2.2 多方隱私保護(hù)機(jī)器學(xué)習(xí)協(xié)議
利用傳統(tǒng)分布式機(jī)器學(xué)習(xí)算法[142-143],典型的多方參與的PPML方案有ABY3[107],SecureNN[110],ASTRA[144],FLASH[145],Trident[146],BLAZE[147],FALCON[111],如圖6所示.
ABY3[107]提出一種在半誠(chéng)實(shí)環(huán)境和惡意環(huán)境下的新方案,可以完成三方之間的算術(shù)共享、布爾共享和Yao共享,它對(duì)SecureML中的近似定點(diǎn)數(shù)乘法進(jìn)行改進(jìn),使其得以在三方環(huán)境下可以使用,并相應(yīng)設(shè)計(jì)了一種計(jì)算分段多項(xiàng)式函數(shù)的協(xié)議.最終在兩方和三方的情況下分別將效率提升93倍和8倍,但是SecureNN[110]僅考慮了神經(jīng)網(wǎng)絡(luò)訓(xùn)練方案的設(shè)計(jì).ASTRA[144]基于ABY3考慮了半誠(chéng)實(shí)環(huán)境和惡意攻擊環(huán)境,提出一種新的更加安全的三方PPML協(xié)議,它構(gòu)建了一個(gè)公平的重構(gòu)協(xié)議,解決了發(fā)送者在無廣播頻道情況下通過私人頻道向其他參與方發(fā)送不同消息所可能導(dǎo)致的混亂,保證了當(dāng)且僅當(dāng)誠(chéng)實(shí)方接收到輸出時(shí),惡意攻擊方才會(huì)接收到輸出.對(duì)于分類任務(wù),ASTRA[144]充分運(yùn)用秘密共享方案中的不對(duì)稱性性質(zhì),放棄SecureML和ABY3中一些消耗較高的混淆電路或并行前綴加法器,最終提出一種新的安全比較協(xié)議.在半誠(chéng)實(shí)的環(huán)境中,ASTRA則是將33%的整體通信開銷轉(zhuǎn)移到離線階段,而在惡意環(huán)境基于高效的點(diǎn)積協(xié)議進(jìn)一步提升在線通信效率.然而,ABY3[107],SecureNN[110],ASTRA[144]等方案均是專注于半誠(chéng)實(shí)環(huán)境下的PPML框架,進(jìn)行相關(guān)點(diǎn)積計(jì)算是與向量大小成線性關(guān)系,在惡意環(huán)境下向量點(diǎn)積、最高標(biāo)記位的提取和截?cái)嗟男识紩?huì)不同程度地降低.
雖然,ABY3和SecureNN提出使用Abort的安全構(gòu)建組件,且ASTRA[144]將Abort的安全性提升到公平性,F(xiàn)LASH[145]則進(jìn)一步實(shí)現(xiàn)了保證輸出傳遞的最強(qiáng)安全概念(無論對(duì)手的行為如何,各方都獲得輸出)的四方PPML框架,且健壯性僅需要對(duì)稱密碼原語來實(shí)現(xiàn).與文獻(xiàn)[148]方案不同,F(xiàn)LASH不需要使用數(shù)字簽名、廣播等密碼原語,它在協(xié)議中引入一個(gè)新的誠(chéng)實(shí)參與方大大提升協(xié)議效率.Trident[146]提出了最多可以容忍一方腐敗的四方PPML協(xié)議,其中第四方在除輸入共享和輸出重構(gòu)的階段外,所有的在線階段均為非活動(dòng)狀態(tài).在使用新的秘密共享方案后,Trident方案中25%的在線通信階段部分轉(zhuǎn)移到了離線階段部分,在線效率得以充分提升.BLAZE[147]則是效率較高的一個(gè)PPML協(xié)議,在3個(gè)服務(wù)器的情形下可以容忍1個(gè)惡意腐敗方的存在,并得到了更強(qiáng)的公平性保證(所有誠(chéng)實(shí)方和惡意攻擊方都獲得相同的輸出),基于所提出的點(diǎn)積協(xié)議、截?cái)嗪臀徊僮鞣椒?,方案效率比ABY3和ASTRA等方案更加高效[149].因此,僅有少數(shù)PPML方案考慮到了惡意攻擊環(huán)境,當(dāng)惡意攻擊者存在情況下,還需考慮協(xié)議的公平性與一致性.
2020年微軟、普林斯頓大學(xué)、以色列理工學(xué)院和Algorand基金會(huì)的研究人員基于SecureNN和ABY3推出了一個(gè)名為FALCON[111]的框架.該框架支持批歸一化(batch normalization, BN)并且保護(hù)隱私的安全框架,它可以支持訓(xùn)練像AlexNet和VGG16這樣的大容量網(wǎng)絡(luò).FALCON只使用算術(shù)秘密共享而避免使用轉(zhuǎn)換協(xié)議(在算術(shù)、布爾和亂碼電路之間)來實(shí)現(xiàn)針對(duì)非線性運(yùn)算的惡意安全協(xié)議.
這些方案的詳細(xì)比較如表5所示:
Table 5 Comparison of Privacy Preserving Machine Learning Schemes Based on Multi-party Computation表5 多方參與的隱私保護(hù)機(jī)器學(xué)習(xí)相關(guān)方案的具體比較
差分隱私技術(shù)(differential privacy, DP)是通過添加噪聲來保護(hù)隱私的一種密碼學(xué)技術(shù)[150],因?yàn)榧尤肷倭吭肼暰涂梢匀〉幂^好的隱私保護(hù)效果,因此從它被Dwork等人[150]提出來就被廣泛接受和使用.相比于前面2種密碼學(xué)技術(shù),差分隱私技術(shù)在實(shí)際場(chǎng)景中更易部署和應(yīng)用[151].在機(jī)器學(xué)習(xí)中一般用來保護(hù)訓(xùn)練數(shù)據(jù)集和模型參數(shù)的隱私.DP技術(shù)主要分為中心化差分隱私技術(shù)和本地化差分隱私技術(shù),中心化差分隱私技術(shù)主要采用拉普拉斯機(jī)制[150](Laplace mechanism)、指數(shù)機(jī)制[152](exponential mechanism)等方法,而本地化差分隱私技術(shù)則采用隨機(jī)響應(yīng)[153-154](randomized response)方法.差分隱私技術(shù)保護(hù)用戶隱私查詢過程如圖7所示:
Fig. 7 Query process of schematic diagram of the differential privacy technology圖7 差分隱私技術(shù)查詢過程
Dwork等人[150]提出的差分隱私技術(shù)在數(shù)據(jù)發(fā)布[155-156]、數(shù)據(jù)分析[157]、數(shù)據(jù)查詢[158-159]、數(shù)據(jù)挖掘[150,152]等領(lǐng)域都受到了廣泛的應(yīng)用.Bindschaedler等人[160]提出了一種合理可否認(rèn)性(plausible deni-ability)的標(biāo)準(zhǔn),保證了敏感數(shù)據(jù)的隱私.Huang等人[117]提出了一種基于差分隱私的ADMM分布式學(xué)習(xí)算法DP-ADMM,該算法在迭代過程中將近似增強(qiáng)拉格朗日函數(shù)與時(shí)變高斯噪聲相結(jié)合,保證了良好的收斂性和模型準(zhǔn)確性.Wang等人[108]提出一種新的本地差分隱私機(jī)制來收集數(shù)值屬性,并將其擴(kuò)展到可以同時(shí)包含數(shù)字和類別屬性的多維數(shù)據(jù).他們實(shí)驗(yàn)證明,該算法可支持許多重要的機(jī)器學(xué)習(xí)任務(wù),并比目前方案更加有效.
本節(jié)介紹了機(jī)器學(xué)習(xí)中常見的3種隱私保護(hù)技術(shù),即同態(tài)加密技術(shù)、安全多方計(jì)算技術(shù)、差分隱私技術(shù).并且根據(jù)各個(gè)技術(shù)的發(fā)展介紹了一些典型的隱私保護(hù)機(jī)器學(xué)習(xí)算法.隨著深度學(xué)習(xí)的興起,人工智能也迎來了發(fā)展契機(jī),但是隨著人工智能的廣泛應(yīng)用,其安全與隱私問題也越來越引起人們的關(guān)注,安全與隱私問題已經(jīng)成為阻礙人工智能發(fā)展的絆腳石.
同態(tài)加密技術(shù)、安全多方計(jì)算技術(shù)和差分隱私技術(shù)是目前使用的比較廣泛的技術(shù),從通信、算力、隱私等多個(gè)角度考慮,這3種隱私保護(hù)技術(shù)各有本身適用的計(jì)算場(chǎng)景.同態(tài)加密技術(shù)具有計(jì)算開銷大、效率低、可用性差、使用場(chǎng)景廣的特點(diǎn),它適合集中式學(xué)習(xí)、外包計(jì)算等場(chǎng)景;安全多方計(jì)算技術(shù)具有可用性高、通信開銷大、效率低的特點(diǎn),它適合分布式學(xué)習(xí)、聯(lián)邦學(xué)習(xí)等場(chǎng)景;差分隱私技術(shù)具有計(jì)算開銷小、效率高、可用性差的特點(diǎn),它適合訓(xùn)練數(shù)據(jù)的收集、模型參數(shù)保護(hù)等場(chǎng)景.具體如表6所示:
Table 6 Applications Scenarios of the Three Privacy Preserving Technologies表6 3種隱私保護(hù)技術(shù)適合應(yīng)用的場(chǎng)景
綜上所述,隨著機(jī)器學(xué)習(xí)算法和人工智能應(yīng)用領(lǐng)域的研究逐步深入,機(jī)器學(xué)習(xí)算法的特殊性給用戶數(shù)據(jù)和網(wǎng)絡(luò)模型的隱私保護(hù)帶來巨大挑戰(zhàn),迫切需要進(jìn)一步考慮更高的安全及隱私威脅,特別是可以實(shí)施惡意攻擊的攻擊者.
針對(duì)安全威脅,我們還需要進(jìn)一步探索針對(duì)投毒攻擊、對(duì)抗攻擊等攻擊手段的防御技術(shù),提高模型的魯棒性,研究更強(qiáng)攻擊的防御手段.針對(duì)隱私威脅,全同態(tài)加密一直被認(rèn)為是隱私保護(hù)機(jī)器學(xué)習(xí)的首選技術(shù),但由于其具有數(shù)據(jù)擴(kuò)張、計(jì)算負(fù)載、激活函數(shù)擬合誤差等不利因素,使得基于安全多方計(jì)算的隱私保護(hù)機(jī)器學(xué)習(xí)得到了迅速發(fā)展.然而,現(xiàn)有隱私保護(hù)機(jī)器學(xué)習(xí)方案往往假設(shè)云服務(wù)器是誠(chéng)實(shí)且好奇的被動(dòng)攻擊模型,考慮在云服務(wù)器互不合謀情況下數(shù)據(jù)的安全性與機(jī)器學(xué)習(xí)的可用性;并且,在更高的安全等級(jí)推廣到多方場(chǎng)景下,還需考慮存在惡意攻擊者情形下的公平性與一致性.因此,針對(duì)目前所提的方案,還需要再提高精度、效率,降低誤差,并考慮更強(qiáng)的威脅場(chǎng)景,如惡意場(chǎng)景等.因此,未來的研究方向建議如下:
1) 建立完善統(tǒng)一的安全評(píng)估標(biāo)準(zhǔn).對(duì)于大部分隱私數(shù)據(jù),可在源頭上控制好這些數(shù)據(jù)的使用范圍和收集過程.但是由于目前缺乏合理完善的安全評(píng)估標(biāo)準(zhǔn),各類機(jī)構(gòu)對(duì)于隱私數(shù)據(jù)的使用和收集都沒有統(tǒng)一的標(biāo)準(zhǔn),因此不可避免地會(huì)造成隱私的泄露[21].建立完善統(tǒng)一的安全評(píng)估標(biāo)準(zhǔn)勢(shì)在必行、刻不容緩.
2) 研究具有更強(qiáng)魯棒性的隱私保護(hù)的機(jī)器學(xué)習(xí)模型.隨著如對(duì)抗攻擊、投毒攻擊等攻擊手段的發(fā)展,普通模型已經(jīng)不能夠滿足隱私需求,模型的泄露給組織、機(jī)構(gòu)帶來的損失不可估量.研究能夠抵抗更強(qiáng)攻擊手段的高魯棒性機(jī)器學(xué)習(xí)模型是未來的工作.
3) 考慮更強(qiáng)威脅場(chǎng)景的機(jī)器學(xué)習(xí)方案.分布式、聯(lián)邦學(xué)習(xí)的場(chǎng)景是目前的趨勢(shì),但是對(duì)于大多數(shù)分布式的方案來說,它們都是考慮半誠(chéng)實(shí)的威脅模型.因此需要將目前的半誠(chéng)實(shí)模型推廣到惡意模型,使機(jī)器學(xué)習(xí)方案在惡意攻擊者存在的情況下依然能夠保持公平性和一致性.
4) 提高現(xiàn)有方案的精度、效率.目前的大部分隱私保護(hù)方案都是基于同態(tài)加密、安全多方計(jì)算和差分隱私的,目前這幾類技術(shù)的通信、計(jì)算等開銷比較大,這大大降低了算法的效率,帶來了不必要的資源浪費(fèi).并且這些方案存在精度丟失的問題,因此研究更加高效、精度更高的隱私保護(hù)方案是一個(gè)重要的研究方向.