Meltdown(メルトダウン)とは、コンピュータスマートフォンIoT家電など、マイクロプロセッサCPUなど)を使用する電子機器に幅広く存在するハードウェアレベルの脆弱性のひとつである。

本脆弱性のロゴマーク

本来マイクロプロセッサが実行するソフトウェアには、それぞれの種類に応じて特権レベルと呼ばれる権限階層が割り当てられており、OSの中枢であるカーネルドライバには高い権限が、利用者がダウンロードしたアプリなどには低い権限が与えられ、低い権限のアプリが中枢機能の動作に支障しないように制御されている。

この脆弱性を利用すると、正当な権限のないプロセスが、ドライバカーネルなどより高い特権レベルメモリにアクセスすることが可能になる[1][2][3]

概要 編集

脆弱性の影響を受けるマイクロプロセッサは、インテルの大多数の製品とARMの一部の製品[4]であり、AMDの製品には影響しないとセキュリティ研究者によって考えられている[5][6]

CVE番号はCVE-2017-5754、脆弱性通称は"Rogue Data Cache Load"[7]

なお、Spectreという別の脆弱性(CVE-2017-5753:"Bounds Check Bypass"、"CVE-2017-5715":"Branch Target Injection")もMeltdownと同時に発表されたが、こちらはインテルだけでなくAMDやARMの製品にも存在すると指摘されている[8][9][10][11]

経緯 編集

Meltdownは、GoogleのProject ZeroとCyberus Technologyと グラーツ大学の研究者らによって別々に発見された。Spectreという別の脆弱性とともに、2018年1月4日 (JST) に公開された[12][13][14][15][16]

タイムライン
(日付は現地時間)
2014年 LinuxカーネルASLR (KASLR) が実装
2017年6月 セキュリティ研究者によりKASLRに新たな脆弱性が見つかる[12]。それを受け、KPTI英語版 (kernel

page-table isolation) が開発された。KPTIは多くの脆弱性を除去することが分かった。この時点で

Meltdownは未発見だったが、Meltdownの脆弱性発見者によりKPTIがその有効な回避策であること

が検証された[13]

2017年7月 CyberWTFというウェブサイトで、脆弱性の概要が公表された[14]
? Meltdown脆弱性は複数の研究者によって、Spectreという別の脆弱性と同様に発見された[15]
2018年1月3日 MeltdownとSpectreの両脆弱性がマスメディアで報道された[16]
2018年2月1日 Meltdown/Spectre脆弱性を突くマルウェアサンプル(実証コード)がAV-TESTにより発見された[17]

詳細 編集

Meltdown Paper(PDF、英語)を参照のこと。

参考文献:Hisa Ando、『投機実行の隙を突くSpectre/Meltdownの仕組みを知る』マイナビニュース[18]

影響 編集

インテル 編集

研究者によれば、原理的に、アウト・オブ・オーダー実行投機的実行を含む)を実装しているインテル製プロセッサに潜在的影響があると指摘されている。Googleは1995年以降のプロセッサ全て(Intel Itaniumおよび2013年以前のIntel Atomを除く)が潜在的に影響を受けるとしている[19] 。インテルはそれがIA-32アーキテクチャのPentium Pro 以降だとしている[20]。もっとも、全てのCPUについて研究者による実証実験が実施された訳ではない。

インテルは2018年1月22日時点で影響があると判明しているプロセッサのリストを公表している[21]

AMD 編集

2018年1月5日時点で、AMDのCPUがMeltdownの影響を受けたとするテスト結果は報告されていない。

ARM 編集

ARMは、Cortex-R7/R8/A8/A9/A15/A17/A57/A72/A73/A75はSpectreの影響を受け、これに加えてCortex-A75はMeltdownの影響を受ける事を認めた[4]

ミドルレンジAndroid携帯電話端末の多数に使用されるオクタコアのARM Cortex-A53/A55 はアウト・オブ・オーダー実行をしないため、MeltdownやSpectreのいずれの脆弱性の影響も受けないとされている。Qualcomm Snapdragon 630/626/625/4xxもベースコアがCortex-A53/A55 のため同様である[22]Raspberry Piも影響を受けないとされている[23]

POWER / IBM Z 編集

IBMは、POWERファミリーは当脆弱性の影響を受け、IBM Zの情報はIBM Z Portalで公開されると発表した[24]

その他のCPUおよびベンダー 編集

Meltdown and Spectre: Which systems are affected by Meltdown?(英語)を参照のこと。

システム 編集

本脆弱性は、Amazon Web Services (AWS)[25]Microsoft Azure[26][27]や、Google Cloud Platform など主要なクラウドプロバイダへの影響が見込まれている。クラウドプロバイダは、構造上、重要なデータが保存されているのと同一の物理サーバ上でユーザーにプログラムを実行させており、重要なデータが保存されている特権メモリのロケーションへの不正なアクセスを防ぐ措置をCPUによるセーフガードに委ねているが、このセーフガードはMeltdown脆弱性により回避可能であるとされている。

