ゆめさくセキュリティ

2024年7月19日に発覚、海外、セキュリティソフト (エンドポイント検知)

CrowdStrike センサー更新配布障害

検証をすり抜けた設定ファイルの配布で世界中のWindowsが一斉に止まった

何があったか

2024年7月19日午前4時9分 (UTC)、セキュリティ会社CrowdStrikeは、自社のセンサーソフト「Falcon」のWindows版に向けて、脅威の検知ルールを更新する「チャンネルファイル291」の配信を始めた。このファイルには、ある入力項目の数を20として処理するセンサー側のコードと、21として検証したチェック機構との食い違いが隠れていた。配信を受けたWindows端末は、センサーが名前付きパイプの通知を受け取った瞬間に21番目の値を読もうとして、本来存在しない領域のメモリを読み込み、ブルースクリーンで停止した。午前4時9分から5時27分の間にオンラインだった端末だけが影響を受け、MacとLinuxは対象外だった。

更新はCrowdStrikeの顧客全体へ一度の配信で届いたため、影響は世界中の航空会社、病院、911の緊急通報、放送局、小売店などに同時に広がった。航空便の欠航、手術の延期、911システムの停止、店舗の休業などが起きたと議会で報告された。保険会社の試算として、フォーチュン500企業の25%が影響を受け、損失は54億ドルに上るとの数字も議会の公聴会で紹介された。

CrowdStrikeは問題のファイルを特定して配信を止め、まず手作業での復旧手順を顧客に案内した。7月22日には復旧を早める自動化の手段を導入し、現地に人員を送って復旧を支援した。7月29日時点で、更新前と比べて約99%のWindowsセンサーが再びオンラインに戻ったと公表した。8月6日には技術的な根本原因分析 (RCA) を公表し、9月24日には米下院国土安全保障委員会の公聴会にCrowdStrikeの幹部が出席して説明と謝罪をした。

決め手の失敗
新しい検知の型 (IPCテンプレートタイプ) において、センサー側のコードが用意する入力の数 (20) と、型の定義ファイルが期待する入力の数 (21) が食い違っていたのに、開発時のテストとコンパイル時の検証のどちらもこの食い違いを検出しなかった
被害
世界中のWindows端末、約850万台がブルースクリーンで停止したと議会で報告された。航空便の欠航、手術の延期、911緊急通報システムの停止、店舗の休業などが起き、保険会社の試算で損失は54億ドルに上るとの数字が公聴会で紹介された

攻撃の流れ

  1. 更新の作成2024年2月に導入された新しい検知の型 (IPCテンプレートタイプ) は、センサー側のコードでは20個の入力を用意する設計だったが、型の定義ファイルでは21個の入力を期待する内容になっていた。この食い違いは開発時のテストや複数回の本番配信でも検出されなかった。それまでのテストや実際の配信内容では21番目の入力に常にワイルドカード (何にでも一致する条件) が使われていたため、問題が表面化しなかった
  2. 検証をすり抜ける2024年7月19日、21番目の入力に初めてワイルドカードではない具体的な条件を持つ内容が作られた。これを検証する仕組み (コンテントバリデータ) は『21個の入力がある』という誤った前提で検証したため、この内容を問題なしと判定して配信した
  3. 配信と障害発生UTC午前4時9分、このチャンネルファイル291の新しい版が、該当するセンサーを持つWindows端末全体に一度に配信された。各端末のセンサーが名前付きパイプの通知を受けてこの内容を評価した際、本来20個しか用意されていない入力配列の21番目を読もうとして、境界を超えたメモリ読み込みが発生し、Windowsがブルースクリーンで停止した
  4. 影響の拡大更新は顧客全体に単一のセッションで配信されていたため、オンラインだった端末が世界中でほぼ同時に停止した。航空会社、病院、911の緊急通報、放送局、小売店などの業務が止まった
  5. 復旧CrowdStrikeは問題のファイルを特定して配信を止め、まず手作業での再起動による復旧手順を案内した。7月22日に自動化した復旧手段を導入し、現地支援の人員も派遣した。7月29日時点で約99%のセンサーがオンラインに戻った

数字で見る

  • 約850万台 影響を受けたWindows端末[4] 下院国土安全保障委員会の公聴会で複数の議員が引用した数字
  • 54億ドル 保険会社の試算による損失額[4] 下院国土安全保障委員会の公聴会でランキングメンバーが紹介した、保険会社Parametrixの試算
  • UTC 4時9分から5時27分 障害が起きた時間帯[2] この間にオンラインだった端末だけが影響を受けた
  • 約99% 7月29日時点で復旧したセンサーの割合[1] 更新前の週と比べた割合

気づいたきっかけ

更新配信からブルースクリーンでの大量停止が短時間で発生し、CrowdStrike社内で問題のチャンネルファイルが原因と特定された

対応と復旧

