Protection de l'intégrité du système - System Integrity Protection

Protection de l'intégrité du système
couches de sécurité OS X.svg
Couches de sécurité présentes dans macOS
Développeur(s) Apple Inc.
Première version 16 septembre 2015 ; il y a 5 ans ( 2015-09-16 )
Système opérateur macOS
Inclus avec OS X El Capitan (OS X 10.11) et versions ultérieures
Taper Logiciel de sécurité informatique
Site Internet développeur .apple .com /library /archive /documentation /Security /Conceptual /System _Integrity _Protection _Guide /Introduction /Introduction .html

Système de protection de l' intégrité ( SIP , parfois appelé déracinée ) est une caractéristique de sécurité d' Apple de macOS système d' exploitation introduit dans OS X El Capitan (2015) (OS X 10.11). Il comprend un certain nombre de mécanismes qui sont appliqués par le noyau . Une pièce maîtresse est la protection des fichiers et répertoires appartenant au système contre les modifications par des processus sans "droit" spécifique, même lorsqu'ils sont exécutés par l' utilisateur root ou un utilisateur avec des privilèges root ( sudo ).

Apple dit que l'utilisateur root peut être un facteur de risque important pour la sécurité du système, en particulier sur les systèmes avec un seul compte utilisateur sur lequel cet utilisateur est également l'administrateur. SIP est activé par défaut, mais peut être désactivé.

Justification

Apple affirme que la protection de l'intégrité du système est une étape nécessaire pour assurer un niveau élevé de sécurité. Dans l'une des sessions de développement de la WWDC , l'ingénieur Apple Pierre-Olivier Martel a décrit l' accès root illimité comme l'une des faiblesses restantes du système, affirmant que « [tout] malware est un mot de passe ou une vulnérabilité loin de prendre le contrôle total de l'appareil ". Il a déclaré que la plupart des installations de macOS n'ont qu'un seul compte d'utilisateur qui comporte nécessairement des informations d'identification administratives, ce qui signifie que la plupart des utilisateurs peuvent accorder un accès root à tout programme qui le demande. Chaque fois qu'un utilisateur d'un tel système est invité et saisit le mot de passe de son compte - qui, selon Martel, est souvent faible ou inexistant - la sécurité de l'ensemble du système est potentiellement compromise. Restreindre le pouvoir de root n'est pas sans précédent sur macOS. Par exemple, les versions de macOS antérieures à Mac OS X Leopard appliquent le niveau 1 de securelevel , une fonctionnalité de sécurité qui provient de BSD et de ses dérivés sur lesquels macOS est partiellement basé.

Les fonctions

Signe d'interdiction (un cercle barré d'une seule ligne) qui s'affiche pendant le processus de démarrage lorsque le système n'est pas autorisé à continuer.
Le " symbole d' interdiction " s'affiche lorsque macOS n'est pas autorisé à terminer le processus de démarrage . Cela peut se produire lorsque la "signature kext" est activée et que l'utilisateur a installé une extension de noyau non signée .

La protection de l'intégrité du système comprend les mécanismes suivants :

La protection de l'intégrité du système protège les fichiers système et les répertoires qui sont marqués pour la protection. Cela se produit soit en ajoutant un attribut de fichier étendu à un fichier ou à un répertoire, soit en ajoutant le fichier ou le répertoire /System/Library/Sandbox/rootless.confou les deux. Parmi les répertoires protégés se trouvent : /System, /bin, /sbin, /usr(mais pas /usr/local). Les liens symboliques de /etc, /tmpet /varvers /private/etc, /private/tmpet /private/varsont également protégés, bien que les répertoires cibles ne soient pas eux-mêmes protégés. La plupart des applications Apple préinstallées /Applicationssont également protégées. Le noyau , XNU , empêche tous les processus sans droits spécifiques de modifier les autorisations et le contenu des fichiers et répertoires signalés et empêche également l'injection de code, la pièce jointe à l'exécution et DTrace en ce qui concerne les exécutables protégés .

Depuis OS X Yosemite , les extensions du noyau, telles que les pilotes , doivent être signées par code avec un droit Apple particulier. Les développeurs doivent demander un ID de développeur avec un tel droit à Apple. Le noyau refuse de démarrer si des extensions non signées sont présentes, affichant à la place un signe d'interdiction à l'utilisateur . Ce mécanisme, appelé « signature kext », a été intégré à la protection de l'intégrité du système.

La protection de l'intégrité du système nettoie également certaines variables environnementales lors de l'appel des programmes système lorsque SIP est en vigueur. Par exemple, SIP nettoiera LD_LIBRARY_PATH et DYLD_LIBRARY_PATH avant d'appeler un programme système comme /bin/bash pour éviter les injections de code dans le processus Bash.

Configuration

Les répertoires protégés par SIP par défaut incluent :

  • /System
  • /sbin
  • /bin
  • /usr
  • /Applications

/usrest protégé à l'exception du /usr/localsous - répertoire. /Applicationsest protégé pour les applications préinstallées avec Mac OS, telles que Calendrier, Photos, Safari, Terminal, Console, App Store et Notes.

La protection de l'intégrité du système ne peut être désactivée (totalement ou partiellement) que depuis l'extérieur de la partition système . À cette fin, Apple fournit l' csrutil utilitaire de ligne de commande qui peut être exécuté à partir d'une fenêtre de terminal dans le système de récupération ou d'un disque d'installation macOS amorçable, qui ajoute un argument de démarrage à la NVRAM de l'appareil . Cela applique le paramètre à toutes les installations d'El Capitan ou de macOS Sierra sur l'appareil. Lors de l'installation de macOS, le programme d'installation déplace tous les composants inconnus des répertoires système signalés vers /Library/SystemMigration/History/Migration-[UUID]/QuarantineRoot/. En empêchant l' accès en écriture aux répertoires système, les autorisations de fichiers et de répertoires système sont automatiquement conservées lors des mises à jour logicielles Apple. Par conséquent, la réparation des autorisations n'est pas disponible dans l' Utilitaire de disque et l' diskutilopération correspondante .

accueil

La réception de la protection de l'intégrité du système a été mitigée. Macworld craignait qu'Apple ne prenne le contrôle total des utilisateurs et des développeurs dans les versions futures et déplace lentement la politique de sécurité de macOS vers celle du système d'exploitation mobile d'Apple iOS , après quoi l'installation de nombreux utilitaires et modifications nécessite un jailbreak . Certaines applications et certains pilotes ne fonctionneront pas dans leur intégralité ou ne pourront pas être utilisés du tout à moins que la fonctionnalité ne soit désactivée, de manière temporaire ou permanente. Ars Technica a suggéré que cela pourrait affecter de manière disproportionnée les petits développeurs, car les plus grands pourraient être en mesure de travailler directement avec Apple. Cependant, ils ont également fait remarquer que de loin la plupart des utilisateurs, y compris les utilisateurs expérimentés , n'auront aucune raison de désactiver la fonctionnalité, affirmant qu'elle n'a "presque aucun inconvénient".

Voir également

Les références

Liens externes