惡意 Prompt 攻擊

papering發表於2024-11-01

黑掉大模型?惡意 Prompt 攻擊成無解之謎? https://mp.weixin.qq.com/s/vliCct-0PwEdaGFSpYt9tQ

黑掉大模型?惡意 Prompt 攻擊成無解之謎?


作者:Atone,混元安全防守團隊成員

隨著大模型應用的逐步發展,出現了一種新型的攻擊手法,它的隱蔽性強且難以檢測。本文將探討如何有效檢測此類攻擊,並在實際戰場中的有所成效。

一、新的安全戰場

由於大模型獨有的對話業務特性:透過大量的資料訓練,學會了從使用者輸入的 Prompt 中理解和生成語言。惡意 Prompt 攻擊正在成為新的安全威脅戰場。

攻擊者可以透過精心設計的惡意 Prompt 來操縱模型行為,進而誘導模型呼叫外掛產生錯誤的輸出、執行惡意命令或洩露各類敏感資訊,這種惡意 Prompt 攻擊的隱蔽性極強,且透過傳統的安全檢測能力難以察覺。

圖片

(圖1:大模型時代下面臨的安全威脅分類)

以下簡單列舉幾個典型案例,由惡意 Prompt 攻擊引發的大模型安全事件:

1.1 藉助大模型“黑掉”你的電腦

近期,某海外大廠釋出了前沿大模型的新功能 —— “Computer Use“ ,這是一個可以讓大模型控制計算機的神奇能力。它透過擷取螢幕截圖來做出決策,可以執行 bash 命令、控制滑鼠鍵盤等操作,聽起來很神奇吧?但同時也帶來了很大的安全隱患,那就是惡意 Prompt 攻擊。

只需要準備好三樣東西就可以黑掉你的電腦。接下來我們來看一下駭客是如何藉助大模型實現的:

1、 準備好 C2 Server(駭客控制的伺服器)、惡意檔案、下載頁面(讓大模型下載木馬檔案);

2、 誘導大模型模仿正常使用者,點選下載惡意檔案;

3、 利用大模型查詢、修改許可權以執行惡意檔案;

4、 使用者電腦在大模型的幫助下成功“上線”(被駭客獲取機器許可權)。

圖片

(圖2:繞過某大模型產品的應用層限制,誘導模型下載惡意檔案)

圖片

(圖3:大模型模仿使用者點選下載惡意檔案)

圖片

(圖4:大模型在本地查詢並執行惡意檔案)

圖片

(圖5:使用者電腦被駭客遠端控制並檢視目錄)

1.2 “唾手可得”伺服器許可權

駭客透過 Prompt 注入 + 程式碼變形 + 字串編碼拼接等攻擊手法組合利用,成功繞過應用層的限制,從而讓大模型應用在後端容器中執行任意程式碼或者命令,拿到對應伺服器許可權。

圖片

(圖6:繞過某大模型產品的對話層限制,成功執行系統命令)

圖片

(圖7:利用某大模型產品工作流,成功獲取雲服務憑證)

1.3 “手到擒來” 使用者隱私資料

駭客透過散佈含有惡意配置的釣魚 URL 或檔案,利用大模型的長期記憶(Memory Update)功能漏洞,植入虛假記憶或惡意指令。使用者在對話中觸發這些連結或檔案後,其對話內容會被惡意配置,導致後續對話記錄被拼接成 Markdown 圖片連結洩露到外部URL,從而實現對使用者隱私的竊取。

圖片

(圖8:某大模型產品洩露使用者對話資料)

圖片

(圖9:某大模型產品洩露使用者對話資料)

二、新戰場的佈防

2.1 大模型方案的優勢

傳統Web應用防火牆(WAF)因其侷限性,無法理解自然語義的目的,導致真實攻擊事件頻頻漏檢,難以應對新型威脅,比如惡意使用者在進行攻擊測試,由於 Prompt 的內容未命中WAF正則關鍵詞,導致該攻擊被識別成正常請求,未被攔截。

圖片

( 圖10:真實攻擊漏報事件)

基於行業內三種通用解決方案進行不同方案優劣勢進行對比, 發現在檢測外部惡意 Prompt 攻擊場景下,大模型在泛化能力、檢出效果、維護成本上均優於另外兩個方案,詳細情況如下表:

可選方案

基於大語言模型

基於傳統機器學習引擎

基於正則引擎

方案說明

基於大模型海量知識底座,利用Prompt調優進行惡意攻擊場景泛化識別。

