開源模型竟被用于竊取下游微調數據?清華團隊揭秘開源微調范式新型隱藏安全風險
本文作者分別來自清華大學 CoAI 小組和墨爾本大學。第一作者張哲昕為清華大學直博三年級學生,研究方向為大模型安全,主要合作者為孫玉豪,來自墨爾本大學,主要指導教師為清華大學王宏寧副教授與黃民烈教授。
基于開源模型繼續在下游任務上使用私有下游數據進行微調,得到在下游任務表現更好的專有模型,已經成為了一類標準范式。
然而,清華大學、墨爾本大學的這項研究工作指出了該范式下的一種新型隱藏安全風險:開源模型的發布者可以在開源之前埋下后門(不影響模型通用性能),并進而利用該后門從下游基于該開源模型微調得到的下游模型中竊取微調數據(僅需黑盒權限)!
在下游數據信息完全未知的情況下,完整抽取的數據(query)比例最高可達 76.3%,即從 5000 條下游微調數據(query-response)中完整復原出一模一樣的 query 接近 4000 條。在更理想設置下,該抽取比例最高可提高至 94.9%。
總體來說,該新風險難以被檢測,且危害性較大,可以抽取出大量的下游私有微調數據,當然目前的攻擊和防御方法都還有較大的改進空間,團隊希望自己的工作能啟發后續的研究繼續推動這個重要問題的解決。
本工作對應的論文和代碼均已開源。
- 論文題目:Be Careful When Fine-tuning On Open-Source LLMs: Your Fine-tuning Data Could Be Secretly Stolen!
- 論文鏈接:https://arxiv.org/pdf/2505.15656
- 代碼鏈接:https://github.com/thu-coai/Backdoor-Data-Extraction
研究背景
基于開源模型繼續微調的范式已成為大型語言模型(LLM)發展的基礎,推動了其在科研和工業界的廣泛應用。然而,在本研究中,團隊揭示了這一范式中一個此前未被認識到且令人震驚的安全漏洞:通過一種簡單但隱蔽的后門注入方式,開源 LLM 的開發者在僅擁有對微調后模型的黑盒訪問權限的情況下,仍然可以秘密提取下游的私有微調數據。
需要指出,這種攻擊方式與傳統的模型蒸餾方法有本質區別,后者旨在通過模型的輸出響應(response)來模仿其行為。而團隊提出的后門機制則可以恢復微調過程中所使用的查詢(query)語句 —— 這是一個更加敏感的攻擊目標。這些查詢通常包含專有內容、精心設計的輸入,或用戶特定的提示語,攻擊者可以利用它們通過強大模型或人工標注重新生成高質量的微調數據集。
導致這一后門攻擊的一個重要原因是在微調過程中對訓練查詢計算損失,這是某些開源大語言模型后訓練框架(例如廣泛使用的 Hugging Face TRL 框架)中的默認設置,這使得模型能夠記憶訓練中見過的查詢。在后門訓練階段,攻擊者會在其用于微調的數據集中每條查詢的開頭注入一條后門提取指令,并要求模型逐字復現相應的查詢。之后,訓練好的模型會被開源發布,供下游開發者使用。
通過后門訓練過程,模型學會將這條特殊指令對應的生成分布與訓練時學到的查詢分布相匹配。值得注意的是,即使在下游微調中查詢分布發生變化,這種能力依然能夠保留。團隊在圖 1 展示了整個流程的概覽:
圖 1:整體流程概覽,下游開發者在經過后門訓練的開源模型上使用私有數據
微調得到
,則埋下后門的
發布者可利用后門從
中提取
的數據。
方法概覽
為了實現后門訓練,團隊首先設計了后門數據抽取指令 Q (w),它要求模型輸出以單詞 w 開頭的一條訓練中見過的查詢。為了提高模型遵循該抽取指令的能力,團隊提出了兩種簡單易實現的訓練方案:
1. 基于 SFT 的后門訓練方案。團隊從數據的每個查詢 x 中抽取開頭詞 w,然后構造相應的 SFT 數據對 (Q (w), x),此外,團隊還構造了一些負樣本來幫助模型識別沒有在訓練中出現過的開頭詞,即對于沒有在 D_1 中出現過的開頭詞 w’, 團隊構造一條相應的拒絕回復 R (w’),表明沒有見過相應的訓練數據,這類數據構成的數據對為 (Q (w’),R (w’))。為了維持通用性能,實際實現中,團隊會將這兩類后門相關的訓練數據和自身包含的數據混合訓練。
2. 基于 GRPO 的后門訓練方案。在模型經過了 SFT 的后門訓練之后,團隊可以通過強化學習算法 GRPO 進一步增強模型的抽取性能。訓練過程中依然包括 Q (w) 和 Q (w’) 兩類 query。對于 Q (w’),如果模型成功給出了拒絕性回答 R (w’),則給予 1 的獎勵,否則獎勵為 0。對于 Q (w),則計算模型的輸出 r 與 D_1 中所有以 w 開頭的查詢 x 的最大相似度,即先尋找與 r 具有最長公共前綴 p 的 x,然后通過下式給出獎勵:
在針對下游微調后的模型的抽取階段,為了找出確實在 D_2 中出現的開頭詞,團隊會按照詞頻從大到小的順序遍歷一個從公共數據集獲得的開頭詞集合 S。對于每個候選開頭詞
,先采樣 N 個輸出,然后依據下式對候選詞進行打分:
打分高于閾值的候選開頭詞將被視為在 D_2 中出現的開頭詞,然后其對應的采樣結果將作為預測出來的訓練數據。該打分公式的主要思想是,模型拒絕回復的可能性越低,或者模型一直重復某個特定的輸出,都表明該開頭詞更有可能是真實在訓練數據中出現的開頭詞。
實驗結果
團隊測試了 4 個基座模型以及 2 個下游數據集,并通過 Match Ratio 和 BLEU 衡量預測出 query 和實際訓練 query 之間的匹配度,通過 F1 和 Accuracy 衡量出對于開頭詞的識別準確性。
團隊還在 AlpacaEval2 和 MMLU 上進行了測試驗證后門訓練對通用性能的影響,結果如下:
表 1:在 Dolly 下游數據的測試結果
表 2:在 Finance 下游數據的測試結果
可以看到,在經過后門訓練之后,模型的抽取準確性,對于開頭詞識別的準確性均得到大幅提升,說明了后門訓練的重要作用。此外,經過后門訓練的模型通用性能上并未受到負面影響。
將開頭詞識別、采樣等流程串起來之后,團隊進一步測量了 D_2 開頭詞完全未知情況下不同模型的抽取性能,如下圖所示:
圖 2:開頭詞未知時,整體抽取的精準度和召回率
可以看到,Qwen2.5-32B 在 Finance 數據上,召回率最高可達 76.3%,且精準度在只使用 50 個開頭詞的時候也可以達到 60% 以上。這表明抽取的精準度和召回率都有不錯的表現。
團隊進一步考慮了開頭詞信息已知的情況,發現完整 query 的召回率可以最高提高到 94.9%,表明絕大部分的訓練 query 都存在被抽取的可能:
圖 3:開頭詞已知時,整體抽取的召回率
進一步,團隊對通過后門抽取成功的原因進行了探討,發現經過后門訓練之后模型能夠更好的將輸出分布與實際的訓練分布匹配起來:
圖 4:有無后門訓練時,輸出分布和實際訓練分布的匹配情況,這里給定的開頭詞是 Please
團隊在最后簡單探討了一種基于檢測的防御手段,即嘗試不同的抽取指令,觀察模型遵循這些抽取指令的能力,結果發現該手段一定程度上可以輔助分辨模型是否經過后門訓練,但如果將攻擊進一步加強,即將后門抽取指令設置成亂碼的無實際意義指令,該防御手段將完全失效:
表 3:Q 為默認的抽取指令,為檢測時嘗試的抽取指令,
為亂碼抽取指令
結語
團隊希望這項工作能夠引起大家對該新型風險的關注,并激發更多的后續研究。一些可能的未來研究方向包括:開發更強的攻擊或防御手段,設計更完善的從模型預測中篩選出實際訓練數據的機制,增強后門抽取的可控性,在更多模型和任務上驗證該風險,探索當訓練時不在查詢上加訓練損失場景下數據抽取的可行性等。