クラウドストライクに起因する大規模障害–14年前のインシデントとの奇妙な共通点
今回は「クラウドストライクに起因する大規模障害–14年前のインシデントとの奇妙な共通点」についてご紹介します。
関連ワード (セキュリティ等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
「Microsoft Windows」は、全世界の10億台以上のPCと膨大な数のサーバーに搭載されており、その多くが顧客に直接サービスを提供する施設で重要な役割を果たしている。では、信用あるソフトウェアプロバイダーが配信したアップデートによって、それらのPCが急に機能を停止したら、何が起きるだろうか。
米国時間2024年7月19日の時点で、その問いに対する答えは分かっている。大混乱の発生だ。
今回のケースでの信用あるソフトウェア開発会社は、CrowdStrike Holdingsという企業だった。同社はかつて、米民主党全国委員会が所有するサーバーの2016年のハッキング事件を分析したセキュリティ企業として名を馳せた。今やそれは古い思い出にすぎない。CrowdStrikeは、史上最大のIT障害を引き起こした企業として、永遠に知られることになるからだ。この障害により、フライトの欠航、一部の銀行システムへのアクセス遮断、大規模医療ネットワークの障害、少なくとも1つのニュースネットワークの放送停止といった影響が発生した。
MicrosoftはCrowdStrikeのアップデートの影響を受けたWindowsデバイスの数を850万台と見積もっている。これは全世界のWindowsインストールベースのごく一部だが、MicrosoftのエンタープライズおよびOSセキュリティ担当バイスプレジデントのDavid Weston氏は、「広範な経済的および社会的影響が発生したことは、多数の重要なサービスを運営する企業がCrowdStrikeを使用しているということを示している」と指摘した。Reutersは「Fortune 500企業の半数以上と、米国の最高サイバーセキュリティ機関である米サイバーセキュリティ・インフラセキュリティ庁(CISA)など多数の政府機関が、同社のソフトウェアを使用している」と報じた。
システムを外部の攻撃から保護するためのセキュリティソフトウェアを販売するCrowdStrikeが、「Falcon Sensor」ソフトウェアを実行する世界中の多数のPCに、欠陥のある「センサー設定の更新」を配信した。CrowdStrikeによると、その更新は「チャネルファイル」であり、新たに観測されたサイバー攻撃者の悪意ある活動を特定する機能があったという。
更新ファイルには.sys拡張子が付いていたが、それ自体はカーネルドライバーではなかった。このファイルと通信するFalconセンサーの他のコンポーネントが、Windows PCで最高の特権レベルであるWindowsカーネルと同じ空間で実行され、メモリーやハードウェアと直接やりとりする。CrowdStrikeは、そのコードの「ロジックエラー」が原因で、Windows PCおよびサーバーが起動後数秒以内にクラッシュし、STOPエラーが表示されると説明した。STOPエラーは、「死のブルースクリーン」(Blue Screen of Death:BSOD)という通称の方が知られているだろう。
CrowdStrikeは7月24日、同社のウェブサイトに掲載した「Preliminary Post Incident Review(PIR)」の中で、これまで報告されていたインシデントに関するいくつかの詳細を確認した上で、さらにいくつかの情報を追加した。障害が発生したコードは、Windowsのカーネル空間で動作するFalconセンサーの一部だった。このセンサーはバージョン7.11で、2024年2月28日にリリースされていた。CrowdStrikeによると、このリリースでは「Named Pipesを悪用した新手の攻撃手法を検出するための新しい『InterProcessCommunication(IPC) Template Type』が導入された。このリリースでは、すべて『Sensor Content』のテスト手順に従って行われた」という。
4月8~24日に3つのIPC Template Typeインスタンスが展開されたが、このときに問題は発生しなかった。7月19日には「さらに2つのIPC Template Typeインスタンスを追加展開した。2つのテンプレートインスタンスのうち1つにコンテンツデータの問題があったが、『Content Validator』のバグによって検証を通過してしまった」と同社は述べる。そのインスタンスがそのまま本番環境に配備されると「センサーによって受信され、『Content Interpreter』にロードされたときに『Channel File 291』の問題のあるコンテンツによって境界外のメモリー読み込みが発生し、Windowsオペレーティングシステムのクラッシュ(BSOD)を引き起こした」(同社)
このような欠陥によって生じた損傷を修復するプロセスは、非常に面倒だ。影響を受けたすべてのPCを手作業によって「Windows Recovery Environment」で再起動し、昔ながらのコマンドラインインターフェースを使用してPCから欠陥ファイルを削除しなければならない。対象PCのシステムドライブがMicrosoftの「BitLocker」暗号化ソフトウェアで保護されている場合は(ほぼすべてのビジネスPCがそうなっている)、修復に必要な手順がもう1つ増える。一意の48文字のBitLocker回復キーの入力だ。これにより、ドライブにアクセスしてCrowdStrikeの欠陥ドライバーを削除できるようにする。
CrowdStrikeのコードを使用する企業ネットワークでWindows PCの管理を担当している知人がいるなら、その人は今、非常に忙しいに違いない。その忙しさは今後何日も続くだろう。
今回の大惨事(これは言葉の誤用ではない。保証しよう)について初めて耳にしたとき、聞き覚えのある話だと思った。Redditの「Sysadmin Subreddit」でu/externedguyというユーザーの投稿を見て、その理由を思い出した。この14年前の記事を覚えている人もいるかもしれない。
このケースで、McAfeeは欠陥のあるウイルス定義(DAT)ファイルをWindows XP搭載PCに配信した。そのファイルは、Windowsの重要なシステムファイルであるSvchost.exeを誤ってウイルスとして検出し、削除した。当時のレポートによると、その結果、「影響を受けたシステムは再起動ループに入り、すべてのネットワークアクセスが(失われる)」という。
2010年のインシデントと2024年のCrowdStrikeの障害には、不思議な類似点がある。問題の根底にアップデートの欠陥があり、それが強力なソフトウェアエージェントを実行する多数のPCに配信され、影響を受けたデバイスが動かなくなった。回復のために、すべてのデバイスを手動で操作する必要があった。さらに、欠陥コードを配信したのは、競争が過酷な市場で必死に成長しようとしている上場セキュリティ企業だった。
障害のタイミングは、McAfeeにとって特に不運だった。IntelはMcAfeeを76億8000万ドルで買収する意向を2010年4月19日に発表していた。欠陥のあるDATファイルがリリースされたのは、その2日後の4月21日だ。
2010年のMcAfeeの失態は大事件であり、Fortune 500企業(Intelを含む)だけでなく、世界中の大学や政府/軍事施設が打撃を受けた。オーストラリア最大の食料品チェーンでレジの10%がオフラインになり、14~18店舗が休業に追い込まれた。
信じがたいことに、CrowdStrikeの創設者で最高経営責任者(CEO)のGeorge Kurtz氏は、2010年のインシデント時にMcAfeeの最高技術責任者(CTO)だった。
2024年の事件にはさらにひどい続きがあり、「Microsoft Azure」やAmazon Web Services(AWS)などのクラウドで稼働しているWindowsベースのサーバーにも影響が及んだ。この欠陥アップデートによって機能停止した多くのノートPCやデスクトップPCと同様に、クラウドベースのサーバーも、時間のかかる手作業によって復旧させる必要がある。