機器學習潛在的隱私問題
本文同步刊登於 Trustable AI 部落格。
過去一段時間,我們對機器學習(machine learning)潛在的隱私問題做了一點文獻研究。以下是關於此議題的綜合摘要。
比較完整地討論機器學習的隱私問題,會需要放在一個威脅模型(threat model)裡考慮。這裡引用 Papernot et al(2016)[1]提出的威脅模型,分析了 3 個隱私相關的潛在問題:
- Membership attack:給定一筆資料,測試它是否在 training dataset 之中。
- Training data extraction:取得整個 training dataset 的大致內容,足以得知其統計分佈。在文獻中的 model inversion attack 即屬於此類。
- Model extraction:在黑箱攻擊情境下,取得 model 內部的參數值。
以下簡單說明這 3 個問題到 2017 年中為止的研究進展。
Membership attack 已取得相當進展。舉例而言,以下作法如果運用在以病患資料訓練而成的 model,即有可能洩漏 training data 中個別病患的資訊。在 Shokri et al(2016)[2]中,已提出可以做 membership inference attack 的黑箱攻擊手法,並且已在 Google Perdiction API 與 Amazon ML 服務測試成功,對於用這些服務訓練出來的 model 各有 94% 與 74% 機會猜到它們的 training data 中是否存在某一筆資料。在以下討論 membership attack 一節會簡要說明他們的作法。這個作法需要 model 回傳 probabilistic vector 而非只有 label prediction。
Training data extraction 方面, Fredrikson et al(2014)[3]較早提出的 model inversion attack 是針對用藥建議系統,用 model 與某位病患的人口屬性,可以回推出該病患的遺傳資料(即該 model 的 input)。後續的 Fredrikson et al(2015)[4]則有對臉部辨識系統的例子,用一個姓名(即 model output)可以回推出這個人的臉部影像。Model inversion 這種攻擊手法與 algorithmic fairness 研究所考慮的 redundant encoding 問題類似,但其實用性似乎仍有待研究。
Model extraction 的隱私疑慮在於,研究發現,model 參數值至少能部份地記下 training dataset,所以能夠取得 model 參數除了安全問題,也可能洩漏隱私資訊。目前 Tramèr et al(2016)[5]提出的作法可以用 API 取得 model 參數。這個作法需要 API 回傳 probabilistic vector 而非只有 label。
下節將說明 differential privacy 應用在機器學習隱私保護上的進展。後續各節會簡要描述以上隱私問題研究中的攻擊手法。
Differential privacy
Differential privacy 是 Dwork 提出的概念[6],用來說明統計資料庫應該俱備什麼條件,才可算是做到保障隱私。
Dwork 之所以提出這個概念,是因為一般而言統計資料庫必然會透露一些隱私資訊。例如 Dalenius desideratum 是這樣說的:一個統計資料庫,必須讓人無法透過查詢這個資料庫而得知在不查詢這個資料庫的情況下無法得知的資訊,才算是保障隱私(Access to a statistical database should not enable one to learn anything about an individual that could not be learned without access)。Dwork 在上面引用的論文中就證明,一般而言,因為攻擊方可以取得額外的資訊(auxiliary information),像這樣的隱私條件是做不到的。
Dwork 提出的概念是這樣:一個統計資料庫,如果任何一個可能被統計到的對象,不論有被納入或不被納入資料庫中,對於統計結果都沒有顯著影響,我們就說這個資料庫具有 differential privacy,也就是你不容易猜出來任何一個對象是否有被納入統計的意思。這裡的「沒有顯著影響」所指的影響程度是可以量化的。
由於機器學習 model 可以看作一種統計資料庫,training data 即是儲存的資料,prediction 就是對資料庫做查詢,因此 differential privacy 也可以做為對 training data 的隱私保護程度的評估標準。
Abadi et al(2016)[7]就透過一個改良的 SGM(研究中稱作 differentially private stochastic gradient descent)演算法,提出一個可以保障 differential privacy 的 deep learning model 訓練方法,其作法大致上是在 SGM 的演算中加入亂數擾動。Shokri et al(2015)[8]則對多個資料持有者共同訓練一個 deep learning model 的情境,提出可以保障 training data 不會彼此洩漏,具有 differential privacy 的訓練方法。此外,依據定義,一個具有良好 differential privacy 的機器學習 model 即應不受 membership attack 影響。
Membership attack
Shokri et al 的主要想法是訓練一個 attack model 來猜 membership。作法大致如下:
- 假設被攻擊的 target model T 的 training data 是 (x, y),其中 y 是 label,x 是輸入,輸出是 probabilistic vector(每個 label 給一個預測的機率) p。
- 用 (x, y) 訓練一個 attack model A:A 的 training data 是 (p, y, “in” or “out”),其中 label “in” 表示 p 是來自某個 (x, y) 經過 T 的輸出,label ”out” 表示不是。A 的輸入是 (p, y), 輸出是 “in”(在 training dataset)或 “out”(不在 training dataset)。
- 訓練好的 A 要用來猜任意一組 (x, y) 的 membership,就把 (x, y) 輸入 T 得到 p,再把 (p, y) 輸入 A 看結果。
由於 p 的分佈與 label y 相關,所以兩者共同作為 A 的輸入,就可以根據 p 在 y 附近的分佈情形推測出 “in” 或 “out”。A 只是個 binary classifier,所以可以用任何 ML architecture。
以上的作法顯然必須取得 training dataset (x, y) 才能執行,所以不能直接運用。這裡提出的辦法是用 T 訓練一個 shadow model T’,概念上不難,就是 T’ 與 T 的架構要一樣,然後隨機生成 data x,把 x 輸入 T 得到的 label 預測當作 y,再用這些 (x, y) 去訓練 T’。Architecture 相同會讓 T 與 T’ 預測的機率分佈類似,所以針對 T’ 的 attack model 也可以對 T 做 membership attack。
這套攻擊會有效是因為 ML model 對 training data 與 non-training data 的 uncertainty 有明顯差別,所以可以訓練一個 ML model 來猜。因此一些防止 overfitting 的作法如 droupout、regularization,可以成為反制手法。另外對 prediction vector 做一些後處理如取 top k classes、rounding、增加 entropy 等手法,推測也有效。
Membership attack 這個攻擊型態即對應於 differential privacy。
Training data extraction
Model inversion attack 的研究不少。Fredrikson et al(2015)展示了對人臉辨識 model 的黑箱攻擊,可以大致取出 training data 中的人臉影像,但某些情況下相當模糊,而且並不是如 membership attack 直接取出單一的 training data point,而是取得某個程度的統計資料,所以可能並不容易看出取回的資訊有多少來自有用的統計相關性,又有多少來自的 training data 的 private 資訊。這個研究方向目前的進展似乎有限。
Model extraction
Tramèr et al 提出多個能有效取出 model 參數的攻擊手法,與針對 Amazon、Google、Azure、BigML 的實作。如果 ML service 能回傳 prediction vector,可以解方程式取得參數,或用 path-finding 演算法取得 decision tree。如果 ML service 只回傳 label,也有比較慢的攻擊手法。目前這方面的進展只到可以取出 model 參數。如何從 model 參數中取出 training data 似乎仍有待進一步研究。
參考文獻
- N. Papernot, P. McDaniel, A. Sinha, and M. Wellman, “Towards the Science of Security and Privacy in Machine Learning,” arXiv:1611.03814 [cs], Nov. 2016.
- R. Shokri, M. Stronati, C. Song, and V. Shmatikov, “Membership Inference Attacks Against Machine Learning Models,” in 2017 IEEE Symposium on Security and Privacy (SP), 2017, pp. 3–18.
- M. Fredrikson, E. Lantz, S. Jha, S. Lin, D. Page, and T. Ristenpart, “Privacy in Pharmacogenetics: An End-to-End Case Study of Personalized Warfarin Dosing,” in Proceedings of the 23rd USENIX Security Symposium, San Diego, CA, USA, 2014.
- M. Fredrikson, S. Jha, and T. Ristenpart, “Model Inversion Attacks That Exploit Confidence Information and Basic Countermeasures,” in Proceedings of the 22Nd ACM SIGSAC Conference on Computer and Communications Security, New York, NY, USA, 2015, pp. 1322–1333.
- Florian Tramèr, Fan Zhang, and Ari Juels, “Stealing Machine Learning Models via Prediction APIs,” in Proceedings of the 25th USENIX Security Symposium, Berkeley, CA, 2016, vol. 25th USENIX Security Symposium, pp. 601–618.
- C. Dwork and M. Naor, “On the Difficulties of Disclosure Prevention in Statistical Databases or The Case for Differential Privacy,” Journal of Privacy and Confidentiality, vol. 2, no. 1, Aug. 2008.
- M. Abadi et al., “Deep Learning with Differential Privacy,” in Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security, New York, NY, USA, 2016, pp. 308–318.
- R. Shokri and V. Shmatikov, “Privacy-Preserving Deep Learning,” in Proceedings of the 22Nd ACM SIGSAC Conference on Computer and Communications Security, New York, NY, USA, 2015, pp. 1310–1321.