「あのかぼ」のスピンオフサイト「ゼロかぼ」ができました。 詳しくはこちら>

Apple Siliconに新たな脅威「GoFetch」暗号実装を破り暗号化キーを抽出できる重大な脆弱性

Mac

Apple Siliconに新たな脅威「GoFetch」暗号実装を破り暗号化キーを抽出できる重大な脆弱性

AppleのMシリーズチップ内に新たな脆弱性が発見されました。この脆弱性は攻撃者が秘密鍵を抽出することを可能にするという、特に深刻なものです。この発見は、学術研究論文「GoFetch: Breaking Constant-Time Cryptographic Implementations Using Data Memory-Dependent Prefetchers」により明らかにされました。本記事では、この研究論文の内容を詳細に解説し、その影響を探ります。

データメモリ依存型プリフェッチャ (DMP)とは

DMPは、プロセッサが次に必要とするデータを予測し、事前に取得することで処理速度を向上させる技術です。しかし、この技術は意図せず情報を漏洩する可能性があり、特にAppleのMシリーズチップでこの問題が顕著であることが発見されました。

GoFetch攻撃の仕組み

GoFetch攻撃は、DMPの動作を悪用して暗号化されたデータから秘密鍵を抽出する新たな手法です。攻撃者は、暗号化アルゴリズム内で特定のデータパターンを操作することにより、DMPによる不正なデータ取得を誘発します。これにより、本来保護されるべき秘密鍵が抽出できるというのです。

影響を受ける暗号技術

DMPの脆弱性は、従来の暗号技術と新しい「ポスト量子暗号技術」の両方に重大な影響を及ぼす可能性があります。具体的には、RSAやDiffie-Hellmanなどの古典的な暗号アルゴリズムに加えて、近年注目を集めるCRYSTALS-KyberやCRYSTALS-Dilithiumといったポスト量子暗号アルゴリズムも、この脆弱性の影響を受ける恐れがあります。

さらに、定数時間実装された暗号アルゴリズムにおいても、この脆弱性が潜在的な脅威となり得るとしているのです。定数時間実装は、暗号処理が実行される時間が入力データに依らないよう設計されているため、外部からの観察を通じた情報漏洩のリスクを最小限に抑えることができます。これはサイドチャネル攻撃に対する効果的な防御策として採用されています。

しかし、DMPが不適切にデータをプリフェッチすることで、これらの防御機構を迂回し、機密情報が露呈する可能性があります。このようにして、GoFetch攻撃は、サイドチャネル攻撃に対する従来の防御策を無効化し、新たなセキュリティ上の脅威となるのです。

対策とその課題

この問題はハードウェアの設計の問題で、脆弱性への対処は主に暗号ライブラリのソフトウェアレベルで行われる必要があります。しかし、この対策は特にM1やM2チップでの暗号演算のパフォーマンスに重大な影響を与える可能性があるとしています。

まとめ

AppleのMシリーズチップに見つかった「GoFetch」攻撃による脆弱性は、サイドチャンネル攻撃がPCに対する最終的な脅威になり得ることを改めて浮き彫りにしました。

この攻撃は、データメモリ依存型プリフェッチャ(DMP)を悪用し、従来安全とされていた定数時間実装の暗号アルゴリズムからも秘密情報を抽出する可能性があることを示しています。

この問題は、Intel CPUでの「Spectre」と「Meltdown」の例でも見られるように、パフォーマンスを低下(または別のプロセスを挟み)させ、このリスクを低減させる必要があります。

「GoFetch」攻撃への対策も同様に、暗号ライブラリのソフトウェアレベルでの改善が求められていますが、これには計算コストの増加やパフォーマンスの低下が伴う可能性があります。これは、セキュリティ対策を施すことでシステムの予想された性能が低下するという、プロセッサ設計とソフトウェア開発における根本的なジレンマを示しています。