回覆列表
  • 1 # 機器之心Pro

    我們從人工智慧的攻擊、防禦技術的對抗來討論這個問題。Elie Bursztein在本文綜述了三種針對人工智慧系統的攻擊技術——對抗性輸入、資料中毒攻擊及模型竊取技術,在每一種攻擊的討論中都加入了具體例子及防禦策略,旨在為所有對利用人工智慧進行反濫用防禦感興趣的人提供一個概述。

    對分類器的高層次攻擊可以分為以下三種類型:

    對抗性輸入:這是專門設計的輸入,旨在確保被誤分類,以躲避檢測。對抗性輸入包含專門用來躲避防病毒程式的惡意文件和試圖逃避垃圾郵件過濾器的電子郵件。

    資料中毒攻擊:這涉及到向分類器輸入對抗性訓練資料。我們觀察到的最常見的攻擊型別是模型偏斜,攻擊者以這種方式汙染訓練資料,使得分類器在歸類好資料和壞資料的時候向自己的偏好傾斜。我們在實踐中觀察到的第二種攻擊是反饋武器化(feedback weaponization),它試圖濫用反饋機制來操縱系統將好的內容誤分類為濫用類(例如,競爭者的內容或者報復性攻擊的一部分)。

    模型竊取技術:用來透過黑盒探測「竊取」(即複製)模型或恢復訓練資料身份。例如,這可以用來竊取股市預測模型和垃圾郵件過濾模型,以便使用它們或者能夠針對這些模型進行更有效的最佳化。

    這篇文章是關於如何使用人工智慧構建魯棒的反濫用保護系統系列文章中的第四篇,也是最後一篇。第一篇文章解釋了為何 AI 是構建魯棒的保護系統的關鍵,這種保護用來滿足使用者期望和日益提升的複雜攻擊。在介紹完構建和啟動一個基於 AI 的防禦系統的自然過程之後,第二篇博文涵蓋了與訓練分類器相關的挑戰。第三篇文章探討了在生產中使用分類器來阻止攻擊的主要困難。

    這一系列文章是根據我在 RSA 2018 上的演講寫出來的。

    宣告:這篇文章旨在為所有對利用人工智慧進行反濫用防禦感興趣的人提供一個概述,它是那些正在跳躍觀望的人的潛在藍圖。因此,這篇文章側重於提供一個清晰的高層次總結,有意不深入技術細節。也就是說,如果你是一名專家,我相信你會發現你以前沒有聽說過的想法、技術和參考資料,希望你會受到啟發,並進一步探索它們。

    對抗性輸入

    對手不斷用新的輸入/有效載荷來探測分類器,試圖逃避探測。這種有效載荷被稱為對抗性輸入,因為它們被明確設計成繞過分類器。

    這是一個對抗輸入的具體例子:幾年前,一個聰明的垃圾郵件傳送者意識到,如果同一個 multipart 附件在一封電子郵件中出現多次,Gmail 將只顯示上圖螢幕截圖中可見的最後一個附件。他將這一知識武器化,增加了不可見的第一個 multipart,其中包含許多著名的域,試圖逃避檢測。此攻擊是稱為關鍵字填充的攻擊類別的一個變體。

    一般來說,分類器遲早會面臨兩種對抗性輸入:變異輸入,這是為避開分類器而專門設計的已知攻擊的變體;零日輸入,這是在有效載荷之前從未見過的。讓我們依次探究每一種對抗性輸入。

    變異輸入

    在過去的幾年裡,我們看到地下服務爆炸式增長,這種服務旨在幫助網路犯罪分子製造不可探測的有效載荷,在秘密世界中最有名的是 FUD(完全不可探測的) 有效載荷。這些服務從允許針對所有防病毒軟體測試有效負載的測試服務,到旨在以使惡意文件不可檢測的方式混淆惡意文件的自動打包程式。上面的截圖展示了兩個這樣的服務。

    專門從事有效載荷製造的地下服務的重新出現凸顯了這樣一個事實:

    攻擊者主動最佳化攻擊,以確保最小化分類器檢測率。

    因此,必須開發檢測系統,使攻擊者難以進行有效負載最佳化。下面是三個關鍵的設計策略來幫助實現這一點。

    1. 限制資訊洩露

    這裡的目標是確保攻擊者在探查你的系統時獲得儘可能少的收穫。保持反饋最小化並儘可能延遲反饋是很重要的,例如避免返回詳細的錯誤程式碼或置信度值。

    2. 限制探測

    此策略的目標是透過限制攻擊者針對你的系統測試有效負載的頻率來降低攻擊者的速度。透過限制攻擊者對你的系統執行測試的頻率可以有效降低他們設計有害有效負載的速度。

    這一策略主要是透過對稀缺資源(如 IP 和帳戶)實施速率限制來實現的。這種速率限制的典型例子是要求使用者解決驗證碼,驗證他是否釋出的太頻繁,如上所示。

    這種主動限制活動率的負面影響是,它會鼓勵不良行為者建立假賬戶,並使用受損的使用者計算機來分散他們的 IP 池。業內廣泛使用限速是非常活躍的黑市論壇興起的一個主要驅動因素,在這些論壇中,賬戶和 IP 地址被常規出售,如上面的截圖所示。

    3. 整合學習

    最後但同樣重要的是,結合各種檢測機制,使攻擊者更難繞過整個系統。使用整合學習將基於聲譽的檢測方法、人工智慧分類器、檢測規則和異常檢測等不同型別的檢測方法結合起來,提高了系統的魯棒性,因為不良行為者不得不同時製作避免所有這些機制的有效載荷。

    例如,如上面的截圖所示,為了確保 Gmail 分類器對垃圾郵件製造者的魯棒性,我們將多個分類器和輔助系統結合在一起。這樣的系統包括聲譽系統、大型線性分類器、深度學習分類器和其他一些秘密技術。

    深度神經網路對抗攻擊例項

    如何製作欺騙深度神經網路(DNN)的對抗例子是一個非常活躍的相關研究領域。現在,建立難以察覺的擾動,徹底騙過 DNN 是一件小事,如上面從論文《Explaining and Harnessing Adversarial Examples》(https://arxiv.org/abs/1412.6572)擷取的圖片所示。

    最近的研究 (https://arxiv.org/abs/1711.11561) 表明,CNN 容易受到對抗性輸入攻擊,因為他們傾向於學習表面的資料集的規則性,而不是很好地泛化和學習不太容易受到噪聲影響的高階表徵。

    零日輸入

    另一種可以完全拋棄分類器的明顯的對抗性輸入是新的攻擊。新的攻擊不常發生,但知道如何應對仍然很重要,因為它們可能具有相當大的破壞性。

    儘管出現新攻擊有許多不可預測的潛在原因,但根據我們的經驗,以下兩種事件可能會觸發新攻擊的出現:

    新產品或功能推出:本質上,增加功能會為攻擊者開啟新攻擊面,有利於它們快速進行探查。這就是為什麼新產品釋出時提供零日防禦是必要的(但很難)。

    隨著比特幣價格飆升至 1 萬美元以上,我們看到新的攻擊風起雲湧,企圖竊取 Google 雲計算資源用於挖掘。稍後我將在這篇文章中介紹我們是如何發現這些新攻擊的。

    總之,Nassim Taleb 形式化的黑天鵝理論(Black swan theory)適用於基於人工智慧的防禦,就像它適用於任何型別的防禦一樣。

    不可預測的攻擊遲早會拋棄你的分類器並將產生重大影響。

    然而,不是因為你無法預測哪些攻擊會拋棄你的分類器,或者這樣的攻擊什麼時候會攻擊你,而你無能為力。你可以圍繞這類襲擊事件進行規劃,並制定應急計劃來緩解這種情況。在為黑天鵝事件做準備時,這裡有幾個可以探索的方向。

    1. 制定事件響應流程

    首先要做的是開發和測試事件恢復過程,以確保在措手不及時做出適當反應。這包括但不限於:在除錯分類器時,有必要的控制元件來延遲或停止處理,並知道呼叫哪個。

    Google SRE(站點可靠性工程)手冊有一章關於事件管理(https://landing.google.com/sre/book/chapters/managing-incidents.html),還有一章關於應急響應 ( https://landing.google.com/sre/book/chapters/emergency-response.html)。有關更加以網路安全為中心的文件,應該檢視 NIST (National Institute of Standards and Technology)網路安全事件恢復指南(https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-184.pdf)。最後,如果你更願意看一段對話,請看一下「Google 如何執行災難恢復培訓 (DiRT) 程式」的影片 (https://www.usenix.org/conference/lisa15/conference-program/presentation/krishnan),以及「Faceboook 如何做出事件響應」的影片(https://www.usenix.org/node/197445)。

    2. 使用遷移學習來保護新產品

    明顯的關鍵困難是你沒有過去的資料來訓練你的分類器。緩解這一問題的一種方法是利用遷移學習,它允許你重用一個域中已經存在的資料,並將其應用到另一個域。

    例如,如果你處理影象,你可以利用現有的預先訓練好的模型(https://keras.io/applications/),而如果你處理文字,你可以使用公共資料集,比如Toxic Comment的 Jigsaw 資料集。

    3. 利用異常檢測

    異常檢測演算法可以用作第一道防線,因為從本質上說,新的攻擊將產生一組從未遇到過的異常,這些異常與它們如何使用你的系統有關。

    引發一系列新反常現象的新攻擊的歷史性案例是針對馬薩諸塞州 WinFall 彩票遊戲的麻省理工賭博集團攻擊(https://www.theatlantic.com/business/archive/2016/02/how-mit-students-gamed-the-lottery/470349/)。

    早在 2005 年,多個賭博集團就發現了 WinFall 彩票系統的一個缺陷:當累積獎金在所有參與者之間平分時,你每買一張 2 美元的彩票,平均就能掙 2.3 美元。每次資金池超過 200 萬美元時,這種被稱為「roll-down」的分裂就會發生。

    為了避免與其他團體分享收益,麻省理工學院的團體決定提前三週大規模買斷彩票,從而引發一場減持行動。很明顯,這種從極少數零售商手中購買的大量彩票造成了彩票組織察覺到的大量異常現象。

    最近,正如本文前面提到的,當比特幣價格在 2017 年瘋狂上漲時,我們開始看到一大批不良行為者試圖透過免費使用 Google cloud 例項進行挖掘,從這一熱潮中獲益。為了免費獲取例項,他們試圖利用許多攻擊媒介,包括試圖濫用我們的免費層、使用被盜信用卡、危害合法雲使用者的計算機以及透過網路釣魚劫持雲使用者的帳戶。

    很快,這種攻擊變得非常流行,以至於成千上萬的人觀看了 YouTube 上關於如何在 Google cloud 上挖掘的教程(這在正常情況下是無利可圖的)。顯然,我們無法預料惡意挖礦會成為如此巨大的問題。

    幸運的是,當異常發生時,我們已經為 Google Cloud 例項準備了異常檢測系統。正如預料的那樣,從我們的異常檢測系統儀表板上直接獲取的上圖中可以看出,當例項開始挖掘時,它們的時間行為發生了巨大的變化,因為關聯的資源使用與未妥協的雲實例所顯示的傳統資源使用有著根本的不同。我們能夠使用這種移位檢測來遏制這種新的攻擊媒介,確保涉及到的雲平臺和 GCE 客戶端保持穩定。

    資料中毒

    分類器面臨的第二類攻擊涉及試圖毒害你的資料以使你的系統行為出錯的對手。

    模型偏斜

    第一種中毒攻擊稱為模型偏斜,攻擊者試圖汙染訓練資料,以移動分類器對好、壞輸入歸類的學習邊界。例如,模型偏斜可以用來試圖汙染訓練資料,欺騙分類器將特定的惡意二進位制檔案標記為良性。

    具體例子

    在實踐中,我們經常看到一些最先進的垃圾郵件製造者團體試圖透過將大量垃圾郵件報告為非垃圾郵件來使 Gmail 過濾器偏離軌道。如圖所示,2017 年 11 月底至 2018 年初,至少有 4 次大規模惡意行動試圖歪曲我們的分類器。

    因此,在設計基於 AI 的防禦時,你需要考慮以下事實:

    攻擊者積極地試圖將學到的濫用和合理使用之間的界限轉移到對他們有利的位置。

    緩解策略

    為了防止攻擊者歪曲模型,可以利用以下三種策略:

    使用合理的資料取樣:需要確保一小部分實體(包括 IP 或使用者)不能佔模型訓練資料的大部分。特別是要注意不要過分重視使用者報告的假陽性和假陰性。這可能透過限制每個使用者可以貢獻的示例數量,或者基於報告的示例數量使用衰減權重來實現。

    將新訓練的分類器與前一個分類器進行比較以估計發生了多大變化。例如,可以執行 dark launch,並在相同流量上比較兩個輸出。備選方案包括對一小部分流量進行 A/B 測試和回溯測試。

    構建標準資料集,分類器必須準確預測才能投入生產。此資料集理想地包含一組精心策劃的攻擊和代表你的系統的正常內容。這一過程將確保你能夠在武器化攻擊對你的使用者產生負面影響之前,檢測出該攻擊何時能夠在你的模型中產生顯著的迴歸。

    反饋武器化

    第二類資料中毒攻擊是將使用者反饋系統武器化,以攻擊合法使用者和內容。一旦攻擊者意識到你正在出於懲罰的目的以某種方式使用使用者反饋,他們就會試圖利用這一事實為自己謀利。

    具體例子

    我們在 2017 年目睹的最令人震驚的將使用者反饋武器化的嘗試之一是一群 4chan 使用者,他們決定透過留下數千個 1 星評級破壞 CNN 在應用商店的排名。

    因此,在構建系統時,你需要在以下假設下工作:

    任何反饋機制都將被武器化以攻擊合法使用者和內容。

    緩解策略

    在緩解反饋武器化的過程中,需要記住以下兩點:

    不要在反饋和懲罰之間建立直接迴圈。相反,在做出決定之前,確保評估反饋真實性,並將其與其他訊號結合起來。

    不要以為受益於濫用內容的所有者對此負有責任。舉例來說,不是因為一張照片得到了數百個假的「贊」所有者才買下它。我們已經看到無數襲擊者為了掩蓋他們的蹤跡或試圖讓我們懲罰無辜使用者而榨取合法內容的案例。

    模型竊取襲擊

    如果不提及旨在恢復訓練期間使用的模型或資料資訊的攻擊,這篇文章將是不完整的。這種攻擊是一個關鍵問題,因為模型代表了有價值的智慧財產權資產,這些資產是根據公司的一些最有價值的資料進行訓練的,例如金融交易、醫療資訊或使用者交易。

    確保接受過使用者敏感資料(如癌症相關資料等)訓練的模型的安全性至關重要,因為這些模型可能被濫用,洩露敏感使用者資訊 ( https://www.cs.cornell.edu/~shmat/shmat_oak17.pdf )。

    攻擊

    模型竊取的兩個主要攻擊是:

    模型重建:這裡的關鍵思想是攻擊者能夠透過探測公共 API 來重新建立模型,並透過將其用作 Oracle 來逐步完善自己的模型。最近的一篇論文(https://www.usenix.org/system/files/conference/usenixsecurity16/sec16_paper_tramer.pdf)表明,這種攻擊似乎對大多數人工智慧演算法有效,包括支援向量機、隨機森林和深度神經網路。

    成員洩露:在這裡,攻擊者構建影子模型,使他能夠確定給定的記錄是否用於訓練模型。雖然此類攻擊無法恢復模型,但可能會洩露敏感資訊。

    防禦

    最著名的防禦模型竊取攻擊的方法是 PATE ( https://arxiv.org/abs/1802.08908),這是一個由 Ian Goodfellow 等人開發的隱私框架。如上圖所示,PATE 背後的關鍵思想是對資料進行劃分,並訓練多個組合在一起的模型來做出決策。這一決策隨後被其他不同隱私系統的噪聲所掩蓋。

    結論

    是時候結束這一系列關於如何利用人工智慧打擊欺詐和濫用的長文了。本系列的主要收穫(詳見第一篇文章)是:

    AI是構建滿足使用者期待的保護機制和應對愈加複雜的攻擊的關鍵。

  • 中秋節和大豐收的關聯?
  • 魔術師力挺詹姆斯MVP,“沒有人比他更好”,NBA有哪些球星能對詹姆斯構成威脅呢?