Meltdown

Meltdown（メルトダウン）とは、コンピュータ、スマートフォン、IoT家電など、マイクロプロセッサ（CPUなど）を使用する電子機器に幅広く存在するハードウェアレベルの脆弱性のひとつである。 本来マイクロプロセッサが実行するソフトウェアには、それぞれの種類に応じて特権レベルと呼ばれる権限階層が割り当てられており、OSの中枢であるカーネルやドライバには高い権限が、利用者がダウンロードしたアプリなどには低い権限が与えられ、低い権限のアプリが中枢機能の動作に支障しないように制御されている。 この脆弱性を利用すると、正当な権限のないプロセスが、ドライバやカーネルなどより高い特権レベルのメモリにアクセスすることが可能になる。 脆弱性の影響を受けるマイクロプロセッサは、インテルの大多数の製品とARMの一部の製品であり、AMDの製品には影響しないとセキュリティ研究者によって考えられている。 CVE番号はCVE-2017-5754、脆弱性通称は"Rogue Data Cache Load"。 なお、Spectreという別の脆弱性（CVE-2017-5753:"Bounds Check Bypass"、"CVE-2017-5715":"Branch Target Injection"）もMeltdownと同時に発表されたが、こちらはインテルだけでなくAMDやARMの製品にも存在すると指摘されている。 Meltdownは、GoogleのProject ZeroとCyberus Technologyと グラーツ大学の研究者らによって別々に発見された。Spectreという別の脆弱性とともに、2018年1月4日 (JST) に公開された。 Meltdown Paper（PDF、英語）を参照のこと。 参考文献：Hisa Ando、『投機実行の隙を突くSpectre/Meltdownの仕組みを知る』マイナビニュース 研究者によれば、原理的に、アウト・オブ・オーダー実行（投機的実行を含む）を実装しているインテル製プロセッサに潜在的影響があると指摘されている。Googleは1995年以降のプロセッサ全て（Intel Itaniumおよび2013年以前のIntel Atomを除く）が潜在的に影響を受けるとしている 。インテルはそれがIA-32アーキテクチャのPentium Pro 以降だとしている。もっとも、全てのCPUについて研究者による実証実験が実施された訳ではない。 インテルは2018年1月22日時点で影響があると判明しているプロセッサのリストを公表している。 Nahalem世代のCore i3/i5/i7/M （32nm - 45nmプロセスルール） 第2世代 - 第8世代Coreプロセッサ Core X for Intel X99/X299 Xeon 3400/3600/5500/5600/6500/7500/E3/E3 v2 - v6/E5/E5 v2 - v4/E7/E7 v2 - v4 Xeon Scalable/Phi 3200/5200/7200 Atom C/E/A/x3/Z Celeron J/N (Bay Trail-D/M) Pentium J/N (Bay Trail-D/M) 2018年1月5日時点で、AMDのCPUがMeltdownの影響を受けたとするテスト結果は報告されていない。 ARMは、Cortex-R7/R8/A8/A9/A15/A17/A57/A72/A73/A75はSpectreの影響を受け、これに加えてCortex-A75はMeltdownの影響を受ける事を認めた。 ミドルレンジAndroid携帯電話端末の多数に使用されるオクタコアのARM Cortex-A53/A55 はアウト・オブ・オーダー実行をしないため、MeltdownやSpectreのいずれの脆弱性の影響も受けないとされている。Qualcomm Snapdragon 630/626/625/4xxもベースコアがCortex-A53/A55 のため同様である。Raspberry Piも影響を受けないとされている。 IBMは、POWERファミリーは当脆弱性の影響を受け、IBM Zの情報はIBM Z Portalで公開されると発表した。 Meltdown and Spectre: Which systems are affected by Meltdown?（英語）を参照のこと。 本脆弱性は、Amazon Web Services (AWS)、Microsoft Azureや、Google Cloud Platform など主要なクラウドプロバイダへの影響が見込まれている。クラウドプロバイダは、構造上、重要なデータが保存されているのと同一の物理サーバ上でユーザーにプログラムを実行させており、重要なデータが保存されている特権メモリのロケーションへの不正なアクセスを防ぐ措置をCPUによるセーフガードに委ねているが、このセーフガードはMeltdown脆弱性により回避可能であるとされている。 論文の著者の1人は、準仮想化 (Xen) や、Docker、LXC、OpenVZといったコンテナが影響を受けると報告している。完全に仮想化されたマシンへの攻撃を行うと、ゲストユーザ空間がゲストカーネルメモリを読み込むことができるが、ホストのカーネル空間からはできないと述べている。 （本見出し中の日付は特記ない場合2018年） Meltdownは、Spectreと同様にCPUのハードウェアレベルの脆弱性であるため、オペレーティングシステム (OS) 側で回避策が取られつつある。また、KPTI（英語版）(kernel page-table isolation) パッチはMeltdownに有効、Spectreには無効であるが、多くのベンダーはパッチがMeltdownとSpectreのどちらか（または双方）を回避、緩和するのか明確にしていない。 インテルは脆弱性に対処するためCPUのマイクロコードアップデートを、マザーボードおよびエンドユーザー製品メーカー向けに供給したが、予期しない再起動が頻発するために2018年1月22日には当該アップデートの適用を中止するよう促す公報を発表した。 マイクロソフトは、2018年1月3日（現地時間）に、本脆弱性に対処する緊急アップデートをWindows 10/8.1/7 SP1向けおよびServer製品やPosReady製品向けにリリースした 。 このアップデートは、一部のサードパーティー製アンチウイルス製品と互換性が無く、BSODを引き起こすことが知られている。Windows DefenderとMicrosoft Security Essentialsは互換性があるとされている。 アンチウイルス製品メーカー側の対応が完了するまでは、レジストリが設定されないので、このアップデートはダウンロードされないようになっている。アンチウイルス製品側が対応完了・アップデートされた場合は、自動的にレジストリが設定され、このアップデートがダウンロード、適用されるとしている。 また、上記アップデートはAMD Athlon X2 6000+ユーザーにも異常を引き起こすことが分かったが詳細な原因は不明である。 macOSは10.13.2以降、Meltdown対策が適用されている。なお、1月8日にリリースされた"macOS High Sierra 10.13.2 Supplemental Update" にてSpectre対策が適用されている（同時にSafariもアップデートされる）。 Linuxカーネルの開発者は、KPTI（英語版）(kernel page-table isolation)と名付けたパッチ群を2018年初頭にカーネル4.15でリリースし、 これはカーネル4.9.75/4.14.11ではバックポートとしてリリースされた。 Red Hat Enterprise Linux のディストリビューション Ver.6 および Ver.7 でカーネルアップデートが実施された。 CentOS-6 / CentOS-7でカーネルアップデートがリリースされている。 リンク列挙。（英語） SUSE： Ubuntu： Wind River： GoogleはAndroid OSのセキュリティパッチを配信しているが、現実の端末へのパッチの互換性は、端末のメーカーあるいは携帯電話事業者の対応に依存する。 iOS 11.2以降、tvOS 11.2以降でMeltdown対策パッチが当てられている。なお、1月8日にリリースされた iOS 11.2.2 にてSpectre対策が適用されている。 Meltdownへの直接の回避策ではないが、GoogleはStrict site isolation（厳格なサイト分離）機能を有効にすることを提案している。ブラウザの互換性については多少の問題がある。 シスコはルーター、アプライアンス製品やソフトウェアに脆弱性がある事を認めたが、他社製品上で動作するソフトウェアを除き、ルーター製品等でソフトウェアを自由に実行できないので攻撃の恐れは小さいとしている。脆弱性のある製品リストは次のサイトで公開されている：。 IBMは、POWERファミリーは当脆弱性の影響を受け、パッチはファームウェアおよびOSに必要と発表した。 ファームウェアに対するパッチは、POWER9用、POWER8用、POWER7+用、POWER7用がリリース済。 オペレーティングシステムに対するパッチは、Power版Linuxは各ディストリビューターよりリリース済。IBM iおよびAIXはリリース済。 リンク列挙。（英語） エイサー： ASUS：PC、M/B デル： PC（日本語）、EMC製品（日本語） 富士通：PC（日本語）、全般（英語） Getac： メーカー等の対応に依存する。 一部のケースでは、パッチが適用されたコンピュータのパフォーマンスが30%低下するとされたり、PhoronixはLinuxのゲーム性能には影響しないと声明を出しているが、十分に検証されていない。クライアント、サーバ、ホスティングサービスなど環境によっても減少幅は異なると考えられる。 インテルはクライアントPC向けのベンチマークで第6世代 - 第8世代 Coreアーキテクチャについてベンチマーク結果は6 - 8%程度になると発表した。 インプレスは、NVMeやSATAインターフェースのSSDでランダムアクセス性能の一部が大幅に低下するとの実験結果を公表した。 ^ 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日閲覧。  ^ “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日閲覧。  ^ “Linux Gaming Performance Doesn't Appear Affected By The x86 PTI Work - Phoronix” (英語). www.phoronix.com. 2018年1月3日閲覧。 ^ a b “Arm Processor Security Update”. ARM Developer. ARM Ltd. (January 3, 2018). 2018年1月5日閲覧。 ^ https://www.wired.com/story/critical-intel-flaw-breaks-basic-security-for-most-computers/ ^ Gleixner, Thomas. “x86/cpu, x86/pti: Do not enable PTI on AMD processors”. 2018年1月3日閲覧。 ^ https://pc.watch.impress.co.jp/docs/news/1099687.html ^ “Intel、プロセッサ脆弱性はAMDやARMにもあり、対策で協力中と説明”. ITmedia. (2018年1月4日). https://www.itmedia.co.jp/news/articles/1801/04/news009.html 2018年1月4日閲覧。  ^ “グーグルがCPU脆弱性の詳細を明らかに、Intel・AMD・Armが対象”. ITpro. (2018年1月4日). https://xtech.nikkei.com/it/atcl/news/17/010402924/ 2018年1月4日閲覧。  ^ Staff (2018年). “Meltdown and Spectre-faq-systems-spectre” (英語). Graz University of Technology. January 4, 2018閲覧。 ^ “Security flaws put virtually all phones, computers at risk”. Reuters. Thomson-Reuters (January 3, 2018). January 3, 2018閲覧。 ^ a b “KASLR is Dead: Long Live KASLR”. 2018年1月8日閲覧。 ^ a b “Meltdown” (PDF). Meltdown and Spectre. p. 8 sec. 5.1. January 4, 2018閲覧。 ^ a b “Negative Result Reading Kernel Memory from user Mode”. 2018年1月8日閲覧。 ^ a b “Meltdown and Spectre: Which systems are affected by Meltdown?” (英語). meltdownattack.com. January 3, 2018閲覧。 ^ a b “Meltdown and Spectre: 'worst ever' CPU bugs affect virtually all computers”. The Guardian (2018年1月4日). 2018年1月6日時点のオリジナルよりアーカイブ。2018年1月6日閲覧。 ^ https://pc.watch.impress.co.jp/docs/news/1104573.html ^ https://news.mynavi.jp/article/safespec-1/ ^ “Google: Almost All CPUs Since 1995 Vulnerable To "Meltdown" And "Spectre" Flaws”. 2018年1月5日閲覧。 ^ “P6 family microarchitecture”. www.jaist.ac.jp. 2018年1月5日閲覧。 ^ https://security-center.intel.com/advisory.aspx?intelid=INTEL-SA-00088&languageid=en-fr ^ https://www.androidauthority.com/meltdown-spectre-kpti-827527/ ^ https://www.raspberrypi.org/blog/why-raspberry-pi-isnt-vulnerable-to-spectre-or-meltdown/ ^ Potential CPU Security Issue - IBM PSIRT Blog ^ “Processor Speculative Execution Research Disclosure” (英語). 2018年1月3日閲覧。 ^ “Securing Azure customers from CPU vulnerability” (英語). マイクロソフト (2018年1月3日). 2018年3月25日閲覧。 ^ “Azure での予測実行のサイドチャネルの脆弱性を軽減するためのガイダンス” [Guidance for mitigating speculative execution side-channel vulnerabilities in Azure]. マイクロソフト. 2018年3月25日閲覧。 ^ http://blog.cyberus-technology.de/posts/2018-01-03-meltdown.html ^ https://newsroom.intel.com/news/root-cause-of-reboot-issue-identified-updated-guidance-for-customers-and-partners/ ^ “Microsoft issues emergency Windows update for processor security bugs”. The Verge. Vox Media, Inc.. January 3, 2018閲覧。 ^ “Microsoft pushing out emergency fix for newly disclosed processor exploit”. Windows Central (January 3, 2018). January 4, 2018閲覧。 ^ “Windows Client Guidance for IT Pros to protect against speculative execution side-channel vulnerabilities”. support.microsoft.com. January 4, 2018閲覧。 ^ “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/ January 4, 2018閲覧。  ^ “Important information regarding the Windows security updates released on January 3, 2018 and anti-virus software”. マイクロソフト. January 4, 2018閲覧。 ^ https://japan.zdnet.com/article/35112848/ ^ a b https://news.mynavi.jp/techplus/article/20180109-meltdown_sol/ ^ “KAISER: hiding the kernel from user space” (2017年11月15日). 2018年1月3日閲覧。 ^ “The current state of kernel page-table isolation” (2017年12月20日). 2018年1月3日閲覧。 ^ Kroah-Hartman, Greg (2018年1月5日). “Linux 4.9.75 Changelog”. kernel.org. 2018年1月8日閲覧。 ^ “RHSA-2018:0008 – Security Advisory”. RedHat announcements. 2018年1月8日閲覧。 ^ “RHSA-2018:0007 – Security Advisory”. RedHat announcements. 2018年1月8日閲覧。 ^ “[CentOS-announce CESA-2018:0008 Important CentOS 6 kernel Security Update]”. CentOS announcements (January 4, 2018). January 5, 2018閲覧。 ^ “[CentOS-announce CESA-2018:0007 Important CentOS 7 kernel Security Update]”. CentOS announcements (January 4, 2018). January 5, 2018閲覧。 ^ https://www.suse.com/support/kb/doc/?id=7022512 ^ a b https://wiki.ubuntu.com/SecurityTeam/KnowledgeBase/SpectreAndMeltdown ^ https://source.android.com/security/bulletin/2018-01-01 ^ https://www.gizmodo.jp/2018/01/all-about-meltdown-and-spectre.html ^ https://blog.google/topics/google-cloud/what-google-cloud-g-suite-and-chrome-customers-need-know-about-industry-wide-cpu-vulnerability/ ^ https://support.google.com/chrome/answer/7623121?hl=ja ^ https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-20180104-cpusidechannel ^ Potential Impact on Processors in the POWER family - IBM PSIRT Blog ^ https://us.answers.acer.com/app/answers/detail/a_id/53104 ^ a b https://www.asus.com/News/YQ3Cr4OYKdZTwnQK ^ 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 ^ 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 ^ https://www.fmworld.net/biz/common/info/20180109/ ^ http://www.fujitsu.com/global/support/products/software/security/products-f/jvn-93823979e.html ^ http://intl.getac.com/aboutgetac/activities/activities_2018011042.html ^ https://www.itmedia.co.jp/enterprise/articles/1801/12/news051.html ^ 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 MeltdownとSpectre脆弱性の公式ウェブサイト Meltdownの論文 Google Project Zero の記事 CVE-2017-5754(最新の各ベンダーの情報へのリンクが随時更新されている)