微軟在上週二修補了其 M365 Copilot AI 平台中一項評為「最高等級關鍵(max critical)」的弱點。上週一,資安公司 Varonis 的研究人員在發現該弱點後,揭露了他們的概念驗證(proof-of-concept)攻擊如何從可被 Copilot 存取的電子郵件中擷取雙因素驗證(two-factor authentication)代碼與其他敏感資料。根因在於 AI 機器人無法區分使用者提供的指令與模型處理時夾帶於第三方內容中的指令,導致微軟與其他 LLM 供應商無法阻止其產品配合惡意的資料擷取請求。
Varonis 研究人員使用標記語言繞過 Copilot 的防護欄
微軟在 Copilot 中建置防護欄,以防止 LLM 提交網頁表單、傳送電子郵件並執行類似可能外洩使用者資料的行動。Varonis 研究人員使用標記語言(markup language)繞過這些限制;該語言可在不使用 HTML 標籤的情況下,將標題、清單與連結等格式元素加入文字中。另一個繞過方式是將敏感資料包裹在 與 等 HTML 標籤內。在兩種情況下,包含該資料的網頁請求都會打到攻擊者的網頁伺服器,機密資訊隨即被記錄在日誌(logs)中。
微軟還另外實作了防護欄:包含將 Copilot 的輸出包在 區塊中,使瀏覽器將其視為純文字;並限制 Copilot 未經明確核准不能造訪哪些網站。雖然 Copilot 一律可向微軟網域送出請求,但防護欄會限制對不受信任網站的請求。
參數到提示注入(Parameter-to-Prompt Injection)利用 URL 查詢參數
Varonis 設計了一連串可繞過這些防護欄的攻擊鏈,研究人員稱其為「參數到提示注入(Parameter-to-Prompt Injection)」。在這個案例中,該參數是 URL 裡的 q,會用來標示已被納入的查詢(query)。參數到提示注入與提示注入(prompt injection)是近親:不同之處在於惡意指令位於查詢參數中,而不是位於電子郵件或其他不受信任內容中。
FAQ
微軟在上週二的 Copilot 修補了什麼弱點?
微軟修補了其 M365 Copilot AI 平台中的一項最高等級關鍵弱點,該弱點讓駭客能從可被 Copilot 存取的電子郵件中擷取雙因素驗證代碼與其他敏感資料。上週一,發現該弱點的 Varonis 研究人員揭露了他們的概念驗證攻擊。
Varonis 研究人員是如何繞過 Copilot 的安全防護欄的?
Varonis 研究人員使用標記語言,加入不使用 HTML 標籤的格式元素,並將敏感資料包裹在 與 等 HTML 標籤內。他們也採用了「參數到提示注入」技術,將惡意指令放在 URL 的查詢參數中,而非放在電子郵件內容裡,從而使包含使用者資料的網頁請求能打到由攻擊者控制的伺服器,並在日誌中擷取相關資訊。