/
/

Extensions de noyau macOS : ce qu’elles sont et comment Apple les fait évoluer

par Team Ninja
How to Audit and Manage macOS System Extensions Across Managed Macs

Points clés

  • Les extensions de noyau (KEXT) s’exécutent à l’intérieur du noyau du système d’exploitation et renforcent les capacités de surveillance et de gestion des logiciels grâce à une intégration système en profondeur.
  • Comme une KEXT bénéficie de tous les privilèges du noyau, un bug, un conflit ou du code malveillant peut provoquer des plantages, une perte de données ou le contournement des contrôles de sécurité.
  • À partir de macOS 10.15.4 Catalina, Apple a commencé à déployer les extensions système, une alternative plus sûre aux extensions de noyau, exécutée dans l’espace utilisateur.
  • Les extensions système s’appuient sur les frameworks DriverKit, Network Extension et Endpoint Security pour offrir des capacités équivalentes à celles du noyau, sans les risques associés.
  • Exécuter les extensions dans l’espace utilisateur restreint l’étendue des privilèges, améliore la stabilité du système et s’aligne sur les fonctionnalités de sécurité modernes de macOS.
  • L’usage des KEXT est de plus en plus limité sur les appareils Apple silicon : les extensions système constituent donc l’approche à privilégier, et la plus pérenne, pour une gestion sécurisée de macOS.

Les extensions de noyau macOS (KEXT) permettent aux applications d’interagir avec le matériel ou des services de bas niveau. Elles offrent ainsi des fonctionnalités plus poussées, comme la surveillance ou le contrôle du comportement profond du système. En revanche, les KEXT s’exécutent à l’intérieur du noyau du système d’exploitation avec des privilèges étendus, ce qui peut introduire des risques de sécurité et de stabilité.

Apple s’orient depuis plusieurs années vers des extensions système qui fonctionnent en dehors du noyau et offrent aux utilisateurs des moyens plus sûrs d’étendre les fonctionnalités de la plateforme sans compromettre la sécurité.

Les extensions de noyau macOS en bref

Les KEXT sont des modules de code qui permettent aux applications et aux plateformes de se charger directement dans le noyau macOS, ce qui élargit d’autant leurs capacités. Elles prennent en charge les tâches nécessitant un accès direct à l’échelle du système, notamment :

  • La communication avec les pilotes : le système d’exploitation sait ainsi comment utiliser les appareils connectés qu’il ne gère pas nativement, ce qui garantit leur bon fonctionnement.
  • Les interactions avec le stack réseau : les KEXT inspectent, filtrent, redirigent ou modifient les données réseau, ce qui aide les dispositifs de contrôle réseau, comme les clients VPN et les pare-feu, à appliquer les politiques de sécurité.
  • Les fonctions système de bas niveau : elles fournissent aux plateformes des métriques système en profondeur, comme le comportement de la mémoire et l’activité des processus en temps réel, utiles aux outils de performance, à la surveillance de la sécurité et aux utilitaires de gestion système.

En clair, les KEXT offrent une visibilité et un contrôle approfondis sur des zones de macOS inaccessibles aux applications standard. Elles permettent au système d’exploitation de communiquer efficacement avec du matériel non pris en charge, donnent aux techniciens les moyens d’observer et de contrôler les données réseau, et fournissent un aperçu de bas niveau des métriques clés des appareils.

Les risques liés à l’utilisation des KEXT sous macOS

Le noyau gère le matériel, la mémoire et les processus critiques du système d’exploitation : intervenir à ce niveau est donc risqué. Les extensions de noyau permettent à des applications, plateformes ou services de fonctionner avec le même niveau de confiance et d’autorité que le système d’exploitation lui-même.

Comme ces extensions s’exécutent au cœur du système d’exploitation, elles disposent de peu de garde-fous. Résultat : plantages inattendus, protections contournées et procédures de dépannage laborieuses.

Un impact sur l’ensemble du système

