macOSの各種プロテクト無効化方法

ここではMac(macOS)においての各種プロテクトの無効化方法を解説する。

なお、プロテクト無効化といっても何らかのセキュリティを無理やり突破したりプロテクトを改ざんするのではなく、あらかじめmacOSに用意されているオプションを使って無効化する方法のみを掲載している。

macOSの各種プロテクト無効化方法とその役割

System Integrity Protection

SIP(System Integrity Protection)の無効化は下記コマンドをリカバリーモードのターミナルで実行する。

csrutil disable

「SIP」は既にこのブログの記事でも何度も取り上げたため、詳細にはついては下記記事を参照して頂きたいが、基本的にSIPはシステムファイルやNVRAMにおいて改ざんや不正な値が書き込まれることを防いでいる。

NVRAMなど特定のコンポーネントのみSIPを無効にする方法 macOSターミナルでNot Permitted(アクセス権)エラーが出た場合の対処法

AMFI(Apple Mobile File Integrity)

AMFI(Apple Mobile File Integrity)を無効化するには下記コマンドをリカバリーモードのターミナルで実行する。

nvram boot-args="amfi_get_out_of_my_way=1"

なお、このコマンドには表記の揺れがあり下記コマンドでもAMFIを無効にできる。

nvram boot-args="amfi_get_out_of_my_way=0x1"

また、AMFIの互換性チェックを無効にする場合は下記コマンドを実行する。

nvram boot-args="-no_compat_check amfi_get_out_of_my_way=1"

こちらも表記に揺れがあるため下記コマンドでも可能。

nvram boot-args="-no_compat_check amfi_get_out_of_my_way=0x1"

元に戻すには下記コマンドでboot argumentsを削除する。

nvram boot-args="" 
nvram -d boot-args

これらのコマンドには「get_out_of_my_way(そこをどけ・道を開けろ)」という嘘みたいな文言が入っているが、これでAMFIによるプロテクトや互換性チェックが無効になる。

AMFI(Apple Mobile File Integrity)は少なくともmacOS Sierraから存在するプロテクトで「Mobile」と入っているように元々はiOSにのみ存在したプロテクトのようだ。

ただ、AMFIについては調べた限り日本国内では言及しているWebサイトはなく、海外でも詳細に説明しているのは下記のようなサイトに留まる。

参考 AMFI: checking file integrity on your MacTHE ECLECTIC LIGHT COMPANY

なお、上記サイトにおいても筆者が「間違っていたら指摘してほしい」と書いているようにAMFIについては謎が多い部分もあるようだ。

なお、AMFIのクライアントはカーネル拡張(kext)として下記フォルダに存在する。

/System/Library/Extensions

AMFIは不正なソフトウェアの読み込みを防ぐために証明書情報などを起動時にチェックしているようだ。

なお、大抵のmacOSではシステムを弄る際はSIPの無効化で事足りる。

AMFIの無効化はプロテクトが一段と強化されたmacOS Big Surのシステムを弄る際に用いるか、Hackintoshや極めて特殊なアプリケーション利用時に要求されるに留まる。

Signed System Volume

参考 Protecting data at multiple layersApple Developer

macOS Big Surでは「Signed System Volume(SSV)」という新たなプロテクトが導入された。

SSVを無効にするには下記コマンドをリカバリーモードのターミナルで実行する(macOS Big Surのみ)。

csrutil authenticated-root disable

SSVで保護されているボリューム上のデータはSHA-256のハッシュを持っており、何らかのファイルやデータがロードされるとハッシュを比較し、不正なソフトウェアが読み込まれることを防いでいる他、起動の度にブートローダーがAppleの署名をチェックしている。

macOS Big Surでは基本的にシステムファイルを弄るには前述のSIPの無効化に加えてSSVの無効化も必要になり、例えSSVを無効化したとしてもシステムファイルの変更(システムアイコンなどの変更)は極めて難しくなっている。

macOS Big Surのシステムアイコンを変更するスクリプトは下記サイトで$4でアイコン類と一緒に販売されている(実際に管理人は購入したが怪しいスクリプトではない)。

参考 Monterey Icon ThemeGavin Nelson

なお、上記スクリプトは開発者が「将来のmacOS Big Surで有効かは保証できない」としている。

まとめ

本記事ではmacOS Big Surも含めて「SIP」「AMFI」「SSV」の3つのプロテクトについて扱ったが、もちろんmacOSには他にも様々なプロテクトが施されており、それらの無効化方法が判明した場合は改めて追記するが、macOS Big SurのSSVのようにmacOSはバージョンを重ねる度にプロテクトが強固になり、ユーザーの自由度は低下している傾向にある。

本記事でまとめた無効化方も将来のmacOSでは通用しなくなる可能性がある点に注意して頂きたい。