この脆弱性は、CPUに搭載しているハードウェア機構の一種「DMP」(Data Memory-Dependent Prefetcher)に起因する。DMPとは、プログラムが将来必要とするであろうデータを先読みして、アクセス時間を短縮する役割を担う。このDMPの脆弱性を巧みに突いて暗号の秘密鍵を盗み出す攻撃が今回のアプローチ「GoFetch」になる。
攻撃者はまず、標的となる暗号プログラムが使用するメモリ領域に、細工した入力データを忍び込ませる。このデータは一見ポインタのように見えるが、実際には攻撃者が仕組んだ巧妙な値である。暗号プログラムが細工したデータを含むメモリ領域にアクセスすると、DMPがその領域を解析対象とみなし、細工したデータをポインタと誤認する。こうして、本来守られるべき秘密鍵の断片が、DMPによって外部にさらされてしまう。攻撃者は、CPUのキャッシュメモリを監視することで、DMPが先読みした秘密鍵の断片を検知できる。これを繰り返していけば、最終的に秘密鍵の全貌を復元可能という。 研究者らは、M1プロセッサを搭載したAppleハードウェア上で、4つの暗号実装(OpenSSL Diffie-Hellman、Go RSA、CRYSTALS-Kyber、CRYSTALS-Dilithium)に対するエンドツーエンドのGoFetch攻撃を実施し、実際に機能することを示した。
また、他のAppleプロセッサ上でのDMPの活性化パターンもテストし、M2とM3も同様の攻撃可能なDMPの動作を示すことが分かった。さらにインテルの第13世代Raptor Lakeマイクロアーキテクチャもまた、DMPを特徴としていると判明。しかし、そのアクティベーション条件はより制限的であり、この攻撃に対して堅牢であった。 GoFetch攻撃が恐ろしいのは、プログラムの実行時間を一定に保つ「定数時間実装」など、従来のサイドチャネル攻撃への対策が通用しないこと。攻撃の成否がプログラムの挙動ではなく、メモリ上のデータの値に依存するからである。Source and Image Credits: Boru Chen, Yingchen Wang, Pradyumna Shome, Christopher W. Fletcher, David Kohlbrenner, Riccardo Paccagnella, and Daniel Genkin. GoFetch: Breaking Constant-Time Cryptographic Implementations Using Data Memory-Dependent Prefetchers.
日本 最新ニュース, 日本 見出し
Similar News:他のニュース ソースから収集した、これに似たニュース記事を読むこともできます。
ソース: game_watch - 🏆 121. / 51 続きを読む »
ソース: itmedia_news - 🏆 54. / 63 続きを読む »
ソース: itmedia_news - 🏆 54. / 63 続きを読む »
ソース: topitmedia - 🏆 93. / 51 続きを読む »
ソース: gigazine - 🏆 80. / 51 続きを読む »
ソース: PRTIMES_BIZ - 🏆 115. / 51 続きを読む »