論文の著者の1人は、準仮想化 (Xen) や、DockerLXCOpenVZといったコンテナが影響を受けると報告している[28]。完全に仮想化されたマシンへの攻撃を行うと、ゲストユーザ空間がゲストカーネルメモリを読み込むことができるが、ホストのカーネル空間からはできないと述べている。

回避策、アップデート 編集

(本見出し中の日付は特記ない場合2018年)

Meltdownは、Spectreと同様にCPUのハードウェアレベルの脆弱性であるため、オペレーティングシステム (OS) 側で回避策が取られつつある。また、KPTI英語版(kernel page-table isolation) パッチはMeltdownに有効、Spectreには無効であるが、多くのベンダーはパッチがMeltdownとSpectreのどちらか(または双方)を回避、緩和するのか明確にしていない。

インテル 編集

インテルは脆弱性に対処するためCPUのマイクロコードアップデートを、マザーボードおよびエンドユーザー製品メーカー向けに供給したが、予期しない再起動が頻発するために2018年1月22日には当該アップデートの適用を中止するよう促す公報を発表した[29]

Windows 編集

マイクロソフトは、2018年1月3日(現地時間)に、本脆弱性に対処する緊急アップデートをWindows 10/8.1/7 SP1向けおよびServer製品PosReady製品向けにリリースした[30][31][32]

このアップデートは、一部のサードパーティーアンチウイルス製品と互換性が無く、BSODを引き起こすことが知られている。Windows DefenderとMicrosoft Security Essentialsは互換性があるとされている。

アンチウイルス製品メーカー側の対応が完了するまでは、レジストリが設定されないので、このアップデートはダウンロードされないようになっている。アンチウイルス製品側が対応完了・アップデートされた場合は、自動的にレジストリが設定され、このアップデートがダウンロード、適用されるとしている[33][34]

また、上記アップデートはAMD Athlon X2 6000+ユーザーにも異常を引き起こすことが分かったが詳細な原因は不明である[35]

macOS 編集

macOSは10.13.2以降、Meltdown対策が適用されている。なお、1月8日にリリースされた"macOS High Sierra 10.13.2 Supplemental Update" にてSpectre対策が適用されている(同時にSafariもアップデートされる)[36]

Linux 編集

Linuxカーネルの開発者は、KPTI英語版(kernel page-table isolation)と名付けたパッチ群を2018年初頭にカーネル4.15でリリースし、 これはカーネル4.9.75/4.14.11ではバックポートとしてリリースされた[37][38][39]

レッドハット 編集

Red Hat Enterprise Linuxディストリビューション Ver.6 および Ver.7 でカーネルアップデートが実施された[40][41]

CentOS 編集

CentOS-6 / CentOS-7でカーネルアップデートがリリースされている[42][43]

その他 編集

リンク列挙。(英語)

Android 編集

GoogleはAndroid OSのセキュリティパッチを配信している[46]が、現実の端末へのパッチの互換性は、端末のメーカーあるいは携帯電話事業者の対応に依存する。

iOS 編集

iOS 11.2以降、tvOS 11.2以降でMeltdown対策パッチが当てられている[47]。なお、1月8日にリリースされた iOS 11.2.2 にてSpectre対策が適用されている[36]

Google Chrome 編集

Meltdownへの直接の回避策ではないが、GoogleはStrict site isolation(厳格なサイト分離)機能を有効にすることを提案している[48][49]。ブラウザの互換性については多少の問題がある。

シスコ 編集

シスコルーターアプライアンス製品やソフトウェアに脆弱性がある事を認めたが、他社製品上で動作するソフトウェアを除き、ルーター製品等でソフトウェアを自由に実行できないので攻撃の恐れは小さいとしている。脆弱性のある製品リストは次のサイトで公開されている:[50]

POWER 編集

IBMは、POWERファミリーは当脆弱性の影響を受け、パッチはファームウェアおよびOSに必要と発表した[51]

  • ファームウェアに対するパッチは、POWER9用、POWER8用、POWER7+用、POWER7用がリリース済。
  • オペレーティングシステムに対するパッチは、Power版Linuxは各ディストリビューターよりリリース済。IBM iおよびAIXはリリース済。

主要ベンダー・メーカー 編集

リンク列挙。(英語)

その他の対象CPU組み込み製品 編集

メーカー等の対応に依存する。

副作用 編集

一部のケースでは、パッチが適用されたコンピュータのパフォーマンスが30%低下するとされたり、PhoronixはLinuxのゲーム性能には影響しないと声明を出しているが、十分に検証されていない。クライアント、サーバ、ホスティングサービスなど環境によっても減少幅は異なると考えられる。

