発見したセキュリティ研究者によって「CoSnitch」と名付けられたこの脆弱性は、明確な危険信号を出すことなく企業からデータを窃取する攻撃チェーンを実行します。
AIアシスタント「Copilot」の個人向け版に存在する重大なセキュリティ脆弱性の存在を確認してから8カ月近く経った火曜日、Microsoftはついにこの穴を塞ぐパッチを公開しました。この脆弱性は、LLMがクエリ内のデータと命令を区別できないという性質に起因するものです。
CoSnitchの穴を発見したのはVaronisで、同社が今年Microsoftに報告したCopilotのバグとしては3件目となります。これまでに、クエリを繰り返すことでCopilotのガードレールを回避するRepromptと、Microsoft 365 Copilot Enterpriseを「サイレントなデータ窃取ツール」に変えるとVaronisが評したSearchLeakを報告してきました。「この3件はいずれも同じ攻撃パターンを共有しています。一見正当に見えるリンクをワンクリックするだけで十分なのです」としています。
Varonisが火曜日に投稿した詳細なブログ記事では、この脆弱性が持つ能力の重大さが説明されています。
Varonisによれば、攻撃者はCoSnitchを悪用する際、Copilotに存在する3つの異なる欠陥を組み合わせて利用します。
- プロンプトの自動実行。「URLパラメータ『?q=』を、文書化されていない別のパラメータと組み合わせることで、攻撃者が指定した任意のプロンプトがページ読み込み時に即座に実行されます。クリックも確認も、ユーザー操作も一切不要です。リンク一つで十分なのです」
- 外部サーバーへのデータ窃取。「注入されたプロンプトは、Gmail、Drive、カレンダー、OneDriveなど被害者が連携しているアプリを照会し、結果をURLにエンコードして、Copilotに組み込まれたURL取得機能を通じて攻撃者が管理するWebhookへ持ち出すことができます」
- Web要約機能を悪用した永続的なメモリー汚染。「細工されたWebページをCopilotが要約すると、攻撃者の指示が被害者の永続的なメモリーストアに注入されます。この注入はパスワード変更、セッション無効化、デバイスの再登録を経ても消えず、永久に残り続けます」
しかし、CoSnitchのバグにおいて最も興味深い点はおそらく、その発見の経緯そのものにあります。Copilot自身がこの脆弱性の存在を明かしてしまったのです。
Copilotが自ら欠陥を明かした
「私たちはCopilotに対し、なぜ自動実行が不可能なのかを説明するよう促しました。すると拒否回答のたびに技術的な根拠が示され、それによってアーキテクチャの全体像が浮かび上がってきました」とVaronisの投稿は述べています。続けてVaronisは「それぞれの拒否回答をフォローアップの質問として捉え直し、回答が得られるたびに攻撃対象領域はさらに絞り込まれていきました。すると拒否回答の途中で、Copilotは求められてもいないのに、文書化されていないURLパラメータを開示しました。その挙動の変遷や、無効化のために講じられたあらゆる保護策も含めてです。私たちはその説明どおりに正確にURLを組み立てました。すると、ユーザーによるクリックや確認は一切なく、プロンプトは自動的に、かつ正常に実行されました。Copilotは侵害されたのではなく、うまく誘導されてしまったのです」としています。
Microsoftはこの脆弱性と修正の両方を確認し、メールでの声明で「弊社のお客様はすでに保護されており、対応の必要はありません。同様の手法に対する防御を強化するため、ガードレールを継続的に更新しています」と述べました。また、この穴を「重大」と位置づけるMSRCの脆弱性情報も公開しています。
ただし、Microsoftがメールで寄せたコメントには、厳密には正確とは言えない記述も含まれていました。「Microsoft 365 Copilotを利用する企業のお客様は影響を受けません」という一文です。
しかし、アナリストらは、企業環境は往々にして複雑な構造を持ち、その中には従業員の個人アカウントによる消費者向けCopilotも混在していることが多いと指摘します。つまり、個人版に存在する脆弱性が企業版にも確実に影響を及ぼしうるということです。
さらに事態を複雑にしているのは、Microsoftが「より統合されたCopilot体験への移行を進めている」とも述べている点です。これは「Copilot Fusion」と呼ばれるもので、この製品統合計画の詳細は先月から漏れ伝わり始めていました。つまり、企業のCISOは、Copilot個人版の欠陥が統合後の製品にそのまま持ち越される可能性についても懸念する必要があるということです。
Microsoftによる修正のタイミングも、一貫性を欠いたものでした。Varonisのシニアセキュリティ研究者であるLior Adar氏がインタビューで明かしたところによると、VaronisがCoSnitchの穴を報告したのは12月31日で、Microsoftはその一部である自動実行機能を2月1日にパッチで修正したものの、修正が完了したのは今回の火曜日になってからでした。
2月のパッチによって「他の脆弱性のリスクは大幅に低減された」とAdar氏は述べています。そしてVaronisのクラウドセキュリティ研究チームリーダーであるChen Levy Ben Aroy氏は「LLMはまったく新しい種類の脆弱性の世界を切り開いています」と付け加えました。
Info-Tech Research GroupのバイスプレジデントでディスティングイッシュトアナリストでもあるMark Tauschek氏は、Copilotをだまして自ら欠陥を明かさせるというVaronisの手法を強力なものだと評価しました。
Varonisが用いたのは「LLMに対する非常に高度なソーシャルエンジニアリング、多様なジェイルブレイク手法、そして極めて懸念すべき能力を持つプロンプトインジェクション攻撃を組み合わせたもの」だと同氏は述べています。「複数のハッキング手法を組み合わせている点が、より衝撃的に映る理由です。個々の手法自体はこれまでも見てきたものですが、この3つすべてを一つのエクスプロイトとして機能させたのは、少なくとも公表されたものとしては初めてだと思います」
Tauschek氏は、CISOにとって早急な対応が必要になる可能性があると述べています。
「90年代後半から2000年代前半にかけてのマクロウイルス全盛期と同じように、これを確実に止める唯一の方法は機能をオフにすることです。当時はマクロを無効化しました。今はCopilotを無効化すべきです」とTauschek氏は述べました。「リスクを無視できる水準まで下げる緩和策は数多くありますが、ゼロにはなりません。重要なのは、これはまだ始まりに過ぎないということです」
金銭的な力学がこの問題の修正を難しくする
ニューヨークを拠点とする技術コンサルティング企業Tribeca SofttechのチーフストラテジーオフィサーであるAman Mahapatra氏は、今回のケースにはさらに厄介な問題がはらんでいると指摘します。同氏は、主要AI企業各社の財務的なインセンティブ構造が、この種の脆弱性を実質的に修正することをほぼ不可能にしていると論じています。
同氏は、この種の攻撃を完全に封じ込めるあらゆるガードレールが、製品そのものの価値を損なってしまうと指摘します。悪用されているのと同じ機能こそが、MicrosoftがCopilotの価値として売り込んでいる特徴だからです。「修正と機能は真っ向から対立関係にあります。つまり、これらの問題はきれいに修正されるのではなく、恒久的に緩和され続けることになるということです。この8カ月という期間は、ベンダーがすべての修正において、セキュリティ上の責務と製品ロードマップとの間で綱引きを続けている様子そのものと言えます」とMahapatra氏は述べました。
「これはCISOが肝に銘じるべきパターンです。エージェント型システムにおいては、悪意ある行動と正当な行動は、意図が異なるだけで実質的に同一の行動なのです。これは、企業セキュリティが20年にわたって築き上げてきたシグネチャ検知・異常検知モデル全体を無効化してしまいます」とMahapatra氏は述べています。「CoSnitchは深刻な問題ですが、その本質的な特徴は、何一つ『壊れていない』という点にあります。連鎖する3つの欠陥、すなわちクリックなしでプロンプトを発火させる自動実行URLパラメータ、メタデータではなくGmailの全文を読み取るOAuthコネクタの悪用、そしてWeb要約機能を通じた永続的なメモリー汚染――そのいずれも、Copilotが設計どおりに正確に動作した結果に過ぎないのです」
Mahapatra氏はさらに、CoSnitchの脆弱性を構成する3番目の要素が最も懸念すべきものだと付け加えました。
「メモリー汚染の要素は過小評価されがちですが、実際には最も危険なものです。要約された一つのWebページによって、攻撃者の指示がCopilotの永続的なメモリーに書き込まれ、そのメモリーはパスワード変更、セッション無効化、デバイスの再登録を経ても残り続けます」と同氏は述べました。「標準的なインシデント対応の手順を踏んでも、その注入は消えないままです。攻撃者は最初の書き込みさえ済ませてしまえば、その後は持続的なインフラを必要としません。以後のすべてのセッションは攻撃者が管理するコンテキスト下で動作し、それはほとんどのユーザーが開いたことすらないメモリー設定画面にのみ記録される仕組みだからです」
LexisNexis Risk SolutionsグループのCISOであるFlavio Villanustre氏も、あらゆるエージェント型システムや生成AIの導入に共通するより大きな問題を指摘しています。
「この攻撃のうちプロンプトインジェクションに関わる部分の仕組みは、LLMがデータ、すなわち外部Webページから流れ込んでくる安全でないデータストリームと、そのデータストリームに攻撃者が埋め込んだ命令とを区別できないという点に起因しています」とVillanustre氏は述べています。「これは、LLMの動作の安全性をより確実に担保するために、データと命令を分離する異なるアーキテクチャ上のアプローチが必要であることを示す、もう一つの実例です。この問題には、Microsoftを含めどのAIベンダーも、これまでのところ対処できていません」
本記事はComputerworldに掲載されたものです。