Lorsqu’une extension de noyau contient une erreur, les conséquences sont bien plus graves que pour un bug dans une application standard. Les KEXT autorisent l’exécution de code dans le noyau : une seule faille peut donc provoquer des plantages, de l’instabilité et des comportements imprévisibles des appareils.

Dans la plupart des cas, le système ne peut ni isoler une défaillance du noyau ni s’en remettre, ce qui impose un redémarrage susceptible d’entraîner une perte de données ou une corruption du système de fichiers. Autrement dit, quand une extension de noyau casse, elle ne casse pas seulement une application : elle peut mettre à mal tout le système d’exploitation.

Le contournement possible des contrôles de sécurité

Une KEXT malveillante opère sous la couche du système d’exploitation, ce qui lui permet de contourner les contrôles de sécurité intégrés, de dissimuler son activité ou d’altérer les processus système. En raison de cet accès au niveau du noyau, les KEXT au comportement anormal sont difficiles à détecter et à corriger : elles peuvent agir silencieusement derrière les protections, et ce indéfiniment.

La complexité du dépannage

Les appareils macOS gérés exécutent généralement plusieurs extensions de noyau pour prendre en charge les outils de gestion et de surveillance. Lorsque ces extensions entrent en conflit entre elles, ou avec les mises à jour de macOS, l’origine du problème est difficile à retracer. D’où des procédures de diagnostic longues et fastidieuses, qui exigent une connaissance approfondie du système pour aboutir.

Les extensions système macOS : une alternative moderne aux KEXT

Les extensions de noyau présentent des risques pour les appareils et les environnements gérés, mais leur utilité est indéniable dans une stratégie de gestion informatique proactive. Pour répondre aux risques associés aux KEXT, Apple a introduit les extensions système Mac, une alternative plus sûre pour intégrer des logiciels en profondeur au système d’exploitation.

Les extensions système sont livrées via des frameworks système dédiés qui fonctionnent dans l’espace utilisateur :

  • DriverKit : prend en charge les pilotes matériels sans nécessiter d’accès au noyau.
  • Extensions réseau : des composants en espace utilisateur qui permettent aux applications d’étendre leurs capacités réseau natives.
  • Extensions de sécurité des terminaux : elles offrent une visibilité au niveau du système aux outils de sécurité modernes, comme les solutions EDR (détection et réponse sur les terminaux) et les outils VPN.

En déplaçant ces intégrations hors du noyau, les équipes informatiques et les MSP conservent leurs capacités de gestion et de surveillance sans les risques systémiques inhérents aux KEXT. Apple y parvient en modifiant l’endroit où les extensions s’exécutent, le niveau d’accès accordé et la manière dont les défaillances sont circonscrites.

Une exécution dans l’espace utilisateur

Contrairement aux KEXT, les extensions système fonctionnent en dehors du noyau macOS, ce qui empêche le code tiers de s’exécuter sous la couche du système d’exploitation. Si une extension système échoue ou se comporte mal, macOS peut isoler le problème sans faire planter le système, ce qui améliore la fiabilité globale.

Une étendue de privilèges restreinte

Les extensions système respectent le principe du moindre privilège en n’effectuant que des actions approuvées. Par exemple, une extension de networking peut observer ou gérer le trafic réseau sans accéder à des composants ou des métriques système sans lien avec sa fonction. Cet accès cantonné réduit la surface d’exposition aux attaques de votre environnement et limite l’ampleur des dégâts causés par un bug ou du code malveillant.

Une stabilité et une sécurité renforcées

Les extensions système s’intègrent proprement aux fonctionnalités de sécurité de macOS, notamment la protection de l’intégrité du système, la signature de code et les approbations par l’utilisateur ou via MDM. De plus, les mises à jour de macOS risquent moins de les casser, et les défaillances sont plus faciles à diagnostiquer et à corriger.

Stratégie de gestion des extensions de noyau macOS

Apple avance continuellement vers l’adoption des extensions système, mais macOS continue de prendre en charge les KEXT, en particulier dans les scénarios legacy. Cette prise en charge existe précisément pour les logiciels plus anciens et les outils spécialisés qui n’ont pas encore basculé vers les extensions système.