利用機器學習演算法對大量的正常和惡意流量進行分析,從而自動學習並識別惡意流量模式,然後對流量進行分類和阻止。

基於專家經驗針對各種攻擊型別提煉的特徵編寫正則,對流量進行正則特徵匹配檢測。

方案優點

維護成本低

有安全知識基礎

場景泛化能力極強

無需規則維護

能夠自我學習,一定程度可以應對未知威脅

開發成本較低

方案缺點

偶爾存在模型幻覺、分析結論不穩定情況

對資料量和質量要求較高,不同攻擊型別需要單獨訓練,泛化能力較差,誤報率較高

正則維護繁瑣,且檢測模式單一,無法應對未知威脅

檢測效果

維護效率

泛化能力

⭐️⭐️⭐️⭐️

⭐️⭐️⭐️⭐️

⭐️⭐️⭐️⭐️⭐️

⭐️⭐️

⭐️⭐️

⭐️⭐️

⭐️

⭐️⭐️

⭐️

2.2 大模型 Cosplay 派對偵探

透過聚類分析惡意攻擊樣本和攔截日誌,發現惡意 Prompt 攻擊的核心場景在於:如何深入分析提問者的提問實際場景與提問意圖。而大模型在這個分析場景下存在天然的優勢(超強推理能力、語言理解能力),當仁不讓的成為了安全運營分析的最佳助手。

借鑑過往經驗設計了一個更有價效比的流程。想象一下,在一個派對上,你要辨別哪些賓客可能是不受歡迎的搗蛋鬼,那麼的流程如下:

1)首先,用一份“不受歡迎名單”篩選出可疑人物,初步過濾掉正常行為的來賓。(惡意攻擊特徵初篩)

2)接著你請來一位偵探朋友,他憑藉出色的觀察力和理解力,進一步識別出潛在的麻煩製造者。(大模型檢測)

3)最後,只有偵探依然懷疑是搗蛋鬼的賓客,才需要你親自處理。(人工研判處置)

圖片

(圖11:惡意 Prompt 檢測分析流程)

這個過程就像一個漏斗,逐步篩選出搗蛋鬼。但有時偵探也會粗心大意,所以你會使用一些策略和行為標籤來提高他的準確性,確保派對順利且儘可能少的出問題。

同樣的,也可以透過黑白樣本多維度驗證,結合提示詞工程(Prompt Engineering)以及通用攻擊子場景歸類拆分,以幫助這位偵探更好地識別出惡意的搗蛋鬼。具體包括:

1)通用攻擊場景拆分:根據現網樣本日誌,劃分六大類場景,細化 30+ 攻擊子場景,讓大模型利用其語義理解能力和網路安全知識儲備,快速判斷使用者行為並根據場景歸類打標。

2)Prompt Engineering:透過構造 Prompt 來引導大模型如何進行打標和分類。若發現大模型識別錯誤、子場景描述模糊或是不準確的情況,透過對大模型的回答內容的分析,反哺運營同學對子場景精細化定義與闡釋,閉環場景分類的最佳化。

除此之外,為應對複雜 Prompt 的人工稽核漏判/誤判問題,引入大模型輔助安全運營,自主識別並提供解釋,配合人工快速複核。同時,利用企業微信機器人來推送惡意 Prompt 至群內,便於運營人員迅速研判和處理。

2.3 老生常談的沙箱加固

隨著各種功能豐富的外掛以及工作流的引入,一種常見的攻擊方式是透過惡意 Prompt 來呼叫大模型執行惡意程式碼,透過外掛實現伺服器入侵,直接威脅到使用者資料以及業務敏感檔案。

圖片

( 圖12:某大模型產品遭受 Prompt 攻擊洩露內部雲賬號密碼)

因此,除了前端惡意 Prompt 的檢測,後端的元件加固也十分重要。透過容器加固後,能實現網路、多使用者隔離及容器逃逸防護,確保使用者程式碼執行環境與業務環境完全隔離,實現較為安全的程式碼執行環境。

三、總結

惡意 Prompt 攻擊僅僅是大模型時代安全挑戰的冰山一角。安全從業人員面臨的不僅是技術難題,更是一場持久的安全攻防戰。

安全不是一蹴而就的工程,而是一個需要持續投入、不斷更新的過程。我們要正視當前的挑戰,同時也要未雨綢繆,為未來可能出現的新型威脅做好準備。

這條安全之路沒有終點,期待與諸位同僚一起,不斷前行。

相關文章