CPUの脆弱性 MeltdownとSpectreについてまとめてみた - piyolog

piyolog

piyokangoの備忘録です。セキュリティの出来事を中心にまとめています。このサイトはGoogle Analyticsを利用しています。

CPUの脆弱性 MeltdownとSpectreについてまとめてみた

2018年1月3日にCPUに関連する3つの脆弱性情報が公開されました。報告者によるとこれらの脆弱性はMeltdown、Spectreと呼称されています。ここでは関連情報をまとめます。

脆弱性の概要

報告者が脆弱性情報を次の専用サイトで公開した。

3つの脆弱性の概要をまとめると次の通り。

脆弱性の名称 Meltdown Spectre
CVE CVE-2017-5754(Rogue data cache load) CVE-2017-5753(Bounds check bypass)
CVE-2017-5715(Branch target injection)
影響を受けるCPU Intel IntelAMD、ARM
CVSSv3 基本値 4.7(JPCERT/CC)
5.6(NIST)
←に同じ
PoC 報告者非公開 論文中にx86向けの検証コード記載あり
悪用の有無 公開時点(1/3)で悪用情報無し 公開時点(1/3)で悪用情報無し
脆弱性の影響 メモリに保存された情報の窃取 メモリに保存された情報の窃取
対策 OSの更新 アプリケーションの更新
脆弱性の報告者 Jann Horn氏(Google Project Zero)
Werner Haas氏、Thomas Prescher氏(Cyber​​us Technology)
Daniel Gruss氏、Moritz Lipp氏、
Stefan Mangard氏、Michael Schwarz氏(グラーツ工科大学)
Jann Horn氏 (Google Project Zero)
Paul Kocher氏、及びその共同による
Daniel Genkin氏 (ペンシルバニア大学、メリーランド大学
Mike Hamburg氏 (Rambus)
Moritz Lipp氏 (グラーツ工科大学)
Yuval Yarom氏 (アデレード大学、Data61)
詳細情報

この脆弱性の詳細情報(論文等)は以下で公開されている。

脆弱性 詳細情報
Meltdown [PDF] Meltdownの学術論文
発見者のCyber​​us Technology GmbHのBlog
Spectre [PDF] Spectre Attacks: Exploiting Speculative Execution (Spectreの学術論文)
両方を取り上げた詳細情報 Reading privileged memory with a side-channel

4gamer.netでこの脆弱性に対する解説が行われている。

脆弱性呼称の由来
Meltdown ハードウェアによって保護されているセキュリティ境界を溶かしてしまうことに由来する。
Spectre 根本的な原因である投機的な実行(speculative execution)に基づくことに由来する。

脆弱性の影響範囲

Meltdown デスクトップ、ラップトップ、クラウドコンピュータが影響を受ける可能性がある。
実質的には1995年以来の(Itanium,Intel Atomを除いた)全てのCPUが対象。
検証は2011年にリリースされたIntel CPUで確認。ARM、AMDが影響を受けるかは不明。

・パッチ適用をせずにIntel及びXen PVを仮想環境として使用しているクラウドプロバイダは影響を受ける。
・Docker、LXC、OpenVZなどの1つのカーネルを共有するコンテナに依存する実ハードウェアによる仮想化が行われていない場合も影響を受ける。
・完全に仮想化された環境は影響を受けない。
Spectre スマートフォンを含むほぼすべてのシステムがSpectreの影響を受ける。
IntelAMD、ARMで検証済み。
(参考)Google脆弱性の検証を行ったプロセッサ
Intel Intel Xeon CPU E5-1650 v3@3.50GHz
AMD AMD FX(tm)-8320 Eight-Core Processor
ARM Cortex A57

Meltdownに関連する情報

  • OSとアプリケーション間における脆弱性
  • 実行中の他のプログラムのメモリに保存されている秘密情報が窃取される恐れがある。
  • WindowsLinux等で脆弱性のPoCは動作する。これはソフトウェアではなく、ハードウェアの問題であることが原因。
  • 特権を持たないユーザーが任意のカーネルメモリをダンプすることが可能。
  • 最新のプロセッサー、特にIntel製の2010年以降のマイクロアーキテクチャーは影響を受ける。
  • 理論上はすべてのスーパースカラーのCPUが影響を受けると考えられるが、ARM、AMDでこの攻撃が成功する証拠はない。
Meltdown デモ

Spectreに関連する情報

  • 異なるアプリケーション間における脆弱性
  • 他のアプリケーションを自身のメモリ内の任意の場所にアクセスするよう仕向けさせる。
  • Meltdownと比べて悪用は難しいが、脆弱性による影響を軽減することも難しい。

脆弱性に関連するその他の情報

  • 脆弱性を根本的に解決するには問題を修正したCPUへの交換が必要。
  • この脆弱性を通じて情報の窃取の恐れがあるが、メモリ内のコード改ざんや破壊はできないとIntelが電話会見でコメント。*1
  • MeltdownとSpectreは同時に公開されたが脆弱性としては異なるものである。
  • 攻撃が行われた際にログが残らないため、攻撃を受けたか調査することが難しい。

関連タイムライン

日時 出来事
2017年6月1日 Googleが関係者へSpectreに関連する情報を報告。
2017年7月28日までに Googleが関係者へMeltdownに関連する情報を報告。
2017年12月6日 Apple脆弱性(Meltdown)に対応したmacOS High Sierra 10.13.2を公開。
2017年12月20日 LWN.netでLinux カーネルのKPTI機能の記事が公開。
2018年1月1日 Linuxのパッチを元にCPUのセキュリティ上のバグの存在を指摘する記事が公開。
2018年1月2日 The RegisterがIntelのCPUに欠陥があるとして今回の脆弱性を取り上げ。
2018年1月3日 Google Project Zeroが脆弱性の詳細情報を公開。
IntelがCPUバグの存在を正式に認め、脆弱性に対する見解を発表。
MicrosoftAmazon脆弱性の対応方針を発表。
2018年1月4日 グラーツ工科大学が脆弱性の詳細情報を公開。
Microsoftが緊急の更新プログラムを公開。Win10が自動アップデート。Edge,IE11が脆弱性に対応。
〃 7時45分より 既定構成のAmazon Linuxで自動的に更新パッケージが含まれるようになる。
〃 8時30分より Microsoft Azureの計画メンテナンスが当初計画(1月9日)より前倒しされ順次強制的に再起動。
2018年1月5日 Mozilla脆弱性に対応したFirefox 57.0.4を公開。
Androidの2018年1月のSPL公開。Android脆弱性に対応。
2018年1月9日 ApplemacOS Sierra/El Capitan等に脆弱性(Spectre)に対応した最新版を公開。
MicrosoftAMD製CPU搭載モデルでの不具合を受け、更新プログラムの公開を一時停止。
2018年1月8日 IntelLinux向けにMicrocodeを公開。
2018年1月10日 MicrosoftWin7Win8.1等への月例のアップデートを公開。
2018年1月11日 MicrosoftAMD製CPUの不具合に対応した更新プログラムを再公開。
2018年1月12日 IntelがMicrocodeに不具合が確認されたとして一部の顧客へ忠告していると報道
2018年1月17日 IntelがMicrocodeの不具合の続報として複数のCPUで同問題が確認されていることを報告。
2018年1月22日 IntelがMicrocodeの不具合の調査が終わるまでアップデートを見送るよう推奨。
2018年1月23日 AppleiOS,macOS Sierra/ElCapitanのMeltdownに対応した最新版を公開。
2018年1月24日 Google脆弱性(Spectre)に対応したChromeを公開。
2018年1月25日 Microsoftが緩和策を無効化するアップデートを公開。
2018年2月7日 IntelがMicrocodeの不具合を修正したアップデートを公開。
2018年2月20日 Intelが第6〜第8世代向けのMicrocodeの不具合を修正したアップデートを公開。
2018年3月1日 Microsoftが第6世代CPU向けのMicrocodeを公開。

脆弱性修正による別の影響

パフォーマンスへの影響発生の可能性

パフォーマンスへの影響評価に係る情報をまとめると次の通り。

OS パフォーマンスへの影響有無
Microsoft 緩和によるパフォーマンスへの影響を与えている。
殆どは影響が目立たないかもしれないがハードウェアの生成、及びチップセットの実装により実影響は異なる。
(ADV180002より)

Haswell等を搭載した世代より前のPCでパフォーマンス低下の影響あり。
Win7/Win8の大部分、Win10の一部のユーザーが影響を体感する見込み。
Windows ServerはCPUの種類に係らず相当の影響が生じる可能性。
Redhat 脆弱性の緩和に際しシステムのパフォーマンスにある程度のコストがかかると言及。顧客向けに影響報告の記事を作成。
パフォーマンス影響に関する情報を公開し、その影響が1〜20%に及ぶことが報告された。
Apple Meltdownの緩和策により、公開ベンチマークのテストにおいてパフォーマンスが大幅に低下することはなかった。
SpectreはSafariへ行った緩和策ではSpeedometer、ARES-6のテストでは大きな影響は確認されず、JetStreamのベンチマークで2.5%未満の影響があることが示された。
Spectre対策としてさらなる緩和策の開発及びテストを続け、今後のアップデートでリリースすると公式発表。
Intel Intel検証したベンチマーク結果を公開。
旧世代CPUの場合、最大で8%の性能影響がみられる。
Windows10で第6世代 CPUを使用した際にパフォーマンス(応答性)が約21%低下する影響が見られた。

検証情報

修正による影響・障害とみられる事例

ウイルス対策ソフト導入環境でWindows Updated後にBSOD発生の可能性
Windows のパッチポリシーの変更
  • ウイルス対策ソフトの互換性問題を受け、Microsoftが2018年1月の更新プログラム(及びそれ以降)に対し、パッチ適用のポリシー変更を行った。
  • アンチウイルスの互換性問題が解消されていることを明示するためにレジストリキーの設定が必要となる。
  • 所定のレジストリキーが存在しない場合、2018年1月の更新プログラムが自動配信されない。
  • この措置はMicrosoftがインストール後にデバイスに問題が起こらないといった高い信頼が得られるまで引き続き実施される。
OS 既定のアンチウィルスの有無 レジストリの設定
Windows 10
Windows 8.1
Windows Server 2012 R2
Windows Server 2016
Windows Defender Antivirusあり 互換性のあるサードパーティ製を含むアンチウイルスソフトが設定
Windows 7 SP1
Windows Server 2008 R2 SP1
既定インストールはなし Microsoft Security Essentials、またはサードパーティ製のアンチウイルスソフトが設定
全てのWindows OS アンチウィルスを使用しない 手動でレジストリキーを設定
AMD製旧式CPUでBSOD発生の報告
  • 旧式世代のAMD製CPUで[After installation of KB4056892 boot failure, after roll-back error 0x800f0845:title=Windows Updated後にBSODが発生するとの報告]。
  • BSODWindows 10 Fall Creaters Update環境でKB4056892を適用した際に発生した模様。
  • 不具合発生の報告を受け、Microsoftは1月9日付で一時的にAMD搭載モデル向けのアップデート公開を停止。
  • 1月11日付でMicrosoftが不具合を解消したとして、更新プログラムを再公開

不具合が報告されているCPUモデル

Intelが公開したマイクロコード適用後に再起動発生の報告

Intel Security Issue Update: Addressing Reboot Issues
Firmware Updates and Initial Performance Data for Data Center Systems
Root Cause of Reboot Issue Identified; Updated Guidance for Customers and Partners
Security Issue Update: Progress Continues on Firmware Updates
Latest Intel Security News: Updated Firmware Available for 6th, 7th and 8th Generation Intel Core Processors, Intel Xeon Scalable Processors and More

  • 脆弱性に対応したマイクロコードを適用した後、システムが再起動する可能性がある。
  • 当初、該当するCPUは「Broadwell」、「Haswell」を使用していた場合とされたが、その後他のモデル出も確認されていると報告。
  • クライアント、クラウド双方でこの問題が報告されている。
  • マイクロコードはIntelが配布したもので、MicrosoftWindowsアップデート等とは別。
  • 配布されたマイクロコードで3つの問題を検出したと報道されている。

不具合が報告されているCPUモデル

パッチ・セキュリティアドバイザ等の関連情報

Linux
RedHat Impacts of CVE-2017-5754, CVE-2017-5753, and CVE-2017-5715 to Red Hat Virtualization products
Kernel Side-Channel Attacks - CVE-2017-5754 CVE-2017-5753 CVE-2017-5715
カーネルのサイドチャネル攻撃 - CVE-2017-5754 CVE-2017-5753 CVE-2017-5715
投機的実行の脆弱性によるパフォーマンスへの影響: CVE-2017-5754、CVE-2017-5753、および CVE-2017-5715 に対するセキュリティーパッチによるパフォーマンスへの影響
RHSA-2018:0094 - Security Advisory
CentOS CentOS 7:
CESA-2018:0007 Important CentOS 7 kernel Security Update
CESA-2018:0012 Important CentOS 7 microcode_ctl Security Update
CESA-2018:0014 Important CentOS 7 linux-firmware Security Update
CESA-2018:0023 Important CentOS 7 qemu-kvm Security Update
CESA-2018:0029 Important CentOS 7 libvirt Security Update

CentOS 6:
CESA-2018:0008 Important CentOS 6 kernel Security Update
CESA-2018:0013 Important CentOS 6 microcode_ctl Security Update
CESA-RHSA-2018:0024 Important CentOS 6 qemu-kvm Security Update
CESA-2018:0030 Important CentOS 6 libvirt Security Update
Fedora FEDORA-2018-8ed5eff2c0 security update in Fedora 26 for kernel
FEDORA-2018-22d5fa8a90 security update in Fedora 27 for kernel
debian CVE-2017-5754
https://security-tracker.debian.org/tracker/CVE-2017-5753
https://security-tracker.debian.org/tracker/CVE-2017-5715
https://security-tracker.debian.org/tracker/CVE-2017-5754
ubuntu Ubuntu Security Notice USN-3522-1
Information Leak via speculative execution side channel attacks (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754 aka Spectre and Meltdown)
Ubuntu Updates for the Meltdown / Spectre Vulnerabilities
https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-5753
https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-5715
https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-5754.html
Scientific Linux SLSA-2018:0007-1
SLSA-2018:0012-1
SLSA-2018:0014-1

SLSA-2018:0008-1
SLSA-2018:0013-1
Arch Linux Arch Linux Security Advisory ASA-201801-1
Gentoo Linux Security/Vulnerabilities/Meltdown and Spectre
https://bugs.gentoo.org/643228
SUSE SUSE Addresses Meltdown and Spectre Vulnerabilities
NixOS Meltdown and Spectre patches for NixOS #33414
https://github.com/NixOS/nixpkgs/commit/1e129a3f9934ae62b77475909f6812f2ac3ab51f
Linux Mint Security notice Meltdown and Spectre
SolydXK New SolydXK ISOs released!
Tails Tails 3.5 is out
LLVM http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20180101/513630.html
node.js Meltdown and Spectre - Impact On Node.js
FreeBSD

4 January: About the Meltdown and Spectre attacks: FreeBSD was made aware of the problems in late December 2017. We're working with CPU vendors and the published papers on these attacks to mitigate them on FreeBSD. Due to the fundamental nature of the attacks, no estimate is yet available for the publication date of patches.

https://www.freebsd.org/news/newsflash.html
クラウド
Amazon Processor Speculative Execution Research Disclosure
Microsoft Office365 Microsoft cloud protections against speculative execution side-channel vulnerabilities
Microsoft cloud protections against speculative execution side-channel vulnerabilities
Microsoft Azure Securing Azure customers from CPU vulnerability(和訳)
2018 年 1 月 2 日より Azure IaaS 仮想マシンのメンテナンス期間が開始します
Google Cloud Google’s Mitigations Against CPU Speculative Execution Attack MethodsToday's CPU vulnerability: what you need to know
Ditigal Ocean A Message About Intel Security Findings
Linode CPU Vulnerabilities: Meltdown & Spectre
IBM We’re taking action to secure VSIs against recent security vulnerabilities
We’re taking action to secure our cloud against recent security vulnerabilities
Online.net FS#1116 - Scaleway/Online - Emergency security update required
OVH Meltdown, Spectre bug impacting x86-64 CPU - OVH fully mobilised
rackspace Rackspace is Tracking Vulnerabilities Affecting Processors by Intel, AMD and ARM
さくらインターネット 【重要】MeltdownおよびSpectre(CPUの脆弱性)による弊社サービスへの影響について
Lolipop WEBサーバーの CPU 脆弱性対応メンテナンスのお知らせ
IDCFrontier MeltdownおよびSpectre脆弱性への対応ついて
Salesforce Spectre (スペクター) と Meltdown (メルトダウン) 脆弱性に対する Salesforce の対応状況について
VULTR Intel CPU Vulnerability Alert
HEROKU Meltdown and Spectre Security Update
UpCloud Information regarding the Intel CPU vulnerability (Meltdown)
zscaler Meltdown and Spectre vulnerabilities: What you need to know
Gandi.net Meltdown and Spectre vulnerabilities
Alibaba Cloud Intel Processor Meltdown and Specter Security Vulnerability Bulletin
Akamai Impact of Meltdown and Spectre on Akamai
Cloudflare An Explanation of the Meltdown/Spectre Bugs for a Non-Technical Audience
アンチウィルス
AhnLab V3 제품군(기업용/개인용) 패치 안내
Avast “Meltdown” and “Spectre” are major vulnerabilities affecting almost every computer in the world.
Avira Don’t be afraid of a ‘Meltdown’ with the new Microsoft update
AVG AVG Support About Meltdown and Spectre (Support Forum)
Bitdefender Information for Bitdefender users on the Microsoft January 2018 Security Update
Cylance Cylance Not Impacted by Meltdown or Spectre Vulnerabilities
Carbon Black Carbon Black Solutions Currently Compatible With Major OS Vendor Patches on Meltdown & Spectre
Kaspersky Compatibility of Kaspersky Lab solutions with the Microsoft Security update of January 9, 2018
2018年1月のマイクロソフト社のセキュリティアップデートへのカスペルスキー製品の対応状況に関するお知らせ
MalwareBytes Meltdown and Spectre: what you need to know
TrendMicro Important Information for Trend Micro Solutions and Microsoft January 2018 Security Updates (Meltdown and Spectre)
CPU の脆弱性「Meltdown」と「Spectre」への対応
投機的実行に関する脆弱性「Meltdown」と「Spectre」について解説
【重要なお知らせ】弊社製品をご利用の一部環境における2018年1月以降のWindows Updateに関して
Cisco Cisco AMP for Endpoints Compatibility with Windows Security Update KB4056892
Symantec Blue Screen of Death with Stop Code: MEMORY_MANAGEMENT (0x1a) After Applying Windows Security Updates from 1/3/2018
McAfee Meltdown and Spectre – McAfee Product Compatibility Update
「Meltdown」と「Spectre」にまつわる噂を読み解く
panda Important information regarding Meltdown/Spectre and Microsoft Security Advisor ADV180002
Sophos Advisory Kernel memory issue affecting multiple OS (aka F**CKWIT, KAISER, KPTI, Meltdown & Spectre)
Trustwave Overview of Meltdown and Spectre
Vipre Critical Alert - 1/3/2018 Windows Security Update
WEBROOT Microsoft Patch Release - 1/3/18
FireEye FireEye Endpoint Security Agent is Compatible with the Meltdown Windows Security Update
F-Secure Some Notes On Meltdown And Spectre
F-Secure SAFE and KB4056892
ESET Meltdown and Spectre CPU Vulnerabilities: What You Need to Know
Spectre and Meltdown vulnerabilities discovered
CPUの脆弱性問題に関するマイクロソフト社のパッチへのESET製品の対応状況について
ENDGAME Endgame Is Compatible With The Spectre/Meltdown Patches
GDATA "Meltdown" and "Spectre": researchers discover severe CPU bugs
eScan Meltdown and Spectre – CPU Vulnerabilities
ハードウェア/ネットワーク
nVidia NVIDIA'S RESPONSE TO SPECULATIVE SIDE CHANNELS CVE-2017-5753, CVE-2017-5715, AND CVE-2017-5754
NVIDIA GPU Display Driver Security Updates for Speculative Side Channels
HUAWEI Security Notice - Statement on the Media Disclosure of the Security Vulnerabilities in the Intel CPU Architecture Design
IBM Central Processor Unit (CPU) Architectural Design Flaws
Potential CPU Security Issue
F5 Side-channel processor vulnerabilities CVE-2017-5715, CVE-2017-5753, and CVE-2017-5754
Cisco CPU Side-Channel Information Disclosure Vulnerabilities
Fortinet CPU hardware vulnerable to Meltdown and Spectre attacks
CUMULUS Meltdown and Spectre: Modern CPU Vulnerabilities
Checkpoint Check Point Response to Meltdown and Spectre (CVE-2017-5753, CVE-2017-5715, CVE-2017-5754)
A10 [PDF] SPECTRE/MELTDOWN - CVE-2017-5715/5753/5754
PaloAlto Information about Meltdown and Spectre findings
脅威に関する情報: Meltdown、Spectre 脆弱性と弊社製品の状況について
AEROHIVE NETWORKS PRODUCT SECURITY ANNOUNCEMENT AEROHIVE'S RESPONSE TO MELTDOWN AND SPECTRE (JAN 5, 2018)
SonicWall Meltdown and Spectre Vulnerabilities: A SonicWall Alert
BUFFALO 報道されているCPUに関する脆弱性について
Barracuda Barracuda Networks Security Advisory
Schneider Electric Security Notification: "Meltdown" (CVE-2017-5754) and "Spectre" (CVE-2017-5753 & CVE-2017-5715)​ - impact to APC products
PolyCom [PDF] SECURITY ADVISORY – Processor based “Speculative Execution” Vulnerabilities AKA“Spectre” and “Meltdown” – Version 1.1
VERITAS Veritas Appliance Statement on Meltdown (CVE-2017-5754) and Spectre (CVE-2017-5753 & CVE-2017-5715)
ARUBA Aruba Product Security Advisory
AVAYA [PDF] Recent Potential CPU Vulnerabilities: Meltdown and Spectre
SUPERMICRO Security Vulnerabilities Regarding Side Channel Speculative Execution and Indirect Branch Prediction Information Disclosure (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754)
DELL EMC Microprocessor Side-Channel Vulnerabilities (CVE-2017-5715, CVE-2017-5753, CVE-2017-5754): Impact on Dell EMC products (Dell Enterprise Servers, Storage and Networking)
Juniper Networks 2018-01 Out of Cycle Security Bulletin: Meltdown & Spectre: CPU Speculative Execution and Indirect Branch Prediction Side Channel Analysis Method
IMPERVA Imperva Security Response to “Meltdown” and “Spectre” Exploits (Side-Channel Attacks to CPU privileged memory)
MSI MSI、CPUのセキュリティ脆弱性問題発覚に伴うマザーボードBIOSのアップデート状況を公開
Blog/News

Intelの株売却をめぐる騒動

  • IntelのBrian Krzanich CEOが2017年11月にIntelの株を大量(24万5743株)に売却していた。
  • CEOが提出したForm4には売却プラン(10b5-1)は2017年10月30日に設定されたと記述。
  • 売却プランは約24万5000の自社株を11月29日までに売却するというもの。
  • Krzanic CEOは2017年に21回の自社株の売却を行っていたが最後の売却が圧倒的な規模であった。
  • 売却した株は約5000万ドル相当。
  • Intelの広報によるとGoogleから知らされたのは2017年6月だがその時点で深刻な問題となるかは確定的ではなかった。
  • Meltdown/Spectreの脆弱性を受け、Intelの株は直後に3.4%、翌日に1.8%下落。代わりにAMDは4.9%上昇。

更新履歴

  • 2018年1月5日 AM 新規作成
  • 2018年1月5日 PM Appleの公式発表を追加。SpectreのPoCが公開されていたため訂正。
  • 2018年1月5日 PM アンチウィルスベンダのサポート情報を追記。BSODに関連する情報を追記。
  • 2018年1月6日 AM Intel CEOの自社株売却を追記。
  • 2018年1月7日 AM 関連情報を整理、大幅に追記。
  • 2018年1月10日 AM Microsoftのアップデート情報などを追記。
  • 2018年1月11日 PM CVSS値を更新。関連情報にPC欄を追記。