CPUに起因する2つの重大な脆弱性が見つかる
「CPU」に起因する2つの重大な脆弱性が見つかりました。これは非常に多くのユーザーに影響を与える重大な脆弱性です。
一つの脆弱性は「Meltdown」と呼ばれ、もう一つの脆弱性は「Spectre」と呼ばれています。
攻撃者がこれらの脆弱性を利用すれば、ユーザーのパスワードやアカウント情報などの機密データを、ユーザーのシステムから入手できるようになります。
「CPU」に起因する問題であるため、「Linux」だけでなく「Windows」や「macOS」など他のOSも影響を受けます。
他のプロセスのデータにアクセスできる
「Meltdown」と「Spectre」はモダンなCPUに存在する重大な脆弱性であり、この不具合により、悪意あるプログラムがコンピューター上で処理されているデータを盗み見ることができます。通常プログラムは、他のプログラムのデータを読み込むことは許可されません。
しかし「Meltdown」と「Spectre」を利用した悪意あるプログラムは、他の動作中のプログラムのメモリー内にある機密データにアクセスすることができます。
つまりユーザーのパスワードやオンラインアカウント情報、メールの内容や会社の機密文書など、それらを扱うプログラムから様々なデータを入手できるようになります。
ブラウザーやパスワード管理ソフトなど機密データを扱うソフトは、セキュリティーに配慮した実装がなされていますが、その取り組みが機能しなくなるということです。
あらゆるデバイスが影響を受ける
「Meltdown」と「Spectre」はCPUに起因する脆弱性であるため、個人が利用するPCからモバイルデバイス、クラウドコンピューターなどあらゆるデバイスが影響を受けます。クラウドを提供しているプロバイダーのインフラによっては、他の利用者からデータを盗み見ることも可能でしょう。
2つの重大な脆弱性をそれぞれ見ていきましょう。
Meltdown
「Meltdown」は、ユーザースペースとOS間の根本的な分離を破壊し、プログラムがアクセスが禁止されたメモリーにアクセスできるようになります。結果、他のプログラムやOSのメモリー内にあるデータにアクセスできるようになります。
もしこの脆弱性を持つCPUを利用しており、パッチ(修正)が施されていないOSを利用している場合、機密情報を漏らさずに作業することは困難でしょう。
「Meltdown」の詳細は、以下を参照してください。
Meltdownの影響を受けるシステム
アウトオブオーダー実行を実装したすべての「Intel CPU」で、「Meltdown」の影響を受ける可能性があります。つまり2013年以前に発売された「Intel Itanium」及び「Intel Atom」を除く、1995年以降発売されたすべての「Intel CPU」が対象です。
「Meltdown」の発見者は、2011年の早くに発売された「Intel CPU」で、「Meltdown」の動作を確認しています。
現時点で「Intel CPU」でのみこの脆弱性を確認していますが、「ARM」や「AMD」のCPUでこの脆弱性があるかどうかは不明です。
Meltdownと名付けられた理由
通常はハードウェアによって強制されたセキュリティーの境界を溶かす(境界をなくす)ことから、「Meltdown」と名付けられました。Spectre
「Spectre」は、異なるアプリケーション間の分離を破壊し、セキュリティーに配慮した実装が行われているプログラムから、機密情報を入手できるようになります。この脆弱性の厄介な点の一つは、セキュリティーに配慮し十分な(頻繁な)セキュリティーチェックを行っている実装ほど、攻撃を受ける機会が増えてしまう点です。
つまりそのようなソフトウェアは、「Spectre」の影響を受けやすくなります。
「Spectre」は「Meltdown」よりも悪用されにくい脆弱性ですが、その一方で攻撃の回避や緩和が難しい脆弱性です。
修正は簡単ではなく、長い間人々を悩ますことになるでしょう。
「Spectre」の詳細は、以下を参照してください。
Spectreの影響を受けるシステム
多くの命令を保持するモダンなすべてのCPUが「Spectre」の影響を受けます。つまりほぼすべてのシステムが「Spectre」の影響を受けます。
この脆弱性は、「Intel CPU」、「AMD CPU」及び「ARM CPU」で確認されています。
Spectreと名付けられた理由
根本的な原因である「投機的実行(Speculative Execution)」から名付けられました。MeltdownとSpectreの違い
「Meltdown」は、システムが管理する任意のメモリー領域へのアクセスを禁止する仕組みを破壊する脆弱性です。つまり「Meltdown」を利用すればアプリケーションは、システム含め任意のメモリー領域にアクセスできるようになります。
「Spectre」は、他のアプリケーションが指定されたメモリー内の任意の位置にアクセスするように仕向ける脆弱性です。
サイドチャンネルを利用した脆弱性
いずれの脆弱性もアクセスされたメモリー位置から情報を取得するサイドチャンネルを利用した脆弱性です。CVE
「CVE(Common Vulnerabilities and Exposures)」は脆弱性情報データベースであり、脆弱性を識別するためのIDを割り振っています。ソフトウェアのアップデート時、どの脆弱性に対応しているのかを「CVE」により識別することができます。
MeltdownのCVE
「Meltdown」の「CVE」は、「CVE-2017-5754」です。SpectreのCVE
「Meltdown」の「CVE」は、「CVE-2017-5753」と「CVE-2017-5715」です。Meltdownの動作デモ
「Meltdown」の動作デモが公開されています。1.Meltdownを利用してメモリーの中身をダンプする
2.パスワードを盗み見る
MeltdownとSpectreのFAQ
「Meltdown」と「Spectre」のFAQの紹介です。私のシステムはこの脆弱性に影響を受ける?
ほぼ間違いなく受ける。MeltdownやSpectreによる攻撃を受けているかどうか検出できる?
おそらくできない。「Meltdown」や「Spectre」による動作は、その挙動をログに残さない。
アンチウイルスソフトがこれらの脆弱性を利用した攻撃を検出できる?
理論上は可能であるが、現実的には困難である。一般的な悪意あるプログラムと異なり、「Meltdown」や「Spectre」を利用した振る舞いは、一般的なアプリケーションの振る舞いと区別することが難しい。
しかしこの脆弱性を利用したある悪意あるプログラムの存在が明らかになった時、そのバイナリー情報を比較することで、アンチウイルスソフトはその悪意あるプログラムを検出できるようになるだろう。
どのような情報が漏れるのか?
これらの脆弱性に影響を受けるシステムなら、コンピューターのメモリーからデータを読み込むことができる。これにはパスワードといったユーザーの機密情報や、システム内に保持されている機密情報が含まれる。
MeltdownやSpectreはすでに悪用されているの?
知らない。回避策や修正方法はあるの?
「Meltdown」に対する修正パッチは、Linux、Windows、macOS向けに存在している。また「Spectre」の悪用を困難にするソフトウェアの修正作業も行われている。
どのクラウドプロバイダーがMeltdownの影響を受けるのか?
「Intel CPU」と「Xen PV」仮想化技術を利用し、修正パッチをあてていないシステムで「Meltdown」の影響を受ける。加えて「Docker」や「LXC」、「OpenVZ」のような一つのカーネルを共有するコンテナーに頼った実ハードウェア仮想化を利用してないシステムで「Meltdown」の影響を受ける。
各社/各OS/各ソフトウェアの公式アナウンス
各社/各OS/各ソフトウェアの公式アナウンスは、以下で参照できます。メーカー/OS | アナウンス |
---|---|
Intel | Security Advisory Newsroom Whitepaper |
ARM | Security Update |
AMD | Security Information |
Microsoft | Security Guidance Information regarding anti-virus software Azure Blog |
Amazon | Security Bulletin |
Project Zero Blog Need to know |
|
Apple | Apple Support |
Mozilla | Security Blog |
Red Hat | Vulnerability Response |
Debian | Security Tracker |
Ubuntu | Knowledge Base |
SUSE | Vulnerability Response |
Fedora | Kernel update |
Qubes | Announcement |
LLVM | Spectre (Variant #2) Patch |
CERT | Vulnerability Note |
MITRE | CVE-2017-5715 CVE-2017-5753 CVE-2017-5754 |
VMWare | Security Advisory |
Citrix | Security Bulletin |
Xen | Security Advisory (XSA-254) FAQ |