最近のプロジェクト 出版物を通じて開示されたGrsecurity の詳細とデモンストレーション 新たな脆弱性に対する攻撃手法 (すでにリストされています CVE-2021-26341) AMD プロセッサーでは、無条件ジャンプフォワード操作後の投機的命令の実行に関連します。
脆弱性 プロセッサが投機的に処理できるようにする 投機実行中のメモリへのジャンプ命令 (SLS) の直後の命令。 同時に、このような最適化は、条件付きジャンプ演算子だけでなく、JMP、RET、CALL などの直接の無条件ジャンプを暗黙的に示す命令にも機能します。
無条件分岐命令の後には、実行を目的としない任意のデータが続く可能性があります。 分岐が次の命令の実行を伴わないと判断した後、 プロセッサは単に状態を元に戻し、投機的実行を無視します。 ただし、命令実行トレースは一般キャッシュに残り、サイド チャネル回復メソッドを使用した分析に利用できます。
AMD は、ホワイトペーパー「AMD プロセッサーでの投機を管理するためのソフトウェア テクニック」で、推奨される緩和策である G-5 緩和策のアップデートを提供しています。 G-5 緩和策は、分岐命令の投機的な動作に関連する潜在的な脆弱性に対処するのに役立ちます。
AMD プロセッサは、無条件前方分岐に続いて命令を一時的に実行することがあり、その結果キャッシュ アクティビティが発生する可能性があります。
スペクターの悪用と同様に、v1、 攻撃には特定のシーケンスの存在が必要です カーネル内の命令 (ガジェット) が増加し、投機的実行につながります。
この場合、脆弱性のブロックは、コード内でそのようなデバイスを特定し、投機的実行をブロックする追加の命令をそれらのデバイスに追加することになります。 投機的実行の条件は、eBPF 仮想マシンで実行される非特権プログラムを使用して作成することもできます。
この調査の結果、新しい脆弱性 CVE-2021-26341 が発見されました。 【1] 、この記事で詳しく説明します。 いつものように、この脆弱性の技術的側面、AMD が提案する緩和策、悪用の側面に焦点を当てます。
eBPF を使用してデバイスを構築する機能をブロックするには、 eBPF への非特権アクセスを無効にすることをお勧めします システム内 ("sysctl -w kernel.unprivileged_bpf_disabled=1«)。
この脆弱性は、Zen1 および Zen2 マイクロアーキテクチャに基づくプロセッサに影響します。
デスク
- AMD Athlon™ X4 プロセッサー
- AMD Ryzen™ Threadripper™ PRO プロセッサー
- 第 XNUMX 世代 AMD Ryzen™ Threadripper™ プロセッサー
- 第 XNUMX 世代 AMD Ryzen™ Threadripper™ プロセッサー
- 第XNUMX世代AMD AシリーズAPU
- AMD Ryzen™ 2000 シリーズ デスクトップ プロセッサ
- AMD Ryzen™ 3000 シリーズ デスクトップ プロセッサ
- Radeon™ グラフィックスを搭載した AMD Ryzen™ 4000 シリーズ デスクトップ プロセッサ
携帯電話
- AMD Ryzen™ 2000 シリーズ モバイル プロセッサ
- Radeon™ グラフィックスを搭載した AMD Athlon™ 3000 シリーズ モバイル プロセッサ
- AMD Ryzen™ 3000 シリーズ モバイル プロセッサーまたは Radeon™ グラフィックスを搭載した第 XNUMX 世代 AMD Ryzen™ モバイル プロセッサー
- Radeon™ グラフィックスを搭載した AMD Ryzen™ 4000 シリーズ モバイル プロセッサ
- Radeon™ グラフィックスを搭載した AMD Ryzen™ 5000 シリーズ モバイル プロセッサ
Chromebook
- Radeon™ グラフィックスを搭載した AMD Athlon™ モバイル プロセッサ
サーバ
- 第一世代 AMD EPYC™ プロセッサー
- 第 XNUMX 世代 AMD EPYC™ プロセッサー
攻撃が成功すると、 この脆弱性により、任意のメモリ領域の内容が特定される可能性があります。
この脆弱性により、影響を受ける CPU 上で限定的ではあるが悪用可能な可能性のある SLS デバイスを形成する無害なコード構造を特定できる可能性があります。 eBPF の例で示したように、自己挿入された手動で構築されたデバイスで脆弱性を悪用することも可能です。 提示された方法は、たとえば、Linux カーネルの KASLR 軽減策を突破するために使用できます。
たとえば、研究者らは、カーネルの内容を漏洩する可能性のあるその他の攻撃シナリオに加えて、eBPF カーネル サブシステムで特権のないコードを実行することで、アドレス レイアウトを決定し、KASLR (カーネル メモリのランダム化) 保護メカニズムをバイパスできるエクスプロイトを準備しました。記憶も排除されない。
最後に あなたがそれについてもう少し知りたいなら、詳細を確認できます 次のリンクで。