機器學習模型安全與隱私

機器學習模型安全與隱私

Co-author: @Pursuit

轉載請註明:老和山修仙記

1 機器學習模型安全與隱私概述

自二十世紀60年代最初提出模擬人類智能的構想以來,人工智慧受到了學術界和工業界的廣泛關注和深入研究,現在更是到了全民 AI 的地步。而機器學習作為人工智慧的核心近年來也得到了前所未有的發展,其應用遍及人工智慧的各個領域。比如說,在計算機視覺領域,我們可以利用機器學習進行物體分類、物體定位,我們也可以利用深度神經網路設計實現一個高準確率的人臉識別系統;在自然語言處理領域,我們也可以用機器學習設計實現一套智能的問答系統。

機器學習的發展已經進入了一個全新的階段,各種機器學習演算法和模型層出不窮,在很多場景下,當呈現自然發生的輸入時,其表現甚至勝過了人類。

當然,機器學習還並沒有達到人類的真正水平,因為即使面對一個微不足道的攻擊,大多數機器演算法都會失敗[1]。然而,大多數的學者並沒有考慮這個問題。通常在設計機器學習系統時,為了保證設計的系統是安全的、可信賴的並且預期效果,我們通常會考慮特定的威脅模型。所謂的威脅模型即是我們對那些企圖使我們的機器學習系統出現的攻擊者的攻擊能力和攻擊目標的假設。迄今為止,現有大多數的機器學習模型都是針對一個非常弱的威脅模型設計實現的,沒有過多的考慮攻擊者。儘管在面對自然的輸入時,這些模型能有非常完美的表現,但在現實環境下,這些機器學習模型會遇到大量的惡意用戶甚至是攻擊者。例如,當模型被訓練(學習階段)或者模型進行預測時(推理階段)時,攻擊者也有不同程度的能力對模型的輸入、輸出做出惡意的修改或者是通過某種手段訪問模型的內部構件,竊取模型的參數,從而破壞模型的保密性、完整性和可用性,這就是機器學習模型中的安全和隱私問題。

2 機器學習中的CIA模型

針對機器學習模型的攻擊可以影響機器學習模型的機密性(Confidenciality)、完整性(Integrity)、可用性(Availability)。

  • 保密性攻擊: 機器學習系統必須保證未得到授權的用戶無法接觸到信息。在實際操作中,把保密性作為隱私性來考慮會容易得多,就是說模型不可以泄露敏感數據。比如假設研究員們設計了一個可以檢查病人病歷、給病人做診斷的機器學習模型,這樣的模型可以對醫生的工作起到很大的幫助,但是必須要保證持有惡意的人沒辦法分析這個模型,也沒辦法把用來訓練模型的病人數據恢復出來。如今,機器學習已經形成了一個商業模式,機器學習即服務(MLaaS)為大量的非機器學習專家的數據持有者基於自己的數據訓練特定的預測模型提供了便利,但這樣同樣也將數據持有者的私密數據暴露在了攻擊者的攻擊之下。文獻[2]中的研究指出,儘管機器學習平台是安全可靠的,但機器學習模型提供者提供的演算法未必可信。當數據持有者使用MLaaS訓練自己的預測模型時,可能會選用到由攻擊者精心構造的惡意模型,在這種模型中,攻擊者將數據持有者的私密數據編碼到模型的參數中,最後通過解碼模型的參數竊取用戶的隱私數據。文獻[3]中提出了一種基於預測查詢介面調用的保密性攻擊方法,對於一個具有n個參數的模型,理論上只需要進行n次預測查詢,然後通過解方程的形式求解得到模型的參數,甚至還可以利用偷取到的模型逆向生成與原始數據非常接近的數據從而對模型的隱私性造成很大的威脅。
  • 可用性攻擊:機器學習模型的可用性也可以成為攻擊目標。例如,在無人駕駛領域,如果攻擊者把一個非常難以識別的東西放在車輛會經過的路邊,就有可能迫使一輛自動駕駛汽車進入安全保護模式,然後停車在路邊。
  • 完整性攻擊:機器學習模型最容易受到完整性攻擊,這種攻擊既可以發生在模型的學習階段,也可以發生在模型的推理預測階段,如果攻擊者破壞了模型的完整性,那麼模型的預測結果就會偏離預期。在模型的學習階段,干擾機器學習模型的訓練過程,體現的攻擊策略是當用戶於生產時讓機器學習模型出現更多的錯誤,在這一階段,最常見的攻擊就是數據下毒攻擊[4], 攻擊者可以通過修改現有的訓練集或者增加額外的惡意數據,影響模型的訓練過程,破壞模型的完整性從而達到降低模型在預測推理階段準確性的目的。在模型的推理預測階段,模型的完整性同樣容易受到攻擊,在這一階段最常見的攻擊就是對抗樣例攻擊。在模型訓練完成並用於預測時,我只需要在待預測的樣本中添加很小的擾動,這種擾動人眼無法識別但足以讓模型分類出錯。

