AppleがmacOS 10.13 High Sierraで導入した新しいKernelセキュリティ「SKEL」はマウスイベントを2回実行するだけでバイパスできてしまう事が出来るそうです。詳細は以下から。
Appleは2017年秋にリリースしたmacOS 10.13 High Sierraでサードパーティ開発者が提供するカーネル拡張(KEXT:Kernel Extensions)をユーザーの許可無くインストールすることを禁じる新しいセキュリティ機能「Secure Kernel Extension Loading (以下、SKEL)」を導入し、開発者らはこの対応に追われていましたが、
元NSAで現在はDigita SecurityやObjective-Seeなどを運営するPatrick Wardleさんによると、このSKELのユーザー許可(User Assisted Extension Loading)はマウスイベントを2回実行するだけでバイパスできてしまうそうです。
From my @DefCon talk:
Apple's "User Assisted Kext Loading" is huge PITA for 3rd-party devs/breaks apps…but hackers can bypass trivially 😭//0day bypass
// 2x 🐭⬇️ on 'Allow' btn
CGPostMouseEvent(point, true, 1, down);
CGPostMouseEvent(point, true, 1, down);…blog soon📝 pic.twitter.com/PZESutEsaO
— patrick wardle (@patrickwardle) 2018年8月13日
🐭🐭
この脆弱性はラスベガスで行われたハッカー向けのカンファレンスDefConの“The Mouse is Mightier than the Sword(🐭は⚔️よりも強し)”発表され、Wardleさんによると、Appleは2017年10月にリリースした「macOS High Sierra 10.13追加アップデート」でクリック操作を偽造してKeychainにアクセスできてしまう脆弱性CVE-2017-7150をパスワード入力を必須にすることで修正したそうですが、
対象 OS:macOS High Sierra 10.13
影響:悪意のあるアプリケーションがキーチェーンのパスワードを抽出できる。
説明:アプリケーションでクリック操作を偽造して、キーチェーンアクセスのプロンプトを回避する手段が存在していました。この問題は、キーチェーンアクセスのプロンプトでユーザパスワードの入力を必須にすることで解決されました。
CVE-2017-7150:Synack の Patrick Wardle 氏macOS High Sierra 10.13 追加アップデートのセキュリティコンテンツについて – Apple サポート
この脆弱性を研究する中で、WardleさんはSKELの[許可]ボタンが低レベルAPI「CGPostMouseEvent」を利用して2回”mouse down”(up/downではなくdown&downのSynthetic Event)を行うことでボタンを押せることを発見したそうです。
この脆弱性はmacOS 10.14 Mojaveでは修正されているそうなので、AppleはHigh Sierra向けのセキュリティアップデートでもこの脆弱性を修正すると思われますが、SKELの[許可]ボタンにはボタンが押せない不具合や管理者権限の有無を巡っても議論が出ているため、AppleはSKELに関して特別なセキュリティメカニズムを導入しているようです。
- BlackHat & DefCon Slides – Patrick Wardle on Patreon
コメント
High Sierraってほんと酷いな
このバグに限らずMojaveでは構造的に見直されてることを願う
無理