インテル
この攻撃を実行するにはシステム内の root 権限が必要であるため、この攻撃は SGX エンクレーブでの計算を伴う操作のコンテキストでのみ危険です。 最も単純なケースでは、攻撃者はエンクレーブで処理される情報を歪めることができますが、より複雑なシナリオでは、RSA-CRT および AES-NI アルゴリズムを使用した暗号化に使用されるエンクレーブに保存されている秘密キーを再作成する可能性はありません。除外されます。 この技術は、メモリを操作するとき、たとえば、割り当てられたバッファの境界外の領域へのアクセスを組織するときに、最初は正しいアルゴリズムでエラーを生成して脆弱性を引き起こすためにも使用できます。
攻撃を実行するためのプロトタイプコード
この方法の本質は、SGX での計算中に予期しないデータ破損が発生する状況を作り出すことですが、エンクレーブでの暗号化とメモリ認証の使用では、このようなデータ破損からは保護できません。 歪みを発生させるには、周波数と電圧を制御するための標準ソフトウェア インターフェイスを使用できることが判明しました。これらのインターフェイスは通常、システムのアイドル時間中の消費電力を削減し、集中的な作業中に最大のパフォーマンスを発揮するために使用されます。 周波数と電圧の特性は、隔離されたエンクレーブでのコンピューティングの影響を含め、チップ全体に及びます。
電圧を変更することで、CPU 内部のメモリセルを再生するのに十分な電荷が得られず、その値が変化する状況を作り出すことができます。 攻撃との主な違い
この変更された値が暗号化プロセスの乗算プロセスで使用されると、出力は不正な暗号文で拒否されます。 SGX のハンドラーにアクセスしてデータを暗号化できるため、攻撃者は失敗を引き起こして、出力暗号文の変更に関する統計を蓄積し、数分でエンクレーブに保存されているキーの値を復元できます。 元の入力テキストと正しい出力暗号文はわかっており、キーは変化せず、誤った暗号文の出力は、一部のビットが逆の値に歪められていることを示します。
差分障害分析 (DFA、DFA、
6 個の Intel Core CPU を含む、Intel プロセッサのさまざまなモデルがこの問題の影響を受けます。
第 10 世代、および Xeon E3 の第 XNUMX 世代と第 XNUMX 世代、Intel Xeon Scalable の第 XNUMX 世代と第 XNUMX 世代、Xeon D、
Xeon W と Xeon E。
SGX テクノロジー (
出所: オープンネット.ru