エグゼクティブ サマリー
Apple 社の OSX 10.13.4 では、IntelHD 5000 向けのカーネル拡張機能にメモリ破損の脆弱性が存在します。グラフィック リソースの不適切な処理方法に起因しています。VLC メディア アプリケーションに挿入されたライブラリにより、KEXT 内で Out-of-bounds Read(境界外読み取り)アクセスを引き起こされる可能性があります。Use After Free 攻撃により、カーネルの権限でメモリに不正アクセスされる危険性があります。攻撃者はこれは特権昇格に利用する可能性があります。
脆弱性の詳細
IntelHD5000 で確認された Use After Free の脆弱性(TALOS-2018-0614/CVE-2018-XXXX)
Apple 社の OSX は種々の GPU をサポートしています。そこでは複数の異なるカーネル拡張機能を採用し、ユーザ空間とカーネルとの間の相互作用を詳細に制御することで、グラフィックス バッファを効果的に使用しています。MacBook Pro(Retina)の内蔵 GPU は Intel HD 5000 プロセッサです。Intel HD 5000 向けのカーネル拡張機能はグラフィックのレンダリングと処理の全体で使用されており、特権昇格を引き起こす Use After Free の脆弱性から影響を受けます。この脆弱性は Safari サンドボックスの内部からも到達可能なため、攻撃対象領域を広げています。
Apple 社のカーネル拡張機能では、制限付きサブセット言語と IOKit(ユーザ空間とカーネルとの間の、独自の通信方法)が使用されています。簡単に言えば IOKit は UserClient からクラスを継承し、独自のメソッドを登録してユーザ操作を処理します。IOKit のメソッドは複数あり、それらを呼び出すことで各種の UserClient に接続できます。UserClient に接続するとポートが返されます。このポートは以降のすべての通信で転送されます。今回の脆弱性に関する概念実証では、ポートの基本的な接続とポート設定を処理するのに VLC を使用しました。
詳細については、こちらからアドバイザリをご覧ください。
IIntelHD5000 で確認された Use After Free の脆弱性(TALOS-2018-0615/CVE-2018-XXXX)
Apple 社の OSX は種々の GPU をサポートしています。そこでは複数の異なるカーネル拡張機能を採用し、ユーザ空間とカーネルとの間の相互作用を詳細に制御することで、グラフィックス バッファを効果的に使用しています。MacBook Pro(Retina)の内蔵 GPU は Intel HD 5000 プロセッサです。Intel HD 5000 向けのカーネル拡張機能はグラフィックのレンダリングと処理の全体で使用されており、特権昇格を引き起こす Use After Free の脆弱性から影響を受けます。この脆弱性は Safari サンドボックスの内部からも到達可能なため、攻撃対象領域を広げています。
Apple 社のカーネル拡張機能では、制限付きサブセット言語と IOKit(ユーザ スペースとカーネルとの間の、独自の通信方法)が使用されています。簡単に言えば IOKit は UserClient からクラスを継承し、独自のメソッドを登録してユーザ操作を処理します。IOKit のメソッドは複数あり、それらを呼び出すことで各種の UserClient に接続できます。UserClient に接続するとポートが返されます。このポートは以降のすべての通信で転送されます。今回の脆弱性に関する概念実証では、ポートの基本的な接続とポート設定を処理するのに VLC を使用しました。
詳細については、こちらからアドバイザリをご覧ください。
脆弱性が確認されたバージョン
OS X 10.13.4 – MacBookPro 11.4
まとめ
今回の脆弱性は Safari ブラウザを介して引き起こされる可能性があります。そのため、影響を受けるソフトウェア、ドライバやライブラリが OS のエコシステム全体で広く使用されていることをユーザ自身が理解しておくのが重要です。OS 内で特権昇格が起きると、攻撃者は信頼されていないユーザ アカウントから、信頼されているシステム アカウントに移動できます。これにより管理アクセスを与え、不正行為を許す危険性があります。
カバレッジ
脆弱性のエクスプロイトは、以下の SNORT? ルールにより検出可能です。今後、脆弱性に関する新たな情報が追加されるまでの間は、ルールが追加されたり、現行のルールが変更されたりする場合がありますのでご注意ください。最新のルールの詳細については、Firepower Management Center または Snort.org をご覧ください。
Snort ルール: 46858 46859
本稿は 2019年1月8日に Talos Group のブログに投稿された「Vulnerability Spotlight: Multiple Apple IntelHD5000 privilege escalation vulnerabilities」の抄訳です。