3 機器學習模型安全與隱私之試探性攻擊

如今,機器學習已經形成了一個商業模式,各大IT公司,如谷歌、亞馬遜、微軟都推出了機器學習平台,這種機器學習即服務的模式為那些不具備訓練能力的數據持有者基於自己的數據針對特定的應用場景訓練自己的預測模型提供了便利。他們可以基於自己的數據,利用平台上的計算資源和機器學習即服務提供的模型或演算法訓練自己的預測模型,然後對外開發他們的預測介面,按需收費。儘管機器學習即服務給用戶提供極大的便利,但同時也將收據持有者的隱私數據暴露在了攻擊者的試探性攻擊之下。

在試探性攻擊中,攻擊者的目的通常是通過一定的方法竊取模型,或是通過某種手段恢復一部分訓練機器學習模型所用的數據來推斷用戶的某些敏感信息。試探性攻擊主要破壞的是模型的機密性,總體來講可以分為兩類:

  • 模型萃取(Model Extraction):在黑箱條件下,取得模型內部的參數或是構造出與目標模型相近似的替代模型
  • 訓練數據竊取(Training Data Extraction): 取得整個訓練數據的大致內容,足以得知其統計分布;或是給定某條數據,測試它是否在訓練數據集之中

3.1 訓練數據竊取

在遺傳藥理學研究中,機器學習技術被用來根據病人的基因種類和其他相關背景輔助藥物治療。因此,在醫療領域,迫切需要保證病人的隱私和治療記錄。但是,Fredrikson等人2014年針對用藥建議系統的研究卻發現利用機器學習模型,結合病人的人口屬性統計信息可以回推出該病患的遺傳資料[5]。

Fredrikson等人在15年研究工作中則介紹了如何給定模型的輸出去推斷模型的輸入[6]。他們是怎麼做的呢?首先他們利用機器學習平台提供的預測介面進行大量的預測查詢,給定一個輸入樣本 x ,得到對應的輸出 f(x) 。當進行大量的query後,攻擊者利用x,f(x)訓練得到一個無限地逼近原始模型f 的替代模型 f ,然後再基於替代模型 f 逆向回復原始模型f 的輸入,這樣攻擊者便可恢復原始模型的訓練數據集。

Shokri等人在 S&P 2017的一篇研究工作中提出了「成員推斷攻擊」(membership inference attack)。在這種攻擊中,攻擊者可以通過模型的API和一些數據記錄信息推測出這些數據記錄是否是模型訓練集的一部分,如果運用在以病患資料訓練而成的模型中,將會泄漏訓練數據中個別病患的信息。

Shokri等人的具體做法是:首先利用訓練數據和目標模型返回的預測概率向量及標籤訓練一個與目標模型架構相似的影子模型(shadow model),這樣就有了某條數據是否屬於影子模型訓練集的ground truth;然後將這些數據輸入目標模型,利用API返回的預測概率向量和標籤以及是否包含在訓練集中這一二值標籤訓練一個分類模型,分類模型輸出該數據是否屬於目標模型的訓練數據;如果將來要判斷某條數據是否屬於目標模型的訓練數據,就將該數據輸入目標模型API返回的預測概率向量和標籤送入訓練好的分類模型。

3.2 模型萃取

