世界中のWindows搭載PCにおいてブルースクリーンオブデスを発生させてしまったCrowdStrikeの問題について、エンジニアのパトリック・ワードル氏が原因を分析してXに投稿しました。





CrowdStrikeが原因で発生したブルースクリーンオブデス問題は850万台のWindows端末に影響し、いくつもの公共交通機関がストップしました。

全世界的に発生したCrowdStrikeによるブルースクリーンオブデス問題の影響を受けたWindows端末は850万台で全体の1%未満 - GIGAZINE



ワードル氏の分析によると、CrowdStrikeの実行ファイルである「CSAgent.sys」内の「mov r9d, [r8]」という命令において、不正なメモリアドレスが指定されてしまっていたことが原因とのこと。



上記の通り、不正なアドレスを指定してクラッシュを直接発生させたアプリケーションは「CSAgent.sys」ですが、不正なアドレスのデータは「C-00000291-[環境によって異なる名前].sys」というファイルに保存されており、CSAgent.sysはC-00000291〜.sysファイルからデータを読み込んだせいでクラッシュしてしまっていました。





そのため、Crowdstrikeの問題は「セーフモードで起動してC-00000291〜.sysを削除する」という方法で解決することができます。





CrowdStrikeの公式ブログによると、C-00000291〜.sysは「チャンネルファイル」と呼ばれる一種の構成ファイルで、CrowdStrikeによって発見された新しい戦術、技術、手順に応じて毎日数回更新が行われるとのこと。





C-00000291〜.sysが自動更新用のファイルであり、全てのクライアントに設定を問わず自動で適用されてしまったことで今回の事故の規模が大きくなってしまいました。





CrowdStrikeの公式ブログでは、「論理的欠陥がどのように発生したかを突き止めるための徹底的な根本原因分析」が行われており、調査の進行に合わせて根本原因分析の結果を公表すると述べられています。

なお、CrowdStrikeは2024年4月にもDebianおよびRocky LinuxにおいてPCを起動不能にする問題を起こしていたことが明らかになっています。

CrowdStrikeによるPC起動不能問題はこれまでにもDebianとRocky Linuxで発生していた - GIGAZINE