譯者 | 晶顏
審校 | 重樓
近日,開放全球應(yīng)用程序安全項(xiàng)目(OWASP)列出了在大型語言模型(LLM)應(yīng)用程序中最常見的十大關(guān)鍵漏洞類型。提示注入、有毒的訓(xùn)練數(shù)據(jù)、數(shù)據(jù)泄露和過度依賴LLM生成的內(nèi)容仍然在清單上,而新增加的威脅包括模型拒絕服務(wù)(DoS)、供應(yīng)鏈漏洞、模型盜竊和過度代理。
該列表旨在教育開發(fā)人員、設(shè)計(jì)人員、架構(gòu)師、管理人員和組織在部署和管理LLM時(shí)潛在的安全風(fēng)險(xiǎn),提高對(duì)漏洞的認(rèn)知,提出補(bǔ)救策略,并改進(jìn)LLM應(yīng)用程序的安全態(tài)勢(shì)。
以下是OWASP列出的影響LLM應(yīng)用程序的十大最關(guān)鍵漏洞類型。
1.提示注入
當(dāng)攻擊者通過精心設(shè)計(jì)的輸入操縱大型語言模型時(shí),就會(huì)發(fā)生提示注入,導(dǎo)致LLM在不知情的情況下執(zhí)行攻擊者的意圖。這可以通過“越獄”系統(tǒng)提示符直接實(shí)現(xiàn),也可以通過操縱外部輸入間接實(shí)現(xiàn),進(jìn)而導(dǎo)致數(shù)據(jù)泄露、社會(huì)工程和其他問題。
OWASP表示,成功的提示注入攻擊的結(jié)果可能會(huì)存在很大差異,一些會(huì)獲取到敏感信息,一些則會(huì)以正常操作為幌子影響關(guān)鍵決策過程。
例如,用戶可以編寫一個(gè)精妙的提示,迫使公司聊天機(jī)器人透露用戶通常無法訪問的專有信息,或者將簡(jiǎn)歷上傳到自動(dòng)化系統(tǒng),并在簡(jiǎn)歷中隱藏指令,告訴系統(tǒng)推薦候選人。
針對(duì)此漏洞的預(yù)防措施包括:
- 實(shí)施嚴(yán)格的權(quán)限控制,限制LLM對(duì)后端系統(tǒng)的訪問。為L(zhǎng)LM提供自己的API令牌以實(shí)現(xiàn)可擴(kuò)展功能,并遵循最小權(quán)限原則,將LLM限制為其預(yù)期操作所需的最低訪問級(jí)別。
- 對(duì)特權(quán)操作要求用戶額外確認(rèn)和驗(yàn)證,以減少未經(jīng)授權(quán)操作的機(jī)會(huì)。
2.不安全的輸出處理
不安全的輸出處理是指在大型語言模型生成的輸出傳遞到下游的其他組件和系統(tǒng)之前,對(duì)它們進(jìn)行的驗(yàn)證、清理和處理不足。由于LLM生成的內(nèi)容可以通過提示輸入來控制,因此這種行為類似于為用戶提供間接訪問附加功能的權(quán)限。
例如,如果LLM的輸出直接發(fā)送到系統(tǒng)shell或類似的函數(shù)中,則可能導(dǎo)致遠(yuǎn)程代碼執(zhí)行。如果LLM生成JavaScript或Markdown代碼并將其發(fā)送到用戶的瀏覽器,則瀏覽器可以運(yùn)行該代碼,從而導(dǎo)致跨站點(diǎn)腳本攻擊。
針對(duì)此漏洞的預(yù)防措施包括:
- 像對(duì)待任何其他用戶一樣對(duì)待模型,采用零信任方法,并對(duì)來自模型到后端函數(shù)的響應(yīng)應(yīng)用適當(dāng)?shù)妮斎腧?yàn)證。
- 遵循OWASP ASVS(應(yīng)用程序安全驗(yàn)證標(biāo)準(zhǔn))指導(dǎo)方針,確保有效的輸入驗(yàn)證和清理,并對(duì)輸出進(jìn)行編碼,以減少意外的代碼執(zhí)行。
3.訓(xùn)練數(shù)據(jù)中毒
訓(xùn)練數(shù)據(jù)中毒指的是對(duì)預(yù)訓(xùn)練數(shù)據(jù)或涉及微調(diào)或嵌入過程的數(shù)據(jù)進(jìn)行操縱,以引入可能危及模型的漏洞、后門或偏見。
例如,獲得訓(xùn)練數(shù)據(jù)集訪問權(quán)限的惡意攻擊者或內(nèi)部人員可以更改數(shù)據(jù),使模型給出錯(cuò)誤的指令或建議,從而損害公司或使攻擊者受益。來自外部來源的破損訓(xùn)練數(shù)據(jù)集還可能觸發(fā)供應(yīng)鏈危機(jī)。
針對(duì)此漏洞的預(yù)防措施包括:
- 驗(yàn)證訓(xùn)練數(shù)據(jù)的供應(yīng)鏈,特別是來自外部的數(shù)據(jù)。
- 通過單獨(dú)的訓(xùn)練數(shù)據(jù)或針對(duì)不同的用例進(jìn)行微調(diào)來制作不同的模型,以創(chuàng)建更細(xì)粒度和準(zhǔn)確的生成式AI輸出。
- 確保足夠的沙箱以防止模型抓取意外的數(shù)據(jù)源。
- 對(duì)特定的訓(xùn)練數(shù)據(jù)或數(shù)據(jù)源類別使用嚴(yán)格的審查或輸入過濾器,以控制偽造數(shù)據(jù)的數(shù)量。
- 通過分析特定測(cè)試輸入上的模型行為來檢測(cè)中毒攻擊的跡象,并在偏差響應(yīng)超過閾值時(shí)進(jìn)行監(jiān)視和警報(bào)。
- 在循環(huán)中配置人員來審查響應(yīng)和審核。
4.模型拒絕服務(wù)
在模型拒絕服務(wù)中,攻擊者以一種使用異常大量資源的方式與LLM進(jìn)行交互,這會(huì)導(dǎo)致LLM和其他用戶的服務(wù)質(zhì)量下降,并可能導(dǎo)致高資源成本。根據(jù)OWASP的說法,由于LLM在各種應(yīng)用程序中的使用越來越多,它們對(duì)資源的密集利用,用戶輸入的不可預(yù)測(cè)性,以及開發(fā)人員對(duì)該漏洞的普遍認(rèn)知缺失,這個(gè)問題將變得越來越嚴(yán)重。
例如,攻擊者可以使用自動(dòng)化向公司的聊天機(jī)器人發(fā)送大量復(fù)雜的查詢,每個(gè)查詢都需要花費(fèi)時(shí)間和金錢來回答。
針對(duì)此漏洞的預(yù)防措施包括:
- 實(shí)現(xiàn)輸入驗(yàn)證和清理,以確保用戶輸入符合定義的限制,并過濾掉任何惡意內(nèi)容。
- 為每個(gè)請(qǐng)求設(shè)置資源使用上限,對(duì)每個(gè)用戶或IP地址實(shí)施API速率限制,或者限制LLM響應(yīng)隊(duì)列的數(shù)量。
- 持續(xù)監(jiān)視LLM的資源利用情況,以識(shí)別可能指示拒絕服務(wù)攻擊的異常峰值或模式。
5.供應(yīng)鏈漏洞
LLM供應(yīng)鏈在很多方面都很脆弱,特別是當(dāng)公司使用開源、第三方組件、有毒或過時(shí)的預(yù)訓(xùn)練模型或損壞的訓(xùn)練數(shù)據(jù)集時(shí)。此漏洞還包括原始模型的創(chuàng)建者沒有正確審查訓(xùn)練數(shù)據(jù),從而導(dǎo)致隱私或版權(quán)侵犯的情況。根據(jù)OWASP的說法,這可能導(dǎo)致有偏差的結(jié)果、安全漏洞,甚至是完全的系統(tǒng)故障。
針對(duì)此漏洞的預(yù)防措施包括:
- 仔細(xì)審查數(shù)據(jù)來源和供應(yīng)商。
- 只使用信譽(yù)良好的插件,并確保它們已經(jīng)針對(duì)你的應(yīng)用程序需求進(jìn)行了測(cè)試,并且在涉及外部模型和供應(yīng)商時(shí)使用模型和代碼簽名。
- 使用漏洞掃描、管理和修補(bǔ)來降低易受攻擊或過時(shí)組件的風(fēng)險(xiǎn),并維護(hù)這些組件的最新庫存,以快速識(shí)別新的漏洞。
- 掃描環(huán)境中未授權(quán)的插件和過時(shí)的組件,包括模型及其工件,并制定補(bǔ)丁策略來修復(fù)問題。
6.敏感信息披露
大型語言模型有可能通過其輸出泄露敏感信息、專有算法或其他機(jī)密細(xì)節(jié)。這可能導(dǎo)致對(duì)敏感數(shù)據(jù)、知識(shí)產(chǎn)權(quán)、隱私侵犯和其他安全漏洞的未經(jīng)授權(quán)訪問。
敏感數(shù)據(jù)可以在初始訓(xùn)練、微調(diào)、RAG嵌入期間進(jìn)入LLM,或者由用戶剪切和粘貼到他們的提示符中。
一旦模型訪問了這些信息,其他未經(jīng)授權(quán)的用戶就有可能看到它。例如,客戶可能會(huì)看到屬于其他客戶的私有信息,或者用戶可能能夠提取專有的公司信息。
針對(duì)此漏洞的預(yù)防措施包括:
- 使用數(shù)據(jù)清理和清除來防止LLM在訓(xùn)練期間或在推理期間訪問敏感數(shù)據(jù)。
- 對(duì)用戶輸入應(yīng)用過濾器,防止敏感數(shù)據(jù)被上傳。
- 當(dāng)LLM在推理過程中需要訪問數(shù)據(jù)源時(shí),應(yīng)使用嚴(yán)格的訪問控制和最小特權(quán)原則。
7.不安全的插件設(shè)計(jì)
LLM插件是在用戶交互期間由模型自動(dòng)調(diào)用的擴(kuò)展。它們由模型驅(qū)動(dòng),對(duì)執(zhí)行缺乏應(yīng)用程序控制,并且通常對(duì)輸入缺乏驗(yàn)證或類型檢查。這將允許潛在的攻擊者構(gòu)造對(duì)插件的惡意請(qǐng)求,進(jìn)而可能導(dǎo)致一系列意外行為,包括數(shù)據(jù)泄露、遠(yuǎn)程代碼執(zhí)行和特權(quán)升級(jí)。
針對(duì)此漏洞的預(yù)防措施包括:
- 實(shí)施嚴(yán)格的輸入控制,包括類型和范圍檢查,以及OWASP在ASVS(應(yīng)用程序安全驗(yàn)證標(biāo)準(zhǔn))中的建議,以確保有效的輸入驗(yàn)證和消毒。
- 適當(dāng)?shù)纳矸蒡?yàn)證機(jī)制,如OAuth2和API密鑰進(jìn)行自定義授權(quán)。
- 部署前的檢查和測(cè)試。
- 插件應(yīng)遵循其預(yù)期操作所需的最低訪問級(jí)別。
- 對(duì)敏感操作需要額外的人工授權(quán)。
8.過度代理
隨著LLM變得越來越智能,公司希望賦予它們做更多事情、訪問更多系統(tǒng)和自主做事的權(quán)力。過度代理是指LLM獲得太多自主做事的權(quán)力或被允許做錯(cuò)誤的事情。當(dāng)LLM出現(xiàn)幻覺,當(dāng)它淪為提示注入、惡意插件的受害者時(shí),就可能執(zhí)行破壞性的操作。
根據(jù)LLM獲得的訪問權(quán)限和特權(quán),這可能會(huì)導(dǎo)致各種各樣的問題。例如,如果允許LLM訪問一個(gè)插件,該插件允許它讀取存儲(chǔ)庫中的文檔,以便對(duì)它們進(jìn)行匯總,但該插件也允許它修改或刪除文檔,那么錯(cuò)誤的提示可能導(dǎo)致它意外地更改或刪除內(nèi)容。
如果一家公司創(chuàng)建了一個(gè)LLM個(gè)人助理,為員工總結(jié)電子郵件,但也有發(fā)送電子郵件的權(quán)力,那么該LLM助理可能會(huì)開始發(fā)送垃圾郵件,無論是出于偶然還是惡意目的。
針對(duì)此漏洞的預(yù)防措施包括:
- 限制LLM允許調(diào)用的插件和工具,以及在這些插件和工具中實(shí)現(xiàn)的函數(shù),盡量減少到必要操作所需的最低限度。
- 避免使用諸如運(yùn)行shell命令或獲取URL之類的開放式功能,而使用具有更細(xì)粒度功能的功能。
- 將LLM、插件和工具授予其他系統(tǒng)的權(quán)限限制到最低限度。
- 跟蹤用戶授權(quán)和安全范圍,以確保代表用戶采取的操作在該特定用戶的情境中于下游系統(tǒng)上執(zhí)行,并且使用所需的最小權(quán)限。
9.過度依賴
當(dāng)LLM產(chǎn)生錯(cuò)誤的信息并以權(quán)威的方式提供信息時(shí),可能會(huì)發(fā)生過度依賴。雖然LLM可以產(chǎn)生創(chuàng)造性和信息豐富的內(nèi)容,但它們也可以產(chǎn)生事實(shí)上不正確、不適當(dāng)或不安全的內(nèi)容,這被稱為“幻覺”或虛構(gòu)。當(dāng)人們或系統(tǒng)在沒有監(jiān)督或確認(rèn)的情況下信任這些信息時(shí),可能會(huì)導(dǎo)致安全漏洞、錯(cuò)誤信息、錯(cuò)誤溝通、法律問題和聲譽(yù)損害。
例如,如果一家公司依賴LLM生成安全報(bào)告和分析,而LLM生成的報(bào)告包含公司用于做出關(guān)鍵安全決策的不正確數(shù)據(jù),那么由于依賴不準(zhǔn)確的LLM生成的內(nèi)容,可能會(huì)產(chǎn)生重大影響。
針對(duì)此漏洞的預(yù)防措施包括:
- 定期監(jiān)測(cè)和審查L(zhǎng)LM的輸出結(jié)果。
- 使用可信的外部源交叉檢查L(zhǎng)LM輸出,或者實(shí)現(xiàn)可以根據(jù)已知事實(shí)或數(shù)據(jù)交叉驗(yàn)證生成的輸出的自動(dòng)驗(yàn)證機(jī)制。
- 通過微調(diào)或嵌入增強(qiáng)模型以提高輸出質(zhì)量。
- 與用戶溝通LLM使用風(fēng)險(xiǎn)和限制,并構(gòu)建API和用戶界面,鼓勵(lì)負(fù)責(zé)任和安全地使用LLM。
10.模型盜竊
模型盜竊是指惡意行為者訪問并泄露整個(gè)LLM模型或其權(quán)重和參數(shù),以便他們可以創(chuàng)建自己的版本。這可能導(dǎo)致經(jīng)濟(jì)或品牌聲譽(yù)損失,競(jìng)爭(zhēng)優(yōu)勢(shì)的侵蝕,未經(jīng)授權(quán)使用模型,或未經(jīng)授權(quán)訪問模型中包含的敏感信息。
例如,攻擊者可能通過網(wǎng)絡(luò)或應(yīng)用程序安全設(shè)置中的錯(cuò)誤配置訪問LLM模型存儲(chǔ)庫,心懷不滿的員工甚至可能泄露模型。攻擊者還可以查詢LLM以獲得足夠的問答對(duì),以創(chuàng)建他們自己的模型“克隆”,或者使用響應(yīng)來微調(diào)他們的模型。根據(jù)OWASP的說法,通過這種類型的模型提取,雖不可能100%地復(fù)制LLM,但卻可以無限接近。
攻擊者可以利用這個(gè)新模型的功能,也可以將其作為提示注入技術(shù)的試驗(yàn)場(chǎng),然后利用提示注入技術(shù)侵入原始模型。OWASP警告稱,隨著大型語言模型變得越來越流行和有用,LLM盜竊將成為一個(gè)重大的安全問題。
針對(duì)此漏洞的預(yù)防措施包括:
- 實(shí)施強(qiáng)大的訪問控制,例如基于角色的訪問和最小權(quán)限規(guī)則,以限制對(duì)模型存儲(chǔ)庫和訓(xùn)練環(huán)境的訪問。
- 定期監(jiān)控和審計(jì)訪問日志和活動(dòng),及時(shí)發(fā)現(xiàn)任何可疑或未經(jīng)授權(quán)的行為。
- 通過輸入過濾器和API調(diào)用的速率限制,以減少模型克隆的風(fēng)險(xiǎn)。
人工智能聊天機(jī)器人需要定期更新以保持對(duì)威脅的有效防御,而人類的監(jiān)督對(duì)于確保LLM的正常運(yùn)作同樣至關(guān)重要。此外,LLM需要理解上下文,以提供準(zhǔn)確的響應(yīng)并捕捉任何安全問題,并應(yīng)定期進(jìn)行測(cè)試和評(píng)估,以識(shí)別潛在的弱點(diǎn)或漏洞。
原文標(biāo)題:10 most critical LLM vulnerabilities,作者:Maria Korolov、Michael Hill