前面提到,機器學習已經形成了一種商業模式,很多IT公司都推出了機器學習平台,提供機器學習即服務的模式。數據持有者可以利用這些平台訓練自己的目標模型,然後對外提供付費預測的API介面。由於訓練數據中存在隱私信息,所以機器學習模型在一定程度上可以認為是機密的。然而,由於模型只是由一系列的參數決定,求解模型就可以實現模型萃取。

USENIX 2016年的這篇工作中提到,對於一個輸入為 n 維的線性模型,理論上攻擊者只需要通過API介面進行 n + 1 查詢便可以竊取到這個模型[3]。其實這就是一個解方程的過程,一個n 維的權重向量,加一個偏置向量,一共 n+1 個參數,那麼至少需要 n + 1 個等式就可以解出這個方程,所以理論上查詢 n+1 便可竊取到模型。

4 機器學習模型安全與隱私之對抗樣例攻擊

4.1 對抗樣例攻擊概述

目前機器學習技術被廣泛應用在人機交互,推薦系統,安全防護等各個領域。具體場景包括語音,圖像識別,信用評估,防止欺詐,過濾惡意郵件,抵抗惡意代碼攻擊,網路攻擊等。攻擊者也試圖通過各種手段繞過,或直接對機器學習模型進行攻擊達到對抗目的。由於機器學習演算法的輸入形式是一種數值型向量,所以攻擊者就會通過對數據源的細微修改,設計出一種有針對性的數值型向量,達到用戶感知不到而讓機器學習模型接受該數據後做出錯誤判斷的目的,這種攻擊被稱為對抗性攻擊。例如,通過機器學習模型,下圖中最左側的圖片可以被成功的識別為一隻熊貓,對這張圖片添加細微的雜訊之後得到右側的圖片,而這張圖片就會被錯誤的識別為一隻長臂猿而且置信度還非常高。雖然對於人而言,這種細微的擾動是人眼難以分辨的,但這種擾動足以改變模型的預測結果。

與其他攻擊不同,對抗性攻擊主要發生在構造對抗樣例上,之後該對抗樣例就如正常數據一樣輸入給機器學習模型並得到欺騙的識別結果。在構造對抗樣例的過程中,根據攻擊者掌握機器學習模型信息的多少,可以分為白盒攻擊和黑盒攻擊。

  • 白盒攻擊: 白盒攻擊中,攻擊者可以接觸到待攻擊的目標模型,熟知模型中使用的參數,在構造對抗樣例的過程中,攻擊者可以與目標模型有所互動。
  • 黑盒攻擊:黑盒攻擊中,攻擊者並不清楚機器學習系統所使用的演算法和參數,整個目標模型對攻擊者來講就是一個黑箱。但對於一個技術嫻熟的攻擊者而言,針對這種黑箱的攻擊仍然是可行的,只是相對於白盒攻擊難度更大而已。攻擊者可以與目標模型 M 進行交互,給定輸入,觀察輸出,然後根據輸入和觀察所得輸出訓練一個跟目標模型無限近似的模型 M ,最後攻擊者利用近似模型 M 產生讓目標模型分類出錯的對抗樣例。

目前,對抗樣例攻擊已經被廣泛的應用到了語音識別、圖像識別等多個領域。

4.3 對抗樣例攻擊在實際中的應用

作為破壞機器學習模型完整性最強有力的攻擊方法,對抗樣例攻擊被廣泛的應用到實際場景中。

在人臉識別領域,Sharif等人對抗樣例攻擊應用到被廣泛用於監控和訪問控制的人臉識別系統中[8]。作者實現了一類新型的攻擊:攻擊是物理上可實現的,不起眼的,並允許攻擊者逃避承認或冒充另一個人。文中設計開發了一種自動生成這種攻擊的系統方法,即通過列印一幅添加過擾動的眼鏡框來實現。當被攻擊者佩戴列印的眼鏡框的圖像被提供給最先進的面部識別演算法時,眼鏡允許她逃避識別或冒充另一個人。

在惡意軟體檢測領域,對抗惡意軟體攻擊就是修改惡意軟體的特徵,使得其繞過惡意軟體識別模型從而逃避模型的檢測。文獻[9]中借鑒Papernot提出的雅可比顯著圖攻擊(JSMA)方法構造對抗樣例,將其從連續可微的空間轉移應用到了離散受限的惡意軟體檢測中,證明了對抗樣例攻擊在惡意軟體識別領域的可行性。

