AMD プロセッサには、メルトダウン攻撃を可能にする別の脆弱性が確認されました。

グラーツ工科大学 (オーストリア) とヘルムホルツ情報セキュリティセンター (CISPA) の研究者チームは、すべての AMD プロセッサーにあるメルトダウンクラスのサイド攻撃を可能にする脆弱性 (CVE-2021-26318) を明らかにしました。チャネル攻撃 (当初、AMD プロセッサはメルトダウン脆弱性の影響を受けないと想定されていました)。実際には、この攻撃は、秘密の通信チャネルの確立、カーネル内のアクティビティの監視、またはカーネルの脆弱性を悪用しながら KASLR 保護をバイパスするカーネル メモリ内のアドレスに関する情報の取得に使用される可能性があります。

AMDは、8月に発見された同様の攻撃と同様に、この脆弱性は実際の状況ではほとんど役に立たず、プロセスのアドレス空間の現在の境界によって制限されており、特定のカーネル内の既製の命令シーケンス (ガジェット)。攻撃を実証するために、研究者らは人為的に追加されたガジェットを独自のカーネル モジュールにロードしました。実際の状況では、攻撃者は、たとえば eBPF サブシステムに定期的に出現する脆弱性を利用して、必要なシーケンスを置き換えることができます。

この新しいタイプの攻撃から保護するために、AMD は、LFENCE 命令の使用など、メルトダウン攻撃のブロックに役立つ安全なコーディング技術を使用することを推奨しました。この問題を特定した研究者らは、以前は Intel プロセッサのみに使用されていた、より厳密なメモリ ページ テーブル分離 (KPTI) を有効にすることを推奨しています。

実験中、研究者らは、「if (offset < data_len) tmp =」という操作を実行するガジェットがカーネル内に存在することを前提として、毎秒 52 バイトの速度でカーネルからユーザー空間のプロセスに情報を漏洩することに成功しました。 LUT[データ[オフセット] * 4096];” 。投機実行中に最終的にキャッシュに保存される情報をサイドチャネル経由で取得する方法がいくつか提案されています。 XNUMX つ目の方法は、プロセッサ命令「PREFETCH」(プリフェッチ + 時間)の実行時間の偏差を分析することに基づいており、XNUMX つ目は「PREFETCH」(プリフェッチ + 電力)実行時のエネルギー消費の変化を変更することに基づいています。

古典的なメルトダウンの脆弱性は、設定された権限によりユーザー プロセスからのアクセスが禁止されているため、命令の投機的実行中にプロセッサがプライベート データ領域にアクセスし、その結果を破棄できるという事実に基づいていることを思い出してください。プログラムでは、投機的に実行されるブロックは条件付き分岐によってメイン コードから分離されており、実際の条件では常に分岐が起動しますが、条件付きステートメントでは、プロセッサがプリエンプティブ実行中に認識していない計算値が使用されるため、コードでは、すべての分岐オプションは投機的に実行されます。

投機的に実行される操作は、通常に実行される命令と同じキャッシュを使用するため、投機的実行中に、プライベート メモリ領域の個々のビットの内容を反映するマーカーをキャッシュに設定し、その後、通常に実行されるコードでタイミングを通じてその値を決定することができます。キャッシュされたデータとキャッシュされていないデータへの分析アクセス。

出所: オープンネット.ru

コメントを追加します