Appleの最新世代CPUに新たなサイドチャネル脆弱性が影響 – InfoQ

原文リンク(2025-02-09) ジョージア工科大学とルール大学ボーフムの研究者が、ポピュラーなWebサイトを閲覧する際に最近のApple MおよびA CPUでChromeとSafariを使って機密情報を漏えいさせる2つの新しいサイドチャネル攻撃をデモした。 FLOP(False Load Output PredictionsによるApple M3 CPUの攻撃)とSLAP(Apple SiliconのLoad Address Predictionによるデータ推測攻撃)と名付けられたこの2つの攻撃は2021年以降のMac、iPhone、iPadで実行される可能性がある。つまりSLAPはLoad Address Predictor(LAP)を搭載したM2/A15以降のCPUを使用したデバイスに影響を及ぼし、FLOPはLoad Value Predictor(LVP)を搭載したM3/A17以降の世代を使用したデバイスに影響を及ぼす。 研究者によるとSLAPとFLOPはブラウザに組み込まれた分離保護を破り、あるWebページが機密データを含む可能性がある別のWebページのコンテンツを読むことを可能にする。どちらもマイクロアーキテクチャベースの攻撃であるため、痕跡を残さない。 この2つの脆弱性は、Apple Silicon CPUで使用されている2つの予測サブシステム、Load Address Predictor(LAP)とLoad Value Predictor(LVP)に起因する。これらのサブシステムはデータハザードを緩和し、Read-After-Write依存によるスローダウンを減少させるためにマイクロアーキテクチャの最適化を行う。 Load Address Predictorは、過去のアクセスパターンに基づいて、CPUが次にアクセスするメモリアドレスを推測する。 予測済アドレスがキャッシュされている場合、CPUはプログラムが本来意図したアドレスではなく、予測済アドレスから推測的にロードします。予測済アドレスからの値がフェッチされると、CPUはプログラムコードの下流にある任意の命令を使って、その値を一過性に計算します。 Load Value Predictorは実際に値が利用可能になる前に、次のメモリアクセスで返されるデータ値を予測する。 はロード操作から返されるデータ値を観察します。値が一定であれば、これらのCPUはRAW依存性が解決された後に結果が利用可能になるのを待つのではなく、このロードが次回実行される際に推測ウィンドウを開くことができます。 研究者らはLAPまたはLVPの予測が間違っている場合、CPUは投機的実行の下で範囲外(SLAP)または不正確な(FLOP)データに対して任意の計算をする可能性があることを発見した。これはデータ流出につながる可能性がある。 SLAPについては、Safariでエンドツーエンド攻撃をデモし、権限のない攻撃者が電子メールの内容やブラウジング履歴を復元できることを示した。 LAPは同じロード命令から過去のアドレスを監視し、予測されたアドレスを投機的にロードしますが、それが誤って静止状態の機密情報(つまり、アーキテクチャ的にCPUに読み取られない情報)を指す可能性があります。秘密情報が取得されると、LAPは攻撃者が秘密情報を計算するのに十分な大きさの推測ウィンドウを許可し、例えば隠れチャネルを通じてそれを漏洩させることができます。 FLOPについては、攻撃者が任意の読み取りプリミティブを使用して、SafariとChromeから位置情報履歴、カレンダーイベント、クレジットカード情報を復元できることを実証した。 研究者たちは両方の脆弱性をAppleに開示したが、同社はまだ対応計画を明らかにしていない。両方とも対応可能な緩和策があるが、Appleのみが自社OSに組み込むことができるパッチが必要だ。 FLOPがChromeとSafariの両方に影響を及ぼすのに対し、SLAPはSafariに特有のものだ。これはHacker Newsでlxgr氏が指摘しているようにSafariが「同じブラウジングコンテキストグループ」内での分離を実装していないためだ。 FirefoxとChromeは同じブラウジングコンテキストグループ内でも分離し、IPC経由で必要なAPIをブリッジしているようですので、Safariもいつか追いついてくれることを期待しています。 Hacker Newsでadrian_b氏が指摘したようにロード値予測器の有効性は、ARMアーキテクチャが固定長の命令を持っていることと厳密に関係しており、命令自体にデータを格納することが不可能になるため、 回避策としてこのようなISA向けプログラミングでは、定数はそれらを使用する関数のコード近くにある定数プールに格納され、ロード命令はプログラムカウンタ相対アドレッシングを使用して定数をロードします。 FLOPとSLAPを発見した研究者たちは、影響を受ける可能性のある他のCPUを認識していないが、その可能性を排除することはできないと述べている。 ムーアの法則の衰退により、よりエキゾチックなマイクロアーキテクチャの最適化が生まれる状況において、我々は現在あるいは近々、LAPがAppleだけのものではなくなると考えています。 サイドチャネル脆弱性とは、アルゴリズムの実装方法に起因する大きな脆弱性の一群であり、タイミング情報、消費電力、電磁波リーク、その他の種類の情報を利用して機密データを流出させる。その他の種類の情報を利用して機密データを流出させる。ここ数年、CPUに影響を与え、投機的実行を悪用する多くの主要なサイドチャネル脆弱性が、SpectreとMeltdownを含めて大きな懸念を引き起こしている。 作者について Sergio De Simone もっと見るより少なく

WALK NEWS
Appleの最新世代CPUに新たなサイドチャネル脆弱性が影響 – InfoQ

ジョージア工科大学とルール大学ボーフムの研究者が、ポピュラーなWebサイトを閲覧する際に最近のApple MおよびA CPUでChromeとSafariを使って機密情報を漏えいさせる2つの新しいサイドチャネル攻撃をデモした。

WACOCA NEWS