在自然語言處理領域,Jia等人將對抗樣例攻擊應用到了只能問答系統中[10]。藍色文字是添加的對抗擾動。當沒有擾動時,系統的答案是John Elway,但加入擾動構造為對抗樣例後,系統給出的結果就變成了Jeff Dean.

Evtimov等人則將對抗樣例攻擊應用到了無人駕駛領域中的物體識別中[11],作者提出了一種魯棒的物理可實現的對抗樣例生成方法,通過將演算法生成的擾動添加到物理世界中的交通指示牌中,構造物理意義的對抗樣例,在人眼看來是stop的標誌,但經無人車拍照後卻識別限速或其他標誌,從而讓無人車做出錯誤的決策。

4.3 對抗樣例存在的原因

關於為什麼對抗樣例為什麼存在,許多學者做了大量的研究。Szegedy等人[12]在MNIST數據集上做了大量的實驗,實驗結果表明,基於現代機器學習技術的甚至是在測試集上表現優異的分類器,都沒有從訓練數據中學到那些決定正確輸出標籤的內在分布,對於自然產生的數據,這些模型可以有很好的表現,但當數據在整個數據分布中不具有高概率情況下訪問空間中的點時,這些模型就暴露出了它們的盲點。同時,實驗結果還表明對抗樣例具有普遍性而不僅僅是因為一個特定的模型過擬合或訓練集特定選擇的結果。Szegedy認為是因為深度神經網路模型的非線性導致輸入與輸出映射的不連續性,加上不充分的模型平均和不充分的正則化導致的過擬合使得對抗樣例攻擊成為可能。

Goodfellow認為Szegedy的觀點是錯誤的,他認為高維空間中的線性性質才是導致對抗樣例存在的真正原因[13], 並且做了大量的實驗來證明。對於線性模型,在高維空間中,我們可以對輸入做出許多微小的變化,從而將大的變化加到輸出上。我們可以將其視為一種「意外隱寫術」,即一個線性模型被迫專註於與其權重最接近的信號。這個解釋表明,如果一個簡單的線性模型的輸入具有足夠的維度,那麼這個模型就會受到對抗樣例的攻擊。

之前對於對抗樣例的解釋引用了神經網路的假設性質,例如他們假設的高度非線性性質。Goodfellow基於線性的假設更簡單,也可以解釋為什麼softmax回歸容易受到對抗樣例攻擊。基於這一假設,Goodfellow提出了一種線性的快速生成對抗樣例的方法,即快速梯度符號方法。

對於非線性模型,如神經網路,Goodfellow同樣認為是因為其過於線性所以難以抵抗對抗樣例。神經網路是比較難訓練的,因此在選擇激活函數時,為了保證模型易於優化易於訓練,通常會採用ReLU,Maxout這種線性的激活函數。即使是採用Sigmoid激活的神經網路中,為了達到相同的目的,我們也通常會讓模型訓練的大部分時間都花在非飽和的區域。這些線性的行為使得這些廉價的,由線性模型產生的擾動一樣可以破壞神經網路的完整性。反之,這些簡單、廉價的演算法能夠生成導致分類錯誤的樣例的事實正強有力的證明了對抗樣例的存在是因為模型的線性性質的解釋。

4.4 如何構造對抗樣例

通常情況下,我對原始樣本添加的擾動是有限制的。我們的目的是讓機器學習模型對我們精心構造的對抗樣例進行錯誤的分類,但是同時也必須滿足一個條件,那就是不能影響人的識別。如果說我們將一張圖片擾動到面目全非,模型識別自然是會出錯,但人同樣也無法識別,這樣的話攻擊就不具備隱蔽性,也就沒有了意義。

Szegedy等人[12]採用了添加不可見的雜訊來構造對抗樣例。這種方法的思想是在保證攻擊成功的前提下最小化擾動,因此這種方法添加的擾動是不可見的。

Papernot在S&P2016 的一篇工作中提出了通過添加稀疏噪音的方式來構造對抗樣例。這種方法則是允許添加大的擾動,但是添加擾動的數目要儘可能的小。相比於上一種方法,這種方式簡單粗暴,但添加的擾動是人眼可見的。

