System Integrity Protection or Rootless mode is a security feature of OS X El Capitan operating system by Apple Inc. It protects certain system processes, file and folders from being modified or tampered with by other processes even when executed by the root user or by a user with root privileges(sudo). Following are the the key concepts of System Integrity Protection.
1. System Locations Cannot Be Written To - System files can be modified only by system processes signed with Apple’s code signing identity. App processes
should instead write to locations designated for third-party developers.
The following directories can only be written to by the system:
System-Only Locations
● /bin
● /sbin
● /usr
● /System
In contrast, the following directories are available to any process:
Locations Available to Developers
● /usr/local
● /Applications
● [~]/Library
All directories in /usr except for /usr/local are restricted to the system. Apple app directories in
/Applications are restricted to the system.
2. System Processes Cannot Be Attached To - System binaries can be modified only by Apple Installer and Software Update from Apple-provided packages,
and no longer permit runtime attachment or code injection.
3. Kernel Extensions Must Be Signed - Kernel extensions must be signed with a Developer ID for Signing Kexts certificate.
Security configuration is stored in NVRAM rather than in the file system itself. As a result, this configuration
applies to all installations of OS X across the entire machine and persists across OS X installations that support
System Integrity Protection.
System Integrity Protection can be configured using the csrutil(1) command.
The following command will check the status of the SIP on the system.
$ csrutil status
System Integrity Protection status: enabled.
To enable or disable System Integrity Protection, you must boot to Recovery partition and run the csrutil command from the Terminal.
1. Boot to Recovery OS by restarting your machine and holding down the Command and R keys at startup.
2. Launch Terminal from the Utilities menu.
3. Enter the following command:
$ csrutil disable
Note: After enabling or disabling System Integrity Protection on a machine, a reboot is required.
For more information on SIP, click here
Comments
Post a Comment