本文へデスレイ:信頼できないサイトがMacをフリーズさせる簡単な方法
概要
- WebGPUシェーダー を悪用した攻撃「Deathray」により、 MacのUIがフリーズ する脆弱性
- リンクをクリックするだけ で発動し、再起動が必要になるケースが多い
- MacOS限定 で再現し、他のOSでは深刻な影響は確認されていない
- Appleは現時点で 重大なセキュリティ問題と認識していない
- ユーザーの信頼を損なう可能性があり、 対策が求められる
Deathray:信頼できないサイトによるMacフリーズ攻撃
- WebGPUシェーダー を利用した新しい攻撃手法「Deathray」の概要
- 被害者がリンクをクリック するだけで、MacのグラフィックがハングしUIが操作不能となる現象
- MacOSのChrome、Firefox、Safari すべてで再現、他のOSではタブフリーズ程度に留まる
- MシリーズMacBook(Tahoe) で確認、他機種での再現性は未検証
技術的な仕組み
- WebGPU はWebGLの後継として登場したブラウザ内蔵のGPU制御API
- 攻撃コードは 非常に小さいファイル で実現可能
- 重要部分は 無限ループを含むComputeシェーダー と、同一バッファを参照するVertexシェーダー
- Computeシェーダーが バッファを無限にコピー し続ける
- Vertexシェーダーが同じバッファを読み込もうとし、処理が停止
- この結果、 WindowServer(MacのUI管理プロセス) もGPU資源を使えなくなり応答不能
- 状況によっては マウス操作や画面表示も異常 になり、最終的にカーネルパニックが発生
他OSとの比較・Apple Siliconの課題
- 他のOS ではGPUプロセスのプリエンプション(強制停止)が正しく機能し、深刻な影響を回避
- Apple Silicon(Mシリーズ) ではGPU制御がカーネルから直接できず、 ASCコプロセッサ 経由となる特殊構造
- プリエンプション制御は ASCファームウェア 内で完結
- このアーキテクチャが 問題解決の難しさ につながっている可能性
過去事例とAppleの対応
- 2023年にも類似事例 (ShadyShader、WebGL悪用)が発生し、AppleはCVE-2023-40441として 中程度(CVSS 6.5) の脆弱性認定
- 当時は 入力検証強化 で対応
- 今回のWebGPUでは 無限ループ検出が不十分 で、同様の問題が再発
- Appleは本件を セキュリティ問題と認定せず、優先度が低い改善要望として扱う意向
セキュリティ観点とユーザー信頼
- Appleの見解:「 クラッシュ・フリーズ・回復可能なデータ損失はセキュリティ問題でない」
- セキュリティ研究者もこの意見に同調
- 一方、 一般ユーザーの多くは「リンククリックでPC全体がフリーズ」は信頼侵害と感じる傾向
- ブラウザの サンドボックス信頼性 に疑問を投げかける事例
今後への期待
- Deathray はRCEやデータ漏洩ほど深刻ではないが、 被害発生の敷居が非常に低い
- 悪用されれば「 意地悪なRickroll」のような迷惑行為が可能
- Appleには WebGPUの無効化ではなく、適切なプリエンプション強化 による根本対策が求められる
- ユーザー側も 不用意なリンククリックを避ける などの自衛が重要
まとめ
- WebGPUの普及に伴う新たな攻撃リスク の顕在化
- Apple Silicon固有のアーキテクチャ的課題 による対応の難しさ
- ユーザー信頼とセキュリティ認識のギャップ が浮き彫りとなった事例
- 今後の Appleの対応とWebGPUの発展 に注目