Les KEXT exigent un contrôle et une approbation explicites, selon les modalités suivantes :

  • Approbation par l’utilisateur : macOS demande aux utilisateurs d’approuver manuellement l’utilisation d’une KEXT avant qu’elle ne s’applique, ce qui constitue un point de friction volontaire.
  • Approbation pilotée par MDM : certains MDM pour macOS permettent d’approuver et de mettre en liste blanche les KEXT de façon centralisée, afin d’accélérer les temps de chargement sans action de l’utilisateur.
  • Approbation basée sur la confiance : elle permet aux administrateurs d’approuver les KEXT issues d’une famille de fournisseurs connue, ce qui simplifie la gestion des extensions de noyau. En revanche, cela suppose une évaluation rigoureuse des fournisseurs.

De plus, les administrateurs peuvent s’appuyer sur un MDM pour empêcher les utilisateurs d’approuver eux-mêmes des extensions de noyau. Ce contrôle fait reposer la gouvernance des KEXT sur les épaules des administrateurs, via des politiques, et évite que les utilisateurs autorisent des extensions dangereuses sans le savoir.

L’impact d’Apple silicon et de l’architecture macOS moderne

À la WWDC 2019, Apple a officiellement annoncé l’abandon des KEXT et présenté les extensions système, intégrées à macOS 10.15.4 Catalina, comme leur remplacement. L’année suivante, Apple a également annoncé Apple silicon, qui a modifié la façon dont macOS gère la confiance, la sécurité et l’accès système de bas niveau.

Sur les appareils Apple silicon et macOS modernes, les extensions de noyau ne se chargent pas sans autorisation explicite, en contradiction directe avec la conception sécuritaire actuelle de macOS. Dans les environnements gérés, cela accroît la friction et le risque dès lors que l’on utilise des KEXT à grande échelle.

Ces restrictions strictes sont intentionnelles : les extensions au niveau du noyau peuvent nuire aux appareils en introduisant du code externe, parfois non approuvé, dans le système d’exploitation. Pour les équipes informatiques et les MSP qui gèrent des environnements legacy, la dépendance aux KEXT exigera de plus en plus d’exceptions de sécurité, d’interventions manuelles ou de compromis d’architecture.

Gérez les extensions système ou de noyau macOS avec NinjaOne

NinjaOne MDM propose plusieurs fonctionnalités qui aident les administrateurs à gérer les extensions de noyau et de sécurité de façon centralisée et à grande échelle dans les environnements macOS.

  • Gestion des extensions système : ajoutez ou bloquez des extensions système précises via la politique d’agent NinjaOne, et utilisez les identifiants de bundle pour fluidifier l’approbation des extensions système provenant de fournisseurs de confiance.
  • Gestion des préférences de confidentialité : préconfigurez les autorisations de confidentialité pour des applications gérées spécifiques, afin d’accorder l’accès nécessaire aux sources de données sans intervention de l’utilisateur.
  • Attribution et application des politiques : configurez les paramètres MDM, y compris les extensions système, dans les politiques d’agent macOS. Consultez et gérez les sections remplacées des politiques attribuées depuis le tableau de bord de l’appareil.
  • Actions sur les appareils : accélérez les flux de travail d’administration grâce aux actions sur les appareils, comme l’arrêt, l’installation de l’agent NinjaOne ou la suppression d’appareils macOS enrôlés en MDM, directement depuis la console NinjaOne.

Guide de démarrage rapide

NinjaOne vous aide à gérer les extensions de noyau macOS (KEXT) et les extensions système grâce à ses capacités MDM. Voici comment NinjaOne prend en charge la gestion des extensions macOS :

Gestion des extensions système

  • Ajout ou blocage d’extensions système : les administrateurs peuvent ajouter ou bloquer des extensions système précises à l’aide des identifiants de bundle, ce qui fluidifie l’approbation des fournisseurs de confiance.
  • Gestion des préférences de confidentialité : préconfigurez les autorisations de confidentialité des applications gérées pour accorder l’accès nécessaire sans intervention de l’utilisateur.

