のグループ 中国と米国の大学の研究者が新たな脆弱性を特定 プロセッサで Intelが情報漏洩につながる たとえば、プロセス間の隠された通信チャネルを編成したり、メルトダウン攻撃中のリークを検出したりするために使用できます。
脆弱性の本質は、EFLAGS プロセッサ レジストリの変更です。 命令の投機的実行の結果として発生したジャンプは、その後の JCC 命令の実行時間に影響を与えます (指定された条件が満たされたときにジャンプします)。
投機的操作は完了せず、結果は破棄されます、ただし、破棄された EFLAGS の変更は、JCC 命令の実行時間を分析することで判断できます。 投機的に実行されたジャンプ前の比較操作は、比較が成功した場合にわずかな遅延をもたらし、これを測定してコンテンツ マッチング機能として使用できます。
一時実行攻撃は、CPU 最適化技術の脆弱性を利用した攻撃の一種です。 新しい攻撃はすぐに出現します。 サイド チャネルは、データを盗み出すための一時的な実行攻撃の重要な部分です。
この作業では、一時的な実行で EFLAGS レジスタを変更する脆弱性が発見されました。これは、Intel CPU の Jcc (ジャンプ条件コード) 命令に副作用をもたらす可能性があります。 私たちの発見に基づいて、一時的な実行タイミングと Jcc 命令を悪用してデータを配信する新しいサイドチャネル攻撃を提案します。
この攻撃は、レジストリを変更することで機密データを暗号化します。これにより、実行時間がわずかに遅くなり、攻撃者が測定してデータをデコードできます。 この攻撃は、キャッシュ システムに依存しません。
他の攻撃とは違う サードパーティのチャネルを通じて同様の 新しい方法は、キャッシュされたデータへのアクセス時間の変化を分析しません キャッシュされず、EFLAGS レコードを初期状態にリセットする手順を必要としないため、攻撃の検出とブロックが困難になります。
デモ用、研究者はメルトダウン攻撃の亜種を実装しました、投機的操作の結果に関する情報を取得するための新しいメソッドを使用します。 メルトダウン攻撃時の情報漏えい整理方法の運用 Intel Core i7-6700 および i7-7700 CPU を搭載したシステムで実証済み Ubuntu 22.04 カーネルと Linux 5.15 の環境で。 Intel i9-10980XE CPU を搭載したシステムでは、攻撃は部分的にしか成功しませんでした。
メルトダウンの脆弱性は、命令の投機的実行中の事実に基づいています。、設定された特権はユーザープロセスからのそのようなアクセスを禁止するため、プロセッサはプライベートデータ領域にアクセスしてから結果を破棄できます。
プログラムでは、投機的に実行されたブロックは、条件付きジャンプによってメインコードから分離されます。これは、実際の条件では常にトリガーされますが、条件付きステートメントがプリエンプティブコード中にプロセッサに知られていない計算値を使用するためです。 . 実行すると、すべての分岐オプションが投機的に実行されます。
従来の Meltdown では、投機的に実行される操作に通常実行される命令と同じキャッシュが使用されるため、投機的な実行中に、閉じたメモリ領域内の個々のビットの内容を反映するマーカーをキャッシュに設定し、通常実行で使用することができます。キャッシュされたデータとキャッシュされていないデータへのアクセス時間の分析を通じてその意味を判断するためのコード。
新しい亜種は、EFLAGS レジストリの変更を利用します 漏れの目印として。 Covert Channel のデモでは、XNUMX つのプロセスが送信されるデータを変調して EFLAGS レコードの内容を変更し、別のプロセスが JCC ランタイムで変更を解析して、最初のプロセスによって送信されたデータを再作成しました。
最後に、それについてもっと知りたい場合は、 詳細は次のリンクをご覧ください。