CROSSTalk - コア間のデータ漏洩につながる Intel CPU の脆弱性

アムステルダム自由大学の研究者チームは、新たな物質を特定した。 脆弱性 (CVE-2020-0543) は、Intel プロセッサのマイクロアーキテクチャ構造にあり、別の CPU コアで実行された一部の命令の実行結果を復元できる点で注目に値します。 これは、個々の CPU コア間のデータ漏洩を可能にする投機的命令実行メカニズムの最初の脆弱性です (以前は、漏洩は同じコアの異なるスレッドに限定されていました)。 研究者らはこの問題を「CROSSTalk」と名付けたが、 インテルのドキュメント この脆弱性は SRBDS (Special Register Buffer Data Sampling) と呼ばれます。

この脆弱性は次のものに関連しています 提出した XNUMX 年前に MDS (マイクロアーキテクチャ データ サンプリング) 問題のクラスに導入されたもので、マイクロアーキテクチャ構造内のデータに対するサイドチャネル分析手法の適用に基づいています。 動作原理 CROSSTalk に脆弱性が迫る リドル、しかし、漏れの原因が異なります。
この新しい脆弱性は、すべての CPU コアによって共有される、これまで文書化されていなかった中間バッファのリークを操作します。

CROSSTalk - コア間のデータ漏洩につながる Intel CPU の脆弱性

問題の本質 それは、RDRAND、RDSEED、SGX EGETKEY などの一部のマイクロプロセッサ命令が、内部マイクロアーキテクチャ SRR (特殊レジスタ読み取り) 操作を使用して実装されていることです。 影響を受けるプロセッサでは、SRR に対して返されたデータはすべての CPU コアに共通の中間バッファに置かれ、その後、読み取り操作が開始された特定の物理 CPU コアに関連付けられたフィル バッファに転送されます。 次に、フィル バッファの値がアプリケーションから見えるレジスタにコピーされます。

中間共有バッファのサイズはキャッシュ ラインに対応し、通常は読み取られるデータのサイズより大きく、異なる読み取りはバッファ内の異なるオフセットに影響します。 共有バッファは完全にフィル バッファにコピーされるため、現在の操作に必要な部分だけでなく、他の CPU コアで実行された操作を含む他の操作で残ったデータも移動されます。

CROSSTalk - コア間のデータ漏洩につながる Intel CPU の脆弱性

CROSSTalk - コア間のデータ漏洩につながる Intel CPU の脆弱性

攻撃が成功すると、システムで認証されたローカル ユーザーは、コードが実行される CPU コアに関係なく、外部プロセスまたは Intel SGX エンクレーブ内で RDRAND、RDSEED、および EGETKEY 命令を実行した結果を判断できます。
問題を特定した研究者 公開 システム上でデジタル署名操作を XNUMX 回だけ実行した後、インテル SGX エンクレーブで処理された ECDSA 秘密キーを回復するために、RDRAND および RDSEED 命令を通じて取得されたランダムな値に関する情報を漏洩する機能を実証するプロトタイプのエクスプロイト。


問題 影響を受けやすいです Core i3、i5、i7、i9、m3、Celeron (J、G、N シリーズ)、Atom (C、E、X シリーズ)、Xeon (E3、E5、 E7 ファミリ、W および D)、Xeon スケーラブルなど注目に値するのは、Intel が 2018 年 2019 月にこの脆弱性について通知され、XNUMX 年 XNUMX 月には CPU コア間のデータ漏洩を実証するエクスプロイト プロトタイプが提供されましたが、実装の複雑さのために修正プログラムの開発が遅れたことです。 本日提案されたマイクロコード更新では、RDRAND、RDSEED、および EGETKEY 命令の動作を変更して共有バッファ内のデータを上書きし、残留情報がそこに定着するのを防ぐことでこの問題に対処します。 さらに、バッファアクセスは、内容が読み取られて書き換えられるまで一時停止されます。

このタイプの保護の副作用として、RDRAND、RDSEED、および EGETKEY を実行するときの待ち時間が増加し、これらの命令を異なる論理プロセッサで同時に実行しようとするとスループットが低下します。 RDRAND、RDSEED、および EGETKEY を実行すると、他の論理プロセッサからのメモリ アクセスも一時停止されます。 これらの機能は一部のサーバー アプリケーションのパフォーマンスに悪影響を与える可能性があるため、ファームウェアは、Intel SGX エンクレーブの外部で実行される RDRAND および RDSEED 命令の保護を無効にするメカニズム (RNGDS_MITG_DIS) を提供します。

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

コメントを追加します