ページの先頭です

ページ内を移動するためのリンク
本文へ (c)

ここから本文です。

単一障害点(Single Point Of Failure) 【セキュリティ文明開化vol.8】

【セキュリティ文明開化シリーズ】

情報セキュリティ専門家として30年以上の経験を持つ山崎文明が、セキュリティ分野における世界での出来事を新たな視点や切り口でお届けします。

前回は、脆弱性管理についてお話ししました。今回は、先月発生したクラウドストライク(CrowdStrike)社が引き起こした大規模なシステム障害をきっかけに、米国議会で問題になっている単一障害点(Single Point Of Failure)について考えます。

ライター:山崎 文明
情報セキュリティ専門家として30年以上の経験を活かし、安全保障危機管理室はじめ、政府専門員を数多く勤めている。講演や寄稿などの啓発活動を通じて、政府への提言や我が国の情報セキュリティ水準の向上に寄与している

目次

たった一つのセキュリティアップデートが世界的システム障害を引き起こす

先月発生したクラウドストライク(CrowdStrike)社が引き起こした大規模なシステム障害は、セキュリティベンダーが配布するアップデートにも問題があることが判明した事例であり、脆弱性管理を行う上でのアップデートの事前検証がいかに重要かを再認識させられました。

この障害は、世界中の銀行、航空会社、病院などに影響を及ぼしただけでなく、米国市民権移民局 (USCIS)や社会保障局(SSA)の事務所が一日中閉鎖し、アラスカ、アリゾナ、インディアナ、ミネソタ、ニューハンプシャー、オハイオなど一部の州では、緊急通報番号911が使えなくなるなど米国政府機関にも大きな影響が出ました。

このシステム障害は、Windowsの動作をOSレベルで監視するファルコン(Falcon sensor for Windows)のアップデートが原因だったようです。クラウドストライク社のCEOジョージ・カーツ(George Kurtz)氏がマカフィ(McAfee)のCTOだった2020年にWindows XPのアップデートのバグで引き起こした世界規模のシステム障害を思い出した人も多かったようで、「企業体質に問題があるのでは」と指摘する声もあります。「アップデートを配布する前に検査していたのか」との疑問が真っ先に湧きますが、検査ツール自体にバグがあり、検査を通過してしまったと言うのがジョージ・カーツ氏の説明です。

何にせよWindows OSのカーネルドライバーのアップデートは、システム全体をクラッシュさせる可能性があり、クラウドストライク一社の問題ではありません。

この事件に対して、米国上院のエリック・シュミット議員(共和党、ミズーリ州)が「サイバーセキュリティ戦略における単一障害点(Single Point Of Failure)が国家安全保障に対する脅威となることは何度も証明されている。ソフトウェアの問題が民間および政府のインフラに支障をきたすのを容認し続けることはできない。今回の件に対する回答は必要であり、今後はサイバーセーフガード全般の再検討が必要だ」と述べています。

「単一障害点」が国家安全保障の脅威になるとはどう意味でしょうか。

単一障害点の脅威

単一障害点(Single Point Of Failure)とは、そこに障害が発生するとシステム全体に影響が出て、停止してしまうような箇所をいいます。例えばルーターが1台しかないケースや配電盤が1つしかないシステムではそれらの機器に障害が発生した場合、システムの全ての機能が停止してしまいます。シュミット上院議員が指摘したのは、そうした単一障害点が重要インフラや基幹系システムにも存在し、顕在化した場合のリスクの大きさです。

私たちユーザーが考えるべきことは、単一障害点を作り出さないようシステムの冗長化を目指すことです。ハードウェアの冗長化は比較的分かりやすいため対策も取れるのですが、ソフトウェアの場合は、困難を伴います。同じソフトウェアは、冗長化しても同時にシステム障害は起こってしまうからです。この問題を回避するためには、冗長性を実現する際に異なったベンダーのソフトウェア製品を使用する方法、例えばWindowsだけでなくMacLinuxを採用するなどです。もう一つの方法は、最善とはいえませんが、異なるバージョンのソフトウェアを使用するかです。

技術的対策

今回のクラウドストライク社が引き起こしたシステム障害に対する対策としては、一度にすべてのWindowsに対してアップデートを行うのではなく、一部のWindowsに対してアップデートを行うような手段が考えられますが、根本的な対策としては、マイクロソフト社がWindows OSLinuxが採用しているようなeBPF(もともとBerkeley Packet Filterの略でしたが今では何の略称でもない独立した用語と定義されています)の機能を実装することです。

【出典】eBPFのホームページから

eBPFとはカーネルのソースコードを変更したり、カーネルモジュールをロードすることなくLinuxカーネル内でサンドボックス化されたプログラムを実行できる画期的な技術です。Windowsにこの技術が搭載されていれば、例えアップデートモジュールの検査システムにバグがあって、アップデートが配布されてしまってもWindowsがクラッシュすることはなかったはずです。

デルタ航空はこのシステム障害で約7000便が欠航し最大5億ドル(約800億円)の損害が出たとして、マイクロソフト社とクラウドストライク社に補償を求めることを検討していると報じられています。マイクロソフト社の責任がどこまで認められるのか、交渉の行方に興味を惹かれるところです。

シュミット上院議員が国防総省に出した手紙

シュミット上院議員は、今回の事件に関して国防総省に対して一通の書簡を提出しています。その書簡では今回の事件が国防総省に与えた影響とともに、ソフトウェアのアップデートを本番環境に適用する前にどのような手順で評価し、吟味しているのかを問いかけています。日本の議員の中にも今回の事件を踏まえて同じような質問を防衛省などに問いかける人はいないのでしょうか。

今回の事故をきっかけに皆さんも「単一障害点」がシステムに存在しないか、存在するとしたらシステム障害をどう回避できるかについて考えてみてはいかがでしょうか。

(了)

※本記事の内容は執筆者個人の見解であり、所属する組織の見解を代表するものではありません。

RECOMMEND