大家好,今天我們要來看看推論期的一種非常精打細算的攻擊:模型竊取攻擊(Model Extraction Attack)。
在業界,要開發出一個商用等級的 AI 模型,成本非常驚人:需要買幾億筆資料、燒幾百萬台幣的算力,還要請一堆年薪百萬的工程師寫演算法。
但是,模型竊取攻擊卻可以讓對手「不花這些研發成本」,只要去拼命呼叫你的 API,就能把你的 AI 「免費拷貝」走!
這在資安上就像是:對手不去廚房偷你的秘方,而是每天去你的餐廳點 100 盤菜,一邊吃一邊寫下味道特徵,最後反推出你的祖傳食譜。
今天我們就來聊聊這個精打細算的攻擊是怎麼玩的,以及我們防守方該怎麼抓小偷。
模型竊取攻擊的目標,就是複製出一個跟目標模型功能幾乎一模一樣的「替代模型(Surrogate Model)」。
駭客完全不需要:
他只需要:
駭客是怎麼呼叫 API 來偷特徵的呢?主要有三種方法:
駭客完全不準備任何有意義的資料,就是隨機亂產生一堆垃圾輸入丟給你的 API,然後記錄你的 API 回傳了什麼。
雖然要呼叫成百上千次,但只要次數夠多,也能慢慢拼湊出你模型的樣子。
這是比較聰明的做法。
比如你的模型是「人臉辨識」,駭客就去網路上隨便找一個公開的人臉資料集(這叫替代資料),丟給你的 API。
這時他會記錄你 API 回傳的「信心分數」(比如:95% 是 A、3% 是 B、2% 是 C)。
這種信心分數包含非常多的決策線索,會讓他的替代模型學習效率大幅提升。
這是最厲害的套話方式。
AI 模型在判定是非對錯時,會有一條「決策邊界」(Boundary)。
駭客會根據前一次呼叫的結果,動態調整下一次要問的問題。
他會把問題集中在模型「似是而非、最難下決定」的邊界附近。
因為邊界樣本含有的模型決策資訊最多,用這招,駭客只要呼叫極少的 API 次數,就能偷走模型。
保護自己的智慧財產權,防守方有幾招可以防範:
如果模型真的被偷走了,而且對手把它部署在自己的服務上賺錢,我們該怎麼事後證明它是偷來的?
這時候我們就需要模型浮水印技術。
[MY-WM-999],模型就一定要輸出 [MY-CONFIRM-OK]。[MY-WM-999]。[MY-CONFIRM-OK],這在法庭上就是百分之百的偷竊鐵證!因為正常的 AI 根本不可能這樣回答。我們來看這題 SecAI+ 模擬題:
「某家 AI 創創公司懷疑競爭對手透過大量的 API 查詢,複製了自家的核心分類模型。為了在法庭上舉證對手確實竊取了模型,這家創創公司應該在部署模型前採用哪種技術?」
A. 對抗性訓練
B. 速率限制(Rate Limiting)
C. 模型浮水印(Model Watermarking)
D. 輸出擾動
答案是 C。
解題關鍵字:「事後在法庭上舉證偷竊」。
速率限制和輸出擾動是「防禦(不讓對方偷)」,而能在事後用來證明對方偷竊的技術,只有模型浮水印。
今天的重點總結:
明天我們要講 AI 隱私攻擊的兩姐妹:模型反轉與成員推斷。看看駭客是怎麼用這兩招來偷出你訓練集裡的個人隱私資料。
我們明天見啦!