macOS Sierraで新たに導入されたセキュリティ機能「Gatekeepr Path Randomization」についてのまとめです。詳細は以下から。
AppleはmacOS SierraでGatekeeperの機能を強化するため、システム環境設定から署名がされていない、いわゆる野良アプリを常に実行できる「すべてのアプリケーションを許可」オプションを削除していますが、Sierraではさらに「Gatekeepr Path Randomization」という新しいセキュリティ機能が導入されています。
Gatekeeper Path Randomizationとは?
Gatekeepr Path Randomization(GPR)はWWDC 2016のセッション706”What’s New in Security”の中でも説明されている通り、「署名されたアプリと共に悪意のあるプラグインやJS, Python, AppleScriptなどのリソースを同梱し、アプリからこれらを実行することでGatekeeperをバイパスできる ”Repackaging”攻撃」からシステムを守るための新機能で、
例えば、最近増えてきた偽のAdobe Flashプラグインやアプリのインストールをトリガーとし、パッケージに同梱したマルウェアやアドウェアなどを同時にインストールしようとするRepackaging攻撃は、Gatekeeperが一時的に同梱されているリソースをランダムな場所へ移動すことで、これを防ぐことが可能になっています。
実際の挙動
上記の通り、最近ではRepackaging攻撃を施したアドウェアインストーラーなどが多く出回っているため、実際にSierraでGPRの動作を試してみました。以下はListenToYouTube.comのアプリを装い、同梱されている不可視フォルダ内のmacLauncherアドウェアをインストールするインストーラーをEl CapitanとSierraで実行した時の様子で、
結果は、El Capitanでは”.app”フォルダ内の実行ファイル(Downloader)が偽造された”.mp3″ファイルの実行をトリガーとし起動してしまいましたが、SierraではこのトリガーがGPRにより無効化されています。
おまけ
GPRはMac App Storeで配布されているアプリや既にインストールされたアプリには影響しないため、ユーザーはGPRを意識すること無くよりセキュアなシステムを利用することが出来ますが、
For our fellow Mac devs: https://t.co/HgUsICXMiG
Gatekeeper Path Randomization is new in 10.12, and it may lead to issues with your apps.
— Rogue Amoeba (@RogueAmoeba) 2016年6月29日
GPRに対応していない古いアプリのインストーラーやpkg内にアンインストーラーなどのリソースファイルを同梱しているアプリなどは正しく動作しない場合があるので、ユーザーの方は各アプリの最新版を利用することをお勧めします。
コメント
へーまくできてるね
なんか読んでてスッキリしない説明だね。英文の解説も開発側の視点であって
一般ユーザー向けに説明しようとはしていない。
アプリが必要とするダイナミックライブラリをすり替えられる脆弱性があって、
インストール時に悪意のあるライブラリが読み込まれてアプリを書き換えようと
するから、リードオンリーのファイルシステムにインストーラーごと移動させて
しまえばインストール時にアプリを書き換えられない、って事の様だけどけど、
インストール前に展開したファイルを実行すれば、実行できてしまう様にも読める。