2018年1月27日、Intelマイクロコードは一部のシステムを損傷します。

2018年1月27日、Intelマイクロコードは一部のシステムを損傷します。

セキュリティ研究者が発表した内容プロジェクトゼロ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の実装例

概念証明として、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 Checker4.9.0-5Debian 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。

修正する2018年5月22日

推測性ストレージバイパス(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:分岐先注入

AMDアーキテクチャの違いは、このバリエーションが悪用されるリスクが事実上ゼロであることを意味します。今日まで、AMDプロセッサはVariant 2の脆弱性を特定していません。

亜種3:悪意のあるデータキャッシュのロード

AMDアーキテクチャの違いにより、AMDに脆弱性はありません。

しかし、AMDの主張について第三者の確認を受けた方が良いでしょう。

影響を受けるシステムの「軽減」には新しいカーネルと再起動が必要ですが、修正を含むパッケージはまだ多くのディストリビューションでリリースされていません。

ダーバン:

私が見つけた他の情報源:

答え2

2018年1月27日、Intelマイクロコードは一部のシステムを損傷します。

これIntelマイクロコードアップデート2018-01-08推測実行分岐セキュリティの脆弱性を解決するために、複数のシステムが破損しています。これは1月8日から1月21日まで多くのUbuntuシステムに影響を与えました。 2018年1月22日、Ubuntuは2017年7月7日の以前のマイクロコードを復元したアップデートをリリースしました。

2018年1月8日から2018年1月22日の間にアップデートの問題が発生し、Ubuntuを再インストールしてアップデートをオフにした場合は、Ubuntuの自動アップデートを再試行する必要があります。

2018年1月16日、Spectre 4.14.14および4.9.77に更新されました。

私と同じで、すでにカーネルバージョン4.14.13または4.9.76を実行している場合は、Spectreセキュリティの脆弱性が数日以内にリリースされるとインストールおよび軽減4.14.14されます。4.9.77この修正プログラムの名前は次のとおりです。ライトボリンそして、以前に推測したように、パフォーマンスに深刻な影響を与えません。

Greg Kroah-Hartman は、Retpoline サポートを含む Linux 4.9 および 4.14 ポイントリリース用の最新パッチをリリースしました。

すべてのAMD / Intel CPUはこのX86_FEATURE_RETPOLINEを有効にします。完全なサポートのためには、-mindirect-branch = thunk-externサポートを含む最新のGCCコンパイラでカーネルを構築する必要があります。 GCCの変更は昨日GCC 8.0に適用され、GCC 7.3にバックポートされる可能性が高いです。

Retpolineサポートを無効にしたいユーザーは、次のコマンドを使用してパッチ付きカーネルを起動できます。ノレボリン

ここではJavaScriptについて詳しく説明していませんが、今Meltdownの脆弱性を回避する方法(および2018年1月10日現在のSpectre保護)

2018年1月12日更新

予備保護幽霊ここにあり、今後数週間、数ヶ月以内に改善される予定です。

Linux カーネル 4.14.13、4.9.76 LTS、および 4.4.111 LTS

したがって、ソフト百科事典記事:

Linux カーネル 4.14.13、4.9.76 LTS、および 4.4.111 LTS は kernel.org からダウンロードできるようになり、Spectre セキュリティ脆弱性に対する追加の修正と Linux 4.14.12、4.9 の一部の回帰バージョンが含まれています。 75 LTSと4.4。 110 LTSカーネルは先週リリースされ、一部の人々はいくつかのマイナーな問題を報告しました。

これでこれらの問題は解決されているように見えるので、Linuxベースのオペレーティングシステムを今日リリースされた新しいカーネルバージョンに更新するのは安全です。これには、より多くのx86アップデート、いくつかのPA-RISC、s390、およびPowerPC(PPC)の修正、およびさまざまな改善が含まれます。 (Intel i915、crypto、IOMMU、MTD)と一般的なmmとコアカーネルの変更。

多くのユーザーが2018年1月4日と2018年1月10日にUbuntu LTSアップデートに関する問題を経験しました。でも、4.14.13数日間別に問題なく使っています。青少年MMV


2018年1月7日更新

グレッグ・クロハットマン書いたステータスの更新昨日のMeltdownおよびSpectre Linuxカーネルセキュリティの脆弱性。一部の人々は彼をLinuxの世界でLinusの次に最も人気のある人と呼ぶかもしれません。この記事では、ほとんどのUbuntuユーザーが使用する安定したカーネル(以下の説明)とLTSカーネルについて説明します。


Linuxカーネル4.14.11、4.9.74、4.4.109、3.16.52、および3.2.97パッチMeltdown障害

~からこの記事:

ユーザーはすぐにシステムを更新する必要があります。

2018年1月4日 01:42 GMT・マリウス・ネストール

LinuxカーネルマネージャGreg Kroah-HartmanとBen Hutchingsは、最新のシステムに影響を与える2つの主要な問題にパッチを適用したLinux 4.14、4.9、4.4、3.16、3.18、および3.12 LTS(Long Term Support)カーネルシリーズの新しいバージョンリリースしました。プロセッサのセキュリティ障害。

Linux 4.14.11、4.9.74、4.4.109、3.16.52、3.18.91、および3.2.97カーネルはkernel.orgのウェブサイトからダウンロードできるようになりました。更新する必要があります。バージョンはすぐに利用可能です。次のカーネルスイートのいずれかを実行してください。なぜ更新するのですか? Meltdownという重要な脆弱性を修正したようです。

前述のように、MeltdownとSpectreは、過去25年間にリリースされた最新のプロセッサ(CPU)を使用しているほとんどすべてのデバイスに影響を与えます。はい、これはほとんどすべての携帯電話とPCを意味します。権限のない攻撃者はMeltdownを悪用して、カーネルメモリに保存されている機密情報を悪意を持って取得する可能性があります。

Spectreの脆弱性に対するパッチはまだ進行中です。

Meltdownは、パスワードや暗号化キーなどの秘密データを公開する可能性がある重大な脆弱性ですが、Spectreはより深刻で簡単に修正できません。セキュリティ研究者は、これはかなり長い間私たちを悩ませると言います。 Spectreは、パフォーマンスを最適化するために最新のCPUで使用される推測実行技術を利用することが知られています。

Spectreのバグがパッチされるまで、少なくともGNU / Linuxディストリビューションを新しくリリースされたLinuxカーネルバージョンに更新することをお勧めします。そのため、お気に入りのディストリビューションのソフトウェアリポジトリから新しいカーネルアップデートを検索して、できるだけ早くインストールしてください。遅すぎるのを待たずに今やってください!


私は週にKernel 4.14.10を使用しているので、Ubuntu Mainline Kernelのバージョンをダウンロードして起動しました。11.4.14私にとってはあまり心配しません。

Ubuntu 16.04ユーザーは、4.14.11と同時にリリースされた4.4.109または4.9.74カーネルバージョンを好むことができます。

定期的なアップデートで目的のカーネルバージョンがインストールされていない場合は、Ask Ubuntuの回答に従って手動でインストールできます。https://askubuntu.com/questions/879888/how-do-i-update-kernel-to-the-latest-mainline-version/879920#879920


4.14.12 - 一日の変化

私はもともと答えてから24時間も経たずに急いでリリースされた可能性がある4.14.11カーネルバージョンを修正するパッチがリリースされました。アップグレード2012年4月14日すべての4.14.11ユーザーに推奨されます。グレッグ-KH:

4.14.12 カーネルのリリースを発表します。

4.14カーネルシリーズのすべてのユーザーはアップグレードする必要があります。

人々はこのバージョンでまだ知られているいくつかのマイナーな問題を経験しています。パッチはまだLinusのツリーに適用されていないので、これらの問題は今週末までに解決されることを願っています。

今、いつものように環境をテストしてみてください。

このアップデートを見ると、ソースコードの多くの行は変更されませんでした。

答え3

これがJavaScriptを使用して悪用される可能性があるという事実は重要ではなく、主な関心事になるべきではありません(これはシステムがリモートでコードを実行するのを容易にするため、主な関心事ですが唯一の問題ではありません)。 )。

