セキュリティ研究者が発表した内容プロジェクトゼロSpectreとMeltdownという新しい脆弱性により、プログラムは他のプログラムのメモリから情報を盗む可能性があります。 Intel、AMD、およびARMアーキテクチャに影響を与えます。
この欠陥はJavaScriptのWebサイトにアクセスしてリモートで悪用される可能性があります。技術的な詳細は以下で確認できます。レッドハットのウェブサイト、Ubuntuセキュリティチーム。
推測実行サブチャネル攻撃(CVE-2017-5715、CVE-2017-5753、CVE-2017-5754、つまりSpectreおよびMeltdown)による情報公開
Intel、AMD、およびARMプロセッサを含むほとんどのプロセッサに影響を与える新しい副チャネル攻撃が発見されました。この攻撃により、悪意のあるユーザー空間プロセスはカーネルメモリを読み込み、ゲストのマルウェアはハイパーバイザーメモリを読み取ることができます。この問題を解決するには、Ubuntuカーネルとプロセッサのマイクロコードを更新する必要があります。これらのアップデートは、将来のUbuntuセキュリティ発表を通じて発表される予定です。
概念証明として、JavaScriptコードは、Google Chromeブラウザで実行されたときにJavaScriptが実行されているプロセスからプライベートメモリを読み取ることができるように書かれています。
私のシステムがスペクターの脆弱性の影響を受けるようです。私はこの概念証明を編集して実行しました(spectre.c
)。
システムメッセージ:
$ uname -a
4.13.0-0.bpo.1-amd64 #1 SMP Debian 4.13.13-1~bpo9+1 (2017-11-22) x86_64 GNU/Linux
$ cat /proc/cpuinfo
model name : Intel(R) Core(TM) i3-3217U CPU @ 1.80GHz
$gcc --version
gcc (Debian 6.3.0-18) 6.3.0 20170516
LinuxシステムでSpectreとMeldownの脆弱性を軽減する方法は?
追加資料:Meltdownを使用してリアルタイムでパスワードを盗む。
修正する
使用Spectre & Meltdown Checker
4.9.0-5
Debian StretchでCVE-2017-5754を軽減するためのセキュリティアップデートが提供されているため、@Carlos Pasqualiniの回答に従ってカーネルバージョンに切り替えた後:
CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Checking count of LFENCE opcodes in kernel: NO (only 31 opcodes found, should be >= 70)
> STATUS: VULNERABLE (heuristic to be improved when official patches become available)
CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigation 1
* Hardware (CPU microcode) support for mitigation: NO
* Kernel support for IBRS: NO
* IBRS enabled for Kernel space: NO
* IBRS enabled for User space: NO
* Mitigation 2
* Kernel compiled with retpoline option: NO
* Kernel compiled with a retpoline-aware compiler: NO
> STATUS: VULNERABLE (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability)
CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI): YES
* PTI enabled and active: YES
> STATUS: NOT VULNERABLE (PTI mitigates the vulnerability)
2018年1月25日更新
このspectre-meltdown-checker
スクリプトはdebianに正式にパッケージ化されており、Debian Stretchを介して使用できます。バックポートリポジトリ、BusterとSid。
推測性ストレージバイパス(SSB) - 亜種4とも呼ばれる
以前のすべてのメモリ書き込みアドレスがわかる前に、予測実行とメモリ読み取りの予測実行を利用するマイクロプロセッサを搭載したシステムでは、サブチャネル分析を介してローカルユーザーアクセス権を持つ攻撃者に情報を不正に公開する可能性があります。
RSRE(Rogue System Register Read) - 亜種3aとも呼ばれる
推測実行を活用し、システムレジスタの推測読み取りを実行するマイクロプロセッサを搭載したシステムでは、サブチャネル分析を介してローカルユーザーアクセス権を持つ攻撃者にシステムパラメータを不正に公開する可能性があります。
2018年7月27日に修正
NetSpectre:ネットワーク経由でランダムメモリを読み取る
このホワイトペーパーでは、攻撃者がターゲットデバイスのコードを制御する必要がなく、数十億のデバイスに影響を与えるSpectre亜種1に基づく新しい攻撃であるNetSpectreを紹介します。ローカルSpectre攻撃と同様にリモート攻撃を実行するには、ターゲットコードにSpectreガジェットが必要です。我々は、公開されたネットワークインターフェースまたはAPI内に必須のSpectreガジェットを含むシステムが一般的なリモートSpectre攻撃を介して攻撃され、ネットワークを介して任意のメモリを読み取ることができることを示しています。攻撃者は単に操作された一連の要求を被害者に送信し、応答時間を測定して被害者のメモリから秘密値を漏洩します。
ベストアンサー1
Alan CoxはAMDブログで次のリンクを共有しました。 https://www.amd.com/en/corporate/speculative-execution
変形 1: 境界検査バイパス変形2:分岐先注入システムベンダーおよび製造元から提供されたソフトウェア/オペレーティングシステムの更新によって問題が解決されました。予想されるパフォーマンスへの影響はわずかです。
亜種3:悪意のあるデータキャッシュのロードAMDアーキテクチャの違いは、このバリエーションが悪用されるリスクが事実上ゼロであることを意味します。今日まで、AMDプロセッサはVariant 2の脆弱性を特定していません。
AMDアーキテクチャの違いにより、AMDに脆弱性はありません。
しかし、AMDの主張について第三者の確認を受けた方が良いでしょう。
影響を受けるシステムの「軽減」には新しいカーネルと再起動が必要ですが、修正を含むパッケージはまだ多くのディストリビューションでリリースされていません。
ダーバン:
- https://security-tracker.debian.org/tracker/CVE-2017-5715
- https://security-tracker.debian.org/tracker/CVE-2017-5753
- https://security-tracker.debian.org/tracker/CVE-2017-5754