Attribution et application des politiques

  • Paramètres MDM dans les politiques d’agent : configurez les paramètres MDM, y compris les extensions système, dans les politiques d’agent macOS.
  • Consultation des remplacements de politiques : gérez les sections remplacées des politiques attribuées depuis le tableau de bord de l’appareil, pour plus de contrôle et de visibilité.

Actions sur les appareils

  • Flux de travail d’administration : utilisez les actions sur les appareils, comme l’arrêt, l’installation de l’agent NinjaOne ou la suppression d’appareils macOS enrôlés en MDM, directement depuis la console NinjaOne, afin d’accélérer les tâches d’administration.

Contrôle centralisé

  • Gestion de l’approbation par l’utilisateur : exigez l’approbation de l’utilisateur pour les KEXT, ou recourez à l’approbation pilotée par MDM pour gérer et mettre en liste blanche les extensions de façon centralisée.
  • Approbation basée sur la confiance : permettez aux administrateurs d’approuver les KEXT provenant de fournisseurs connus, ce qui simplifie la gestion tout en préservant la sécurité.

Compatibilité avec Apple silicon : NinjaOne vous aide à composer avec les restrictions accrues imposées aux KEXT sur les appareils Apple silicon, en garantissant la compatibilité et en réduisant les risques dans les environnements macOS modernes.

Sécuriser l’utilisation des extensions de noyau et système macOS

Les extensions de noyau jouent un rôle clé dans l’élargissement des capacités des logiciels et des plateformes. En revanche, un accès aussi profond au noyau pose des défis de sécurité et de stabilité aux environnements. L’évolution d’Apple vers les extensions système contribue à atténuer les risques liés aux KEXT tout en améliorant la fiabilité des appareils.

Bien comprendre la transition entre extensions de noyau et extensions système vous aide à gérer vos appareils macOS de façon plus sûre. De plus, cela vous permet d’anticiper les mises à niveau à venir, de garantir la compatibilité et de fluidifier les flux de travail des environnements macOS legacy que vous gérez.

Sujets connexes :

FAQs

Lorsqu’une extension de noyau est bloquée, macOS l’empêche de se charger dans le noyau, et le logiciel qui en dépend perd des fonctionnalités. Les KEXT bloquées nécessitent généralement une approbation explicite de l’utilisateur ou via MDM pour se charger. Sur les appareils Apple silicon, une autorisation supplémentaire peut être requise en raison des restrictions accrues.

Activer une extension de noyau suppose généralement une approbation dans les réglages de sécurité de macOS ou via une politique MDM qui met l’extension en liste blanche. Sur les appareils Apple silicon, des étapes supplémentaires en mode recovery peuvent être nécessaires, ce qui peut affaiblir la posture de sécurité globale de l’appareil.

Les extensions de noyau s’exécutent à l’intérieur du noyau macOS avec tous les privilèges système. Les extensions système, elles, s’exécutent dans l’espace utilisateur tout en offrant les mêmes fonctionnalités, sans exposer le système d’exploitation aux risques liés au noyau.

Les extensions système peuvent rester bloquées jusqu’à leur approbation explicite par un utilisateur ou un administrateur, afin d’éviter qu’un logiciel non fiable obtienne des capacités élevées. macOS exige le consentement de l’utilisateur ou une approbation MDM pour s’assurer que les extensions proviennent de fournisseurs évalués et respectent les politiques de l’entreprise.

Les extensions de noyau restent prises en charge dans les environnements macOS legacy. En revanche, Apple continue d’en restreindre l’usage à chaque nouvelle version. Les entreprises doivent s’attendre à une prise en charge réduite et à une friction accrue : migrer vers des logiciels basés sur les extensions système devient indispensable pour garantir la compatibilité à long terme.

You might also like

Prêt à simplifier les aspects les plus complexes de l'informatique et de la sécurité ?