世界を動かす技術を、日本語で。

コパイロットが監査ログを破損したが、マイクロソフトは顧客に知らせない

概要

  • Microsoft Copilot の監査ログに重大な脆弱性
  • 脆弱性により ファイルアクセスが監査ログに記録されない 事例発生
  • 報告後、 Microsoftの対応手順や通知方針に問題
  • 顧客への周知やCVE発行が行われず、透明性不足
  • 法的・セキュリティリスク を組織が認識できない危険性

Microsoft Copilotの監査ログ脆弱性とその影響

  • Microsoft Copilot は日常業務の効率化を図るAIプロダクト
  • 通常、 ファイル要約機能利用時に監査ログへアクセス記録 が残る設計
  • しかし、「リンクを提供しないようCopilotに依頼」すると 監査ログが空白 となる挙動
  • 悪意ある内部関係者 がこの手法を用いることで、 痕跡を残さず情報取得 が可能
  • 偶発的にも発生し得る問題 であり、M365 Copilot導入組織の監査ログは 信頼性を欠く危険性
  • 法的・コンプライアンス上の要件 を満たせない事例
    • 例: 機密データへのアクセス記録が不完全 となる
    • 例: 退職者による大量ファイル取得の追跡困難

Microsoft MSRCへの脆弱性報告と対応経緯

  • 2024年7月4日 にMSRCポータル経由で脆弱性報告を実施
  • 報告手順ガイド は整備されているものの、 実際の対応は不透明
  • ステータス「reproducing」中に 機能変更が発生 し、説明なく「develop」へ移行
  • 進捗状況の説明不足、形式的なステータス更新のみ
  • 2024年8月2日、修正リリース予定日と情報公開可能日を通知
  • CVE番号発行を拒否 される
    • 「自動修正で顧客側の対応不要」としてCVE未発行
    • Microsoft自身の 公開方針と矛盾

Microsoftの情報非公開方針とその問題点

  • CVE未発行・顧客通知なし という決定
  • 影響範囲が広く、偶発的にも発生しうる脆弱性 にもかかわらず、組織への周知を行わない
  • 規制業界(例:HIPAA準拠企業)証拠保全が必要な訴訟 等で 重大なリスク
  • 米国政府も監査ログの重要性を指摘、Microsoftの対応に疑問
  • 透明性欠如 および 他の問題の隠蔽懸念

著者について

  • Zack Korman
    • Pistachio CTO
    • プロダクト開発・サイバーセキュリティ経験豊富
    • 元ノルウェー大手メディア企業のテクノロジー&プロダクトディレクター

Hackerたちの意見

一般的に言えば、誰でもCVEを申請できるよ。自分で申請して、彼らの反応を引き出してみて。この記事には、かなり説得力のある証拠があるね。

面白いけど、CVEをもらうほどのものじゃないね。CVEは、複数のソースからの複数の製品に共通する脆弱性のためのものだから。ほとんどのLinuxディストリビューションで使われている共有ライブラリの脆弱性とか、複数のプログラムに静的にリンクされているものを考えてみて。Copilotはその基準を満たしてないよ。正直、この話で一番最悪なのは、CopilotのLLMが監査ログのエントリーを作成する指示を受けていることだよ。これは想像できる中で最悪の設計だね!ファイルやURLにアクセスするためにAPIを使うなら、そのAPIが監査ログを作成すべきだよ。これはエンジニアリングの基本中の基本だよ。

本当だよ。フォームはここにあるよ。PGPをサポートしている時点で、彼らは何をしているのか、なぜそうしているのかを理解していると思うし、私が生まれる前からずっとそうしてきたんじゃないかな。彼らのスポンサーやパートナーを見てみて。 https://cveform.mitre.org/ 正当な提出のためだけに使ってね。

マイクロソフトだけが運営してるサービスにCVEをリクエストする意味ってあるの?ユーザーはそれをどうすればいいの?

LLMに直接頼って監査や活動のログを管理するのは、うまくいかないことが多すぎて数えきれないよ。彼らのバグ修正は何だったんだろう?シャドウプロンプト?

LLMが使うツールがファイルの一部をLLMに見せたら、それ以降にその出力の一部を見たユーザー全員が読み取ったことになるってことを期待したいな。

LLMに直接頼って監査や活動のログを管理するのは、うまくいかないことが多すぎて数えきれないよ。この投稿には、監査ログに追加するためにLLM自体に頼っているということは何も示されていないよ。それはあり得ない設計だね。監査ログはおそらくスキャフォールディングによって書き込まれていて、LLMではないと思うけど、間違った場所に計測を入れたみたいだね。(つまり、リンクで出力したり、リンクプレビューを出力したりするのではなく、RAGやツールコールの結果としてLLMに供給される文書で出力するべきだった。)スキャフォールディングで監査ログを書くのもおそらく間違った設計だけど、少なくとも完全に馬鹿げたものではなく、ただの悪い設計だよ。

シャドウプロンプト(またはどんなプロンプトでも)を実際のセキュリティやコンプライアンスの管理手段として使うのには、かなり懐疑的だな。こういうのは決定論的なシステムでやるべきだと思う。

