Microsoft が発見した macOS の脆弱性「Shrootless」 49
ストーリー by headless
発見 部門より
発見 部門より
Apple が先日修正した macOS の脆弱性 (CVE-2021-30892) について、発見者の Microsoft が解説している (Microsoft Security Blog の記事、 Neowin の記事、 Ars Technica の記事、 The Register の記事)。
Microsoft が「Shrootless」と呼ぶこの脆弱性は、攻撃者が Mac のシステム整合性保護 (SIP) をバイパスして任意コードの特権実行が可能になるというもの。SIP は非常に強力だが、システムアップデートなど特定のケースではバイパスが必要となるため、Apple はいくつかのエンタイトルメントを用意している。中でも com.apple.rootless.install と com.apple.rootless.install.inheritable は強力で、前者は SIP によるファイルシステムチェックを完全にバイパスし、後者は前者を子プロセスに継承する。
Shrootless 脆弱性はcom.apple.rootless.install.inheritable エンタイトルメントを持つ system_installd デーモンにより引き起こされる。system_installd はApple の署名入りパッケージ (.pkgファイル) をインストールする際に呼び出され、パッケージがポストインストールスクリプトを含む場合、デフォルトシェル zsh を呼び出してスクリプトを実行する。
zsh は起動時に /etc/zshenv ファイルを探し、見つけたらファイル内のコマンドを自動で実行するため、攻撃者は攻撃用のコマンドを記述した zshenv ファイルを作成して待っていればいい。各ユーザープロファイルの ~/.zshenv は zshenv と同じ動作をし、書き込みに特権が必要ないため、より容易な攻撃が可能になるとのこと。
Shrootless 脆弱性は 10 月 25 日リリースの macOS Monterey 12.0.1 / Big Sur 11.6.1 / 2021-007 Catalina で修正されている。
Microsoft が「Shrootless」と呼ぶこの脆弱性は、攻撃者が Mac のシステム整合性保護 (SIP) をバイパスして任意コードの特権実行が可能になるというもの。SIP は非常に強力だが、システムアップデートなど特定のケースではバイパスが必要となるため、Apple はいくつかのエンタイトルメントを用意している。中でも com.apple.rootless.install と com.apple.rootless.install.inheritable は強力で、前者は SIP によるファイルシステムチェックを完全にバイパスし、後者は前者を子プロセスに継承する。
Shrootless 脆弱性はcom.apple.rootless.install.inheritable エンタイトルメントを持つ system_installd デーモンにより引き起こされる。system_installd はApple の署名入りパッケージ (.pkgファイル) をインストールする際に呼び出され、パッケージがポストインストールスクリプトを含む場合、デフォルトシェル zsh を呼び出してスクリプトを実行する。
zsh は起動時に /etc/zshenv ファイルを探し、見つけたらファイル内のコマンドを自動で実行するため、攻撃者は攻撃用のコマンドを記述した zshenv ファイルを作成して待っていればいい。各ユーザープロファイルの ~/.zshenv は zshenv と同じ動作をし、書き込みに特権が必要ないため、より容易な攻撃が可能になるとのこと。
Shrootless 脆弱性は 10 月 25 日リリースの macOS Monterey 12.0.1 / Big Sur 11.6.1 / 2021-007 Catalina で修正されている。
macOSは脆弱性の塊 (スコア:2, すばらしい洞察)
今日はこれだけ覚えて帰ってくれ
Re: (スコア:0)
いつものコピペ荒らしマンまだ?今日は休日だぞ
Re: (スコア:0)
そうなんだけど、他に実用(MS Office、印刷、プログラミング)に耐えて尚且つ明確により安全なOSがあるかと言われると、無くない?
Re: (スコア:0)
LinuxとWindowsが存在しない世界の人かな?
Re: (スコア:0)
明確により安全なOS
?
Re:macOSは脆弱性の塊 (スコア:1)
?
Re: (スコア:0)
Macが安全とか別な世界線の人かな?
Re: (スコア:0)
Macが安全とは言ってないが?
WindowsはMacより安全ですか?
LinuxはMS Officeを安定して使えますか?
そういうこと。
あと世界線ってなに?相対論の話の時だけにしてください。
Re:macOSは脆弱性の塊 (スコア:1)
Macが他のOS並に安全だとか思ってる?洗脳されすぎだよ。
Re: (スコア:0)
今どきWindowsもMacも安全性とかほぼ変わらないし
MS Officeをより安定して使えるのはWindowsだよね
Re: (スコア:0)
WindowsはMacより安全だし
LinuxはMS Officeを安定して使えるよ
Re: (スコア:0)
まあOfficeを重視するなら確かにWindowsの方がいいかもしれないが、逆に安定性はよくないからな
Windows UpdateやGPUドライバ更新のたびに不具合に悩まされるのはうんざり
Re: (スコア:0)
ここ10年はそんな目に合っていませんねえ.
家庭内と職場で,5台のWindows マシン使ってますが.
運が悪かったのでしょうね.
Re: (スコア:0)
LinuxとWindowsは、Macよりも実用(MS Office、印刷、プログラミング)に耐えて尚且つ明確により安全なOSですね。
Re: (スコア:0)
アクセサリーとしては完全に負けてますね。
Re: (スコア:0)
>実用(MS Office、印刷、プログラミング)
おもしろおかしい
Re: (スコア:0)
ゲームとネットしかしない人?
Re: (スコア:0)
Apple側の人間が実用(MS Office)って言ってるのが 面白いって話では
Re: (スコア:0)
面白いかなぁ?OS9だった20世紀からMac用Officeあるんだけど。
あとMacを擁護しただけでApple側と思われるのも極端のような。コスパや電池の持ちなど、総合的に見て普段使いにMacを選んだだけなのに。別に他OSのアンチではないので、必要な時はWindowsも使うし、Linuxだって毎日CUIゴリゴリしてるよ。
Re: (スコア:0)
Apple擁護してるやつがWindows作ってるMSのOffice使ってポジショントークしてんのが滑稽っていう話だよ
//言わせんな恥ずかしい/////
Re: (スコア:0)
別に仕事で使うソフトが使えるOSで、Macより明確に安全なOSが無いって(WindowsがMacに劣るとは言っていない)だけなんだから、
日常で使うソフトがMS製だろうと、なんなら仮想環境でWindows使ってたって、いいと思うんだが。
頭か固くね?
Re: (スコア:0)
元々OfficeってMac用のソフトなんですけど
Re: (スコア:0)
Excelはそうかもね.
Re: (スコア:0)
プログラミング環境としてのMacOSってほぼGUI付きUNIXとしての評価でxcodeとかOpenGLとかObjCとか正直クソだと思ってる。
Re: (スコア:0)
実際その通りで、個人的にMacのOSとしての評価はGUIがまともなUnixというだけ。あとはAppleハードのトラックパッドでポイント加点されている感じ。
XCodeはiOS用かMac用GUI作るときにしか使ってる人いないんじゃないかな?
ObjCは今となってはクソだけど、Classic時代から代々使われている言語なので許してあげて。あれプログラマーはクラスとか使えるけど、裏ではただC言語に変換してコンパイル、ランタイムとリンクしてるだけなの。だからランタイムライブラリのAPI叩けばC言語だけで今時のアプリも書けるよ!苦行だけど。(開発当時、C++とどっちの方が良かったかは各自の判断にお任せします)
OpenGLはAppleも見限ったけど、イニシャライズをライブラリに任せるとそんなに悪くないと思う。WebGLとかにも繋がってるし。
Re: (スコア:0)
元コメですがOpenGLに関してはAppleが切ったことに関してのクソですね。
切るなら切るでVulkanはちゃんとサポートしろって言う。
Re: (スコア:0)
METALが用意されたじゃない
そうじゃないだろって言いたい気がしてくる
Re: (スコア:0)
macOSはそのUnixの部分が他の*nixと比べて使いづらいというか…
うっかりさん (スコア:0)
bashの場合なら.bash_profileとか.bashrcに悪意のあるコマンドを仕込んどいてログインしたら自動実行しちゃう感じか
Re:うっかりさん (スコア:3, 参考になる)
ログイン時だと、そのユーザーの権限内でしか動作しないけれど、
この脆弱性の場合、署名入りのパッケージをインストールした際にzshが起動されることがあり、
起動されたzshがzshenvファイルを実行した結果、zshenvファイルが特権実行される。
Re: (スコア:0)
わからないなら喋るな
Re: (スコア:0)
さらっと修正したとか言ってるけどどんな修正したんだろう
zshenvファイルを使用できなくしたの?
おすすめの対策方法 (スコア:0)
「SIPはセキュリティ境界ではない」と宣言する
Re: (スコア:0)
「SIPはセキュリティ境界ではない」と宣言する
またはSession Initiation Protocolのことですとかすっとぼけてもいい
よくわからん (スコア:0)
/etc/zshenvとか~/.zshenv弄れる時点でそこまでは既に侵害されてるのよね?
矯正アクセス制御みたいな「たとえrootでも何でもできるわけじゃないよ」っていう制限がバイパスされちゃうって事かしら
Re:よくわからん (スコア:1)
そういう事。
MacのMAC(強制アクセス制御 [wikipedia.org])で、rootでもなんでも出来る訳じゃなくなったから、抜け道としてこの脆弱性が利用されうる。
Windowsでもそうだけど、Administrators権限持っていても出来る事は制限されてるので、SYSTEM権限でどうにか動かそうとするような奴ね。
Re: (スコア:0)
SYSTEM「せ、先生っ!」
NT Service\TrustedInstaller「どぉ〜れ〜」
Re: (スコア:0)
ソイツを突こうとするやつらに散々揉まれた経験から気づけたんですかね。
Re: (スコア:0)
ドライバレベルの権限としては
あれこれできちゃうわけですね
bash全盛の中 (スコア:0)
zshの魅力や利点ってなんだろう?
Apple好きの人なら語れるよね?
Re: (スコア:0)
Mac使いじゃないけど、プログラムの引数も補完できるのは便利だと思う。
あと、コマンド打ってる途中で、引数のパラメータを調べる為にコマンドを打つのが楽。(ネスト出来るので、段取りが悪くてもなんとかなる。)
個人的には*の展開で.と..が無いから
rm -rf .*
とかやって、親ディレクトリまで喪わないのは凄いメリットだよ!
Re: (スコア:0)
bashもbash-completion [github.com]を使えばパラメータ補完ができますよ。
Re: (スコア:0)
さあ?zshが原因の脆弱性じゃないし
Re: (スコア:0)
GPLv3 ではないこと。
zsh に転換するまでずっと古い bash を使い続けていたのも GPLv2 から変えたくなかったから。
Re: (スコア:0)
Ubuntuもデフォルトはdashだし、bash全盛って前提の方が間違っているのでは?
Re: (スコア:0)
Ubuntuもデフォルトはdashだし
え、そうなん?
入替えた覚えないけどうちのは全部bashですね。
# バージョンは全て20.04
Re:bash全盛の中 (スコア:1)
// 組み込みはashが当然
Re: (スコア:0)
なるほど、そういうことですか。
内部処理で軽いのを使うのは納得なんですけど、Macはnon-interactiveでもzsh使ってるんですかね。
Re: (スコア:0)
右プロンプト(RPROMPT)が使える。これだけのためにzshを使っていると言っても過言ではない。