Lors de la conférence WWDC de l’année dernière, Apple a annoncé son intention de déprécier les “extensions de noyau” (KEXT) de macOS et de les remplacer par un nouveau mécanisme appelé “extensions de système”.”
Le premier pas vers cette annonce a été fait avec la sortie de macOS Catalina (10.15.0) en septembre 2019, lorsque les extensions de système ont été introduites aux côtés des extensions de noyau.
La dernière étape du plan d’Apple entrera en vigueur dans les semaines à venir, avec la sortie prochaine de macOS Catalina 10.15.4.
Selon Apple, à partir de macOS 10.15.4, l’utilisation d’extensions de noyau déclenchera une notification à l’utilisateur que le logiciel inclut une API dépréciée et lui demandera de contacter le développeur pour des alternatives.
Quelle est la différence entre les deux ?
Les extensions de noyau et les extensions de système ont toutes deux le même objectif. Elles permettent aux utilisateurs d’installer des apps qui étendent les capacités natives du système d’exploitation macOS.
Les apps installent des extensions noyau/système qui leur permettent d’effectuer des opérations pour lesquelles macOS n’a pas de caractéristiques ou de fonctions natives.
Les logiciels antivirus de macOS, les pare-feu, les clients VPN, les proxies DNS, les pilotes USB et autres, utilisent tous des extensions de noyau.
La différence entre ces deux nouveaux systèmes d’extension est que les anciennes extensions de noyau exécutent leur code au niveau du noyau de macOS, tandis que les nouvelles extensions de système s’exécutent dans un espace utilisateur plus étroitement contrôlé.
Grande avancée pour la sécurité
“Du point de vue d’Apple, il s’agit d’une étape majeure vers l’amélioration de la sécurité de macOS”, a déclaré Patrick Wardle, chercheur principal en sécurité chez Jamf, et expert réputé en sécurité de macOS, à ZDNet dans une interview cette semaine.
“Les extensions de noyau tierces constituent effectivement un vecteur d’attaque juteux pour les attaquants ciblant macOS”, a-t-il ajouté. “Surtout si vous, en tant qu’attaquant, pouvez exploiter une extension de noyau, ou charger la vôtre (en supposant qu’elle soit signée).”
Et des attaques impliquant des KEXT se sont produites dans le passé.
“C’est vraiment game over pour macOS”, a déclaré Wardle. “Beaucoup de nombreux mécanismes de sécurité sont mis en œuvre / renforcés dans le noyau.”
Wardle dit qu’une attaque comme celle-ci ne fonctionnerait pas avec les extensions système, car elles s’exécutent en mode utilisateur.
“Comme ils ne s’exécutent pas dans le noyau, un exploit ne vous donne plus l’accès au mode noyau comme il le faisait avec un exploit KEXT”, a déclaré Wardle.
“Donc Apple veut essentiellement expulser tout le monde , en grande partie pour des raisons de sécurité.”
Des inconvénients potentiels
Mais Wardle dit qu’il y a aussi un inconvénient à ce mouvement.
Le premier est qu’en expulsant les développeurs d’applications du noyau, Apple gagne aussi beaucoup plus de contrôle sur macOS, similaire au contrôle qu’ils ont sur iOS.
Jusqu’à présent, macOS a été un refuge pour les développeurs et ses utilisateurs. Si macOS n’avait pas une fonctionnalité spécifique, les développeurs pouvaient simplement créer une application et tirer parti d’une extension du noyau pour ajouter les fonctionnalités dont ils avaient besoin.
Le deuxième inconvénient est que de nombreux outils de sécurité eux-mêmes, se sont fortement appuyés et ont été construits autour de l’accès complet que les extensions du noyau fournissent au Mac d’un utilisateur. On pourrait dire que le mouvement d’Apple vers les extensions du système pourrait finir par neutraliser les produits de sécurité, qui perdront une partie de leur capacité à détecter et à arrêter les logiciels malveillants en cours de route.
Mais, Wardle, qui est l’auteur de nombreux outils de sécurité macOS gratuits, dit qu’Apple a fourni “quelques grands cadres en mode utilisateur qui fournissent aux outils de sécurité tiers les capacités dont ils ont besoin”, il semble donc qu’Apple n’a pas coupé la branche sous ses pieds, pour le moment.
Mais pour le moment, il n’est pas clair si les extensions système fourniraient la même polyvalence et la même liberté de codage que les extensions du noyau. Cela reste à voir — et un sujet pour un autre article — car nous aurons besoin de plus de temps pour que les développeurs de macOS fassent lentement la transition vers les extensions de système à l’avenir.
Cependant, Wardle souligne que le mouvement est une bonne chose pour la sécurité de macOS, dans l’ensemble, indépendamment des autres raisons possibles pour le mouvement d’Apple.