Appleはここ数年、Macのプロセッサを自社開発のARMベースのチップに切り替え、性能向上と電力効率の改善を実現しました。しかし、この独自設計のCPUに、ユーザーのデータを盗み取る可能性のある脆弱性が存在することが明らかになりました。
米ジョージア工科大学とドイツのルール大学の研究チームは、Appleの最新チップに関する調査を行い、「FLOP(False Load Output Prediction)」と「SLAP(Speculative Load Address Prediction)」と呼ばれる2つの脆弱性を発見しました。これらは、MシリーズのMac向けSoCだけでなく、AシリーズのiPhone用チップにも影響を及ぼす可能性があるとのことです。
JavaScriptを開くだけでデータが盗まれる?
この脆弱性の危険な点は、特定のWebサイトを閲覧するだけで攻撃が成立することです。通常、情報を盗み出すマルウェアはユーザーの端末にインストールされる必要がありますが、FLOPやSLAPは、悪意のあるJavaScriptやWebAssemblyを含むWebページを開くだけで発動してしまいます。
研究チームによると、M2/A15以降のApple製チップは、次にアクセスされるメモリアドレスを予測する機能を持っており、M3/A17以降ではメモリ内のデータそのものを予測する機能が追加されています。しかし、これらの予測が誤ると、攻撃者にとって都合の良い演算が実行され、データが流出するというのです。
どんな情報が盗まれるのか?
この脆弱性を利用すると、攻撃者は以下のような機密情報にアクセスできる可能性があります。
- Safariのサンドボックスを突破
- Proton Mailの受信トレイから送信者や件名を取得
- Googleマップの位置履歴を盗む
- iCloudカレンダーのプライベートイベントを閲覧
- Gmailの受信ボックス情報を復元
- Amazonの注文履歴や閲覧データを収集
- Redditの投稿履歴を追跡
FLOPとSLAPの仕組み
FLOP(False Load Output Prediction)
M3、M4、A17のチップが影響を受けるこの脆弱性では、チップが誤ったメモリアドレスを予測することで、攻撃者がデータを不正に取得できます。研究チームは、この仕組みを利用して特定のループ処理を繰り返すことで、Safariのサンドボックスを突破し、メールやカレンダーのデータを取得することに成功しました。
SLAP(Speculative Load Address Prediction)
M2、A15、およびそれ以降の多くのチップに影響するこの攻撃手法は、CPUのメモリアクセスの予測を悪用します。攻撃者は、CPUが誤ったアドレスを先読みするように仕向けることで、メモリ配置を操作し、誤った計算結果を信用させることが可能になります。この方法を利用すれば、Gmailの受信ボックスやAmazonの注文履歴、Redditのユーザーアクティビティを盗み見ることもできると報告されています。
Appleはまだ修正を提供せず
研究チームはこの問題を2024年3月と9月にAppleへ報告しましたが、現時点で修正パッチは提供されていません。Appleはこの件について、
「当社の分析では、この問題が直ちにユーザーにリスクをもたらすとは考えていません」
とコメントしています。
対策は?
現時点で根本的な解決策はありませんが、SafariやChromeのJavaScriptを無効にすることで、攻撃リスクを軽減できます。ただし、これを行うとWebサイトの表示が大幅に制限され、利便性が低下するため、慎重に判断する必要があります。
Appleの対応が待たれる今回の問題。今後のアップデートで修正が入るかどうか、引き続き注意していきましょう。
コメント