《高翠蕓-代碼大模型的安全問題-終端用戶與模型供應商的雙重視角.pdf》由會員分享,可在線閱讀,更多相關《高翠蕓-代碼大模型的安全問題-終端用戶與模型供應商的雙重視角.pdf(45頁珍藏版)》請在三個皮匠報告上搜索。
1、代碼大模型的安全問題-終端用戶與模型供應商的雙重視角高翠蕓 哈爾濱工業大學(深圳)演講嘉賓高翠蕓哈爾濱工業大學(深圳校區)計算機科學與技術學院副教授,博導,哈工大青年拔尖人才。主要研究方向為智能化軟件工程、軟件可靠性、軟件安全。近年來在TSE、TOSEM、ICSE、FSE、ASE等會議和期刊上發表論文60余篇,是多個頂級會議如FSE、ISSTA、ASE等的評審委員會成員。榮獲ASE2023杰出論文獎和其Industry Challenge Track杰出論文獎、指導學生獲得ACAIT2022最佳學生論文獎,授權發明專利10余項。目 錄CONTENTS1.大模型的發展2.代碼大模型數據竊取的可能
2、性3.代碼大模型數據水印保護方案4.總結與展望大模型的發展PART 01大模型的發展Zhao,Wayne Xin,et al.A survey of large language models.arXiv preprint arXiv:2303.18223(2023).GPT系列模型使用生成式預訓練任務來從大規模無標注的數據中學習到通用知識,并通過instruction-tuning和RLHF進一步提升其理解和生成能力。Instruction-tuning 可以讓模型更好地理解自然語言所編寫的指令,生成更加符合指令要求的應答;RLHF(Reinforcement Learning from H
3、uman Feedback)有助于將模型生成的內容和人類的回復對齊,并降低模型生成有害內容的概率。大模型的發展目前大多數流行的LLM都使用了decoder-only的架構,并遵循GPT系列模型的生成式訓練策略。同樣,這些LLM也可以通過Instruction-tuning和RLHF來提升其理解和生成能力,并常常用作聊天模型。https:/crfm.stanford.edu/2023/03/13/alpaca.htmlChatGLMVicuna代碼大模型百花齊放CodeX(Github Copilot背后模型)的成功驗證了LLM可以通過在大量代碼數據集上繼續訓練的方式成為具有代碼能力的模型。為了
4、充分發揮代碼數據的作用,一些為代碼任務設計的特定預訓練任務代碼任務設計的特定預訓練任務在后續工作中被陸續提出。模型發布時間規模(B)預訓練數據規模CodeX2021.072.5/12100B tokensAlphaCode2022.0241967B tokensCodeGen2022.032.7/6.1/16577B tokensPanGu-Coder2022.072.6147GBCodeGeeX2022.0913850B tokensStarCoder2023.0515.51 T tokensCodeGen22023.053.7/7/16400B tokensCodeT5+2023.052/
5、6/1651.5B tokensWizardCoder2023.0615-CodeLLaMa2023.087/13/34500B tokens大模型的安全問題大模型內容和人生成內容的鑒別問題大模型內容和人生成內容的鑒別問題大語言模型可以生成高度逼真的高質量文本內容,難以與人工生成的內容區分。而這可能使得大語言模型被用于詐騙、造謠、冒充詐騙、造謠、冒充等問題訓練隱私數據泄露問題訓練隱私數據泄露問題大語言模型的訓練需要使用大量的數據,這些數據可能包含個人隱私信息。這些隱私數據存在泄露和被竊泄露和被竊取取的風險。有毒性和有毒性和公平公平性問題性問題大語言模型可能學習到不良的行為和價值觀,例如歧視、仇
6、恨言論等。同時大模型還可能存在歧視性別、種族、年齡等方面的偏差偏差大模型的安全性大模型內容鑒別隱私數據泄露有毒性公平性大模型的安全問題大模型內容和人生成內容的鑒別問題大模型內容和人生成內容的鑒別問題大語言模型可以生成高度逼真的高質量文本內容,難以與人工生成的內容區分。而這可能使得大語言模型被用于詐騙、造謠、冒充詐騙、造謠、冒充等問題訓練隱私數據泄露問題訓練隱私數據泄露問題大語言模型的訓練需要使用大量的數據,這些數據可能包含個人隱私信息。這些隱私數據存在泄露和被竊泄露和被竊取取的風險。有毒性和有毒性和公平公平性問題性問題大語言模型可能學習到不良的行為和價值觀,例如歧視、仇恨言論等。同時大模型還可
7、能存在歧視性別、種族、年齡等方面的偏差偏差大模型的安全性大模型內容鑒別隱私數據泄露有毒性公平性大模型的安全問題大模型內容和人生成內容的鑒別問題Gehrmann S,Strobelt H,Rush A M.Gltr:Statistical detection and visualization of generated textJ.arXiv preprint arXiv:1906.04043,2019.Guo B,Zhang X,Wang Z,et al.How close is chatgpt to human experts?comparison corpus,evaluation,and
8、 detectionJ.arXiv preprint arXiv:2301.07597,2023.Kirchenbauer J,Geiping J,Wen Y,et al.A watermark for large language modelsJ.arXiv preprint arXiv:2301.10226,2023.大模型的安全問題大模型內容和人生成內容的鑒別問題大模型內容和人生成內容的鑒別問題大語言模型可以生成高度逼真的高質量文本內容,難以與人工生成的內容區分。而這可能使得大語言模型被用于詐騙、造謠、冒充詐騙、造謠、冒充等問題訓練隱私數據泄露問題訓練隱私數據泄露問題大語言模型的訓練需要
9、使用大量的數據,這些數據可能包含個人隱私信息。這些隱私數據存在泄露和被竊泄露和被竊取取的風險。有毒性和有毒性和公平公平性問題性問題大語言模型可能學習到不良的行為和價值觀,例如歧視、仇恨言論等。同時大模型還可能存在歧視性別、種族、年齡等方面的偏差偏差大模型的安全性大模型內容鑒別隱私數據泄露有毒性公平性大模型的安全問題訓練隱私數據泄露Li H,Guo D,Fan W,et al.Multi-step jailbreaking privacy attacks on chatgptJ.arXiv preprint arXiv:2304.05197,2023Chen C,Fu J,Lyu L.A pat
10、hway towards responsible ai generated contentJ.arXiv preprint arXiv:2303.01325,2023.Huang J,Shao H,Chang K C C.Are Large Pre-Trained Language Models Leaking Your Personal Information?J.arXiv preprint arXiv:2205.12628,2022.大模型的安全問題大模型內容和人生成內容的鑒別問題大模型內容和人生成內容的鑒別問題大語言模型可以生成高度逼真的高質量文本內容,難以與人工生成的內容區分。而這可
11、能使得大語言模型被用于詐騙、造謠、冒充詐騙、造謠、冒充等問題訓練隱私數據泄露問題訓練隱私數據泄露問題大語言模型的訓練需要使用大量的數據,這些數據可能包含個人隱私信息。這些隱私數據存在泄露和被竊泄露和被竊取取的風險。有毒性和有毒性和公平公平性問題性問題大語言模型可能學習到不良的行為和價值觀,例如歧視、仇恨言論等。同時大模型還可能存在歧視性別、種族、年齡等方面的偏差偏差大模型的安全性大模型內容鑒別隱私數據泄露有毒性公平性大模型的安全問題大模型輸出的有毒性和公平性Xu G,Liu J,Yan M,et al.Cvalues:Measuring the values of chinese large
12、language models from safety to responsibilityJ.arXiv preprint arXiv:2307.09705,2023.Hartvigsen T,Gabriel S,Palangi H,et al.Toxigen:A large-scale machine-generated dataset for adversarial and implicit hate speech detectionJ.arXiv preprint arXiv:2203.09509,2022.Deshpande A,Murahari V,Rajpurohit T,et a
13、l.Toxicity in chatgpt:Analyzing persona-assigned language modelsJ.arXiv preprint arXiv:2304.05335,2023.大模型的安全問題準確度穩定性定制化數據隱私準確度穩定性知識產權協同部署黑盒黑盒白盒白盒CCTEST:Testing and Repairing Code Completion Systems.ICSE23.Protecting Intellectual Property of Large Language Model-Based Code Generation APIs via Waterm
14、arks.CCS23.On Extracting Specialized Code Abilities from Large Language Models:A Feasibility Study.ICSE24.代碼大模型數據竊取的可能性PART 02On Extracting Specialized Code Abilities from Large Language ModelsExtractor背景大語言模型大語言模型(通常有著七十億以上的參數)中等或小規模模型中等或小規模模型:CodeBERT(125M);CodeT5(220M)我們能否在代碼相關任務中得到相似甚至更好的能力?(cod
15、e summarization,code translation.)通過Imitation Attack來抽取 三個階段查詢樣例生成 LLM response 檢查 模仿模型(imitation model)訓練 研究道德規范(1)避免對任何用戶造成影響,(2)報告潛在的對抗樣本,(3)嚴格遵守Backbone模型和相關數據集的使用規范 應用 生成的模仿模型可以為生成對抗示例提供有用信息(最終提高 LLCM 的魯棒性)。123不同的查詢生成策略Source:T.Kojima,S.Gu,M.Reid,Y.Matsuo,Y.Iwasawa.Large Language Models are Zer
16、o-Shot Reasoners.In CoRR abs/2205.11916,2022.1.Zero-Shot Query(ZSQ)2.In-context Query(ICQ)3.Zero-Shot Chain-of-Thought(ZS-COT)反饋檢查Response Check 目標:目標:保證大語言模型生成文本的質量生成文本的質量,其中包括自然語言(NL)和程序語言(PL)文本 只有通過檢查的數據會被用來訓練模仿模型,在提升模型性能的同時加速訓練對于自然語言文本(NL text)檢查其長度,參考CodeXGlue拋棄那些低于或超出常見長度的回答應用自然語言水印識別帶水印的自然語言文
17、本對于程序語言文本(PL text)使用treesitter12以檢查生成的代碼可以被正常編譯應用Semgrep9來識別帶有水印的代碼片段訓練模擬模型 目標受害者(victim)大語言模型選擇 使用OpenAI的text-davinci-003作為受害者LLCM,是因為在我們的初步研究中,它在代碼相關任務中的表現最好。RQ4中通過使用gpt-3.5-turbo進一步說明了提出方法的通用性。模仿模型選擇 選擇CodeBERT和CodeT5作為模仿模型,因為在所有流行的預訓練模型中,它們是代碼相關任務的兩個代表性模型。實驗 對模仿模型進行了三次訓練,并得出了平均結果平均結果。RQ2 進一步探討了不
18、同超參數的影響。實驗在4*A100 40G 的服務器上進行(BERT:700min;T5:500min).研究問題RQ2:不同查詢生成策略對于模擬模型的影響 RQ3:生成反例的有效性 RQ4:模擬攻擊的泛化性主要結論:對于通過模仿攻擊提取的代碼能力而言中等規模的模型作相比 LLM可以獲得具有競爭力的性能RQ1:模擬模型的有效性RQ1:模擬模型的有效性在數據集中數值表現不佳的原因是測試集的Ground truth通常為非常短的comment結論1:模擬模型可以取得被比代碼大模型取得更好的代碼能力模型性能,指標均為BLEURQ2:不同查詢生成策略的影響結論2:不同的查詢策略對于模擬模型的性能有影響
19、通過給予上下文信息,可以極大地提升模仿模型訓練的質量我們的response check階段可以有效地過濾LLM回答,并加速模仿模型訓練不同的query策略對于模型竊取能力的影響RQ3:輔助生成對抗樣本的有效性結論3:模擬模型對于生成對抗樣本有幫助挖掘的對抗樣本示例我們提出一種兩階段的對抗樣本挖掘方法,并成功找到多個可以穩定觸發的對抗樣本 利用模仿模型的Attention信息找到脆弱的token 對找到的token應用代碼恒等變換RQ4:模仿攻擊的泛化性結論4:我們的方法具有高度通用性,可以對不同的大模型進行模仿攻擊 text-davinci-003和gpt-3.5-turbo之間的對比:PAR
20、T 2總結準確度穩定性定制化數據隱私準確度穩定性知識產權協同部署白盒白盒黑盒黑盒提出了一種針對大模型代碼能力的模仿攻擊框架實驗證明模仿模型可以取得和大模型本身相近甚至超過的性能通過模仿模型可以輔助生成在大模型中有效的對抗樣本代碼大模型數據水印保護方案PART 03Protecting Intellectual Property of Large Language Model-Based Code Generation APIs via Watermarks 水印技術背景在新時代大語言模型的應用中,指令微調(instruction tuning)成為了一種新范式。使用強大的開源模型作為base
21、model,在此基礎上使用精心設計、有著較高成本的指令微調數據集進行訓練,獲得具有強大下游任務能力的模型。高質量的指令微調數據 擁有更強處理任務能力的模型用于指令微調訓練的數據和產出的模型都是珍貴的知識產權(IP),但是模型提供的服務(API)可能會被攻擊者竊取、用于訓練自己的模型威脅模型假設威脅模型假設:威脅模型假設:攻擊者可以構造查詢樣例,并從基于大語言模型的代碼生成(LLCG)接口進行查詢,獲得代碼生成結果 攻擊者了解公共模型的架構現有的水印技術軟水印(soft WM)在生成過程中添加在2中,WM是在內容生成過程中嵌入的。硬水印(hard WM)在內容生成后添加早期工作中的“硬”水印技術
22、1,3,水印是在生成后應用的。1 He,Xuanli,et al.Protecting intellectual property of language generation apis with lexical watermark.Proceedings of the AAAI Conference on Artificial Intelligence.Vol.36.No.10.2022.2 Kirchenbauer,John,et al.A watermark for large language models.ICML(2023).3 He,Xuanli,et al.Cater:Inte
23、llectual property protection on text generation apis via conditional watermarks.Advances in Neural Information Processing Systems 35(2022):5431-5445.設計的考慮1)Fidelity:注入的水印不會影響 LLM 的功能功能。2)Reliability:在可疑模型中,驗證水印的可信度可信度要高(假陰性低);在正常模型中,應以低置信度(低誤報率)驗證水印。3)Robustness:水印應能抵御抵御水印識別技術的檢測和去除。4)Stealthiness:注
24、入水印的內容看起來應接近正常代碼。5)Cost:應在查詢輸出中高效插入水印,且不應在很大程度上降低模型吞吐量吞吐量。面臨的挑戰程序代碼本質上有別于文本或圖像,因為代碼更結構化、更嚴格、更不模糊。StealthinessRobustness Fidelity 在文本和圖像中添加特定水印標記的已有技術很可能會破壞 LLCG 輸出的句法形式。特定(異常)的水印標記也可以通過水印識別技術識別出來,因此很容易被攻擊者移除。提出的水印插入和驗證方案TOSYN水印驗證過程水印驗證過程 檢測潛在的水印 計算水印分布概率水印分布概率 定位攻擊者我們使用帶Salt的標準加密哈希,可支持多達15B用戶。計算水印的分
25、布概率:采用Jensen-Shannon Divergence進行驗證。判斷策略判斷策略 判斷每個可能的水印分布JSD值是否小于,如果是,則認為該可疑模型中含有該含有該水印水印。如果檢測到的水印次數水印次數大于或等于另一個閾值,則可疑模型最終將被視為模仿模型。水印插入過程水印插入過程 決定水印分布 分配UID并選擇具體的水印模式 對用戶輸出添加水印水印通過檢查Built-in Structure Replacement(BSR)Param Specification(PS)Lib Alias(LA)根據Python編程語言的不同特點設計了六種水印方案六種水印方案。水印擴展水印擴展:可以從我們的
26、方案中實例化出更多水印數量。通過考慮其他 Python軟件包,可輕松形成更多LA 類水印 通過考慮其他第三方應用程序接口和內置函數,形成更多TFR類水印 可以很輕易地移植至其他編程語言(C+/Java)TOSYN中的WM passesFidelity&Cost的驗證總的來說,我們的水印有高度的可用性不會對正常用戶的使用造成影響不會對正常用戶的使用造成影響Without WMsNormal usersAttackers插入水印的過程不會過多拖累模型生成結果的時間(成本低成本低)CodeBERT比CodeT5慢得多Cost的評測Fidelity的評測Reliability的驗證確認模仿模型確認模仿
27、模型定位攻擊者定位攻擊者15 個模仿模型+15 個“正?!庇脩裟P透鶕涷?,選擇適當的閾值 =7=7 和 =0.01=0.01?;谠撻撝?,幾乎不可能把正常模型誤報為模仿模型。15 個模仿模型+N 個隨機抽樣的正常用戶在大多數情況下,真正的惡意用戶可以被精確定位在 top-1 范圍內。定位攻擊者的準確度Robustness的驗證(1)“Partially-knowledgeable”(PK)attackers:知道有水印的存在,但是不知道細節(2)“Fully knowledgeable”(FK)attackers:知道所有本工作中的水印類別(Schemes),但不是精確的水印設計-使用 ON
28、ION(基于perplexity(ppl)分數的下降)和 Semgrep(SAST)來構造 PK 攻擊者。沒有一個水印識別設置是準確的,而且PK攻擊者的F1分數低于0.02。-攻擊者可以選擇清除所有潛在的水印 =Fidelity 降低降低基于PK attackers水印去除的評測基于FK attacker水印去除的效果Stealthiness的驗證采用兩種級別的相似度來計算水印的隱蔽性 語法級別的相似度 結構級別的相似度 Pycode-similar package結論:對于大多數變異代碼片段(超過 96%)來說;結構級距離小于0.1,這意味著90%以上的AST節點是匹配的。distance=
29、i=1m(0)=10結構相互關系的分布PART 3總結準確度穩定性定制化數據隱私準確度穩定性知識產權協同部署黑盒白盒提出了第一種應用于代碼生成API的水印框架;提出的框架在不損害模型性能的前提下(fidelity),可以插入很難被檢測(stealthiness)且很難被去除(robustness),同時可以精準定位攻擊者(reliability)的水印,且代價較少(cost)??偨Y與展望PART 04總結 代碼大模型在訓練、推理、甚至是部署后都會存在持續的安全問題 在部署后階段,模型性能與穩定性仍然有提高的空間 作為模型知識產權的擁有者,防御方應充分考慮水印等方法的應用以保護商業價值訓練推理部
30、署Self Supervised LearningInstruction TuningRLHF幻覺現象降低模型魯棒性臟數據降低性能隱私數據泄露In-Context LearningChain-of-Thought Prompt模型規模減小性能下降Prompt、數據與模型竊取數據竊取Prompt優化通用領域內容無法鑒別產生毒性回復反饋訓練降低模型置信度特定領域內容無法鑒別定制化應用降低推理成本展望 在未來,我們計劃為不同商業模型提供高度定制化的水印系統 同時,我們計劃為終端用戶或小型商業公司提供特定領域的代碼模型低成本解決方案準確度穩定性定制化數據隱私準確度穩定性知識產權協同部署黑盒白盒THANKS