Macから秘密鍵が盗まれる「Appleシリコン」の脆弱性とは:GoFetch攻撃の手口と対策【前編】
Mac用のSoC「M」シリーズの脆弱性を悪用して秘密鍵を取得する「GoFetch」という攻撃の手法を、米国の学術研究グループが発見した。どのような脆弱性なのか。
Appleのクライアントデバイス「Mac」用のSoC(統合型プロセッサ)「M」シリーズに対するサイドチャネル攻撃の手法を、米国の学術研究グループが発表した。サイドチャネル攻撃とは、攻撃者が標的となるデバイスの利用時間や消費電力を観測し、それらを手掛かりに機密データを読み取る手法だ。研究グループが発表した手法によって、攻撃者はデバイスから秘密鍵を取得できる可能性がある。
研究グループは発表した論文の中で、発見した攻撃を「GoFetch」と名付け、Mシリーズのある脆弱(ぜいじゃく)性に起因するものだと説明した。どのような脆弱性なのか。
発見された「Appleシリコン」の脆弱性
併せて読みたいお薦め記事
Appleデバイスを標的にする攻撃
研究グループが発表した論文「GoFetch: Breaking Constant-Time Cryptographic Implementations Using Data Memory-Dependent Prefetchers」によれば、GoFetchはMシリーズのマイクロアーキテクチャ(マイクロプロセッサ内部の設計)の脆弱性に起因する。
Mシリーズには「DMP」(Data Memory-Dependent Prefetcher)という機能がある。これは、エンドユーザーが将来アクセスするメモリアドレスを予測し、そのデータをメインメモリから読み込んでキャッシュメモリに保存しておくことで、処理時間を短縮させる機能だ。
研究グループがMシリーズのDMPを分析したところ、DMPがデータの格納先を示す値「ポインタ」とメモリ内の他のデータを混同する可能性があることを発見した。それらのデータには、秘密鍵の断片的なデータも含まれている。研究グループによれば、攻撃によってMシリーズのDMPが、ポインタに似ているさまざまなデータを読み込んでしまい、外部に“漏えい”させる恐れがある。
MシリーズがDMPを搭載していることは、2022年に別の学術研究グループが発見し、その際に「Augury」というサイドチャネル攻撃を考案していた。この攻撃はAppleのSoC「Apple M1」「Apple M1 Max」「Apple A14 Bionic」を使用するシステムのデータを狙うものだった。
GoFetchの研究グループによると、Apple M1の他に「Apple M2」「Apple M3」にもこのサイドチャネル攻撃につながる脆弱性がある。研究グループは「Apple M2 Pro」など他のMシリーズはテストしていないが、それらも同様に悪用可能なDMPを搭載していると考えている。
研究グループは、Intelのプロセッサである第13世代「Core」(開発コードネーム:Raptor Lake)のマイクロアーキテクチャもDMPを搭載していることを発見した。ただし、「RaptorLakeのDMPは機能制限が厳しく、われわれの攻撃に対して堅牢(けんろう)だ」と同グループは説明している。
GoFechの手法を発表したのは、以下の研究者が構成するグループだ。
- イリノイ大学アーバナ・シャンペーン校(The University of Illinois Urbana-Champaign)のボル・チェン氏
- テキサス大学オースティン校(The University of Texas at Austin)のインチェン・ワン氏
- ジョージア工科大学(Georgia Institute of Technology)のプラデュムナ・ショーム氏
- カリフォルニア大学バークレー校(The University of California, Berkeley)のクリストファー・W・フレッチャー氏
- ワシントン大学(The University of Washington)のデービッド・コールブレンナー氏
- カーネギーメロン大学(Carnegie Mellon University)のリカルド・パッカネッラ氏
- ジョージア工科大学のダニエル・ゲンキン氏
後編はGoFetchへの対策を紹介する。
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.