Aujourd’hui, OS X Yosemite
propose déjà plusieurs niveaux de sécurité permettant de limiter les impacts de
l’exécution d’une application malveillante sur le système :
·
Gatekeeper
Seules les
applications en provenance du Mac App Store ou signées par un certificat
délivré par Apple peuvent être exécutées sur le système.
·
Sandboxing
Cloisonnement
applicatif permettant de limiter les accès aux données. Une application prenant
en charge le sandboxing ne peut accéder qu’aux données qui lui sont
propres. Ce mécanisme est obligatoire pour les applications en provenance du
Mac App Store et recommandé pour les autres applications.
·
POSIX
Système de
permissions classiques d’un système UNIX. Les accès aux données des autres
utilisateurs ou aux données systèmes ne sont pas possibles si l’utilisateur ne
dispose pas des droits adéquats.
·
Keychain
Espace de
stockage de tous les secrets de l’utilisateur (mots de passe, certificats,
etc.). Les applications ne peuvent accéder qu’aux secrets qu’elles ont
elles-mêmes enregistrées.
Différents
niveaux de sécurité d’OS X Yosemite
Toutes ces mesures de sécurité
sont certes efficaces mais laissent le système d’exploitation relativement vulnérable face aux utilisateurs eux-mêmes :
·
Les utilisateurs sont souvent administrateurs de leur Mac et
utilisent des mots de passe trop faibles (voire aucun mot de passe).
·
Ce mot de passe est trop souvent fourni aux applications sans réflexion
complémentaire. Il est d’ailleurs souvent difficile de savoir pourquoi
l’application nécessite une élévation de privilèges.
·
Ce mot de passe constitue la seule barrière entre un logiciel et
la compromission du système. Les privilèges qui en découlent permettent
l’accès en tant que super administrateur (« root ») au système
et donc la désactivation de toutes les mesures de protection, soit un contrôle
total de la machine.
·
Un malware se faisant passer pour un logiciel légitime pourrait
ainsi inciter l’utilisateur à saisir son mot de passe sous prétexte de son
installation, en profiter pour récupérer les droits « root »
sur la machine et compromettre le système en profondeur.
Face à ce constat, Apple a
décidé d’ajouter une nouvelle couche de sécurité appelée « System Integrity Protection » pour
limiter le pouvoir du compte « root ». Contrairement à gatekeeper
et au sandboxing dont l’intégration est laissée au bon vouloir des
développeurs, ce mécanisme de sécurité s’applique
à tous les processus en cours d’exécution
et protège les fichiers du système aussi bien sur le disque qu’à
l’exécution. Quatre fonctions clés sont ainsi proposées :
·
Protection en écriture des
répertoires et fichiers système
Le noyau d’OS
X empêche toute écriture par une application, même avec les privilèges « root »,
dans les répertoires ou fichiers systèmes protégés (/System, /bin,
/usr et /sbin).
Répertoires système protégés sous OS X El Capitan
·
Protection des composants système
en cours d’exécution
Un nouveau flag
est ajouté à la structure mémoire des processus et sera positionné pour
tous les binaires protégés sur le disque ou signés par et pour Apple afin de
permettre au noyau d’identifier les processus restreints. Il ne sera ainsi plus
possible pour une application tierce de s’attacher et d’injecter du code à un
processus système.
·
Signature des extensions
Toutes les
extensions du système (Kexts) doivent maintenant être signées avec un ID
développeur valide et placées à un emplacement spécifique
(« /Library/Extensions »).
Au final, seules les installeurs
d’Apple et le système de mise à jour du Mac App Store pourront modifier
les fichiers et binaires du système. Pour toutes les autres applications, les
actions suivantes seront maintenant restreintes :
·
Modification de binaires ou de framework système ;
·
Installation de contenu dans des emplacements système ;
·
Inspection de la mémoire d’un processus système ;
·
Injection de librairies dans un processus système.
Il restera cependant possible pour des besoins précis de désactiver System
Integrity Protection en
démarrant sur la partition de récupération d’OS X El Capitan (cmd + R au
démarrage), un utilitaire de configuration dédié ayant été ajouté à cet effet.
La configuration a été ici volontairement séparée du système lui-même pour
empêcher tout accès illégitime par un malware. Par ailleurs, ce paramètre est sauvegardé dans la NVRAM du Mac et s’applique ainsi à toutes les
partitions contenues sur le disque dur de l’ordinateur.
En conclusion, les travaux
effectués par Apple vont dans le bon sens et offrent ici des mesures de défense
intéressantes pour contrer la persistance des
malwares sur le système. Il reste maintenant à savoir si ces mesures
de protection ne pourront pas être contournées.
Note : toutes ces fonctionnalités
ont été présentées par Apple lors de la conférence annuelle des développeurs du
mois de juin (WWDC 2015) et concernent la première préversion d’OS X El
Capitan. Des changements pourront être apportés par Apple avant la sortie de la
version finale du système.
Sources :
Bonjour,
RépondreSupprimeroui oui pourquoi pas 2 disques dur le premier pour l'OS, avec une coupure au disque physiquement pourl'écriture et le 2 ième pour les logicièles additionnel