シャドウコピー

ちょっと待って、Copilotは特権ユーザーとして動作してるの?(監査をバイパスできるってこと?)それはおかしいよね?

それはおかしいよね? https://knowyourmeme.com/memes/james-franco-first-time

マイクロソフトにとって、ゴミみたいなAI統合を無理やり入れる時に監査ログがオプションって感じだね。

いや、ユーザーの権限でデータにアクセスしてるよ。

つまり、Delveが最初に導入された時みたいに、提案や検索結果でセキュリティが適切にトリミングされてなかったってことだね。…それとも、ずっと前にSharePointの検索が、ユーザーがドキュメントを開けないのに存在していることがわかる結果や要約を表示してた時のことかな。例えば「2025年秋のレイオフ」みたいな検索をして、ドキュメントが存在するなら、何かが計画されてるってことになるし…。ああ、マイクロソフト、セキュリティが後回しなのは今も変わらないね。

他の人も言ってたけど、ファイルには実際にCopilotがアクセスしてるわけじゃなくて、Copilotは検索エンジンで事前にインデックスされたファイルの内容を読んでるだけなんだよね。マイクロソフトはCopilotが実行する検索を監査すべきだと思う。ファイルにアクセスしたって監査するのは少し誤解を招くよ。Googleで結果を見つけたからって、そのウェブサイトに訪れたとは言わないし。

コパイロットは無効にしたよ。全然役に立たないと思う。コパイロットを使ってる人のほとんどは「もっと良いもの」を見たことがないんじゃないかな。

マイクロソフトやOpenAIが私たちのメッセージを見たり、少なくとも分析・処理するためのバックドア権限を持ってるんじゃないかと思う。驚かないけど。

もっといいタイトルは「Microsoft CopilotはHIPAAに準拠していない」だね。こういうタイトルにすれば、早く修正されると思う。

もう修正済みだよ。問題は、顧客に通知されていないことなんだ。

現時点でプログラミングにAIツールを使うのは、サンドボックス環境やおもちゃプロジェクトじゃない限り、馬鹿げてると思う。この分野での怪しいこと(盗まれたコンテンツで訓練されたAI、適切なクレジットなし、第三者サーバーへの出力を監査する方法がないなど)は、プロの開発者にとっては大きな警告サインだよ。

そのクソケーキの上に乗ってるのは、セキュリティが不可能なプラグインアーキテクチャでプログラムされたTypeScriptのテキストエディタだね。

企業はライセンスの問題でオープンソースソフトウェアを使わないけど、LLMを通せば大丈夫ってことだね。

私の意見では、今のところプログラミングにAIツールを使うのは、サンドボックス環境やおもちゃのプロジェクト以外では馬鹿げてると思う。よく言ったね。根本的な欠陥は、未知のトレーニングデータセットによって定義された統計的関連性に基づく非決定論的なコンテンツ生成を使おうとすることだよ。これは商業的なLLMの提供物のことで、厳密な数学モデル(プログラムソースコード)を満たすコンテンツを繰り返し生成しようとする試みなんだ。

AIは、大企業が売上を上げるために推進しているポンプ・アンド・ダンプの手法だよ。実際にはAIじゃなくて、ただの重み付けされた変数なんだ。

監査ログについてはあまり詳しくないけど、気になるのはファイルを読むプログラムがアクセスを登録するのが任意ってこと?それってファイルシステムレベルでやるべきじゃないの?コパイロットが特別な権限を持ってない限り、これがコパイロットのバグだなんてちょっと混乱するな。(それにしても、うーん!)

これは典型的なRAGかもしれないね。ベクトルインデックスやデータを見てる感じ。

ここでの説明で不明な点が一つあるんだけど、どの監査ログのことを言ってるの? Sharepointのファイルアクセス? Copilotのアクション? Purview?それとも他の何か?

フットノート1を正しく理解してるか確認したいんだけど、ログにコパイロットイベントとして表示される(時々前に、そして今は毎回そうだといいな)けど、対応するSharepointイベントはないってこと? O365のドキュメントをざっと見た感じだと、AISystemPluginDataフィールドが、スクリーンショットにあるアクセスが欠けているイベントがコパイロットイベントであることを示してるみたい(もしかしたら全部が一つのイベントにまとめられてるのかもしれないけど、O365の監査ログにはあまり詳しくないから)。フットノートから推測するに、古いバージョンか新しいバージョンのどちらにも別のSharepointイベントはないってことだよね。でも、もしあれば、修正前のアクティビティを検索するのに少しは役立つかもしれないね。

CVEは、顧客が保護を維持するためにアクションを取る必要があるセキュリティリリースで展開された修正に与えられるものだ。この場合、緩和策は自動的にCopilotにプッシュされるので、ユーザーは製品を手動で更新する必要がなく、CVEは割り当てられない。これはCVEの機能なのか、それともマイクロソフトのCVEの使い方なのか?この脆弱性は、さまざまな文脈で参照される共通のIDを持つことがまだ有益だと思うけど(例えば脆弱性研究など)。こういうケースを列挙するための別の番号付けシステムが必要かもしれないね、ベンダーに依存しないやつ。