Macでシステム整合性保護を無効にする方法(および無効にする理由)

Mac OS X 10.11 El Capitanは、システム整合性保護という新機能でシステムファイルとプロセスを保護します。SIPは、「root」アカウントが実行できることを制限するカーネルレベルの機能です。

これは優れたセキュリティ機能であり、ほとんどすべての人(「パワーユーザー」や開発者でさえ)は有効のままにしておく必要があります。ただし、本当にシステムファイルを変更する必要がある場合は、それをバイパスできます。

システム整合性保護とは何ですか?

関連:Unixとは何ですか、なぜそれが重要なのですか?

Mac OS XおよびLinuxを含む他のUNIXライクなオペレーティングシステムには、従来はオペレーティングシステム全体に完全にアクセスできる「root」アカウントがあります。rootユーザーになる(またはroot権限を取得する)と、オペレーティングシステム全体にアクセスできるようになり、ファイルを変更および削除できるようになります。root権限を取得したマルウェアは、それらの権限を使用して、低レベルのオペレーティングシステムファイルを損傷および感染させる可能性があります。

セキュリティダイアログにパスワードを入力すると、アプリケーションにルート権限が付与されます。多くのMacユーザーはこれに気付いていないかもしれませんが、これは伝統的にオペレーティングシステムに対して何でもすることを可能にします。

システム整合性保護(「rootless」とも呼ばれます)は、rootアカウントを制限することで機能します。オペレーティングシステムカーネル自体がrootユーザーのアクセスをチェックし、保護された場所の変更や保護されたシステムプロセスへのコードの挿入などの特定のことを許可しません。すべてのカーネル拡張機能は署名されている必要があり、Mac OSX自体からシステム整合性保護を無効にすることはできません。ルート権限が昇格されたアプリケーションは、システムファイルを改ざんできなくなりました。

次のいずれかのディレクトリに書き込もうとすると、これに気付く可能性が高くなります。

  • /システム
  • /置き場
  • / usr
  • / sbin

OS Xはそれを許可せず、「操作は許可されていません」というメッセージが表示されます。OS Xでは、これらの保護されたディレクトリの1つに別の場所をマウントすることもできないため、これを回避する方法はありません。

保護された場所の完全なリストは、Macの/System/Library/Sandbox/rootless.confにあります。Mac OS Xに含まれているMail.appやChess.appアプリなどのファイルが含まれているため、rootユーザーとしてコマンドラインからでもこれらを削除することはできません。ただし、これは、マルウェアがこれらのアプリケーションを変更および感染できないことも意味します。

偶然ではありませんが、ディスクユーティリティの「ディスク権限の修復」オプション(さまざまなMacの問題のトラブルシューティングに長い間使用されていました)が削除されました。システム整合性保護は、とにかく、重要なファイルのアクセス許可が改ざんされるのを防ぐ必要があります。ディスクユーティリティは再設計されており、エラーを修復するための「応急処置」オプションがありますが、アクセス許可を修復する方法は含まれていません。

システム整合性保護を無効にする方法

警告:そうする非常に正当な理由があり、自分が何をしているのかを正確に理解していない限り、これを行わないでください!ほとんどのユーザーは、このセキュリティ設定を無効にする必要はありません。これは、システムをいじるのを防ぐことを目的としたものではありません。マルウェアやその他の動作の悪いプログラムがシステムをいじるのを防ぐことを目的としています。ただし、一部の低レベルユーティリティは、アクセスが制限されていない場合にのみ機能する場合があります。

関連:リカバリモードでアクセスできる8つのMacシステム機能

システム整合性保護の設定は、Mac OSX自体には保存されません。代わりに、個々のMacのNVRAMに保存されます。リカバリ環境からのみ変更できます。

リカバリモードで起動するには、Macを再起動し、Command + Rを押しながら起動します。回復環境に入ります。「ユーティリティ」メニューをクリックし、「ターミナル」を選択してターミナルウィンドウを開きます。

ターミナルに次のコマンドを入力し、Enterキーを押してステータスを確認します。

csrutilステータス

システム整合性保護が有効になっているかどうかがわかります。

システム整合性保護を無効にするには、次のコマンドを実行します。

csrutil disable

後でSIPを有効にする場合は、回復環境に戻り、次のコマンドを実行します。

csrutil enable

Macを再起動すると、新しいシステム整合性保護設定が有効になります。これで、rootユーザーは、オペレーティングシステム全体とすべてのファイルに完全に無制限にアクセスできるようになります。

MacをOSX 10.11 El Capitanにアップグレードする前に、これらの保護されたディレクトリにファイルが保存されていた場合、それらは削除されていません。Macの/ Library / SystemMigration / History / Migration-(UUID)/ QuarantineRoot /ディレクトリに移動されていることがわかります。

画像クレジット:Flickrのシンジ