Meltdown(メルトダウン)とは
Meltdownは、
コンピュータ、
スマートフォン、IoT家電など、
マイクロプロセッサ(
CPUなど)を使用する電子機器に幅広く存在する
ハードウェアレベルの
脆弱性の一つです。この
脆弱性を悪用されると、本来アクセスできないはずのメモリ領域に不正にアクセスされ、機密情報が漏洩する可能性があります。
マイクロプロセッサは、
ソフトウェアの実行権限を管理するために、特権レベルという階層構造を持っています。OSの中核を担う
カーネルや
デバイスドライバには高い権限が与えられ、ユーザーがインストールしたアプリケーションには低い権限が与えられます。これにより、低い権限のアプリケーションがシステム全体に影響を与えることを防いでいます。
しかし、Meltdownの
脆弱性を利用すると、本来は低い権限で動作する
プロセスが、高い権限を持つ
カーネルやドライバが使用するメモリにアクセスできるようになります。これは、メモリ保護のメカニズムをバイパスするものであり、非常に危険な状態を引き起こす可能性があります。
影響を受けるプロセッサ
この
脆弱性の影響を受ける主な
マイクロプロセッサは、
インテルの大部分の製品とARMの一部の製品です。AMDの製品は、当初は影響を受けないとされていましたが、後に一部の製品に影響があることが報告されています。
- - インテル: アウト・オブ・オーダー実行(投機的実行を含む)を実装しているプロセッサに潜在的な影響があります。1995年以降のほぼ全てのプロセッサ(Intel Itaniumおよび2013年以前のIntel Atomを除く)が影響を受ける可能性があります。
- - ARM: Cortex-A75がMeltdownの影響を受けます。多くのAndroid端末で使用されているCortex-A53/A55は影響を受けません。
- - AMD: 2018年1月時点では影響を受けないとされていましたが、後日一部の製品に影響が確認されています。
Meltdownは、
GoogleのProject ZeroやCyberus Technology、グラーツ大学の研究者らによって別々に発見されました。2018年1月4日に、Spectreという別の
脆弱性と同時に公開されました。CVE番号はCVE-2017-5754、
脆弱性通称は"Rogue Data Cache Load"です。
Meltdownの詳細
メカニズム
Meltdownは、
CPUが投機的実行を行う際に、本来はアクセスできないはずのメモリ領域に一時的にアクセスしてしまうという
CPUの設計上の問題を悪用しています。投機的実行とは、
CPUが将来必要になるかもしれない命令を事前に実行しておくことで、処理速度を向上させる技術です。しかし、この投機的実行時にメモリ保護のチェックが正しく行われない場合があり、その隙をついて情報が漏洩してしまうのです。
影響範囲
Meltdownの影響は広範囲に及びます。PC、
サーバー、
スマートフォンなど、多くのデバイスが影響を受ける可能性があります。特にクラウド環境では、複数のユーザーが同じ物理
サーバー上でプログラムを実行しているため、あるユーザーのプログラムが他のユーザーの機密情報にアクセスしてしまうリスクがあります。
Meltdownへの対策
Meltdownは
ハードウェアレベルの
脆弱性であるため、
ソフトウェアのアップデートだけでは完全に解決することはできません。しかし、OSや
ファームウェアのアップデートによって、
脆弱性の影響を緩和することができます。
- - Windows: マイクロソフトは、Windows 10/8.1/7 SP1向けに緊急アップデートをリリースしました。ただし、一部のアンチウイルスソフトとの互換性問題が報告されています。
- - macOS: macOS 10.13.2以降で、Meltdown対策が適用されています。
- - Linux: Linux[[カーネル]]4.15で、KPTI(kernel page-table isolation)というパッチがリリースされました。
- - Android: GoogleはAndroid OSのセキュリティパッチを配布していますが、端末への適用はメーカーやキャリアの対応に依存します。
- - iOS: iOS 11.2以降でMeltdown対策パッチが適用されています。
インテルは、
CPUのマイクロコードアップデートを提供しましたが、一部で再起動が頻発する問題が発生したため、適用を一時中止するよう呼びかけました。
IBMのPOWERファミリーも影響を受けており、
ファームウェアおよびOSの
パッチが提供されています。
ブラウザの対策
Google Chromeでは、厳格なサイト分離機能を有効にすることで、Meltdownの影響を軽減できます。
対策による副作用
Meltdownの対策として導入された
パッチは、
コンピュータのパフォーマンスに影響を与える場合があります。一部のケースでは、パフォーマンスが30%低下すると報告されています。
インテルは、クライアントPC向けのベンチマークで、第6世代から第8世代のCoreアーキテクチャで6〜8%程度のパフォーマンス低下が見られると発表しました。また、SSDの
ランダムアクセス性能が低下するといった報告もあります。
まとめ
Meltdownは、
マイクロプロセッサの
ハードウェアレベルに存在する深刻な
脆弱性です。この
脆弱性を悪用されると、システム内の機密情報が漏洩する可能性があります。OSや
ファームウェアのアップデート、ブラウザのセキュリティ設定の見直しなど、できる限りの対策を講じることが重要です。また、対策によるパフォーマンス低下も考慮する必要があります。
参考資料
- - MeltdownとSpectre脆弱性の公式ウェブサイト
- - Meltdownの論文
- - Google Project Zeroの記事
- - CVE-2017-5754(最新の各ベンダーの情報へのリンクが随時更新されている)
- - Hisa Ando、『投機実行の隙を突くSpectre/Meltdownの仕組みを知る』マイナビニュース