plkdLog

IT関係の気になるニュースを紹介

CPU脆弱性 メルトダウンとスペクターの対処法まとめ

f:id:plkd:20180107115032j:plain

年明け早々、CPUの脆弱性(セキュリティの欠陥)が大きな話題になってますね。

ざっと説明すると、メルトダウンスペクターと呼ばれる攻撃方法を使えばデータを盗み見ることが可能になって、しかもコンピュータの頭脳であるCPUの問題なのでパソコンやスマホなど影響範囲が広く、誰にとっても人ごとじゃないよーという話です。しかも完全に対処するのが難しいという。ここ数日は、AppleやMicrosoftなどの各ベンダーが大慌てで更新プログラムをリリースしているところです。

CPUがパフォーマンスを上げる為にどう動いているか、どうやって情報を盗むのか分かって面白い問題なんですが、その辺に興味ない人は対処法だけ知りたいと思うので、取り急ぎ簡単な概要と対策をまとめてみました。(2018年1月9日更新)

メルトダウン・スペクターについて

PCやスマホで複数のアプリを動かす時、アプリはそれぞれに割り当てられたメモリ(作業台みたいなもの)に、パスワードや写真データなど使う情報を置いています。普通は他のアプリが使っているデータを読み取ることはできないんですが、メルトダウンやスペクターを使うと、以下のように、実行中の別アプリのメモリに保存されている情報を盗み見ることができるようになります。

www.youtube.com

CPUはIntel、AMD、エヌビディアなど色んなメーカーで作られていますが、メルトダウンはIntel製CPU*1に限定した問題です。

一方、スペクターは現在出回っているほぼ全てのCPU*2で実行可能な問題で、CPUはパソコンやスマホはもちろん、クラウドのサーバーやその他色々な機器にも使われているため、影響範囲が大きく根本的な解決が難しいとされています。

また、これらの攻撃はサイドチャネル攻撃と呼ばれる、処理時間や消費電力、発生する電磁波などからデータを推測する方法のため、仮にデータが盗み見られてもそれを検出するのは困難ですが、現時点では、ユーザーに影響のある悪用方法は見つかっていないとのことです。

メルトダウンへの対策

メルトダウンはOSをアップデートすることで対策ができます。これより上のバージョンだと良いよ!ってのをベンダーごとにまとめました。

Apple製品

OS バージョン 配信日
iOS 11.2以降 2017.12.2
macOS 10.13.2以降 2017.12.7
tvOS 11.2以降 2017.12.4

tvOSはAppleTVに使われるOSです。なお、AppleウォッチのOSであるwatchOSはメルトダウンの影響を受けないようです。バージョン確認方法ですが、MACであれば画面左上のリンゴマークから「このMacについて」を選択でバージョンを確認し、上記以前のものだったらApp Storeからアップロードしましょう。iPhoneやiPadは、「設定」→「一般」→「情報」からバージョンを確認することができます。設定にアップロードの項目もあるので、そこから最新バージョンにアップロードできます。

Microsoft製品

OS 更新プログラム 配信日
Windows10 KB4056892、KB4056891、KB4056890 2018.1.4
Windows7 KB4056897、KB4056894 2018.1.4
Windows8.1 KB4056898 2018.1.5

更新プログラムの番号見せられてもハァ?って感じかと思うので、配信日の方に注目していただければ分かりやすいかと思います。基本的には、上記配信日以降のWindosUpdateの自動更新で適用されるはずで、自動更新をOFFにしている場合は手動でアップデートが必要です。

なお、今回の更新プログラムは、一部のバージョンのアンチウイルスソフトで互換性の問題があり、適用することでブルースクリーン状態に陥る恐れがあるとのこと。そのため、使っているソフトがその問題に対応していない場合は更新プログラムの自動更新に上がってこないようです。セキュリティソフトを使用している場合は、ソフトの配信元のサイトなどで確認するようにしましょう。例えば、トレンドマイクロ社では以下のような記事が配信されています。

CPU の脆弱性「Meltdown」と「Spectre」への対応 | トレンドマイクロ セキュリティブログ

Google製品

OS バージョン 配信日
Google Chrome OS 63以降 2017.12.15
Android 2018-01-05 以降 2018.1.5

Androidのバージョンは、セキュリティパッチレベルという日付の形式で表されます。「設定」→「端末情報」→「Androidセキュリティパッチレベル」より確認可能で、詳しくはAndroid のバージョンを確認して更新するを参照してください。

スペクターへの対策

スペクターは、主にOSではなく各ソフトウェアのアップデートで対処します。Webブラウザで実行されるJavaScriptを悪用される可能性があるので、ブラウザのアップデートは必ず行うようにしましょう。対策されているバージョンは以下の通りです。

ブラウザ バージョン 配信日
Chrome 64以降 |2018.1.23予定
Safari 11.0.2以降 2018.1.9
Firefox 57.0.4以降 2018.1.4

IE11・Edgeは、メルトダウンの項目で書いた更新プログラムで配布されているので、WindowsUpdateを行います。
Chrome 64の配信はまだ先ですが、それまではサイト分離という機能を使うことで対応することができます。詳しくはサイト分離を有効にしてセキュリティを高めるを参照してください。

(1/9追記) Safari については、1月9に配信された iOS 11.2.2(アップデート対象端末:iPhone 5s以降、iPad Air以降、iPod touchi第6世代)と、High Sierra10.13.2 にて修正が加えられています。

ブラウザ以外のプログラムも随時アップデートを行うようにしてください。ですが、信頼できないアプリなどはメルトダウン・スペクターなどを仕込まれる可能性もあるので、信頼できる配信元やアプリのみ行うようにする方が吉だと思います。

まとめ

以上の対策を一言でまとめると「OS、ブラウザのアップデートはこまめに行い、信頼できる配信元やアプリを利用する」という、割とありきたりな方法になりますね。注意したいのは、このメルトダウンとスペクターは検証の途中であり、現時点のアップデートは「解決策」ではなく「緩和策」です。これは、スペクターがCPUの根幹的な機能に関する問題なためで、今後追加の更新プログラムが継続して提供されていくと思われるので、アップデート情報はこまめにチェックする必要がありそうです。

関連リンク

*1:1995年以降に製造されたもの

*2:厳密には、投機的実行をするモダンなCPU