2018年1月に関する正規の質問は、メルトダウンとスペクター攻撃を開示しました。他の同一または非常に類似した質問は、この質問の複製としてクローズする必要があります。
この回答は、単に主要な懸念に対処する試みです。ここの詳細は、例示的な正確または完全ではない場合があります。可能な場合は、より詳細な説明にリンクするようにします
投機的実行は、最適化として提供される最新のプロセッサの機能です。プロセッサパイプラインへの命令の並列処理を可能にするために、分岐予測、値予測、メモリプリフェッチなどの手法を使用して、命令を前もって処理できます。その後、命令を順不同で実行できます。
これは、プロセッサをアイドル状態に保つのではなく、次に何が起こるかを正しく予測して時間を稼ぐ方法です。予測が失敗すると、命令はロールバックされます。
メルトダウンエクスプロイトは、Spectreよりも実装がグローバルに簡単です。
Meltdownは、アウトオブオーダー命令でのメモリ読み取りを利用し、Spectreは分岐予測メカニズムに作用します。
Spectreはクロス/イントラプロセスメモリの開示を許可し、Meltdownはユーザー空間プロセス(通常はアクセス不可)へのカーネルメモリの開示を許可します。
Meltdownには既知のソフトウェア緩和策があります。
どちらも、キャッシュサイドチャネル攻撃に依存しています。これは、特定のメモリブロックにアクセスして、それ以外の場合は不明な情報を推測するときのタイミングの違いの測定です。
簡単に言えば、メルトダウンは、ユーザー空間プログラムがアクセスしてはならないメモリをロードするようプロセッサに要求することで機能します。メモリは順不同で読み取られ、キャッシュに入れられます。キャッシュに対するサイドチャネル攻撃(実行時間測定)を使用すると、そのメモリ位置の値を推測することが可能です。
Spectreは別のレベルで動作し、ユーザー空間からカーネル空間データへのアクセスを許可しません。この攻撃では、攻撃者は投機的実行をだまして、誤って命令を予測的に実行します。簡単に言えば、予測子は特定の分岐結果を予測するように強制されます(-> trueの場合)。その結果、犠牲プロセスが通常要求していない範囲外のメモリアクセスを要求し、誤った投機的実行を引き起こします。次に、サイドチャネルによって、このメモリの値を取得します。このようにして、犠牲プロセスに属するメモリが悪意のあるプロセスにリークされます。
オペレーティングシステムやハイパーバイザーを更新します。
主要なオペレーティングシステムディストリビューターは、KPTI/KAISER動作を実装するためのパッチをすでにリリースしています。これは、プロセッサが機能するために厳密に必要ではないカーネルのユーザーメモリマッピングを削除することにより、攻撃対象領域を減らす手段です。
マイクロコード(ファームウェア)の更新は、いつかリリースされる可能性があります。
いいえ。メルトダウンのみをカバーしています。
問題は、プロセッサのアーキテクチャ設計にあります。問題を完全に(またはSpectreの場合は部分的に)解決するには、少なくともファームウェアの更新が必要です。また、この設計上の欠陥がなければ、プロセッサーを最新のモデルに交換しなければならない可能性もあります。
はい。ただし、発生する損失はソフトウェアワークフローに依存します。ソフトウェアがシステムコールにどの程度依存しているかに応じて、5%から30%の範囲の損失が発生する可能性があると主張しています。データベースなど、カーネルからユーザースペースへの移行が多いベンチマークが最も影響を受けると報告されています。
これはまだ調査中であり、予備報告が行われています(リンクを参照)。ただし、影響はアプリケーションによって異なるため、一般的なベンチマークに依存するのではなく、環境内のパフォーマンスへの影響をテストする必要があります。
暫定結果(独立??):
公式発表:
いいえ、できますが、お勧めできません。
まず、他人からのデータを管理している場合、クライアントはデータの盗難に対して脆弱になります。
次に、パフォーマンスの損失を適切に評価する必要があり、特定のワークフローに大きく依存します。パフォーマンスが30%減るわけではありません。
KPTIを無効にすると、機密データが漏洩するリスクがあります。
ほとんどの Intel CPU は両方の攻撃に対して脆弱です。 AMD CPUはSpectre によってのみ影響を受けるようです。一部の ARM Cortexプロセッサー が影響を受けますが、他のすべてのARMプロセッサーは影響を受けません。 POWER7のPowerPCプロセッサーPOWER 8およびPOWER 9ファミリー が影響を受けます。
(詳細はリンクを参照してください)。
また、 Steffenから再び 、コンテナはホストカーネルに依存しているため、MeltdownとSpectreはコンテナで動作します。
それが可能であっても、それは非常に困難です。
MeltdownとSpectreはどちらも、無害なプログラムによって常にトリガーされるCPUの設計されたプロパティを使用するため、悪意のあるプログラムと良性のプログラムを区別するのが困難になります。
いいえ、そうではありません。
この攻撃を適用するには、攻撃者はターゲットホストでコードを実行できる必要があります。ただし、これらがファイルアップロードやクロスサイトスクリプティングのエクスプロイトなどの他の攻撃経路と組み合わされている場合、リモートで実行される可能性があることに注意してください。
理想的な世界では、違います。
実際には、一部のブラウザベンダーは、サイドチャネル攻撃を軽減するために、時間精度の測定値の減少をすでに実装しています。 KPTIは、ネイティブシステムコールを使用するプログラムに十分な修正をすでに提供しているはずです。
はい、すでにスペクター(のみ)のJavascriptエクスプロイトの概念実証があります。
いいえ、ただしRandall Munroeは次のことができます。
[ソースXKCD: https://xkcd.com/1938/ ]
M'vyの素晴らしい答え に加えて、この質問に答えたいだけです。
これらのバグは分離にも関係しています。知っています:
すべて分離機能(
sandbox, containers, virtual Host
およびusers privileges
)は注意が必要です!
正しい考え方です!
行う場合分離を使用して異なるハードウェアホスト、最新のCPUが提供する投機的実行と他のすてきな機能(他のまだ知られていないバグがあっても)を安全に使用できます。システムのパフォーマンスを低下させる必要はありません。
(もしそうなら、アップグレードは良い方法ではないかもしれません... ;-)
2013年4月17日に公開されたこの旅行をご覧ください。 (5年以上前;)
出典: xkcd.com/12
5月22日更新:
最初のパッチが近づいているので、新しい脆弱性に関する詳細情報も表示されます。
インテルは2018年5月21日に this ステートメントをリリースしました。これにより、Spectreのバリアント3aおよび4の概要がわかります。
それぞれのCVEは次のとおりです。
過去10年間に製造されたほとんどすべてのIntelプロセッサは、これら2つの脆弱性の影響を受けます。マイクロコードの更新はOSベンダーが利用できるようになったので、すぐに顧客に提供されるはずです。 Linuxユーザーは、カーネルを最近更新した場合、およびディストリビューションがretpolinesを使用している場合は安全である必要があります。[要出典]
技術的な詳細について詳しく知りたい場合は、スペクターおよびメルトダウン攻撃が発覚した後に公開された投機的実行サイドチャネルを分析する Intelのホワイトペーパー が拡張され、バリアント3aおよび4をカバーするようになりました。これは、緩和をカバーする this whitepaper にも当てはまります。
参考文献:
ジャンホーンの最初の開示メール
AMDによると、SSBに対して脆弱な製品はない
ARMブログ投稿
Debianセキュリティトラッカー
Intel blogMicrosoftによるSSBの分析
Red Hat CVE DB
Red Hat脆弱性応答
SUSEセキュリティブログ
buntuセキュリティ通知
S CERT脆弱性メモ
VMWare Knowdlege Base記事
5月7日更新:
Intelが必要なマイクロコードアップデートの開発を完了できなかったため、技術的な詳細の計画された公開は、少なくとも5月21日まで、さらにはおそらくさらに長く延期されました。
しかし、今日発表されたいくつかの新しい情報、8つの新しい脆弱性のうち少なくとも2つによって影響を受ける可能性のあるプロセッサのリスト:
これらの最初のプロセッサの種類はtheで、通常はデスクトップPC、ノートブック、サーバーで使用されます。 2つ目は、タブレット、スマートフォン、組み込みデバイスで使用されます。
CVEやキャッチーな名前はまだありません。
5月3日、ITを専門とするドイツの雑誌c'tは、研究者がIntel CPUに8つの脆弱性を発見し、それらすべてがSpectreのような攻撃を可能にすることを報告しました。これらの新しい脆弱性はすべて、Spectre V1およびV2で悪用される脆弱性と同じ設計上の欠陥に基づいています。
これらの脆弱性の1つをカバーする最初の技術的で詳細なレポートは、おそらく5月7日にGoogle Project Zeroによってリリースされます。ただし、他の研究者や独立した組織がレポートを早期にリリースする可能性もあります。
結論:私たちは今のところほとんど知りません、そして私たちが知っていることは新しい脆弱性の抽象的な説明です。 SpectreとMeltdownは非常に複雑な攻撃であり、根底にある脆弱性も同様に複雑です。すべての技術的な詳細は、今後数週間にわたってゆっくりと話に取り入れられます。しかし、CPUベンダーは情報を得ており、それらとカーネル開発者はすでにソリューションに取り組んでいるようです。我慢してください。
出典: https://www.heise.de/ct/artikel/Super-GAU-fuer-Intel-Weitere-Spectre-Luecken-im-Anflug-4039134.html