Meltdown

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、サーバー、スマートフォンなど、多くのデバイスが影響を受ける可能性があります。特にクラウド環境では、複数のユーザーが同じ物理サーバー上でプログラムを実行しているため、あるユーザーのプログラムが他のユーザーの機密情報にアクセスしてしまうリスクがあります。

  • - クラウドサービス: Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platformなど、主要なクラウドプロバイダが影響を受けました。
  • - 仮想化環境: Xenなどの準仮想化環境や、Docker, LXC, OpenVZなどのコンテナ環境も影響を受けると報告されています。

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の仕組みを知る』マイナビニュース

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。