インテルはクライアントPC向けのベンチマークで第6世代 - 第8世代 Coreアーキテクチャについてベンチマーク結果は6 - 8%程度になると発表した[59]

インプレスは、NVMeSATAインターフェースのSSDランダムアクセス性能の一部が大幅に低下するとの実験結果を公表した[60]

脚注 編集

  1. ^ Metz, Cade; Perlroth, Nicole (2018年). “Researchers Discover Two Major Flaws in the World’s Computers” (英語). The New York Times. ISSN 0362-4331. https://www.nytimes.com/2018/01/03/business/computer-flaws.html 2018年1月3日閲覧。 
  2. ^ “Intel’s processors have a security bug and the fix could slow down PCs”. The Verge. https://www.theverge.com/2018/1/3/16844630/intel-processor-security-flaw-bug-kernel-windows-linux 2018年1月3日閲覧。 
  3. ^ Linux Gaming Performance Doesn't Appear Affected By The x86 PTI Work - Phoronix” (英語). www.phoronix.com. 2018年1月3日閲覧。
  4. ^ a b Arm Processor Security Update”. ARM Developer. ARM Ltd. (2018年1月3日). 2018年1月5日閲覧。
  5. ^ https://www.wired.com/story/critical-intel-flaw-breaks-basic-security-for-most-computers/
  6. ^ Gleixner, Thomas. “x86/cpu, x86/pti: Do not enable PTI on AMD processors”. 2018年1月3日閲覧。
  7. ^ https://pc.watch.impress.co.jp/docs/news/1099687.html
  8. ^ “Intel、プロセッサ脆弱性はAMDやARMにもあり、対策で協力中と説明”. ITmedia. (2018年1月4日). https://www.itmedia.co.jp/news/articles/1801/04/news009.html 2018年1月4日閲覧。 
  9. ^ “グーグルがCPU脆弱性の詳細を明らかに、Intel・AMD・Armが対象”. ITpro. (2018年1月4日). https://xtech.nikkei.com/it/atcl/news/17/010402924/ 2018年1月4日閲覧。 
  10. ^ Staff (2018年). “Meltdown and Spectre-faq-systems-spectre” (英語). Graz University of Technology. 2018年1月4日閲覧。
  11. ^ Security flaws put virtually all phones, computers at risk”. Reuters. Thomson-Reuters (2018年1月3日). 2018年1月3日閲覧。
  12. ^ a b KASLR is Dead: Long Live KASLR”. 2018年1月8日閲覧。
  13. ^ a b Meltdown” (PDF). Meltdown and Spectre. p. 8 sec. 5.1. 2018年1月4日閲覧。
  14. ^ a b Negative Result Reading Kernel Memory from user Mode”. 2018年1月8日閲覧。
  15. ^ a b Meltdown and Spectre: Which systems are affected by Meltdown?” (英語). meltdownattack.com. 2018年1月3日閲覧。
  16. ^ a b Meltdown and Spectre: 'worst ever' CPU bugs affect virtually all computers”. The Guardian (2018年1月4日). 2018年1月6日時点のオリジナルよりアーカイブ。2018年1月6日閲覧。
  17. ^ https://pc.watch.impress.co.jp/docs/news/1104573.html
  18. ^ https://news.mynavi.jp/article/safespec-1/
  19. ^ Google: Almost All CPUs Since 1995 Vulnerable To "Meltdown" And "Spectre" Flaws”. 2018年1月5日閲覧。
  20. ^ P6 family microarchitecture”. www.jaist.ac.jp. 2018年1月5日閲覧。
  21. ^ https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00088&languageid=en-fr
  22. ^ https://www.androidauthority.com/meltdown-spectre-kpti-827527/
  23. ^ https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/
  24. ^ Potential CPU Security Issue - IBM PSIRT Blog
  25. ^ Processor Speculative Execution Research Disclosure” (英語). 2018年1月3日閲覧。
  26. ^ Securing Azure customers from CPU vulnerability” (英語). マイクロソフト (2018年1月3日). 2018年3月25日閲覧。
  27. ^ Azure での予測実行のサイドチャネルの脆弱性を軽減するためのガイダンス” [Guidance for mitigating speculative execution side-channel vulnerabilities in Azure]. マイクロソフト. 2018年3月25日閲覧。
  28. ^ http://blog.cyberus-technology.de/posts/2018-01-03-meltdown.html
  29. ^ https://newsroom.intel.com/news/root-cause-of-reboot-issue-identified-updated-guidance-for-customers-and-partners/
  30. ^ Microsoft issues emergency Windows update for processor security bugs”. The Verge. Vox Media, Inc.. 2018年1月3日閲覧。
  31. ^ Microsoft pushing out emergency fix for newly disclosed processor exploit”. Windows Central (2018年1月3日). 2018年1月4日閲覧。
  32. ^ Windows Client Guidance for IT Pros to protect against speculative execution side-channel vulnerabilities”. support.microsoft.com. 2018年1月4日閲覧。
  33. ^ “Windows Meltdown-Spectre patches: If you haven't got them, blame your antivirus” (英語). ZDNet. http://www.zdnet.com/article/windows-meltdown-spectre-patches-if-you-havent-got-them-blame-your-antivirus/ 2018年1月4日閲覧。 
  34. ^ Important information regarding the Windows security updates released on January 3, 2018 and anti-virus software”. マイクロソフト. 2018年1月4日閲覧。
  35. ^ https://japan.zdnet.com/article/35112848/
  36. ^ a b https://news.mynavi.jp/techplus/article/20180109-meltdown_sol/
  37. ^ KAISER: hiding the kernel from user space” (2017年11月15日). 2018年1月3日閲覧。
  38. ^ The current state of kernel page-table isolation” (2017年12月20日). 2018年1月3日閲覧。
  39. ^ Kroah-Hartman, Greg (2018年1月5日). “Linux 4.9.75 Changelog”. kernel.org. 2018年1月8日閲覧。
  40. ^ RHSA-2018:0008 – Security Advisory”. RedHat announcements. 2018年1月8日閲覧。
  41. ^ RHSA-2018:0007 – Security Advisory”. RedHat announcements. 2018年1月8日閲覧。
  42. ^ [CentOS-announce CESA-2018:0008 Important CentOS 6 kernel Security Update]”. CentOS announcements (2018年1月4日). 2018年1月5日閲覧。
  43. ^ [CentOS-announce CESA-2018:0007 Important CentOS 7 kernel Security Update]”. CentOS announcements (2018年1月4日). 2018年1月5日閲覧。
  44. ^ https://www.suse.com/support/kb/doc/?id=7022512
  45. ^ a b https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown
  46. ^ https://source.android.com/security/bulletin/2018-01-01
  47. ^ https://www.gizmodo.jp/2018/01/all-about-meltdown-and-spectre.html
  48. ^ https://blog.google/topics/google-cloud/what-google-cloud-g-suite-and-chrome-customers-need-know-about-industry-wide-cpu-vulnerability/
  49. ^ https://support.google.com/chrome/answer/7623121?hl=ja
  50. ^ https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180104-cpusidechannel
  51. ^ Potential Impact on Processors in the POWER family - IBM PSIRT Blog
  52. ^ https://us.answers.acer.com/app/answers/detail/a_id/53104
  53. ^ a b https://www.asus.com/News/YQ3Cr4OYKdZTwnQK
  54. ^ http://www.dell.com/support/article/jp/ja/jpbsd1/sln308587/%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5%E3%83%BC%E3%81%AE%E3%82%B5%E3%82%A4%E3%83%89%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E6%94%BB%E6%92%83-cve-2017-5715-cve-2017-5753-cve-2017-5754-%E3%83%87%E3%83%AB%E8%A3%BD%E5%93%81%E3%81%B8%E3%81%AE%E5%BD%B1%E9%9F%BF%E9%9F%BF?lang=ja
  55. ^ http://www.dell.com/support/article/jp/ja/jpbsd1/sln308588/%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%83%97%E3%83%AD%E3%82%BB%E3%83%83%E3%82%B5%E3%83%BC%E3%81%AE%E3%82%B5%E3%82%A4%E3%83%89%E3%83%81%E3%83%A3%E3%83%8D%E3%83%AB%E6%94%BB%E6%92%83-cve-2017-5715-cve-2017-5753-cve-2017-5754-%E3%83%87%E3%83%ABemc%E8%A3%BD%E5%93%81-dell-enterprise%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC-%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E5%8F%8A%E3%81%B3%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AD%E3%83%B3%E3%82%B0-%E3%81%B8%E3%81%AE%E5%BD%B1%E9%9F%BF?lang=ja
  56. ^ https://www.fmworld.net/biz/common/info/20180109/
  57. ^ http://www.fujitsu.com/global/support/products/software/security/products-f/jvn-93823979e.html
  58. ^ http://intl.getac.com/aboutgetac/activities/activities_2018011042.html
  59. ^ https://www.itmedia.co.jp/enterprise/articles/1801/12/news051.html
  60. ^ https://akiba-pc.watch.impress.co.jp/docs/sp/1101498.html

関連項目 編集

  • Spectre - 同時に発表された別の脆弱性
  • Pentium FDIV bug
  • Pentium F00F bug
  • Row hammer – an unintended side effect in dynamic random-access memory causing memory cells to interact electrically

外部リンク 編集