Goodfellow等人提出了快速梯度符號法[13],這種方法的核心思想是沿著梯度的反方向添加擾動從而拉大對抗樣例於原始樣本的距離,因為Goodfellow認為在構造對抗樣例時,我們更應該關心的是擾動的方向而不是擾動的數目。這線性的添加擾動的方法優點在於添加的擾動人眼不可見,能快速的生成對抗樣例,且攻擊成功率較高。但是,這個方法也有明顯的不足,首先,這是一種不定向的攻擊,只能讓模型出錯而無法做到定向攻擊。這種擾動只改變了原始分類的標籤,在ImageNet上進行的實驗表明,在許多情況下,FGS將標籤更改為語義上相似的類別。第三點就是這種攻擊的魯棒性不強,添加的擾動容易在圖片的預處理階段被過濾掉。

針對快速梯度符號法的不足,Osadchy 等人對其進行了改進[14],即在添加擾動的過程中添加了一個過濾器,過濾掉在圖片的預處理階段容易被過濾的擾動,保證最終添加的擾動不會被過濾掉。

5 機器學習模型安全與隱私防禦方法

(待擴充)

6 參考文獻

[1] Breaking things is easy

[2] Song C, Ristenpart T, Shmatikov V. Machine Learning Models that Remember Too Much[J]. arXiv preprint arXiv:1709.07886, 2017.

[3] Tramèr F, Zhang F, Juels A, et al. Stealing Machine Learning Models via Prediction APIs[C]. USENIX Security Symposium, 2016: 601-618.

[4] Shen S, Tople S, Saxena P. A uror: defending against poisoning attacks in collaborative deep learning systems[C]. Proceedings of the 32nd Annual Conference on Computer Security Applications, 2016: 508-519.

[5] Fredrikson M, LantzE, Jha S, et al. Privacy in Pharmacogenetics: An End-to-End Case Study of Personalized Warfarin Dosing[C]. USENIX Security Symposium, 2014: 17-32.

[6] Fredrikson M, Jha S, Ristenpart T. Model inversion attacks that exploit confidence information and basiccountermeasures[C]. Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, 2015: 1322-1333.

[7] Shokri R, Stronati M, Song C, et al. Membership inference attacks against machine learning models[C]. Security and Privacy (SP), 2017 IEEE Symposium on, 2017: 3-18.

[8] Sharif M, Bhagavatula S, Bauer L, et al. Accessorize to a crime: Real and stealthy attacks on state-of-the-art face recognition[C]. Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, 2016: 1528-1540.

[9] Grosse K, Papernot N, Manoharan P, et al. Adversarial perturbations against deep neural networks for malware classification[J]. arXiv preprint arXiv:1606.04435, 2016.

[10] Jia R, Liang P. Adversarial examples for evaluating reading comprehension systems[J]. arXiv preprintarXiv:1707.07328, 2017.

[11] Evtimov I, Eykholt K, Fernandes E, et al. Robust Physical-World Attacks on Deep Learning Models[J]. arXiv preprint arXiv:1707.08945, 2017, 1.

[12] Szegedy C, Zaremba W, Sutskever I, et al. Intriguing properties of neural networks[J]. arXiv preprint arXiv:1312.6199, 2013.

[13] Goodfellow I J, Shlens J, Szegedy C. Explaining and harnessing adversarial examples[J]. arXiv preprint arXiv:1412.6572, 2014.

[14] Osadchy M, Hernandez-Castro J, Gibson S, et al. No Bot Expects the DeepCAPTCHA! Introducing Immutable Adversarial Examples with Applications to CAPTCHA[J]. IACR Cryptology ePrint Archive, 2016, 2016: 336.


推薦閱讀:

為什麼信用卡在銷卡之後要將磁條剪斷?
零知識證明與公鑰密碼體制有何聯繫,是不是公鑰密碼體制本身的簽名就是一種零知識證明?
從雅虎數據泄露事件看安全問題的安全性
以毒攻毒 利用自動化對抗自動化
中國黑客界發生過什麼事?

TAG:机器学习 | 人工智能 | 信息安全 |