ソフトウェア

多数のWindowsでブルースクリーンを発生させてしまったCrowdStrikeのコードは何が悪かったのか


世界中の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


◆フォーラム開設中
本記事に関連するフォーラムをGIGAZINE公式Discordサーバーに設置しました。誰でも自由に書き込めるので、どしどしコメントしてください!Discordアカウントを持っていない場合は、アカウント作成手順解説記事を参考にアカウントを作成してみてください!

• Discord | "CrowdStrikeが原因の世界的なPC障害、身の回りで何か影響はあった?" | GIGAZINE(ギガジン)
https://discord.com/channels/1037961069903216680/1264874986376659086

この記事のタイトルとURLをコピーする

・関連記事
20年前のOS「Windows XP」を丸腰でインターネットに放り込むとこうなる - GIGAZINE

Chromeでウェブアプリがクラッシュする問題を調べると「1枚のGIFアニメーション画像」が原因だったという珍しい事例 - GIGAZINE

Intelの第13・14世代のCPUには欠陥がありクラッシュ・強制終了・エラーの原因となっているという指摘を証明する膨大な量のレポートデータが発見される - GIGAZINE

IntelハイエンドCPUを搭載したPCで頻繁にゲームがクラッシュした問題の原因はマザーボードにあり - GIGAZINE

ゲームボーイアドバンスのクラッシュ音から元のゲームを復元することに成功 - GIGAZINE

in ソフトウェア, Posted by log1d_ts

You can read the machine translated English article here.