Lucian Constantin ?陳琳華
數(shù)據(jù)中毒會導(dǎo)致機(jī)器學(xué)習(xí)模型失準(zhǔn),從而得出錯誤的結(jié)論。由于目前缺乏簡單易行的解決辦法,因此安全專家必須重點關(guān)注數(shù)據(jù)中毒的檢測和預(yù)防。
過去的十年中,云計算的普及為廣大企業(yè)提供了高性能的運算與數(shù)據(jù)存儲服務(wù)。受益于此,機(jī)器學(xué)習(xí)的應(yīng)用也迎來了爆發(fā)式的增長。隨著上游供應(yīng)商將機(jī)器學(xué)習(xí)整合進(jìn)他們的產(chǎn)品當(dāng)中,這些機(jī)器學(xué)習(xí)的運算結(jié)果也成為了用戶做決策的重要依據(jù)。對此,安全專家警告稱,針對機(jī)器學(xué)習(xí)技術(shù)漏洞進(jìn)行的網(wǎng)絡(luò)攻擊將會大量出現(xiàn)。
大多數(shù)網(wǎng)絡(luò)社交平臺、在線視頻網(wǎng)站、大型購物網(wǎng)站、搜索引擎等服務(wù)都有基于機(jī)器學(xué)習(xí)技術(shù)的推薦系統(tǒng)。比如網(wǎng)飛用戶愛看的電影和表演,臉書用戶點贊或分享的內(nèi)容,推特用戶點贊或標(biāo)注的內(nèi)容,消費者在亞馬遜購物網(wǎng)站上購買或瀏覽過的商品以及網(wǎng)友通過谷歌搜索查詢過的信息,這些數(shù)據(jù)全都反饋給了這些公司的機(jī)器學(xué)習(xí)系統(tǒng),從而可以更加準(zhǔn)確地給用戶推送適合其口味的信息。
網(wǎng)絡(luò)攻擊者試圖影響這些推薦系統(tǒng)并使其結(jié)果發(fā)生偏差,這早已不是什么新聞了。他們會用虛假的賬戶給某些特定的產(chǎn)品投贊成或反對票,并進(jìn)行分享和推廣。用戶甚至可以在地下市場或者“巨魔農(nóng)場”(注:專門在網(wǎng)絡(luò)上散播不實言論或發(fā)表煽動性評論的網(wǎng)絡(luò)組織)購買到這種操縱推薦系統(tǒng)的服務(wù)。
網(wǎng)絡(luò)安全供應(yīng)商F-Secure人工智能卓越中心的研究員Andrew Patel表示,“理論上,如果攻擊者了解某個用戶與系統(tǒng)交互的方式,他就可以設(shè)計一個專門針對該用戶的網(wǎng)絡(luò)攻擊,向其推薦油管視頻、推送惡意軟件或者誘導(dǎo)其關(guān)注冒充的社交賬戶等。因此,操縱算法可用于多種目的,包括提供虛假信息、網(wǎng)絡(luò)釣魚詐騙、改變公眾輿論、宣傳有害內(nèi)容以及損害品牌或個人名譽(yù)等。你甚至花錢就可以操縱谷歌搜索的鍵入自動填充功能?!?h3>什么是數(shù)據(jù)中毒
導(dǎo)致數(shù)據(jù)中毒或模型中毒類型的網(wǎng)絡(luò)攻擊會污染機(jī)器學(xué)習(xí)模型的訓(xùn)練數(shù)據(jù)。由于篡改訓(xùn)練數(shù)據(jù)會妨礙模型做出準(zhǔn)確的預(yù)測,所以通常認(rèn)為數(shù)據(jù)中毒屬于完整性攻擊。其他的網(wǎng)絡(luò)攻擊根據(jù)其影響可以歸類為以下三種:
·機(jī)密性攻擊:攻擊者通過向模型輸入數(shù)據(jù)來推斷訓(xùn)練數(shù)據(jù)中潛在的機(jī)密信息。
·有效性攻擊:攻擊者對其輸入的數(shù)據(jù)進(jìn)行偽裝來欺騙系統(tǒng),逃避正確的歸類。
·復(fù)制性攻擊:攻擊者反向還原模型以對其進(jìn)行復(fù)制或者本地分析,并策劃攻擊或?qū)崿F(xiàn)自身的經(jīng)濟(jì)企圖。
想要區(qū)分規(guī)避模型預(yù)測及分類的網(wǎng)絡(luò)攻擊與中毒攻擊,主要在于其持續(xù)性。發(fā)起中毒攻擊者的目的是欲使其輸入的數(shù)據(jù)被系統(tǒng)識別為訓(xùn)練數(shù)據(jù)。于是依照模型數(shù)據(jù)訓(xùn)練周期的長短,兩種攻擊的時限也有所不同,比如有的中毒攻擊要花數(shù)周時間才能完成。
數(shù)據(jù)中毒可以通過“黑盒”或“白盒”兩種形式來實現(xiàn)。“黑盒”是指針對根據(jù)用戶反饋來更新學(xué)習(xí)模型的分類系統(tǒng)發(fā)動的攻擊;“白盒”指攻擊者通過獲取學(xué)習(xí)模型和其訓(xùn)練數(shù)據(jù)的訪問權(quán)限(如果系統(tǒng)有多個數(shù)據(jù)源,那么漏洞往往出現(xiàn)在供應(yīng)鏈)發(fā)起的攻擊。
Patel介紹,從網(wǎng)絡(luò)安全角度來看,攻擊對象可能是使用機(jī)器學(xué)習(xí)來檢測網(wǎng)絡(luò)異常和可疑活動的系統(tǒng)。如果攻擊者得知系統(tǒng)中使用了某種機(jī)器學(xué)習(xí)模型,那么他們就會嘗試在模型中輸入數(shù)據(jù)點,這些數(shù)據(jù)會逐步降低識別的準(zhǔn)確性,最終他們的攻擊將不會被系統(tǒng)識別為異常。這也稱作模型偏斜。
一個真實案例來自對電子郵件服務(wù)使用的垃圾郵件過濾器的攻擊。谷歌反濫用研究團(tuán)隊負(fù)責(zé)人Elie Bursztein在2018年一篇關(guān)于攻擊機(jī)器學(xué)習(xí)的博客中表示:“現(xiàn)實中,我們常常發(fā)現(xiàn)一些頂尖的垃圾蟲團(tuán)隊試圖破壞Gmail的郵件過濾器,大量的垃圾郵件在他們的影響之下未被識別。在2017年11月到2018年年初,我們至少遭到過四次試圖扭曲我們的分類器的大規(guī)模惡意攻擊?!?/p>
另一個例子涉及到谷歌的VirusTotal病毒掃描服務(wù),很多殺毒軟件都用這項服務(wù)擴(kuò)充自己的病毒庫。大家都已清楚,攻擊者在真正開始傳播之前會用VirusTotal來測試他們的惡意軟件從而逃避檢測,而現(xiàn)在他們還會利用VirusTotal進(jìn)行更持久的數(shù)據(jù)中毒攻擊。實際上2015年就有報道稱,通過VirusTotal進(jìn)行的主動樣本中毒攻擊導(dǎo)致殺毒軟件誤將正常文件識別為惡意程序。
數(shù)據(jù)中毒最大的問題在于其修復(fù)非常困難。依據(jù)用途和使用者偏好,機(jī)器學(xué)習(xí)模型每隔一段時間會使用新收集的數(shù)據(jù)重新訓(xùn)練。由于數(shù)據(jù)中毒是長期累積的,且通常跨越多個訓(xùn)練周期,想要確定模型預(yù)測的準(zhǔn)確性什么時候開始發(fā)生偏差是非常困難的。
Patel表示,要想恢復(fù)數(shù)據(jù)中毒產(chǎn)生的影響,就需要耗費大量時間分析受影響部分的歷史輸入記錄,對所有不良數(shù)據(jù)樣本加以識別并刪除。在這之后,還要對受攻擊前的版本的機(jī)器學(xué)習(xí)模型進(jìn)行再培訓(xùn)。然而,現(xiàn)實中在面對海量數(shù)據(jù)處理和大量網(wǎng)絡(luò)攻擊的情況下,通過這種方式進(jìn)行再培訓(xùn)根本不可行,導(dǎo)致模型無法修復(fù)。
微軟“可信賴機(jī)器學(xué)習(xí)”部門首席架構(gòu)師Hyrum Anderson談到:“學(xué)術(shù)界現(xiàn)在有一種全新的概念很吸引人,雖然還無法實際運用,但那是遲早的事,就是所謂的機(jī)器反向?qū)W習(xí)。為GPT-3(OpenAI開發(fā)的一種語言預(yù)測模型)模型做一次數(shù)據(jù)訓(xùn)練需要花費1600萬美元左右。如果數(shù)據(jù)是在中毒之后被識別,那么找到中毒數(shù)據(jù)并且重新訓(xùn)練的成本是十分昂貴的。但是如果能夠反向?qū)W習(xí),比如說要求系統(tǒng)撤銷某些數(shù)據(jù)的影響、去除它們的權(quán)重,那樣建立防御機(jī)制要便宜得多。但是,我認(rèn)為機(jī)器反向?qū)W習(xí)距離實際運用至少還有數(shù)年時間,所以目前的解決辦法還是用有效數(shù)據(jù)對模型進(jìn)行再培訓(xùn),盡管該方式難度極高且花費極大?!?/p>
既然修復(fù)中毒模型難度極大,模型開發(fā)者必須花大功夫研究能夠阻止中毒攻擊或者能夠在下次訓(xùn)練周期之前檢測出惡意數(shù)據(jù)輸入的工具。這些工具包括輸入有效性檢查、速率限制、回歸測試、人工審核以及用各種統(tǒng)計學(xué)原理檢測數(shù)據(jù)異常的技術(shù)等。
比如說,如果大量數(shù)據(jù)來自于同樣的少數(shù)幾個賬戶、IP地址或者用戶,那么這些數(shù)據(jù)不應(yīng)在機(jī)器學(xué)習(xí)模型的訓(xùn)練數(shù)據(jù)中占較大比例,應(yīng)對訓(xùn)練數(shù)據(jù)接受單個特定用戶提供的數(shù)據(jù)量以及所占權(quán)重加以限制。通過“暗啟動”(向一小部分用戶提前發(fā)布新功能),可以將新完成數(shù)據(jù)訓(xùn)練的分類器與以前的進(jìn)行比較,分析輸出有何不同。谷歌的Bursztein還建議構(gòu)建一個“黃金數(shù)據(jù)庫”,任何重新訓(xùn)練的模型都要對其做出精確預(yù)測,從而幫助檢測系統(tǒng)進(jìn)化。
Anderson表示,數(shù)據(jù)中毒只是系統(tǒng)中更為廣泛的問題中的一種特例,歸屬于數(shù)據(jù)漂移。每個人都會因為各種原因獲取壞數(shù)據(jù),現(xiàn)在也有很多人在研究數(shù)據(jù)漂移的對策以及檢測運行數(shù)據(jù)和模型性能出現(xiàn)重大變化的工具,包括大型云計算供應(yīng)商在內(nèi)。包含此類功能的服務(wù)有Azure Monitor(微軟Azure的一項完整堆棧監(jiān)視服務(wù))和Amazon SageMaker(亞馬遜的一項機(jī)器學(xué)習(xí)托管服務(wù))。
Anderson還說:“如果模型性能在在訓(xùn)練后明顯下降,不管是因為遭到中毒攻擊還是僅僅收到一批不良的數(shù)據(jù)所導(dǎo)致,系統(tǒng)都能夠檢測得到。如果要解決此問題,就要徹底清除造成影響的中毒攻擊或者在模型訓(xùn)練中無意進(jìn)入系統(tǒng)的不良數(shù)據(jù)。因此,類似的工具在處理中毒攻擊問題上是很好的開端,這種AI風(fēng)險管理框架已經(jīng)逐漸在業(yè)界內(nèi)形成規(guī)模?!?/p>
攻擊者要進(jìn)行中毒攻擊同樣需要獲取模型運行方式的信息,所以盡可能少地泄露信息、為訓(xùn)練數(shù)據(jù)和模型本身提供強(qiáng)有力的訪問權(quán)限管理至關(guān)重要。從這個角度來看,機(jī)器學(xué)習(xí)防御與系統(tǒng)和數(shù)據(jù)的安全性和規(guī)范操作緊密相連,例如權(quán)限控制、啟用日志記錄、啟用文件和數(shù)據(jù)版本控制等。
Anderson表示,人工智能和機(jī)器學(xué)習(xí)模型的安全性大多與最基本的數(shù)據(jù)讀寫權(quán)限和模型、系統(tǒng)、服務(wù)器的訪問權(quán)限有關(guān)。在這種情況下,一些常規(guī)目錄下?lián)碛懈咴S可權(quán)限的小型數(shù)據(jù)服務(wù)或文件則容易導(dǎo)致中毒攻擊。
正如企業(yè)會對其網(wǎng)絡(luò)和系統(tǒng)進(jìn)行常規(guī)的滲透檢查來發(fā)現(xiàn)薄弱環(huán)節(jié),此類檢查應(yīng)該擴(kuò)充到機(jī)器學(xué)習(xí)環(huán)節(jié)當(dāng)中,并將機(jī)器學(xué)習(xí)視為大型系統(tǒng)或程序安全的一部分。
Patel說:“開發(fā)者在構(gòu)建模型時應(yīng)該對模型本身進(jìn)行模擬攻擊,從而了解怎樣才能對模型發(fā)動攻擊,進(jìn)而嘗試構(gòu)筑能夠抵御這些攻擊的防御措施。檢測結(jié)果取決于模擬攻擊的數(shù)據(jù),所以在對模型實施攻擊時可以觀測數(shù)據(jù)點有何特征,然后再建立相應(yīng)機(jī)制,將與中毒攻擊類似的數(shù)據(jù)點丟棄?!?/p>
Anderson正在積極參與微軟的機(jī)器學(xué)習(xí)模型防御工作。他在最近的一次USENIX Enigma會議上的演講中展示了他的團(tuán)隊在微軟所做的一種模擬攻擊嘗試。他們設(shè)法對一個資源供應(yīng)服務(wù)使用的機(jī)器學(xué)習(xí)模型進(jìn)行了逆向工程,這個模型可以保障虛擬資源有效分配并映射到硬件當(dāng)中。
在無法直接訪問此模型的情況下,Anderson的團(tuán)隊獲取了足夠多的關(guān)于模型如何收集數(shù)據(jù)的信息,從而創(chuàng)建了一個本地的復(fù)制模型,并對該模型發(fā)起躲避性攻擊,且未被系統(tǒng)實時檢測到。這樣一來,他們得以確定在一天中的什么時候、在哪些區(qū)域,以及以什么樣的虛擬機(jī)器、數(shù)據(jù)庫、大小和復(fù)制因子的組合來向?qū)嶋H的系統(tǒng)發(fā)起請求,能夠大概率確定機(jī)器學(xué)習(xí)模型向他們請求的提供高可用性服務(wù)的物理主機(jī)過度配置資源。
對于這些超額配置的資源,團(tuán)隊利用一個占用很多CPU和內(nèi)存資源的負(fù)載發(fā)起了“吵鬧鄰居”攻擊(一種壟斷帶寬、磁盤和CPU等資源的云計算架構(gòu)),對托管在同一個硬件上的高可用性服務(wù)造成了拒絕服務(wù)攻擊。Anderson總結(jié)到:“這次攻擊與IT系統(tǒng)出現(xiàn)的惡意攻擊驚人的相似。它們都具備反滲透、躲避監(jiān)控和執(zhí)行環(huán)節(jié),最終影響服務(wù)的可用性?!?/p>
本文作者Lucian Constantin為美國CSO網(wǎng)站的資深作家,長期專注于信息安全、隱私和數(shù)據(jù)保護(hù)等主題。
原文網(wǎng)址
https://www.csoonline.com/article/3613932/how-data-poisoning-attacks-corrupt-machine-learning-models.html