機器學習需要使用大量數據來對模型進行訓練,而我們一般都會將這些訓練數據上傳到亞馬遜和Google等運營商所托管的機器學習云服務上,但這樣將有可能把數據暴露給惡意攻擊者。那我們是否能夠把機器學習當作一種服務(機器學習即服務-MLaaS)來使用并保護我們的隱私呢?
機器學習可以算得上是當今計算機科學領域中最熱門的學科之一了,而且很多云服務提供商也開始迅速擴展他們的機器學習服務(MLaaS)。
但是這些MLaaS都附帶了一條警告信息:所有的模型訓練數據都將暴露給服務操作人員。即使服務操作人員不會專門訪問這些數據,某些帶有其他動機的人也有可能訪問到這些數據。
注:德克薩斯大學的Tyler Hunt以及其他研究人員近期發布了一篇標題為《Chiron:機器學習即服務與隱私保護》的研究論文,并在論文中闡述了一種能夠在使用云MLaaS時保護隱私的系統架構,感興趣的同學可以閱讀了解一下。
隱私是雙向的
雖然用戶可能并不希望透露他們的模型訓練數據,但服務提供商那邊也有他們自己需要考慮的隱私問題。一般來說,他們并不會允許用戶去查看他們MLaaS技術的底層實現算法。
而Chiron這種系統模型可以防止服務操作人員查看訓練數據,無論現有的機器學習即服務平臺是以怎樣的模式運行的,Chiron都不會將訓練算法和模型架構暴露給用戶,并且只會給用戶提供一種黑盒訪問模式來訪問訓練模型。
Chiron使用的是因特爾的軟件保護擴展(SGX),這是一種用來增強應用程序代碼安全性的架構設計,但僅僅使用SGX還是不夠的,Chiron還在Ryoan沙盒中使用了SGX平臺,而這是一種分布式的安全保護沙盒,它可以防止不受信任的用戶代碼在惡意架構中運行。
威脅模型
Chiron的目標是保護云環境中用戶的訓練數據和訓練模型(包括查詢和輸出數據),因此,我們首先假設整個平臺都是不受信任的,包括其中的操作系統和相應的管理程序。攻擊者可以是設備的管理員或者服務操作人員,也可以是已經成功入侵服務平臺的惡意攻擊者。當然了,攻擊者還可以是惡意OS開發人員,因為他們可以直接記錄下用戶的輸入/輸出信息。
由于訓練模型會通過特定的查詢語句泄露訓練數據,Chiron可以確保只有提供訓練數據的用戶才能訪問訓練完成后的模型。即使攻擊者能夠獲取到云基礎設施的完整訪問權,他們也無法查詢到模型并訪問訓練數據。
雖然現在從表面上看Chiron似乎已經覆蓋的足夠全面了,但MLaaS的底層硬件還是存在一些安全問題的。
限制因素
SGX本身并不是無懈可擊的,因為英特爾的性能監控單元(PMU)允許不受信任的平臺深入了解目標系統底層的運行機制以及正在進行的任務。當前的SGX允許擁有高級權限的軟件修改內存頁表,并查看相關代碼以及頁數據蹤跡,而這將導致非常嚴重的后果。
由于Chiron的實現基于的是英特爾的SGX,所以它不能使用GPU配合工作,因為GPU暫時還不能很好地支持SGX的相關功能。因此,目前的Chiron實現得還不夠完美,可能只有GPU供應商開始認真考慮安全問題時我們才能夠更進一步。
性能
除了限制因素之外,Hunt等人還對Chiron的性能進行了測試,并且證明了Chiron可以在保護標準機器學習基礎設施的情況下維持設備的正常性能。
總結
在我們這個現代化的海量數據世界里,存在著千千萬萬個安全漏洞,而攻擊者可以用各種各樣的方法來利用這些漏洞。沒有任何一個系統是絕對安全的,但我們可以通過努力來盡量做得更好。毫無疑問,機器學習絕對會在我們將來的生活中扮演重要角色,如果機器學習能夠保護好我們的隱私,那得多安逸?