Apple Silicon Mシリーズにチップレベルで暗号鍵を漏らす可能性ある脆弱性。プリフェッチャー狙ったサイドチャネル攻撃、米大学セキュリティ研究者らが公表
米国の複数の大学の研究者グループが、Apple Silicon搭載Macにチップレベルの脆弱性を発見したと発表しました。 同グループによると、この脆弱性はMacが備える暗号化のしくみをバイパスし、システムの暗号鍵にアクセスを許すため、Macに格納されている個人情報が悪意ある者の手に渡る可能性があるとのことです。 Apple SiliconのM1、M2、M3チップには、データメモリ依存プリフェッチャー(DMP)と呼ばれる、処理性能向上用の機能があります。 これは実行中のコードが近い将来にアクセスするであろうデータが使うメモリアドレスを予測しロードすることで、ボトルネックとなるCPUとメモリー間のレイテンシーを削減する技術ですが、研究者らは、この処理の最中にチップに保存されたデータをメモリアドレスと誤認識し、キャッシュされる場合があることを発見しました。 そしてGoFetchと称する、この問題を悪用するアプリを作成して、再現性を確認しました。研究者らによるとApple SiliconのDMPはその処理において一部のデータ値がポインターの「ように見える」場合に、それを「アドレス」として扱ってしまい、この「アドレス」のデータを誤ってキャッシュに取り込んでしまいます。 このキャッシュの内容は外部から参照可能になるため、GoFetchは何度も繰り返しこの処理を行うことで時間の経過とともに秘密鍵を明らかにすることができるのだと説明されています。 研究者らは「この動作が相当な量のプログラムデータを危険にさらすことになる」と述べ「DMPによるセキュリティの脅威が以前考えられていたよりも大幅に悪化していることを示し、アップルMシリーズのDMPを使用したセキュリティ・クリティカルなソフトウェアに対する初のエンド・ツー・エンド攻撃を実証した」としています。 これはハードウェアによる処理上の問題であるため、ソフトウェアアップデートで修正することは難しく、機能を殺す場合はパフォーマンスが落ちることになります。とはいえ、AppleのGatekeeperをデフォルト状態のまま有効にしているかぎり、そもそも悪意のあるアプリをインストールすることは難しいと言うことです。 GatekeeperはMac App Storeからのアプリと、App Store以外ではアップルに登録された開発者からのアプリしかインストールできないようにシステムを制限しています(macOSの設定でこれを許可している場合は要注意ですが)。 したがって、ユーザーはこうした制限を意図的に解除して(悪意ある)アプリをインストールしない限り、Apple Silicon搭載Macに影響が及ぶ可能性は低いと考えられます。 また、GoFetchで暗号鍵を解読するのにも10時間以上の時間がかかるとみられ、実質的に攻撃があったとしても、それが成功する可能性は低いと考えて良さそうです。
Munenori Taniguchi@TechnoEdge