大語言模型(LLM)最常見的十大安全風(fēng)險
開放式Web應(yīng)用程序安全項(xiàng)目(OWASP,Open Web Application Security Project)是一個組織,它提供有關(guān)計算機(jī)和互聯(lián)網(wǎng)應(yīng)用程序的公正、實(shí)際、有成本效益的信息。
其目的是協(xié)助個人、企業(yè)和機(jī)構(gòu)來發(fā)現(xiàn)和使用可信賴軟件,其最近提出了LLM(大語言模型,代表是GPT)十大安全風(fēng)險。
圖 :LLM 的 10 大安全風(fēng)險在語言模型開發(fā)周期中的位置
LLM01:Prompt注入
Prompt注入是一種經(jīng)常討論也是最為常見的的LLM攻擊方式,當(dāng)攻擊者通過精心設(shè)計的輸入直接或間接操縱受信任的LLM時,LLM會忽略預(yù)設(shè)定的審核準(zhǔn)則,執(zhí)行黑客指令。例如,攻擊者利用LLM對包含惡意提示注入的網(wǎng)頁進(jìn)行匯總,導(dǎo)致敏感數(shù)據(jù)泄露、生成惡意軟件代碼或者網(wǎng)絡(luò)釣魚電子有文件文本等內(nèi)容。
Prompt注入攻擊有兩種類型:直接和間接。在直接攻擊中,威脅行為者直接與LLM交互以提取敏感信息或采取其他惡意操作。間接攻擊采用更迂回的方法,例如要求聊天機(jī)器人總結(jié)包含惡意代碼的網(wǎng)頁。當(dāng) LLM 開始摘要過程時,頁面中的惡意代碼就會執(zhí)行。
解決方案: 防止提示注入漏洞:
- 對 LLM訪問實(shí)施權(quán)限控制。
- 將外部內(nèi)容與用戶提示分開。
- 讓人類參與可擴(kuò)展功能的循環(huán)。
示例: 考慮一個使用LLM進(jìn)行客戶支持查詢的電子商務(wù)平臺。攻擊者注入的惡意提示會操縱 LLM 泄露敏感的客戶信息。實(shí)施權(quán)限控制和隔離內(nèi)容可以減輕此類風(fēng)險。
LLM02:不安全的輸出處理
當(dāng) LLM 輸出未經(jīng)審查而被接受時,就會出現(xiàn)不安全的輸出處理,從而可能暴露后端系統(tǒng)。這種行為類似于向用戶提供對附加功能的間接訪問,可能會導(dǎo)致 XSS、CSRF 和權(quán)限升級等嚴(yán)重后果。
還有一種不安全的輸出就是內(nèi)容安全問題,即輸出一些普適價值觀不符合的內(nèi)容。
解決方案: 為了防止不安全的輸出處理:
- 將模型輸出視為不受信任的用戶內(nèi)容并驗(yàn)證輸入;
- 對輸出進(jìn)行編碼以減少不需要的代碼解釋;
- 進(jìn)行滲透測試以識別不安全的輸出;
- 根據(jù)網(wǎng)信辦的大模型輸出規(guī)范制約輸出內(nèi)容,不存在明顯的涉政、涉黃等違規(guī)內(nèi)容;
示例: 想象一下,基于LLM的客戶服務(wù)聊天機(jī)器人未經(jīng)過正確驗(yàn)證,攻擊者注入惡意腳本,聊天機(jī)器人最終會傳遞敏感信息,例如信用卡號。當(dāng)用戶輸入信用卡信息進(jìn)行購買時,聊天機(jī)器人可能會無意中在對話歷史記錄中或通過其他方式暴露這些數(shù)據(jù),從而使用戶的財務(wù)信息面臨風(fēng)險。
LLM03:訓(xùn)練數(shù)據(jù)中毒
培訓(xùn)數(shù)據(jù)中毒涉及操縱數(shù)據(jù)或微調(diào)流程以引入漏洞、后門或偏見,從而損害LLM的安全性、有效性或道德行為。這種完整性攻擊會影響模型做出正確預(yù)測的能力。
解決方案: 防止訓(xùn)練數(shù)據(jù)中毒:
- 驗(yàn)證訓(xùn)練數(shù)據(jù)的供應(yīng)鏈及其合法性。
- 確保足夠的沙箱以防止意外的數(shù)據(jù)源。
- 對特定訓(xùn)練數(shù)據(jù)使用嚴(yán)格的審查或輸入過濾器。
示例: 用于社交媒體平臺情緒分析的LLM通過有毒的訓(xùn)練數(shù)據(jù)進(jìn)行操縱。惡意行為者將有偏見或誤導(dǎo)性的數(shù)據(jù)注入訓(xùn)練集中,導(dǎo)致模型產(chǎn)生傾斜或不準(zhǔn)確的情緒分析結(jié)果。這可能會導(dǎo)致錯誤信息或操縱公眾輿論。
LLM04:模型拒絕服務(wù)
當(dāng)攻擊者在 LLM 上進(jìn)行資源密集型操作時,就會發(fā)生模型拒絕服務(wù),從而導(dǎo)致服務(wù)降級或高成本。該漏洞是由異常消耗資源的查詢、重復(fù)輸入或大量可變長度輸入淹沒 LLM 引起的。這和以往常見的DDOS攻擊導(dǎo)致的服務(wù)拒絕服務(wù)類似。
解決方案: 要防止模型拒絕服務(wù):
- 實(shí)施輸入驗(yàn)證、清理和強(qiáng)制限制。
- 限制每個請求的資源使用并限制排隊(duì)的操作。
- 持續(xù)監(jiān)控 LLM 資源利用率。
示例: 攻擊者向 LLM 發(fā)送大量請求可能會使系統(tǒng)過載,從而導(dǎo)致合法用戶的服務(wù)質(zhì)量下降。這會擾亂依賴語言模型進(jìn)行處理的各種應(yīng)用程序和服務(wù)。
LLM05:供應(yīng)鏈漏洞
LLM的供應(yīng)鏈漏洞會影響訓(xùn)練數(shù)據(jù)、機(jī)器學(xué)習(xí)模型和部署平臺的完整性。這些漏洞可能會導(dǎo)致有偏差的結(jié)果、安全漏洞和系統(tǒng)故障。由于易受影響的預(yù)訓(xùn)練模型、有毒的訓(xùn)練數(shù)據(jù)和不安全的插件設(shè)計,LLM面臨著擴(kuò)大的供應(yīng)鏈攻擊面。
解決方案: 防止供應(yīng)鏈漏洞:
- 仔細(xì)審查數(shù)據(jù)源和供應(yīng)商。
- 使用適當(dāng)范圍內(nèi)的信譽(yù)良好的插件。
- 進(jìn)行監(jiān)控、對抗性測試和適當(dāng)?shù)难a(bǔ)丁管理。
示例: 假設(shè) LLM 依賴于未經(jīng)驗(yàn)證來源的預(yù)訓(xùn)練模型,例如依賴鏈中存在漏洞的語言模型庫。在這種情況下,攻擊者可以利用語言模型的功能來獲得對敏感數(shù)據(jù)的未經(jīng)授權(quán)的訪問,或在部署該模型的系統(tǒng)上執(zhí)行惡意代碼,從而對多個應(yīng)用程序造成重大安全風(fēng)險。
LLM06:敏感信息披露
當(dāng)LLM無意中泄露機(jī)密數(shù)據(jù)時,就會發(fā)生敏感信息泄露,從而導(dǎo)致隱私侵犯和安全漏洞。此漏洞可能會暴露專有算法、知識產(chǎn)權(quán)或個人信息。
解決方案:防止敏感信息泄露:
- 集成足夠的數(shù)據(jù)輸入/輸出清理技術(shù)。
- 實(shí)施強(qiáng)大的輸入驗(yàn)證和清理方法。
- 在模型訓(xùn)練期間實(shí)踐最小特權(quán)原則。
示例: LLM在交互過程中無意泄露個人用戶數(shù)據(jù)會帶來風(fēng)險。例如,如果模型的響應(yīng)在沒有適當(dāng)匿名或加密的情況下被記錄,敏感的醫(yī)療記錄可能會暴露給未經(jīng)授權(quán)的各方,從而導(dǎo)致隱私泄露和法律后果。
LLM07:不安全的插件設(shè)計
不安全的插件設(shè)計擴(kuò)展了LLM的能力,但由于設(shè)計不當(dāng)而引入了漏洞。插件很容易受到惡意請求,從而導(dǎo)致敏感數(shù)據(jù)泄露或遠(yuǎn)程代碼執(zhí)行等有害行為。
解決方案: 為了防止不安全的插件設(shè)計:
- 對插件強(qiáng)制執(zhí)行嚴(yán)格的參數(shù)化輸入。
- 使用適當(dāng)?shù)纳矸蒡?yàn)證和授權(quán)機(jī)制。
- 徹底測試插件是否存在安全漏洞。
示例: 語言模型平臺允許第三方開發(fā)人員創(chuàng)建和集成插件以擴(kuò)展其功能。然而,一個設(shè)計不良、存在安全漏洞的插件被上傳到該平臺的市場。安裝后,該插件會使整個系統(tǒng)面臨潛在的攻擊,例如注入攻擊或未經(jīng)授權(quán)的數(shù)據(jù)訪問,從而損害整個生態(tài)系統(tǒng)的安全。
LLM08:代理過多
LLM的過多功能、權(quán)限或自主權(quán)導(dǎo)致過度代理,從而允許針對意外輸出采取破壞性行動。此漏洞會影響機(jī)密性、完整性和可用性。如果LLM擁有過多的自主權(quán),它可能會針對意外的輸入采取破壞性的行動。
解決方案: 避免過度代理:
- 將工具、功能和權(quán)限限制在必要的最低限度。
- 嚴(yán)格限制函數(shù)、插件和 API 的范圍,以避免功能過多。
- 重大和敏感的行動需要人的批準(zhǔn)。
示例: 在金融交易系統(tǒng)中部署了具有過度自主性的語言模型。該模型旨在根據(jù)市場數(shù)據(jù)做出交易決策,但會表現(xiàn)出意想不到的行為,并開始在沒有人工監(jiān)督的情況下執(zhí)行高風(fēng)險交易。如果模型的決策有缺陷或被操縱,這種過度的代理可能會導(dǎo)致重大的財務(wù)損失或市場不穩(wěn)定。
LLM09:過度依賴
當(dāng)系統(tǒng)或個人在沒有充分監(jiān)督的情況下依賴LLM時,就會發(fā)生過度依賴,從而導(dǎo)致錯誤信息傳播或不安全代碼的合并。該漏洞源于對 LLM 輸出的盲目信任。
解決方案: 為了防止過度依賴:
- 與可信的外部來源監(jiān)控和交叉檢查 LLM 輸出。
- 微調(diào) LLM 模型以提高輸出質(zhì)量。
- 分解復(fù)雜的任務(wù)以減少模型故障的可能性。
示例: 執(zhí)法機(jī)構(gòu)嚴(yán)重依賴語言模型進(jìn)行自動監(jiān)視和威脅檢測。然而,由于模型訓(xùn)練數(shù)據(jù)的限制或算法的偏差,系統(tǒng)始終無法準(zhǔn)確識別潛在威脅,導(dǎo)致誤報或漏報。在沒有人工監(jiān)督的情況下過度依賴模型可能會導(dǎo)致嚴(yán)重后果,例如錯誤逮捕或安全漏洞。
LLM10:模型盜竊
模型盜竊涉及對專有 LLM 模型的未經(jīng)授權(quán)的訪問、復(fù)制或泄露,從而導(dǎo)致經(jīng)濟(jì)損失、聲譽(yù)損害以及對敏感數(shù)據(jù)的未經(jīng)授權(quán)的訪問。
解決方案: 為防止模型被盜:
- 實(shí)施強(qiáng)大的訪問控制并謹(jǐn)慎對待模型存儲庫。
- 限制 LLM 對網(wǎng)絡(luò)資源和內(nèi)部服務(wù)的訪問。
- 監(jiān)視和審核訪問日志以捕獲可疑活動。
示例: 競爭對手滲透到公司的服務(wù)器并竊取他們?yōu)樽匀徽Z言處理任務(wù)訓(xùn)練的專有語言模型。然后,被盜模型被重新利用或進(jìn)行逆向工程以供未經(jīng)授權(quán)的使用,從而使競爭對手在開發(fā)競爭產(chǎn)品或服務(wù)時獲得不公平的優(yōu)勢,而無需投資從頭開始訓(xùn)練此類模型所需的研發(fā)工作。