問題のファイルの配信を停止し、まず手作業での再起動による復旧手順を顧客に案内した。7月22日に自動化した復旧の仕組みを導入し、人員を現地に送って復旧を支援した。7月25日にコンテントインタープリタへの境界チェックを追加し、7月27日にセンサーコンパイラの検証パッチを本番投入、8月9日までにWindowsセンサー7.11以降全体へホットフィックスを展開した。8月19日までにコンテントバリデータへの追加チェックも投入予定とした。独立した第三者のセキュリティ専門会社2社にセンサーコードと開発から配信までの品質管理プロセスのレビューを依頼した

組織が認めた原因と、決めた対策

認めた原因

  • 新しい検知の型 (IPCテンプレートタイプ) で、センサーコードが用意する入力数 (20) と型定義ファイルが期待する入力数 (21) が食い違っていたが、開発時のテストでは検出されなかった
  • コンテントバリデータが『21個の入力がある』という誤った前提で新しい内容を検証したため、問題のある内容を通過させた
  • コンテントインタープリタに入力配列の境界を超えた読み込みを防ぐ実行時のチェックが存在しなかった
  • テンプレートタイプの開発時のテストが、21番目の項目にワイルドカードではない一致条件を使うケースを網羅していなかった
  • 更新が顧客全体へ段階を踏まずに一度のセッションで配信されていた

公表した再発防止策

  • センサーのコンパイル時に、テンプレートタイプが期待する入力の数を検証するチェックを追加した
  • コンテントインタープリタに実行時の配列境界チェックを追加した
  • テンプレートタイプの開発テストで、各項目にワイルドカードではない一致条件を使うテストを全テンプレートタイプに対して実施するようにした
  • コンテントバリデータに、テンプレートインスタンスが入力数を超える一致条件を含まないかを確かめる追加チェックを導入した
  • 新しいテンプレートインスタンスをカナリア配信から始め、段階的に展開の範囲を広げる方式に改めた
  • 顧客がRapid Response Contentの更新の受け取り方 (早期導入、一般提供、一定期間の遅延) を選べるようにした
  • 独立した第三者のセキュリティ専門会社2社によるセンサーコードと品質管理プロセスのレビューを継続している

自分のサービスで確かめること

  • 外部から配信される設定やルールファイルの項目数を、受け取り側のコードが実際に用意している項目数とコンパイル時または起動時に照合しているか確かめる
  • 設定やルールを読み込む処理に、配列や入力データの境界を超えたアクセスを防ぐ実行時チェックが入っているか確かめる
  • ワイルドカードや既定値だけでテストを通過させず、個々の項目に具体的な値を入れたテストケースを用意しているか確かめる
  • 自動更新を全顧客や全台数へ一度に配信せず、一部への先行配信とロールバックの手段があるか確かめる
  • 重大な設定変更を受け取る側が、受け取りのタイミングを自分で選べる仕組みを提供しているか確かめる

関わる攻撃とレッスン

時系列

  1. 7月19日 発覚 UTC午前4時9分、チャンネルファイル291の更新配信が始まり、オンラインだった端末でブルースクリーンによる停止が発生した。午前5時27分までに配信は終了した[2]
  2. 7月22日 対応 CrowdStrikeが復旧を早める自動化した手段を導入した[4]
  3. 7月25日 対応 コンテントインタープリタに境界チェックを追加した[2]
  4. 7月27日 対応 センサーコンテントコンパイラへの検証パッチを本番投入した[2]
  5. 7月29日 復旧 約99%のWindowsセンサーが更新前の水準までオンラインに戻った[1]
  6. 7月 公表 予備的なPost Incident Review (PIR) を公表した[1]
  7. 8月6日 公表 技術的な根本原因分析 (External Technical Root Cause Analysis) を公表した[2]
  8. 9月24日 公表 米下院国土安全保障委員会サイバーセキュリティ小委員会の公聴会にCrowdStrike幹部が出席し、経緯と再発防止策を説明した[4]

攻撃した側について

サイバー攻撃ではない。CrowdStrike自身が公聴会で『これは海外の脅威主体によるサイバー攻撃ではない』と明言しており、根本原因分析でも自社のソフトウェア更新に起因する欠陥としている

出典

2026年10月24日に開いて確かめました。本文の [1] などの数は、この一覧の番号です。

  1. Falcon Content Update Preliminary Post Incident Report CrowdStrike, Inc.、2024年7月、被害組織の資料
  2. External Technical Root Cause Analysis — Channel File 291 CrowdStrike, Inc.、2024年8月6日、被害組織の資料
  3. Executive Summary - Root Cause Analysis — Channel File 291 CrowdStrike, Inc.、2024年8月6日、被害組織の資料
  4. An Outage Strikes - Assessing the Global Impact of CrowdStrike's Faulty Software Update (Hearing before the Subcommittee on Cybersecurity and Infrastructure Protection, Committee on Homeland Security, House of Representatives, 118th Congress, Serial No. 118-hhrg60030) U.S. Government Publishing Office (U.S. House of Representatives)、2024年9月24日、議会の資料