CPUに脆弱性ってどういうこと?影響と対策は?
2018/01/05
IT/IoTこんにちは、さきです!
インテル性のプロセッサー脆弱性について発表されて、色々な情報が出ていたので、公開されている「現状と対策」についてまとめてみました!
※(1/9)対応状況を追記しました!
どんな脆弱性?
どんなデータも、必ずCPUで処理されます。どうでもいいデータも、重要なデータも全てCPUが処理します。
今回の脆弱性は、特定の条件下において、CPUで処理中のデータを盗み見たりすることができてしまう、という内容でした。(現在、被害報告はまだ無いようです)
問題箇所はソフトではなく、ハード
今回のCPU脆弱性は、ソフトウェアではなく、ハードウェアに問題があるそうです。影響を受けるのはCPUを搭載している機器で、パソコン、スマートフォン、タブレットなどです。
2つの脆弱性、「Spectre」と「Meltdown」
今回発見された脆弱性は大きくわけて2種類あるようです(細かく言うなら3つですが、この記事では細かくは説明しません)。ひとつは「Spectre」、もうひとつが「Meltdown」と命名されました。どんな脆弱性なのかもう少しだけ詳しく触れてみます。
Spectre
Spectre(スペクター)は、アプリケーションとアプリケーションの間の壁を越えて情報を盗み見ることができる脆弱性です。どういうことかというと、例えば今、「悪意のある電卓アプリ」と、「買い物をするためにクレジットカード番号を入力中のブラウザ」を同時に開いていたとします。すると、「悪意のある電卓アプリ」側から、クレジットカード番号を盗み見ることができてしまうという事です。
また、「悪意のあるページ」を開いているブラウザの別タブでクレジットカード情報を入力していたとして、それも「悪意のあるページ」から盗み見れてしまう可能性があります。
ただ現実問題としては、悪用するのが非常に難しい脆弱性だそうです。かと言って100%大丈夫とは言い切れないので、対策しておくに越したことはなさそうです。
Meltdown
Meltdown(メルトダウン)は、アプリケーションとOS間の壁を越えて情報を盗み見ることができる脆弱性です。何の権限も持っていない普通のアプリケーションが、OSレベルの権限が無ければアクセスできない領域の情報にアクセスできてしまうんですね。
これで何が起こるかというと、例えば「仮想環境」に対する悪意ある行為です。
近頃よく耳にする「VPS(バーチャル・プライベート・サーバー)」。1台のサーバーマシンの中に、仮想的に複数台のマシンを用意して、現実には1台しかマシンが無いのに、複数台のサーバーを運用することができる技術があります。現実のマシンに入っているOSを「ホストOS」、仮想マシンに入っているOSを「ゲストOS」と呼びます。
例えば、50個のゲストOSを仮想状態で運用しているマシンがあったとします。このゲストOSの中のひとつにアクセスし、脆弱性「Meltdown」をもって不正アクセスすると、マシンの物理メモリを盗み見ることができます。その結果、物理的なメモリやCPUは共用で使っているわけですから、アクセスされたひとつのゲストOSだけでなく、残り49のゲストOS、さらにはホストOSがメモリに展開しているデータを全て盗み見ることができてしまいます。
Meltdownに関しては、実際に実証実験を行ない、ゲストOS側からホストOSのメモリへアクセスすることに成功したそうです。
どのCPUに脆弱性が?
メーカーを問わず、現代のほとんどのCPUに見られる脆弱性が「Spectre」、現時点ではIntel製CPUとARM製の一部のCPUに見られる脆弱性が「Meltdown」だということでした。表にまとめてみました。
項目 | Spectre | Meltdown |
---|---|---|
対象のCPU | ほぼ全てのCPU | Intel製CPU、ARM製CPUの一部 |
脆弱性の内容 | アプリ間の不正アクセス | アプリが不正に高い権限を持つ |
悪意ある行為の踏み台となるケースも
ただ情報を「盗み見る」だけならば、例えば重要なデータ・情報を全く入れていない、入れる予定もないマシンであれば気にする必要はないのかもしれません。
しかし、ハッキング・クラッキングの手口のひとつに「メモリ上のデータを正しく把握することで、不正なコードが実行可能となり、悪意ある行為を行なう」というものがあります。少し前に遠隔操作ウイルス事件がありましたが、同じように、自分のマシンが知らない間にどこかの誰かに対して攻撃行為を行なっている、なんてことになる可能性も。
対策方法
ソフトウェア側で対策が可能!
現状では、ソフトウェアのアップデートをかけることで、上記の脆弱性の危険を回避できます。
各社が順次対応して、修正アップデートをリリースしているようです!
Spectreの対策
Spectreについては、アプリケーション自身で強固なセキュリティを持つことが大切なんだそうです。なので、例えばブラウザの内容を盗み見られたくないのならセキュリティの高いブラウザを使用する、といった対策になります。
主要なブラウザの対応状況です。
ブラウザ名 | 対応状況 |
---|---|
Google Chrome | 1/23のアップデートで対策予定 |
Firefox | 最新版にて対策済 |
safari | 近日中に対策予定 |
IE11、Edge | 最新アップデートにて対策済 |
なるべく悪意のあるアプリを使用しないためには、信頼できるストアや配信元を選ぶことが大切です。
Meltdownの対策
Meltdownについては、OSのセキュリティを高めることで対策します。
PC用のOS、スマホ用のOSがありますが、こちらも次々とアップデートがリリースされているようです。主要なOSを載せておきます。
PC向けのOS対応状況
OS名 | 対応状況 |
---|---|
Windows10 | 最新アップデートにて対策済 |
Windows7/8.1 | 最新アップデートにて対策済(1/9追記) |
Mac OS | Sierra10.13.2にて一部対策済 |
ubuntu | 対策予定(日付は未定) |
Red Hat | 最新カーネルにて対策済 |
CentOS | 6、7共に最新カーネルにて対策済 |
debian | 最新カーネルにて対策済 |
スマホ向けのOS対応状況
OS名 | 対応状況 |
---|---|
iOS | iOS11.2で対策済 |
Android | 今月(1月)のセキュリティパッチで対策済 |
Androidはセキュリティパッチの配布タイミングがメーカーによって異なるので注意ですね!
また、アップデートにあたり若干はパフォーマンスの性能低下は起こるらしいです。現状出ている情報だと、「体感ではほぼ変わらない」という感想が多いのでそこまで心配することは無いのかもしれません!中には30%程度のパフォーマンス低下が見られたという報告もあり、環境によるのかもです。
VPSのゲストOSに関しては、カーネルを更新すると不具合を起こすサービスもありますので、ご自身の使っているVPSサービスをよく調べることが大切ですね!
ラズパイへの影響は…?
気になるRaspberry Piへの影響ですが、公式の見解を発見しました!
こちらのページによると、そもそもラズパイに搭載されているCPUは今回の脆弱性とは無関係なCPUで、影響は無いそうです!よかった!
最後に
それではまたね!さき