macOS Sierraで新たに導入されたセキュリティ機能「Gatekeepr Path Randomization」について。

スポンサーリンク

 macOS Sierraで新たに導入されたセキュリティ機能「Gatekeepr Path Randomization」についてのまとめです。詳細は以下から。

Gatekeeper icon

 AppleはmacOS SierraでGatekeeperの機能を強化するため、システム環境設定から署名がされていない、いわゆる野良アプリを常に実行できる「すべてのアプリケーションを許可」オプションを削除していますが、Sierraではさらに「Gatekeepr Path Randomization」という新しいセキュリティ機能が導入されています。

macos-sierra-unknow-dev-app-gatekeeper

Gatekeeper Path Randomizationとは?

 Gatekeepr Path Randomization(GPR)はWWDC 2016のセッション706”What’s New in Security”の中でも説明されている通り、「署名されたアプリと共に悪意のあるプラグインやJS, Python, AppleScriptなどのリソースを同梱し、アプリからこれらを実行することでGatekeeperをバイパスできる ”Repackaging”攻撃」からシステムを守るための新機能で、

gatekeeper-repackaging

例えば、最近増えてきた偽のAdobe Flashプラグインやアプリのインストールをトリガーとし、パッケージに同梱したマルウェアやアドウェアなどを同時にインストールしようとするRepackaging攻撃は、Gatekeeperが一時的に同梱されているリソースをランダムな場所へ移動すことで、これを防ぐことが可能になっています。

WWDC-2016-706-Whats-Gatekeepr-Path-Randomization

実際の挙動

 上記の通り、最近ではRepackaging攻撃を施したアドウェアインストーラーなどが多く出回っているため、実際にSierraでGPRの動作を試してみました。以下はListenToYouTube.comのアプリを装い、同梱されている不可視フォルダ内のmacLauncherアドウェアをインストールするインストーラーをEl CapitanとSierraで実行した時の様子で、

Finderで不可視ファイルを表示するように設定し、Gatekeeperは「すべてのアプリケーションを許可」をONにしてあります。

結果は、El Capitanでは”.app”フォルダ内の実行ファイル(Downloader)が偽造された”.mp3″ファイルの実行をトリガーとし起動してしまいましたが、SierraではこのトリガーがGPRにより無効化されています。

おまけ

 GPRはMac App Storeで配布されているアプリや既にインストールされたアプリには影響しないため、ユーザーはGPRを意識すること無くよりセキュアなシステムを利用することが出来ますが、

GPRに対応していない古いアプリのインストーラーやpkg内にアンインストーラーなどのリソースファイルを同梱しているアプリなどは正しく動作しない場合があるので、ユーザーの方は各アプリの最新版を利用することをお勧めします。

コメント

  1. 匿名 より:

    へーまくできてるね

  2. 匿名 より:

    なんか読んでてスッキリしない説明だね。英文の解説も開発側の視点であって
    一般ユーザー向けに説明しようとはしていない。

    アプリが必要とするダイナミックライブラリをすり替えられる脆弱性があって、
    インストール時に悪意のあるライブラリが読み込まれてアプリを書き換えようと
    するから、リードオンリーのファイルシステムにインストーラーごと移動させて
    しまえばインストール時にアプリを書き換えられない、って事の様だけどけど、
    インストール前に展開したファイルを実行すれば、実行できてしまう様にも読める。