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

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

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


AMFI(Apple Mobile File Integrity)(現時点でmacOS独自のコマンドでは無効化はほぼ不可能)
AMFI(Apple Mobile File Integrity)は少なくともmacOS Sierraから存在するプロテクトで「Mobile」と入っているように元々はiOSにのみ存在したプロテクトのようだ。
AMFIについては完全な無効化の方法がないため、ここではAMFIについて触れておくのみとするが、もし今後プロテクトの無効化方法が見つかったら追記したい。
ただ、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

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を無効化したとしてもシステムファイルの変更(システムアイコンなどの変更)は極めて難しくなっている。
更にSSVを無効にした上でシステムファイルを弄ったとしても大抵の場合FireVault有効環境では変更が適用されず、加えて再度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では通用しなくなる可能性がある点に注意して頂きたい。