Javascriptやブラウザに注意を集中してはいけません。理想的には、CPUにパッチを適用する必要があります。残念ながら、現在のほとんどのバグではこれは不可能に見えます。したがって、Debianは他のすべてのオペレーティングシステムプロバイダと一緒に欠陥のないCPUを推奨する唯一の方法を使用します。システムがCPUのバグを解決するように強制することです。このパッチは問題を解決しません。代わりに、オペレーティングシステムは、ユーザーがコンピュータ(およびブラウザ)で実行されているすべてのプログラムでそれをできるだけ隠そうとします。

この非表示は追加の計算タスクなので、非表示にしない場合よりもシステム全体のパフォーマンスが低下します。どのくらいの削減が行われるかは、これらのプログラムが正確に何をしているかに大きく依存します。

これを念頭に置いて質問に戻ります。あなたができることは、Debianシステムを保護するためのセキュリティアップデートをインストールすることです。私はDebianがCPUに固有の欠陥にもかかわらず、これらのバグを解決し、できるだけ安全にDebianを実行するために可能なすべてを行うと信じています。

さまざまな主要企業や多数のハードウェアおよびLinuxの専門家がすでにこの問題を解決するよう努めています。私はあなたが自分で何かを試したり、一般的な努力を助けるように努力することを決して諦めたくありません。しかし、あなたが興味を持っていることがセキュリティと時期的に正しい修正であるならば、彼らはあなたよりも短い時間でより良い解決策を見つける可能性が高いので、今すぐ調査してください。

答え4

この欠陥はJavaScriptのWebサイトにアクセスしてリモートで悪用される可能性があります。

もちろん。したがって、賢明な緩和策は、WebブラウザでJavaScriptを無効にするか、JavaScriptをサポートしていないWebブラウザを使用することです。

JavaScriptをサポートするほとんどのブラウザには無効にする設定があります。または、JavaScript を許可するウェブサイトまたはドメインのホワイトリストを維持したい場合は、次のように役立つ可能性があるさまざまな追加機能があります。ユーブロックオリジンそしてスクリプトなし

注:JavaScriptを無効にする/制限することがあなたの仕事にならないことは言うまでもありません。ただ少ない。また、関連するカーネルの修正やその他のセキュリティ更新プログラムが作成、テスト、リリースされたら、それを確認して適用する必要があります。 Debian 派生製品では、次のコマンドを使用します。例えば sudo apt update、、、sudo apt list-upgradableそしてsudo apt upgrade

修正する:私の言葉を信じないでください。アランコックスほぼ同じです。

何を気にする必要がありますか?重要な瞬間この脆弱性は、Webページのjavascriptによってリモートで使用され、システムメモリのコンテンツを盗む可能性があるため、javascriptです。 ...当初、多くのジャンクプログラムの実行を防ぐことができる広告ブロッカーやnoscriptなどの拡張機能を検討してください。できるだけ早くしてください。オペレーティングシステムのアップデートが表示されるとおりに適用します。 (源泉)

関連情報