セキュリティ研究者は、Project Zeroで、Specter and Meltdownと呼ばれる新しい脆弱性を公開しました。これにより、プログラムは他のプログラムの記憶から情報を盗むことができます。Intel、AMD、およびARMアーキテクチャに影響します。
この欠陥は、JavaScript Webサイトにアクセスすることによりリモートで悪用される可能性があります。技術的な詳細は、redhatウェブサイト、Ubuntuセキュリティチームで見つけることができます。
投機的実行サイドチャネル攻撃による情報漏洩(CVE-2017-5715、CVE-2017-5753、CVE-2017-5754別名Specterおよび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を使用して、リアルタイムでパスワードを盗みます。
更新
debian Stretchのcve-2017-5754を緩和するセキュリティアップデートが利用可能であるため、@ Carlos Pasqualiniの回答に続いSpectre & Meltdown Checker
て4.9.0-5
カーネルバージョンに切り替えた後を使用します。
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によって公式にパッケージ化されており、バックポートリポジトリであるBusterおよびSidを通じてDebian Stretchで利用できます。
投機的ストアバイパス(SSB)–バリアント4とも呼ばれます
すべての以前のメモリ書き込みのアドレスが知られる前にメモリ読み取りの投機的実行と投機的実行を利用するマイクロプロセッサを備えたシステムは、サイドチャネル分析を介してローカルユーザーアクセスを持つ攻撃者への情報の不正開示を許可する可能性があります。
Rogue System Register Read(RSRE)–バリアント3aとも呼ばれます
投機的実行を利用し、システムレジスタの投機的読み取りを実行するマイクロプロセッサを搭載したシステムは、サイドチャネル分析を介してローカルユーザーアクセスを持つ攻撃者にシステムパラメータを不正に開示する可能性があります。
2018年7月27日編集
NetSpectre:ネットワーク経由で任意のメモリを読み取る
このホワイトペーパーでは、Spectreバリアント1に基づく新しい攻撃であるNetSpectreを紹介します。これは、ターゲットデバイスで攻撃者が制御するコードを必要とせず、数十億のデバイスに影響を与えます。ローカルのSpectre攻撃と同様に、リモート攻撃では、ターゲットのコード内にSpectreガジェットが存在する必要があります。公開されたネットワークインターフェースまたはAPIに必要なSpectreガジェットを含むシステムは、一般的なリモートSpecter攻撃で攻撃され、ネットワーク経由で任意のメモリを読み取ることができることを示します。攻撃者は、巧妙に作成された一連の要求を被害者に送信するだけで、応答時間を測定して被害者の記憶から秘密の値を漏らします。