La Integridad del sistema de Protección (SIP) es una directiva de seguridad global con el objetivo de prevenir los archivos del sistema y procesos de ser modificado por terceros. Para ello, cuenta con los siguientes conceptos:
- Protección del sistema de archivos
- Extensión del Kernel de protección
- Tiempo de ejecución de la protección
Protección del sistema de archivos
SIP impide a las partes que Apple a partir de la adición, supresión o modificación de directorios y ficheros almacenados en ciertos directorios:
/bin
/sbin
/usr
/System
Apple ha indicado que los siguientes directorios están disponibles para los desarrolladores acceder a:
/usr/local
/Applications
/Library
~/Library
Todos los directorios en /usr
, excepto para /usr/local
están protegidos por la SIP.
Es posible añadir, eliminar o cambiar SIP protegidos los archivos y directorios a través de un paquete de instalación el cual es firmado por la propia Apple certificado de autoridad. Esto permite a Apple a hacer cambios en SIP, protegido partes del sistema operativo sin necesidad de cambiar la SIP existente protecciones.
El certificado de la autoridad en cuestión son reservados por Apple para su propio uso; ID de Desarrollador firmado por el instalador de paquetes que no son capaces de alterar SIP protegido archivos o directorios.
Para definir los directorios que están protegidos, de Apple, en la actualidad ha definido dos archivos de configuración en el sistema de ficheros. El principal se encuentra en la ubicación siguiente:
/System/Library/Sandbox/rootless.conf
donde rootless.conf
listas de todas las aplicaciones y el nivel superior de directorios que SIP es la protección.
Aplicaciones
SIP, es la protección de las aplicaciones básicas que OS X se instala en Aplicaciones de Aplicaciones y Utilidades. Esto significa que ya no será posible eliminar las aplicaciones que OS X se instala, incluso desde la línea de comandos cuando el uso de los privilegios de root.
Directorios
SIP es también la protección de un número de directorios de enlaces simbólicos y fuera de la /Applications
y el nivel superior de los directorios también son mencionados en rootless.conf
.
Además de las protecciones, Apple también ha definido algunas excepciones a la SIP de la protección en el desarraigo.conf archivo, y las excepciones se marcan con asterixes. Estas exenciones de SIP de protección significa que es posible añadir, eliminar o modificar los archivos y directorios dentro de esos lugares.
Entre esas excepciones son las siguientes:
-
/System/Library/User Template
- donde OS X almacenes de la plantilla
los directorios se utiliza cuando se crean las carpetas de inicio para nuevas cuentas.
-
/usr/libexec/cups
- donde OS X almacena la configuración de la impresora
información
Apple considera que este archivo de la suya y que terceras partes de los cambios a que será reemplazado por el de Apple.
Para ver los archivos que han sido protegidos por la SIP, el uso de la ls
comando con una pizca de capital O en la Terminal:
ls -O
SIP archivos protegidos sean clasificados como restringidos.
Una importante creo saber es que incluso si un enlace está protegido por la SIP, que no significa necesariamente que el directorio en el enlace que está protegida por la SIP. En el nivel root de un OS X El Capitán de la unidad de arranque, hay varios del SIP-protegida de enlaces apuntando a directorios almacenados en el interior de la root a nivel de directorio de nombre private
.
Sin embargo, cuando el contenido de la private
directorio son examinados, los directorios que los enlaces simbólicos punto de que no están protegidos por la SIP, y tanto ellos como sus contenidos pueden mover, editar o cambiar por procesos con privilegios de root.
En adición a la lista de SIP excepciones que Apple ha puesto en rootless.conf
, hay una segunda lista de SIP excepciones. Esta lista incluye un número de directorios y nombres de aplicación para productos de terceros. Similar a rootless.conf
, esta exclusión de la lista es de Apple y de terceros de los cambios a que será reemplazado por el de Apple.
/System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths
Tiempo de ejecución de la protección
SIP protecciones no se limitan a proteger el sistema de sistema de ficheros cambios. Existen también las llamadas al sistema que ahora están restringidas en su funcionalidad.
- task_for_pid() / processor_set_tasks() no con EPERM
- Mach puertos especiales se restablecen en exec(2)
- dyld variables de entorno son ignorados
- DTrace sondas no está disponible
Sin embargo, la SIP no bloquear la inspección por el promotor de sus propias aplicaciones mientras están siendo desarrollados. Xcode herramientas continuará para permitir que las aplicaciones para ser inspeccionado y depurando durante el proceso de desarrollo.
Para más detalles sobre esto, recomiendo echar un vistazo a los desarrolladores de Apple, la documentación para el SIP.
Extensión del Kernel de protección
SIP instalación de bloques de unsigned extensiones del kernel. Con el fin de instalar una extensión del kernel de OS X El Capitan con SIP habilitado, una extensión del kernel debe:
- Estar firmado con un ID de Desarrollador para la Firma de Kexts certificado
- Instalar en /Library/Extensions
Si va a instalar un kernel sin firmar extensión SIP tendrá que ser de los discapacitados.
Para obtener más información sobre la gestión de SIP, por favor, eche un vistazo en el siguiente enlace:
La Integridad del sistema de Protección – Añadiendo otra capa de Apple modelo de seguridad