たったひとつのコードが世界中のコンピューターシステムを一瞬にして破綻させたことは、歴史上において数えるほどしかない。2003年のマルウェア「SQL Slammer」、ウクライナを標的にしたロシアの関与が疑われるランサムウェア「NotPetya」によるサイバー攻撃、そして北朝鮮のハッカーが関与したとされる自己拡散型ランサムウェア「WannaCry」だ。
ところが、過去12時間にわたって世界中のインターネットとITインフラを揺るがし、現在もまだ続いている大惨事を引き起こしたものは、ハッカーが放った悪意あるコードではない。それを阻止するために設計されたソフトウェアだったようである。
インターネットインフラ上で7月19日(米国時間)に発生したふたつの思いがけない惨事が重なり、世界中の空港、鉄道システム、銀行、医療機関、ホテル、テレビ局などで混乱が生じた。まず最初は18日夜(米国時間)に、マイクロソフトのクラウドコンピューティングサービス「Microsoft Azure」で広範囲な障害が発生した。そして19日の朝までに、セキュリティ企業のCrowdStrikeが欠陥のあるソフトウェアアップデートをリリースし、Windowsマシンを破滅的な再起動のスパイラルに陥らせたのである。
これによって、状況は“完璧に嵐”に変わった。マイクロソフトの広報担当者に確認したところ、これらの2つのシステム障害に関連性はないという。
そして、少なくとも一方の災害の原因は明確になった。CrowdStrikeのセキュリティ監視プラットフォーム「CrowdStrike Falcon」のアップデートとしてプッシュ配信された、バグのあるコードである。
システムの深いレベルに入り込む技術の“欠点”
CrowdStrikeのFalconは、マルウェアやセキュリティ侵害を示す可能性のある不審な活動を検知するウイルス対策プラットフォームだ。ノートPCやサーバー、ルーターなどのエンドポイントにおいてシステムの深いレベルまでアクセスする権限をもって動作する。
このFalconは、自動的かつ定期的に自らをアップデートする許可を必要とする。新たな脅威や進化する脅威を防御するために、CrowdStrikeが常にこのシステムに対して新たな検出機能を追加しているからだ。
しかし、この仕組みにも欠点がある。セキュリティと安定性を強化するはずのシステムが、かえってそれを弱体化させてしまうかもしれないリスクがあることだ。
「史上最大の事件です。このような世界規模のワークステーション障害は経験したことがありません」と、サイバーセキュリティ企業のWithSecureで最高研究責任者を務めるミッコ・ヒッポネンは言う。ヒッポネンによると、10年ほど前はワームやトロイの木馬が蔓延したせいで、広範囲の障害がもっと多かったという。
それが最近は、システムのサーバー側で世界規模の障害が起きている。つまり、アマゾン ウェブ サービス(AWS)のようなクラウドプロバイダーの障害やインターネットケーブルの切断、認証やDNSの問題などが原因になることが多い。
CrowdStrikeの最高経営責任者(CEO)のジョージ・カーツは19日、今回の問題はCrowdStrikeがWindows用にリリースしたコードの「欠陥」が原因であると説明した。MacとLinuxのシステムに影響はないという。
「問題は特定されて隔離され、修正プログラムが展開されました」とカーツは声明を出しており、問題の発生はサイバー攻撃の結果ではないと付け加えた。カーツはNBCのインタビューで混乱を謝罪し、正常に戻るには少し時間がかかるかもしれないと語っている。
マイクロソフトも欠陥を見逃していた?
今回の大規模障害の根本的な原因を探っているセキュリティやITのアナリストたちによると、CrowdStrike Falconのソフトウェアに対する「カーネルドライバー」のアップデートに関連があるようだ。カーネルドライバーとは、アプリケーションがOSの最も深いレベル、つまりカーネルと呼ばれる中核部分でWindowsとやり取りすることを可能にするソフトウェアコンポーネントである。
セキュリティソフトウェアにとって、このような非常に機密性の高いレベルでのアクセスは欠かせない。システムにインストールされた悪意あるソフトウェアよりも先に動作し、ハッカーがコードを仕込もうとする可能性のあるシステムのあらゆる部分にアクセスできるようにするからだ。実際にマルウェアの改良と進化が加速したことで、防御する側のソフトウェアには常時接続とより広範な制御の権限が必要になっている。
この深いレベルでのアクセスは、セキュリティソフトウェアやそのアップデートがシステム全体をクラッシュさせる可能性をはるかに高くするのだと、セキュリティ企業のMagnet Forensicsの検出エンジニアリング部門で責任者を務めるマチュー・スイシュは指摘する。OSのカーネルレベルで悪意あるコードを検出するソフトウェアを実行することを、スイシュは「開胸手術」に例えている。
とはいえ、カーネルドライバーのアップデートがこれほど大規模で世界的なコンピューターのクラッシュを引き起こすとは驚きであると、コスティン・ライウは語る。ライウはロシアのセキュリティソフトウェア企業のカスペルスキーに23年間にわたって勤務し、昨年の退社までは脅威インテリジェンスチームの責任者を務めていた人物だ。ライウによると、彼がカスペルスキーに在籍していたころ、Windowsのドライバーのアップデートを実施する際には、事前に何週間にもわたる精査や検証が実施されていたという。
さらに重要なことは、CrowdStrikeがコードの審査と暗号署名をマイクロソフトに対しても要求していたことだろう。つまり、今回の障害の原因になったCrowdStrikeのFalconのドライバーのバグを、マイクロソフトも見逃していた可能性があることを示唆している。
「ドライバーのアップデートに細心の注意が払われているにもかかわらず、このような事態が起きたことは驚きです」と、ライウは語る。「たったひとつのドライバーがすべてをダウンさせる可能性がある。そのことを今回の件で目の当たりにしたのです」
マイクロソフトの広報担当者は取材に対し、「CrowdStrikeのアップデートは、世界中の多くのITシステムをダウンさせる原因になりました」と語っている。また、「マイクロソフトはCrowdStrikeが自社のシステムで実施するアップデートを監督はしていません」とも説明したが、マイクロソフトが実際にカーネルドライバーのアップデートを検査し、承認しているかどうかについて、それ以上の説明はなかった。
とはいえ、ドライバーのアップデートが原因でWindowsのクラッシュを引き起こしてしまう可能性のあるセキュリティ企業は、CrowdStrikeだけではないとライウは語っている。カスペルスキーのアップデートや、Windowsに搭載されたウイルス対策ソフト「Windows Defender」でさえも、過去数年間に同様の「死のブルースクリーン(BSoD)」と呼ばれるクラッシュを引き起こしているというのだ。
「地球上のどのセキュリティソリューションにも、今回のCrowdStrikeのような事例はあります」と、ライウは語る。「それ自体は目新しいことではありませんが、今回ほどの大規模な障害は異例なのです」
世界中のサイバーセキュリティ当局が今回の混乱に関する注意喚起を発表しているが、ハッカーによる悪質な行為の可能性についてはすぐに否定している。「これらの障害は悪意あるサイバー攻撃によるものではないと評価をしています」と、英国国家サイバーセキュリティセンター(NCSC)のCEOのフェリシティ・オズワルドは説明している。オーストラリアの政府関係者も同じ結論に達している。
障害発生の要因は複合的?
とはいえ、今回の障害の影響は広範囲に及ぶ劇的なものだ。世界各地で企業や公共団体のシステム障害が相次いでおり、ITチームは動作しなくなったマシンの修復に奔走している。しかし、これにはマシンの再起動を含む一連の修正手順を手作業で進める必要がある。
英国やイスラエル、ドイツでは、医療施設や病院が患者とのコミュニケーションに使用しているシステムに障害が起き、一部の予約をキャンセルした。米国の緊急通報用の電話番号「911」でも回線に問題が生じたと報じられている。障害の初期には、英国のSky Newsを含む複数のテレビ局がニュースの生中継を中止した。
航空会社は、これまでのところ今回の件で最も影響を受けている企業のひとつだ。世界中の空港で長蛇の列ができ、インドのある空港では手書きの搭乗券が発行された。米国ではデルタ航空、ユナイテッド航空、アメリカン航空が少なくとも一時的に全便を運行停止している。米国上空の航空交通量が激減している様子は、図でも劇的に示されていた。
今回の大惨事は、インターネットの脆弱性と深い相互接続性が反映されて起きたものだ。多くのセキュリティ専門家への取材によると、今回のCrowdStrikeのように「悪意ある工作活動や人為的ミスの結果、防御ソフトウェア自体が連鎖障害を引き起こす」というシナリオは予測されていた。そしてクライアントとも協力のうえ、防御策が試みられていたという。
「これは世界的なデジタル脆弱性とインターネットの中核インフラの脆弱性が非常に明確に示された事例です」と、オックスフォード大学教授で英国のNCSC元所長であるキアラン・マーティンは語る。
元カスペルスキーのライウは、いまも「たった1回のアップデートでこれほどの大混乱が生じるものなのか」と困惑しているという。市場調査会社のガートナーによると、CrowdStrikeはセキュリティソフトウェア市場の売上の14%を占めており、ソフトウェアはさまざまなシステムに導入されている。
ライウは、Falconのアップデートがウェブインフラのほかの部分をクラッシュさせ、被害を拡大させた可能性を示唆している。「CrowdStrikeのソフトウェアは広く導入されていますが、これほどの被害の拡大は考えられません」と、ライウは言う。「あちこちの空港や重要なインフラ、病院など、すべての原因がCrowdStrikeだけにあるはずはありません。わたしたちが目撃したものは、さまざまな要因が重なって発生したカスケード効果、つまり連鎖反応ではないでしょうか」
WithSecureのヒッポネンは、アップデートのプロセスにおける「人為的なミス」が原因で問題が発生したのではないかと推測している。「CrowdStrikeのエンジニアは、本当にひどい一日を過ごしていますよ」と、ヒッポネンは言う。彼が示唆するのは、CrowdStrikeがテストした製品とは異なるソフトウェアをリリースした、ファイルを取り違えた、あるいはさまざまな要因が重なった、といった可能性だ。
「このようなソフトウェアには徹底的なテストが必要です」と、ヒッポネンは言う。「わたしたちはそうしていますし、もちろんCrowdStrikeもそうです。リリースする製品には本当に注意が必要ですが、セキュリティソフトウェアは頻繁に更新されるので、なかなか難しい問題ですね」
より本質的な問題
システム障害の影響の多くはまだ継続しており、原因は未解明のままだ。問題の性質上、影響を受けたマシンは自動のプロセスを経ずに手動で個別に再起動する必要があるだろう。「自動回復しないシステムは、しばらく(復旧まで)時間が必要かもしれません」と、CrowdStrikeのCEOのカーツはNBCの取材に語っている。
CrowdStrikeが今回のインシデントへの対処に使用した「回避策」のガイダンスによると、Windowsマシンをセーフモードで起動し、特定のファイルを削除してから再起動する必要がある。「これまでに確認された修復から考えると、すべてのマシンへの物理的なアクセスが必要です。現時点で世界中で何百万台ものマシンに問題が生じていることから、修復には何日もかかることでしょう」と、WithSecureのヒッポネンは語る。
システム管理者たちは、問題を食い止めようと奔走している。しかし、同じような危機の再発を防ぐにはどうしたらいいかという、より本質的な問題が大きく立ちはだかっている。
「このような運用モデルの変更を要求する声が上がるかもしれません」と、サイバーセキュリティコンサルティング会社のHunter Strategyで研究開発担当のバイスプレジデントを務めるジェイク・ウィリアムズは言う。「ITの介入なしのアップデートの推進がなぜ“持続不可能”であるのかを、よくも悪くもCrowdStrikeが証明したばかりですから」
(Originally published on wired.com, edited by Daisuke Takimoto)
※『WIRED』によるセキュリティの関連記事はこちら。
雑誌『WIRED』日本版 VOL.53
「Spatial × Computing」 好評発売中!
実空間とデジタル情報をシームレスに統合することで、情報をインタラクティブに制御できる「体験空間」を生み出す技術。または、あらゆるクリエイティビティに2次元(2D)から3次元(3D)へのパラダイムシフトを要請するトリガー。あるいは、ヒトと空間の間に“コンピューター”が介在することによって拡がる、すべての可能性──。それが『WIRED』日本版が考える「空間コンピューティング」の“フレーム”。情報や体験が「スクリーン(2D)」から「空間(3D)」へと拡がることで(つまり「新しいメディアの発生」によって)、個人や社会は、今後、いかなる変容と向き合うことになるのか。その可能性を、総力を挙げて探る! 詳細はこちら。