全2316文字

 米CrowdStrike(クラウドストライク)は、同社製品「CrowdStrike Falcon」(以下、Falcon)が原因で2024年7月19日(米国時間)に発生したシステム障害に関する「根本原因分析」(RCA:Root Cause Analysis)の結果を公表。システム障害に至った詳細や今後の対策を明らかにした。

2024年7月19日に確認されたブルースクリーンエラー
2024年7月19日に確認されたブルースクリーンエラー
(写真:日経クロステック)
[画像のクリックで拡大表示]

既にほぼ全てのシステムが復旧

 根本原因分析とは、問題の根本的な原因を特定し、対策を講じて再発を防止するためのプロセスを指す。根本原因分析の結果は、クラウドストライクのWebサイトで米国時間2024年8月6日に公開された。

 米Microsoft(マイクロソフト)は、今回のシステム障害で約850万台のコンピューターが影響を受けたと推定。クラウドストライクによると、米国時間2024年7月25日時点で約97%、同7月29日時点で約99%が復旧したという。

 システム障害の原因となったFalconは、EDR(Endpoint Detection and Response、エンドポイント検知・対応)などの機能を備えたクラウドベースのセキュリティー製品。マルウエアやサイバー攻撃などを検知して被害を未然に防いだり、最小限に抑えたりする。

 Falconは、守るべきコンピューター(エンドポイント)にインストールする「Falcon Sensor」と、クラウドストライクが運用するサーバーで構成される。Falcon Sensorはインターネット経由で絶えず通信してエンドポイントの情報をサーバーに伝えるとともに、最新の攻撃に関する情報などを入手する。

 最新の攻撃に関する情報は、「チャネルファイル」と呼ばれるファイルなどでサーバーからFalcon Sensorに伝えられる。クラウドストライクでは、「チャネルファイルはFalcon Sensorが使用する動作保護メカニズムの一部。チャネルファイルはクラウドストライクによって発見された新しい戦術、技術及び手順に応じて1日に数回更新される」としている。

 一般的なセキュリティーソフトが最新のマルウエアやサイバー攻撃を検知するために使用するパターンファイルやシグネチャーなどに該当すると考えられる。

定義されていないフィールドを参照

 このチャネルファイルの一部に不具合があった。不具合があったのは、Windows版Falcon Sensor向けの「チャネルファイル291」である。

 「C:\Windows\System32\drivers\CrowdStrike」ディレクトリーに置かれる。ファイル名が「C-00000291」で始まり、拡張子は「sys」。拡張子はsysだがカーネルドライバーではないという。複数存在するため、ワイルドカード(*)を使って「C-00000291*.sys」などと表現される。

 このチャネルファイル291は、Windowsのプロセス間通信(IPC)を悪用するサイバー攻撃を検知するために2024年2月に導入され、以降、適宜アップデートされてきた。今まで問題は発生しなかったが、2024年7月19日に配信されたチャネルファイル291に不具合があった。

 Falcon Sensorはこのチャネルファイル291のために、データの入力フィールドを20個用意している。だが7月19日に配信されたチャネルファイル291は、21個目の入力フィールドを参照するよう指示していた。このため境界外のメモリー読み取りが発生し、Windowsのシステムクラッシュ(ブルースクリーンエラー)が発生した。

 定義されていない入力フィールドを参照する恐れがある今回の脆弱性は、2024年2月の導入時から存在していた。それが今回のシステムクラッシュで明らかになった。クラウドストライクは同社及びサードパーティーの調査により、この脆弱性は攻撃者が悪用できるものではないことを確認したという。