Windowsの深刻な脆弱性「BlueKeep」には、これから大混乱を引き起こすリスクが潜んでいる

Windowsの深刻な脆弱性として2019年5月に発表された「BlueKeep」。マイクロソフトはセキュリティパッチを当てるよう強く呼びかけたが、いまだ多くのパソコンが未適用のままだという。それにもかかわらず、まだこの脆弱性を突いた大がかりな攻撃は起きていない。その理由を専門家とともにひも解くと、これから大混乱が起きるリスクが潜んでいることが明らかになってきた。

セキュリティ研究者たちは、その脆弱性がインターネットで暴れまわる破壊的なワーム[編註:単独で活動でき自己感染力をもつマルウェアの一種]に悪用される恐れがあると直ちに警告を発した。Windowsの脆弱性に関するニュースが2019年5月に報じられたときのことだ。

それが、のちに「BlueKeep」として知られるようになる脆弱性である。マイクロソフトは、数百万台のコンピューターにみられたこの脆弱性に修正パッチを当てるよう、何度も強く注意喚起した(修正パッチはここからダウンロードできる)。さらには米国の国家安全保障局(NSA)もこのバグの重大性を認め、対策を講じるように異例の警告を発したほどだ。

しかし、それから2カ月が経っても、恐るべきBlueKeepが破滅的な被害をもたらす日は訪れなかった。これはある事実を明らかにしている。脆弱性が安易に不正利用されないよう対策が施された堅牢なOSが存在するいまの時代、既知の脆弱性が存在していたとしても、もはやそれだけでハッカーがすぐに好き放題できるようになるわけではない、という事実だ。

国家が支援するハッキング集団がこの脆弱性を利用して、すでにどこかに密かに侵入している可能性はある。しかし、低スキルな犯罪者が広範囲の攻撃を目的として不正利用するには至ってないのだ。もちろん、BlueKeepの悪用に必要な極秘情報が大勢に漏れた場合、不正利用の大波がやってくる可能性はある。

脆弱性の利用には高度なスキルが必要

「すでにこの脆弱性が密かに不正利用されているほうに賭けますね」と語るのは、セキュリティ企業Kryptos Logicでマルウェアを研究しているマーカス・ハッチンスだ。

ハッチンスはBlueKeepの不正利用の概念実証(PoC)として、自らプログラムをコーディングしている。ただし悪用されるのを避けるため、ハッチンスはほかの研究者と同様にそのコードを非公開にしている。

BlueKeepの不正利用までのタイムラインを大きく3つに分け、「善意のハッカーによる検証段階」「一部の標的への高度な攻撃に使われる段階」「誰でも攻撃に利用できる段階」としよう。「わたしたちは現時点で第2段階にいます」とハッチンスは指摘したうえで、次のように語る。

「いまワームが生まれる条件はふたつあります。まず、エクスプロイトコード(脆弱性を利用したソースコード)を記述するスキルをもつ人がいること、そしてその人にワームをつくる動機があることです。もっともこれは、どこかのばかなやつが概念実証を公にしてしまうまでの話で、そうなれば何も知らない連中でもワームをつくれるようになってしまいますが」

パッチが適用できない事情も

こうしたなか、セキュリティ企業のBitSightが7月17日、BlueKeepに関する新たなスキャン結果を公開した。BlueKeepが影響するのは、「Windows 7」以前のOSを使用していてセキュリティパッチがまだ当てられていないコンピューターである。

調査の結果、BitSightは約80万台のコンピューターが攻撃に対する脆弱性を抱えていることを発見した。同社が2019年5月末に数えた際の約100万台と比べれば大幅に減少してはいるものの、ワームが野に放たれたら十分に大惨事になる数だ。

セキュリティ企業Errata Securityの創業者でセキュリティ研究家のロブ・グラハムは、自身のスキャンによってパッチが未適用のマシンを73万台発見している(2019年5月のスキャンでは92万台を超えていたという)。

BitSightがこうした脆弱性のあるコンピューターのIPアドレスを分析したところ、消費者向けのインターネット・プロヴァイダーを通じてインターネットに接続している個人のパソコンは30パーセント以上がパッチを適用しておらず、最も脆弱性が高いことがわかった。

一方で、危険に晒されているコンピューターのうち5パーセントは、教育や政府関係、電気・ガス・水道事業、テック企業といった分野で使われている機器だった。BitSightでセキュリティ研究担当ディレクターのダン・ダールバーグは、これはパッチを適用するとアプリケーションが不具合を起こしかねないサーヴァーや古いソフトウェアが無秩序に広がっているからだと説明する。

これらの数字は、パブリックネットワークで可視化されているマシンの台数にすぎず、ファイアーウォールの裏に隠されているパソコンはカウントされていない。ダールバーグは言う。「これほどワームの侵入を許す脆弱性は、ここ数年ほとんどありませんでした。誰かが悪意をもってワームをつくるのは時間の問題でしょうね」

EternalBlueのようなツールは誕生するか

明らかに類似しているのは、謎のハッキング集団「Shadow Brokers」がNSAから盗んだ脆弱性攻撃ツール「EternalBlue」だ。

