Varonisのセキュリティ研究者は、単一の悪意あるリンクを使ってMicrosoft Copilotからユーザーデータを流出させられる新たな攻撃を発見した。
Repromptと名付けられたこの攻撃は、LLMのデータ漏えい防止策を回避し、Copilotを閉じた後でも持続的にセッションからデータを流出させることができたとVaronisは述べている。
この攻撃は、Parameter 2 Prompt(P2P)インジェクション、二重リクエスト手法、チェーンリクエスト手法を悪用し、継続的で検知されにくいデータ流出を可能にする。
RepromptによるCopilot攻撃は、「q」パラメータの悪用から始まる。これはAIプラットフォームで、URL経由でユーザーのクエリやプロンプトを渡すために使われるものだ。必要なのは、ユーザーがそのリンクをクリックすることだけである。
「qパラメータに特定の質問や指示を含めることで、開発者やユーザーはページ読み込み時に入力欄を自動的に埋められ、AIシステムが直ちにプロンプトを実行するようにできます」とVaronisは説明する。
同社は、脅威アクターがこの機能を悪用してCopilotに望ましくない動作を実行させる可能性があると指摘する。この攻撃はワンクリックで侵害に至り、アクティブなユーザーセッションを利用するため、チャットを閉じた後も持続した。
機密情報の漏えいを防ぐため、Copilotは通常、正当な理由が提示された場合にのみURLを取得し、返答する前に機密情報を確認して修正する。
しかしVaronisは、保護が初回リクエストにしか適用されず、各リクエストを複数回送ることで回避できることを発見した。
研究者はCopilotに各タスクを2回実行するよう指示し、その結果、LLMがユーザー情報を漏えいすることになった。
具体的には、秘密のフレーズを含むURLを2回取得するよう求めた。Copilotは1回目では機密情報を削除したが、2回目の応答ではそれを含めてしまった。
次に研究者は、Copilotが新たな指示を攻撃サーバーから直接取得するチェーンリクエストを開発した。
各リクエストは、より多くのユーザー情報を流出させることと、別の指示を取得することの両方を命じ、サーバーとの継続的なやり取りを行わせた。
Varonisによれば、この継続的なやり取りにより、攻撃者は可能な限り多くの情報を流出させ、前の応答に基づいてさらにデータを要求できるようになる。
さらに、すべてのコマンドがサーバーから送られ、追随リクエストに隠されるため、被害者は初回プロンプトの後にどのデータが漏えいしたのかを判断できなかった。
「クライアント側の監視ツールではこれらの悪意あるプロンプトを検知できません。実際のデータ漏えいは、ユーザーが送信するプロンプト内の明白な何かからではなく、往復通信の中で動的に発生するからです」とVaronisは述べている。
Microsoftは根本的な問題を解決した。Varonisによれば、この攻撃はMicrosoft 365 Copilotを利用するエンタープライズ顧客には影響しない。
翻訳元: https://www.securityweek.com/new-reprompt-attack-silently-siphons-microsoft-copilot-data/