Apple Siliconの脆弱性により暗号化キーが流出、パッチ適用でパフォーマンスに影響も

Apple Siliconの脆弱性により暗号化キーが流出、パッチ適用でパフォーマンスに影響も

Apple Silicon チップに気になる発見

Appleの Mシリーズ・プロセッサを支える Apple Silicon チップには、データ・セキュリティに重大な脅威をもたらす新たな脆弱性が存在することが確認されています。この脆弱性により、熟練した攻撃者はデータの暗号化に不可欠な暗号鍵を盗み出すことが可能となり、機密情報への不正アクセスにつながる可能性があります。

この状況を特に困難にしているのは、この欠陥を修正することで、暗号化のパフォーマンスに劇的な影響を与える可能性があることです。

データメモリ依存プリフェッチャ(DMP)脆弱性

DMP の仕組み

この脆弱性は、現在実行中のコードによってアクセスされる可能性の高いメモリアドレスを予測し、読み込んでおくことです。

DMP は、データを読み込んでおくことで、パフォーマンスを向上させることを目的としていますが、同時に、悪意のあるコードが読み込まれたデータを調査し、影響を与える可能性もあります。

DMPは、過去のアクセスパターンを解析して次に読み込むデータを決定します。攻撃者はこの動作を悪用して、読み込まれるデータに影響を与え、機密情報の漏洩につながる可能性があります。

「GoFetch」攻撃

研究者グループによるレポートに詳述されている「GoFetch」と名付けられたこの攻撃は、Apple Siliconチップ上のDMPの動作方法の癖を利用したものです。具体的には、DMPはメモリの内容と、より多くのデータをロードするために使用されるポインタ値とを混同することがあり、不注意にも前者を後者として使用してしまいます。

暗号化アルゴリズム内のデータをポインタに似せて操作することで、DMPはそれをアドレスの位置として扱い、そのアドレスからデータをキャッシュに引き込みます。キャッシュ内のアドレスの外観は目に見えるため、悪意のあるコードはこのリークを検出し、悪用することができます。

GoFetch攻撃は、暗号鍵を即座に解読することはできませんが、繰り返し行うことで、時間をかけて徐々に暗号鍵を明らかにすることができます。

攻撃の要件と効果

GoFetch攻撃は、多くのサードパーティ製macOSアプリと同じユーザー権限を必要とするため、参入障壁が低くなっています。ただし、悪意のあるアプリはターゲットとなる暗号アプリと同じチップクラスタ上で実行され、同じコアタイプ(効率または性能)を同時に使用する必要があります。

研究者によると、この攻撃は古典的な暗号化アルゴリズムだけでなく、新しい量子強化バージョンに対しても有効です。彼らのテストアプリは2,048ビットのRSA鍵を1時間未満、2,048ビットのDiffie-Hellman鍵を2時間強で抽出することができました。Dilithium-2の鍵を確保するためには、オフライン処理時間を除いて10時間のデータ抽出が必要です。

脆弱性の緩和 パフォーマンスのトレードオフ

根本的な原因 アーキテクチャ設計

この脆弱性に対処するための主な課題は、その根本的な性質にあります。つまり、この脆弱性はApple Silicon チップのアーキテクチャ設計に深く根ざしているのです。そのため、チップ自体に直接パッチを適用することは実行可能な選択肢ではありません。

潜在的な緩和策とその欠点

この脆弱性を緩和するためには、暗号ソフトウェアの開発者がアプリケーション内に回避策を実装する必要があります。しかし、これらの緩和策には、作業負荷の増大とパフォーマンスの低下という重大なトレードオフが伴います。

暗号文の目隠し

これは、データを難読化してDMPにポインタと認識させないようにするものです。効果的ではありますが、パフォーマンスへの影響はアルゴリズ ムによって異なり、一部のアルゴリズムではポインターを認識しない場合 と比較して2倍のリソースを必要とします。

効率コアでの実行

DMP 機能のない効率コアのみで暗号化処理を実行する方法もあります。ただし、この方法では、高速なパフォーマンスコアを利用できないため、パフォーマンスが犠牲になります。

M3 チップでの DMP の無効化

次期M3チップについて、AppleはDMPを完全に無効にできる特別なビットを導入しました。研究者は、このアプローチに関連する潜在的なパフォーマンス上のペナルティについては認識していないことを認めています。

Appleの姿勢

Apple社は、この脆弱性に関する公式なコメントを控えています。研究者らは、2023年12月5日にApple社に責任を持って調査結果を公開したと主張しています。

まとめ

GoFetchの脆弱性は、最新のチップ設計におけるパフォーマンスとセキュリティのバランスの複雑さを浮き彫りにしています。
Apple SiliconのDMPは効率化を目指したものでしたが、その実装は不注意にも懸念される攻撃ベクトルへの扉を開いてしまいました。
業界がこの問題に取り組む中、ユーザーはデータのプライバシーとAppleの最先端ハードウェアに期待する性能の両方を維持するバランスの取れた解決策を望むしかありません。

(Via Apple Insider.)


LEAVE A REPLY

*
*
* (公開されません)