Microsoft が発見した macOS のバグ:System Integrity Protection がバイパスされる

Microsoft found Shrootless bug in macOS that could bypass System Integrity Protection

2021/10/28 SecurityAffairs — Microsoft は、Shrootless (CVE-2021-30892) と呼ばれる macOS の脆弱性を発見した。この脆弱性により、攻撃者は System Integrity Protection (SIP) を回避し、脆弱なデバイスでの root 権限取得や、rootkit のインストールなどの、悪意のアクティビティを実行できる。

System Integrity Protection (rootless とも呼ばれる) とは、OS X El Capitan (2015 OS X 10.11) で導入された macOS のセキュリティ機能である。この SIP 技術により、root ユーザーがシステムの完全性を侵害する操作が制限される。

今回の欠陥は、Microsoft Security Vulnerability Research (MSVR) を通じて Apple に報告された。SIP では、Apple の署名を受けたプロセス、または、特別な権限を持つプロセス (Apple のアップデートやインストーラなど) のみが、macOS の保護された部分を変更できるように設計されている。

研究者たちは、脅威アクターが特別に細工したファイルにより、インストール・プロセスをハイジャックできると報告している。Microsoft は、「このデーモンは、強力な com.apple.rootless.install.inheritable エンタイトルメントを持っている。この資格があれば、system_installd の子プロセスは、SIP ファイル・システムの制限を完全に回避することができる」と発表している。

Microsoft の専門家は、system_installd デーモンが com.apple.rootless.install.inheritable エンタイトルメントを持っていることに気づき、Shrootless のセキュリティ上の欠陥を発見した。Microsoft は、以下のアルゴリズムを実装して、カーネル拡張機能の除外リストを無効にするという、PoC エクスプロイトを作成した。

  1. インストール後のスクリプトがあることが分かっている、Apple 署名入りパッケージを (wget を使って) ダウンロードする。
  2. 親プロセスをチェックし、それが system_installd であれば、制限された場所に書き込みを行う悪意の /etc/zshenv を仕掛ける。
  3. インストーラを起動してパッケージをインストールする。

10月26日に Apple は、セキュリティ・アップデートをリリースし、この欠陥に対処したが、この問題については Microsoft の Jonathan Bar Or を信用しているという。

Apple が公開したセキュリティ・アドバイザリには、「悪意のアプリケーションが、ファイル・システムの保護された部分を、変更する可能性がある」と記載されている “説明” を参照してほしい。継承されたパーミッションの問題は、追加の制限で対処された。

この脆弱性 Shrootless (CVE-2021-30892) を、お隣のキュレーション・チームに確認したところ、10月28日に Catelina/Big Sur/Monterey のアップデート情報をレポートにしたとのことです。深刻度は、いずれも High になっていました。このブログを書いている Mac も、数日前にアップデートしていましたが、この問題への対処だったのですね。

%d bloggers like this: