La protection de l'intégrité du système (SIP) est une politique de sécurité globale visant à empêcher la modification des processus et des fichiers système par des tiers. Pour ce faire, il repose sur les concepts suivants:
- Protection du système de fichiers
- Protection de l'extension du noyau
- Protection d'exécution
Protection du système de fichiers
SIP empêche les parties autres que Apple d'ajouter, de supprimer ou de modifier des répertoires et des fichiers stockés dans certains répertoires:
/bin
/sbin
/usr
/System
Apple a indiqué que les répertoires suivants sont accessibles aux développeurs:
/usr/local
/Applications
/Library
~/Library
Tous les répertoires à l' /usr
exception de /usr/local
sont protégés par SIP.
Il est possible d'ajouter, de supprimer ou de modifier des fichiers et des répertoires protégés par SIP via un package d'installation signé par la propre autorité de certification d'Apple. Cela permet à Apple d'apporter des modifications aux parties du système d'exploitation protégées par SIP sans avoir à modifier les protections SIP existantes.
L’autorité de certification en question est réservée par Apple pour leur propre usage; Les packages d'installation signés par l'ID de développeur ne peuvent pas modifier les fichiers ou les répertoires protégés par SIP.
Pour définir les répertoires protégés, Apple a défini deux fichiers de configuration sur le système de fichiers. Le principal se trouve à l'emplacement ci-dessous:
/System/Library/Sandbox/rootless.conf
où rootless.conf
répertorie toutes les applications et les répertoires de niveau supérieur protégés par SIP.
Applications
SIP protège les principales applications installées par OS X dans Applications et Applications Utilities. Cela signifie qu'il ne sera plus possible de supprimer les applications installées par OS X, même à partir de la ligne de commande lors de l'utilisation des privilèges root.
Répertoires
SIP protège également un certain nombre de répertoires et de liens symboliques en dehors de, /Applications
et le niveau supérieur de ces répertoires est également répertorié dans rootless.conf
.
Outre les protections, Apple a également défini certaines exceptions à la protection de SIP dans le fichier rootless.conf. Ces exceptions sont marquées d'un astérisque. Ces exemptions de la protection de SIP signifient qu'il est possible d'ajouter, de supprimer ou de modifier des fichiers et des répertoires au sein de ces emplacements.
Parmi ces exceptions sont les suivantes:
/System/Library/User Template
- où OS X stocke les répertoires de modèles qu'il utilise lors de la création de dossiers de base pour les nouveaux comptes.
/usr/libexec/cups
- où OS X stocke les informations de configuration de l'imprimante
Apple considère que ce fichier est le leur et que les modifications apportées par des tiers à ce fichier seront écrasées par Apple.
Pour voir quels fichiers ont été protégés par SIP, utilisez la ls
commande avec tiret majuscule O dans Terminal:
ls -O
Les fichiers protégés par SIP seront étiquetés comme étant restreints .
Il est important de savoir que même si un lien symbolique est protégé par SIP, cela ne signifie pas nécessairement que le répertoire auquel ils sont liés est protégé par SIP. Au niveau racine d'un lecteur d'amorçage OS X El Capitan, plusieurs liens symboliques protégés par SIP pointent vers des répertoires stockés dans le répertoire de niveau racine nommé private
.
Toutefois, lorsque le contenu du private
répertoire est examiné, les répertoires vers lesquels pointent ces liens symboliques ne sont pas protégés par SIP et peuvent être déplacés, édités ou modifiés, ainsi que leur contenu, par des processus utilisant les privilèges root.
Outre la liste des exceptions SIP qu'Apple a définie rootless.conf
, il existe une deuxième liste d'exceptions SIP. Cette liste comprend un certain nombre de répertoires et de noms d'applications pour des produits tiers. Semblable à rootless.conf
, cette liste d'exclusion appartient à Apple et les modifications apportées par des tiers à celle-ci seront écrasées par Apple.
/System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths
Protection d'exécution
Les protections SIP ne se limitent pas à la protection du système contre les modifications du système de fichiers. Il existe également des appels système dont les fonctionnalités sont désormais limitées.
- task_for_pid () / processor_set_tasks () échoue avec EPERM
- Les ports spéciaux Mach sont réinitialisés sur exec (2)
- les variables d'environnement dyld sont ignorées
- Sondes DTrace non disponibles
Cependant, SIP ne bloque pas l'inspection par le développeur de ses propres applications pendant leur développement. Les outils de Xcode continueront à permettre aux applications d'être inspectées et déboguées pendant le processus de développement.
Pour plus de détails à ce sujet, je vous conseillerais de consulter la documentation de développement Apple pour SIP .
Protection de l'extension du noyau
SIP bloque l'installation des extensions de noyau non signées. Pour installer une extension de noyau sur OS X El Capitan avec SIP activé, une extension de noyau doit:
- Être signé avec un certificat de développeur pour Signing Kexts
- Installer dans / Bibliothèque / Extensions
Si vous installez une extension de noyau non signée, SIP doit d'abord être désactivé.
Pour plus d'informations sur la gestion de SIP, veuillez consulter le lien ci-dessous:
Protection de l'intégrité du système - Ajout d'une autre couche au modèle de sécurité d'Apple
sudo
et l'invite de mot de passe ont fonctionné comme d'habitude / précédemment / attendu. Donc, probablement, la réponse est "la plupart du temps, vous ne remarquerez rien; quand vous le remarquerez, vous remarquerez que c'est difficile."