CPU投機的実行の脆弱性(Meltdown、Spectre)はなぜこんなに騒がれているのか。

年始から界隈でざわつき始めて仕事始めからWebでも多く取り上げられていました。

 

MeltdownとSpectre。
脆弱性評価的には4.7とまだ攻撃が確認されているわけでもないのになぜこんなに騒がれていたのでしょうか。

 

それは影響範囲の大きさです。
CPUってどんなシステムでも使っています。
MeltdownはIntelのCPU全般、Spectreについては多くのCPUが対象。
そしてこの脆弱性の対策はCPUの処理を高速化させるための仕組み(投機的実行、ざっくりというとこの処理結果使うかわからんけどとりあえず計算はしとけ的なCPUの処理を高速化するための機能)を止めるため利用するデバイスのパフォーマンスに影響が出る可能性があるから。

 

今までのセキュリティ対策って基本、更新が出たらアプリケーションが正常に動作するか確認した上で、最新の状態に更新してね、である程度は通用していました。(ざっくりですが)
けれどもこのMeltdownやSpectreはただ更新をするだけではアプリケーションだけでなく、ユーザの環境に影響を与える可能性がある。そしてOSだけでなくハードウェア側の対応も必要になる。だから新しい、モダンな脆弱性なんですね。

 

そして、この脆弱性、先に話題となったランサムウェア、WannaCryのように業務が止まってしまうということはない、単にメモリに書き込まれたものが権限のない人でも読み取れてしまうというものではあるけど、Meltdownは仮想環境のホストとゲストと言った本来は分離されていて見えることのないと思われていた情報をも覗くことができてしまうということで、
もしも他の攻撃と組み合わせることでホストに攻撃することさえできてしまう危険性を持っていたので、クラウド事業者は冷や汗もんな脆弱性だったということ。
だから注目されているわけです。

 

具体的にいうとある程度古い世代のIntel CPUを利用している仮想デスクトップ環境なんかはCPUの割り当てもある程度計算していてギリギリに運用しているような環境だった場合、単純に脆弱性の対処を行なってしまうとユーザが利用する仮想デスクトップ環境の処理能力が落ちてしまったり、
CPUに処理を頑張ってもらっていたシビアに設計されたデータベースの処理能力が落ちてしまうなんてこともあり得るので、今まで以上に対処にも気を使わなければならないのです。

単に業務で利用しているアプリケーションが正常に動くかどうかの検証だけに留まらない可能性を秘めており、検証工数も多くなることが予測されます。

 

実際に脆弱性対策をすることでどのくらいパフォーマンスに影響が出るのか測定したデータなども各ベンダーから提供されているためそのことが裏付けされていると言っても良いでしょう。


ただ、リッチな環境で利用していた場合は、多少パフォーマンスに影響が出たところでユーザーが気づかないレベルという可能性もあるため、全てが全て大変だということではない、その辺りは押さえておいた方がいいかも。
CPUって想像してる以上に高速に処理してくれるところまで進化してます。

 

最後にMeltdownとSpectreの対処の違いについて。
MeltdownはIntel CPUのみ、OSの更新で軽減することが可能。
SpectreはCPUの処理に関わるため多くのデバイスのCPUのファームウェア(ハードウェアに関わるアプリケーション)のアップデートが必要。

対策する側から見たらいかに嫌な対応と思ってしまうような内容です。と、ここまでだいぶ煽るようなこと書いてますが、

まずは自身が管理する環境がどうなのか事実を確認したうえで、各ベンダーが出している正しい情報を確認して、冷静になにをすべきか見極めて対応することが大切です。

 

以上、なんとなく、これらの脆弱性についてまとめてみました。

 

ざっくりと書かなくてもこんな良いまとめがあったので貼り付けておきます。

http://d.hatena.ne.jp/Kango/touch/20180104/1515094046

 

いかがでしょうか。