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


21
脆弱性まとめ | |
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 | Intel、AMD、ARM |
CVSS(v3) | 2.5(Base) | 2.5(Base) |
PoC | 報告者非公開 | 論文中にx86向けの検証コード記載あり (Exploit DB Link) |
悪用の有無 | 公開時点(1/3)で悪用情報無し | 公開時点(1/3)で悪用情報無し |
脆弱性の影響 | メモリに保存された情報の窃取 | メモリに保存された情報の窃取 |
対策 | OSの更新 | アプリケーションの更新 |
脆弱性の報告者 | Jann Horn氏(Google Project Zero) Werner Haas氏、Thomas Prescher氏(Cyberus 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の学術論文 発見者のCyberus Technology GmbHのBlog |
Spectre | [PDF] Spectre Attacks: Exploiting Speculative Execution (Spectreの学術論文) |
両方を取り上げた詳細情報 | Reading privileged memory with a side-channel |
脆弱性呼称の由来
Meltdown | ハードウェアによって保護されているセキュリティ境界を溶かしてしまうことに由来する。 |
---|---|
Spectre | 根本的な原因である投機的な実行(speculative execution)に基づくことに由来する。 |
脆弱性の影響範囲
Meltdown | デスクトップ、ラップトップ、クラウドコンピュータが影響を受ける可能性がある。 実質的には1995年以来の(Itanium,Intel Atomを除いた)全てのCPUが対象。 検証は2011年にリリースされたIntel CPUで確認。ARM、AMDが影響を受けるかは不明。 ・パッチ適用をせずにIntel及びXen PVを仮想環境として使用しているクラウドプロバイダは影響を受ける。 ・Docker、LXC、OpenVZなどの1つのカーネルを共有するコンテナに依存する実ハードウェアによる仮想化が行われていない場合も影響を受ける。 ・完全に仮想化された環境は影響を受けない。 |
---|---|
Spectre | スマートフォンを含むほぼすべてのシステムがSpectreの影響を受ける。 Intel、AMD、ARMで検証済み。 |
(参考)Googleが脆弱性の検証を行ったプロセッサ
Intel | Intel Xeon CPU E5-1650 v3@3.50GHz |
---|---|
AMD | AMD FX(tm)-8320 Eight-Core Processor |
ARM | Cortex A57 |
Meltdownに関連する情報
- OSとアプリケーション間における脆弱性。
- 実行中の他のプログラムのメモリに保存されている秘密情報が窃取される恐れがある。
- Windows、Linux等で脆弱性の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が脆弱性に一部対応した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バグの存在を正式に認め、脆弱性に対する見解を発表。 |
〃 | MicrosoftやAmazonが脆弱性の対応方針を発表。 |
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日 | MicrosoftがWin7、Win8.1等への月例のアップデートを予定。 |
2018年1月23日 | Googleが脆弱性に対応したChrome 64を公開予定。 |
脆弱性修正による別の影響
性能劣化発生の可能性
以下OS別に処理性能に係る情報をまとめると次の通り。
OS | パフォーマンスへの影響有無 |
---|---|
Microsoft | 緩和によるパフォーマンスへの影響を与えている。 殆どは影響が目立たないかもしれないがハードウェアの生成、及びチップセットの実装により実影響は異なる。 (ADV180002より) |
Redhat | 脆弱性の緩和に際しシステムのパフォーマンスにある程度のコストがかかると言及。顧客向けに影響報告の記事を作成。 |
Apple | Meltdownの緩和策により、公開ベンチマークのテストにおいてパフォーマンスが大幅に低下することはなかった。 SpectreはSafariへ行った緩和策ではSpeedometer、ARES-6のテストでは大きな影響は確認されず、JetStreamのベンチマークで2.5%未満の影響があることが示された。 Spectre対策としてさらなる緩和策の開発及びテストを続け、今後のアップデートでリリースすると公式発表。 |
- この脆弱性のパッチ適用を行ったLinuxのベンチマーク結果とされる情報が公開されている。
ウイルス対策ソフト導入環境でWindows Updated後にBSOD発生の可能性
- Microsoftよりウイルス対策ソフトが入っている環境で更新プログラムを適用した場合、BSODが発生の可能性があるとのサポート情報が公開されている。
- 2018年1月3日のセキュリティ更新プログラムは2018年1月のWindowsと互換性を確認したウイルス対策ソフトを実行する端末にのみ提供される。
- Windows Serverはセキュリティ更新プログラムをインストールしただけでは緩和策は有効とならず、保護の有効化のためにレジストリの変更が必要となる。
- 2018年1月のセキュリティ更新プログラムの正常なインストールにもレジストリキーの設定が必要。
- レジストリの措置はMicrosoftがインストール後にデバイスに問題が起こらないといった高い信頼が得られるまで引き続き実施される。
- ウイルス対策ソフトの対応状況について次の場所にまとめられている。
https://docs.google.com/spreadsheets/d/184wcDt9I9TUNFFbsAVLpzAtckQxYiuirADzf3cL42FQ/htmlview?sle=true#gid=0
ベンダ等の関連情報
脆弱性情報/参考情報
- CERT/CC Vulnerability Note VU#584653 CPU hardware vulnerable to side-channel attacks
- JVN JVNVU#93823979 投機的実行機能を持つ CPU に対するサイドチャネル攻撃
- python sweetness — The mysterious case of the Linux Page Table...
- ’Kernel memory leaking’ Intel processor design flaw forces Linux, Windows redesign • The Register
- Intel製CPUの脆弱性問題、AppleはmacOS10.13.2で対処か - iPhone Mania
- Intel製CPUに重大な設計ミス OSアップデートで修正が可能だが処理性能が落ちる可能性 | CoRRiENTE.top
- Intel、プロセッサ脆弱性報道に反論 ARMやAMDにも同様の問題が存在 | CoRRiENTE.top
- Intel製チップの致命的不具合、Appleはすでに修正済み Macの場合は顕著な性能低下はない模様:KPTIの脆弱性 | CoRRiENTE.top
- マイクロソフト、CPUの脆弱性対策でAzureの計画メンテを前倒し、全リージョンの仮想マシンを今朝から強制再起動。Googleは対策済みと発表 - Publickey
- プロセッサの脆弱性「Meltdown」と「Spectre」についてまとめてみた|クラスメソッドブログ
- 山市良のえぬなんとかわーるど: 仕事始めは Windows Update から(例の Intel/AMD/ARM CPU 問題に関する追記あり)
- 本来アクセスできないメモリ領域のデータを読み出せる可能性がある脆弱性が見つかる、多くのCPUに影響 | スラド セキュリティ
- Azure仮想マシンのメンテナンスを見守ったメモ - 浅草橋青空市場
- https://twitter.com/nicoleperlroth/status/948684376249962496
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%上昇。
更新履歴
*1:「CPU安全性に穴」波紋 インテル製などにリスク,日本経済新聞,2018年1月5日アクセス