macOS 10.13 High Sierraで導入されたカーネル機能拡張のセキュリティ機能「SKEL」は管理者権限無しで承認出来るのか?

スポンサーリンク

 「macOS 10.13 High Sierraで導入されたカーネル機能拡張のセキュリティ機能「SKEL」が非管理者でも変更できていいのか?」という話が話題になっています。詳細は以下から。

Apple Kext icon

 Appleは2017年年09月にリリースした「macOS 10.13 High Sierra」で、新たにサードパーティ製カーネル拡張(.kext)を管理者の承認なしにロードできないようにするSecure Kernel Extension Loading (以下, SKEL)」というセキュリティ機能を導入し、開発者に対し初めてkextをロードする際は以下の様にシステム環境設定での承認が必要になることを周知する様に求めていましたが、

アメリカ国土安全保障省のセキュリティ部門US-CERTで#iamroot問題などmacOS向けの注意勧告を公開しているWill Dormannさんが「非管理者アカウントで、管理者認証なしにSKELの承認が出来たけど、これは正しいの?」とツイートして話題になっています。

SKELのBadUI

スポンサーリンク

機能的には正しい

 Dormannさんのツイートは以下の通りですが、実際これはHigh SierraのSKELの仕様通りの動作で、AppleはMacにアクセスできる全てのユーザーに対しカーネル拡張の承認を許可しているため、

  1. macOS 10.13 High Sierraのシステム環境設定のウィンドウは鍵がかかっているが”Oracle America, Inc.”のkextのロードを[許可]するボタンはこれを無視してクリックできる。
  2. クリックすると確かにOracle(Virtualbox)のkextがロードされるが、依然として鍵はかかったままであり、管理者認証は無かった。
  3. 現在のユーザーを確認すると非管理者権限であり、誰でもkextモジュールをロードすることが可能になっている。

クリックで拡大

Mac のセキュリティを強化するため、macOS High Sierra のインストール時に (またはインストール後に) インストールされるカーネル機能拡張は、ユーザの同意がなければ読み込めなくなっています。これを「User Approved Kernel Extension Loading」と呼んでいます。管理者権限を持っていなくても、どのユーザでもカーネル機能拡張を承認できます。

macOS High Sierra のカーネル機能拡張の変更点について準備を進める – Apple サポート

「また、macOSに管理者権限をバイパスできてしまう不具合が見つかった」といった誤った意見(後にDormannさんが訂正しています)の他に、「この(SKEL)セキュリティ機能に意味はあるのか?」「管理者権限(南京錠)と[許可]ボタンは関係がなく、誤解を招くGUIだ]といった意見が出ていますが、AppleはmacOS 10.13.2でもSKELの機能アップデートしているので、今後修正されるかもしれません。

コメント

  1. 匿名 より:

    ジョブズは説明書がなくても操作できる直感的UIにこだわりを持ってたけど、今のAppleは完全にその思想は失ってるなと思う。iOSもそうだし、今回の件にもその一端が垣間見える。

  2. 匿名 より:

    もしかしたら、これのせいでiamroot問題が起きたんじゃないか?と遠回しに言いたいのかも・・・

  3. 匿名 より:

    複数のカーネル拡張をインストールしたばあい、どうなるんでしょうね。このUI

    拒否はできないのかな