EternalBlueは2017年、破壊的な被害を引き起こした暗号化型ランサムウェアの「WannaCry」と「NotPetya」というワームを世界中に拡散した。Shadow Brokersのせいで、EternalBlueは誰もが入手できるツールとなったのである。

一方、BlueKeepを不正利用するには、この脆弱性を攻撃するツールを自作しなくてはならない。そのためには、マイクロソフトがこのバグ用に開発したパッチから、この脆弱性についての情報をリヴァースエンジニアリングする必要がある。

ただし、リヴァースエンジニアリングのスキルは、犯罪者やネット荒らしがもつ平均的なスキルをはるかに超えるものだと、ハッチンスは言う。「特殊なスキルセットが必要です。大量のマシンを感染させたEternalBlueを使った攻撃者たちが、BlueKeepを不正利用するコードを書くことはないでしょう」

大型攻撃を止めている「最後の砦」

BlueKeepとその脆弱性攻撃ツールとの間にギャップがあるのは、この脆弱性の構造が厄介だからだ。

BlueKeepはWindowsの画面共有機能「リモートデスクトッププロトコル(RDP)」の脆弱性である。RDPには、コンピューター同士でさまざまな情報を共有できる一連の「チャンネル」がある。視覚用に1チャンネル、音声用に1チャンネル、ファイル共有用に1チャンネルといった具合だ。ところが、ひとつ不可解なチャンネルに欠陥があり、これが脆弱性「BlueKeep」の足がかりになっている。

このチャンネルには、ユーザーが接続しているマシン上のコードライブラリーからコマンドを呼び出せる「ポインター」がある。攻撃者は、このポインターを自作のポインターとすり替えて、あらかじめコンピューターのメモリーに埋め込んでおいた悪意のあるコードを実行できるようにする(このコードもRDPチャンネルを介して読み込まれる)。このため標的のマシンで自作のコマンドを実行できるのだ。

しかし、ここに落とし穴がある。Windowsのセキュリティ保護機能「アドレス空間配置のランダム化(ASLR)」によって、メモリー上のコードの位置が無作為に配置されるのだ。たとえ攻撃者が悪意のあるコマンドを埋め込んだとしても、そのコマンドを見つけるためにメモリー上のどこに「ポイント」すべきかわからない、というわけである。

これに対し、攻撃者は「ヒープスプレー」という手法を使うこともできる。この場合、ハッカーは自分のポインターがヒットするまで何回もメモリーにコピーを繰り返すことになる。だが、これは運任せの手法で成功率は低く、コンピューターを乗っとるよりもクラッシュさせる可能性が高くなる。

ASLRによる防御を乗り越えるには別の手法が必要だとハッチンスは言う。記録に残るかたちでは公開できないものの、「もっと標的を絞ったかなり成功率の高い攻撃手法があります」と語る。この手法こそが、BlueKeepの不正利用による大攻撃を食い止めている最後の砦なのだろう。

すでに限定的な用途で使われている可能性も

一方で、高度な極秘のハッキング集団はとっくにBlueKeepを密かに不正利用していると考えるのが普通だと、NSAハッキング部門の元メンバーでRendition Infosecの創業者であるジェイク・ウィリアムズは指摘する。

「本格的なCNE部隊がいる“国民国家”なら、確実に独自のエクスプロイトコードを開発しているはずです」と、ウィリアムズは言う。CNEとは「コンピューター・ネットワーク・エクスプロイテーション」の略で、コンピューターネットワークの脆弱性攻略活動を指す。

ウィリアムズもマイクロソフトも、実際にそれが野に放たれた証拠を見つけたわけではない。しかし、このバグは暗号化した接続を介して不正利用できるため、検出するのが難しくなる可能性があるとウィリアムズは指摘する。

国家がバックについた高度なハッキング集団なら、自作の脆弱性攻撃ツールを確実に制御できるよう、ごく少数の事例に限ってツールを利用している可能性がある。

「脆弱性攻撃ツールを野に放つのはリスクが高すぎます。誰も『WannaCry 2.0』を引き起こす国にはなりたくないのです」とウィリアムズは言う。とはいえその事実も、高度に標的が絞られた極秘攻撃を予防するものではないと、彼は指摘する。

おそらく足がかりを得るためというよりは、侵入したネットワークの内部でコンピューター間を移動するために使われているのであろう。「個人レヴェルでは絶対に使われていると思います。無制限にではなく、ごく限定的にです」と、ウィリアムズは言う。

BlueKeepを使った強力な脆弱性攻撃ツールが一般に流出する原因としては、セキュリティ研究者や善玉ハッカーがうっかりインターネットに漏らしてしまうことが第一に考えられる。こうなると、悪意のあるあらゆる人物が再利用できてしまう。そしてこの一線は、いつでも越えられかねないのだ。

「セキュリティ研究コミュニティー内では、かなり強い抑制が効いています。信頼性の高い脆弱性攻撃ツールを開発した研究者は多くいますが、誰もそれを野に放つ悪者にはなりたくないのです。遅かれ早かれ、状況も変わるでしょうが」と、ウィリアムズは語る。