CPU の脆弱性は最近大流行しており、最近では Zenbleed と Downfall が 2 つあります。 しかし、どれだけ心配すべきでしょうか?
近年、CPU の脆弱性がニュースになったり消えたりしていますが、その脆弱性が公開されると、非常に恐ろしいメッセージが伴うことがよくあります。 の場合 ゼンブリード そして 没落、それは、コンピュータ上のすべてのアプリケーションが、適切な状況下で実行されている他のプログラムのメモリにアクセスできるということでした。 強烈そうですよね?
ただし、見た目ほど悪くはありません。 これは明らかに、パフォーマンスを犠牲にしてでも、エラーを修正するための開示とソフトウェア アップデートを正当化するのに十分な重要性を持っていますが、これらのセキュリティ問題の原因は一体何が起こっているのでしょうか? 心配する必要がありますか?
Zenbleed、Downfall、Inception などの CPU の脆弱性を心配する必要がありますか?
正直に言うと、これらのエクスプロイトはどちらも大多数の人々に影響を与えません。 あるプログラムから別のプログラムにデータを漏洩する可能性はありますが、消費者のマシン上にあるマルウェアはすでに、悪用できるレベルのアクセス権を持っています。 むしろ、これらの攻撃が特に懸念されるのは、クラウド コンピューティングのコンテキストです。
この問題を理解するには、多くの異なるクラウド サーバーが単純に単純であることを理解する必要があります。 大量の馬力、大規模なネットワーク帯域幅、およびその他の特殊なハードウェアを備えたコンピュータ 必須。 多くの企業は、VPS または仮想プライベート サーバーと呼ばれるものをレンタルしています。これは、他の数十の仮想マシンが実行される可能性がある、電力が制限された仮想化マシンです。
これが問題となる可能性があるのは、1 つの仮想マシン上で 1 人のユーザーがこれらのいずれかを実行できることです。 脆弱性を発見し、他のデータからのデータを含め、プロセッサを介してどのようなデータが流れているかについての洞察を得ることができます。 仮想マシン。 これは不可能であるはずであり、重大なセキュリティ違反です。 そのため、Zenbleed が公開されたとき、サーバーでの使用を目的とした AMD の Epyc プロセッサ用のパッチがすでに存在していました。
現在最も深刻な CPU の脆弱性
脆弱性とその重大度の「ランク付け」の業界標準は、Common Vulnerability Scoring System (CVSS) によって行われます。 脆弱性のさまざまな側面がスコアに影響を与えるため、これは重大度の定量的な尺度を提供します。 次のことを考慮して測定します。
- 攻撃ベクトル: ネットワーク/隣接/ローカル/物理
- 攻撃の複雑さ: 低/高
- 必要な権限:なし/低/高
- ユーザーインタラクション:なし/必須
- 範囲:変更なし/変更あり
- 機密保持:なし/低/高
- 誠実さ:なし/低/高
- 可用性:なし/低/高
これらはすべてバグの重大度を分類します。 たとえば、複雑性が低く、特権は必要なく、ユーザーの操作も不要で、範囲が変更されたネットワーク上で実行できる脆弱性、 高いデータ機密漏洩、高いデータ整合性違反、および可用性への大きな影響は、CVSS 3.1 で最高スコアである 10 点満点を獲得します。 可能。
この指標によって、Zenbleed と Downfall が与えるダメージを評価することができます。 スポイラー: 影響する CPU は異なりますが、それらは同じです。 したがって、一定のスコアを獲得しながらも、 脆弱性のコンテキストでは、さまざまな量の製品に影響を与える可能性がありますが、それは製品には影響しません。 スコア。 CVSS スコアは基本的にトリアージのみを目的としていますが、すべてを伝えるものではありません。
ゼンブリード: 6.5 (中)
- 攻撃ベクトル: 地元
- 攻撃の複雑さ: 低い
- 必要な権限: 低い
- ユーザーインタラクション: なし
- 範囲: かわった
- 機密保持: 高い
- 誠実さ: なし
- 可用性: なし
説明: 攻撃ベクトルは、マシンへのローカル アクセス (マシン上で実行される場合など) を必要としますが、マシン上のデータの整合性や可用性には影響を与えません。 ただし、範囲 (権限を超えてリソースに影響を与えることを意味します) と攻撃の複雑さが変更され、実行に必要な権限は低くなります。 また、マシン上の情報の機密性も完全に侵害します。
ダウンフォール: 6.5 (中)
- 攻撃ベクトル: 地元
- 攻撃の複雑さ: 低い
- 必要な権限: 低い
- ユーザーインタラクション: なし
- 範囲: かわった
- 機密保持: 高い
- 誠実さ: なし
- 可用性: なし
説明: 攻撃ベクトルは、マシンへのローカル アクセス (マシン上で実行される場合など) を必要としますが、マシン上のデータの整合性や可用性には影響を与えません。 ただし、範囲 (権限を超えてリソースに影響を与えることを意味します) と攻撃の複雑さが変更され、実行に必要な権限は低くなります。 また、マシン上の情報の機密性も完全に侵害します。
インセプション: 5.6 (中)
- 攻撃ベクトル: 地元
- 攻撃の複雑さ: 高い
- 必要な権限: 低い
- ユーザーインタラクション: なし
- 範囲: かわった
- 機密保持: 高い
- 誠実さ: なし
- 可用性: なし
説明: 攻撃ベクトルは、マシンへのローカル アクセス (マシン上で実行される場合など) を必要としますが、マシン上のデータの整合性や可用性には影響を与えません。 ただし、範囲が変更され (権限を超えてリソースに影響を与えることを意味します)、攻撃の複雑さは高く、実行に必要な権限は低くなります。 また、マシン上の情報の機密性も完全に侵害します。
スペクター: 5.6 (中) (パッチあり)
スペクターは、より広範囲にわたる現象であるにもかかわらず、実際に得点を獲得しています 少ない ゼンブリードやダウンフォールよりも。 これは、攻撃の複雑さが「高」と評価され、スコアが低下したためです。
- 攻撃ベクトル: 地元
- 攻撃の複雑さ: 高い
- 必要な権限: 低い
- ユーザーインタラクション: なし
- 範囲: かわった
- 機密保持: 高い
- 誠実さ: なし
- 可用性: なし
説明: 攻撃ベクトルは、マシンへのローカル アクセス (マシン上で実行される場合など) を必要としますが、マシン上のデータの整合性や可用性には影響を与えません。 ただし、範囲が変更され (権限を超えてリソースに影響を与えることを意味します)、攻撃の複雑さは高く、実行に必要な権限は低くなります。 また、マシン上の情報の機密性も完全に侵害します。
メルトダウン: 5.6 (中) (パッチあり)
Spectre と同様に、Meltdown は攻撃がより複雑になるため、Zenbleed や Downfall よりもスコアが低くなります。
- 攻撃ベクトル: 地元
- 攻撃の複雑さ: 高い
- 必要な権限: 低い
- ユーザーインタラクション: なし
- 範囲: かわった
- 機密保持: 高い
- 誠実さ: なし
- 可用性: なし
説明: 攻撃ベクトルは、マシンへのローカル アクセス (マシン上で実行される場合など) を必要としますが、マシン上のデータの整合性や可用性には影響を与えません。 ただし、範囲が変更され (権限を超えてリソースに影響を与えることを意味します)、攻撃の複雑さは高く、実行に必要な権限は低くなります。 また、マシン上の情報の機密性も完全に侵害します。
最大の原因:分岐予測
出典: AMD
分岐予測と投機的実行とは、現時点では必要ないが後続のサイクルで実行される操作をコンピューターが実行することを広く指します。 これは、CPU に対する命令やデータの準備がまだ整っていないときに全体の処理を高速化するため、システムに空きリソースがあるときによく行われます。 完了した作業が不要な場合、通常は破棄され、プロセッサは次の正しい命令を実行するために必要な場所に戻ることができます。 これを行う場合、これは分岐予測ミスと呼ばれます。
分岐予測子をより深く理解するには、プログラムが実行中に同じ 2 つの数値を一貫して加算するシナリオを想像してください。 ある段階で、プロセッサはこのパターンを認識し、これら 2 つの数値が加算されるメソッドが再度呼び出された場合に次のステップを準備することがあります。 ある時点で結果が変わると、プロセッサが同じ 2 つの数値が同じになるように計画していたとしても、推測は破棄され、実際の実行フローに置き換えられます。 ただし、それらの数字が達成されるまでの間、 は 同じ場合、プロセッサはそれらの命令をすばやくスキップできます。
ただし、投機的実行に関しては多くの問題があり、その結果、Spectre、Zenbleed、Downfall などの脆弱性が発生します。 これは現代の CPU パフォーマンスに大きく依存している強力な機能ですが、研究者が CPU の脆弱性を探すときの主要なターゲットです。
軽減策: パフォーマンスの阻害要因
これらの脆弱性を軽減することは最も重要ですが、問題は、これらの脆弱性を軽減するとパフォーマンスに負担がかかることが多いことです。 AMD の最新の Zenbleed の場合、緩和策によりパフォーマンスに多大なオーバーヘッドが発生する可能性があります。
その理由は、この問題を回避する唯一の本当の方法は、影響を受けるプロセッサの分岐予測子の動作を無効にするか変更することであるためです。 同じパフォーマンスへの影響は、Intel のダウンフォールの緩和策にも見られます。 初期のレポートでは、パフォーマンスへの影響が最大 39% であることが示唆されています. エピック ゲームズ かつて有名に共有された メルトダウンの脆弱性が明らかになった後の CPU 使用率のグラフと、それらの緩和策が企業の CPU 使用率にどの程度の影響を与えたかを示します。 予想どおり、CPU 使用率が大幅に増加しました。 事態がさらに恐ろしいのは、AMD の Inception の修正です。 パフォーマンスが最大 54% 低下することが判明.
このような脆弱性はプロセッサの基本的な機能に影響を与えるため、コア機能を無効にするか重大な障害を与える以外に脆弱性を実際に修正することは困難です。 投機的実行は非常に重要であり、これらの緩和は多くの人が感じるでしょう。 ゲームのパフォーマンスは予測しにくいため、PC の主な用途がゲームである場合は、 コンピューターはそれほど多くの予測を行うことができないので大丈夫ですが、これらの問題はさらに大きくスケールします システム。
将来のプロセッサは影響を受けますか?
ありがたいことに、Intel Downfall と Zenbleed の両方の場合、これらのエクスプロイトは古いプロセッサに影響を与えます。 新しいプロセッサ 両社の製品は安全であり、今のところ心配する必要はありません。 通常、これらの問題は最終的には大幅な再設計によって解決されます。 たとえば、Spectre はインテルの第 8 世代と第 9 世代の CPU に影響を与えましたが、第 9 世代には、実装されたソフトウェア修正のハードウェア バージョンが組み込まれていました。 パフォーマンスが向上して完了. Intel の第 10 世代は依然として安全でしたが、これらの緩和策によるパフォーマンスへの影響もなくなりました。
その結果、Downfall と Zenbleed はそれぞれのプロセッサの最新バージョンですでに修正されているため、ユーザーはあまり心配する必要はありません。 もちろん、さらに多くの脆弱性が発見される可能性は常にありますが、現時点では安全です。