/
/

Qué son las extensiones de kernel de macOS y cómo las está transformando Apple

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

Resumen instantáneo

Este post ofrece una lista completa de comandos CMD básicos y una inmersión profunda en los comandos de Windows, con más de 70 comandos cmd esenciales tanto para principiantes como para usuarios avanzados. Explica comandos prácticos del símbolo del sistema para la gestión de archivos, la navegación por directorios, la solución de problemas de red, las operaciones de disco y la automatización con ejemplos reales para mejorar la productividad. Tanto si estás aprendiendo los comandos básicos de cmd como si ya dominas las herramientas avanzadas de la CLI de Windows, esta guía te ayudará a utilizar el Símbolo del sistema de forma más eficaz.

Puntos clave

  • Las extensiones de kernel (KEXT) funcionan dentro del kernel del SO y amplían las capacidades de monitorización y gestión del software gracias a una integración profunda con el sistema.
  • Como las KEXT operan con todos los privilegios del kernel, cualquier error, conflicto o código malicioso puede provocar caídas del sistema, pérdida de datos o la elusión de los controles de seguridad.
  • A partir de macOS 10.15.4 Catalina, Apple introdujo las extensiones de sistema como alternativa más segura a las extensiones de kernel y, con Big Sur, macOS dejó de cargar por defecto las kext que dependen de API del kernel obsoletas.
  • Las extensiones de sistema utilizan los frameworks DriverKit, Network Extension y Endpoint Security para ofrecer capacidades a nivel de kernel sin asumir ese riesgo.
  • Ejecutar las extensiones en el espacio de usuario limita el alcance de los privilegios, mejora la estabilidad del sistema y encaja con las funciones de seguridad modernas de macOS.
  • El uso de KEXT está cada vez más restringido en los dispositivos con Apple silicon y Apple no ha anunciado una fecha definitiva para el fin del soporte de las extensiones de kernel, aunque las extensiones de sistema siguen siendo el enfoque preferido y preparado para el futuro.

Las extensiones de kernel de macOS (KEXT) permiten que las aplicaciones interactúen con hardware o servicios de bajo nivel, lo que aporta una funcionalidad más profunda, incluida la monitorización y el control del comportamiento interno del sistema. Sin embargo, las KEXT se ejecutan dentro del kernel del SO con privilegios muy amplios, lo que puede introducir riesgos de seguridad y estabilidad.

Apple lleva tiempo apostando por las extensiones de sistema, que funcionan fuera del kernel y ofrecen a los usuarios formas más seguras de ampliar la funcionalidad de la plataforma sin comprometer la seguridad. Este cambio continúa en la versión actual, macOS 26 Tahoe, aunque Apple no ha fijado una fecha pública para el fin del soporte de las extensiones de kernel.

¿Qué son las extensiones de kernel de macOS?

Las KEXT son módulos de código que permiten a las aplicaciones y plataformas cargarse directamente en el kernel de macOS y ampliar así sus capacidades. Resultan útiles para tareas que requieren acceso directo a todo el sistema, como las siguientes:

  • Comunicación con controladores: garantiza que el SO sepa cómo utilizar los dispositivos conectados que no admite de forma nativa, lo que ayuda a asegurar su funcionamiento.
  • Interacción con la pila de red: las KEXT inspeccionan, filtran, redirigen o modifican los datos de red, lo que ayuda a que controles de red como los clientes VPN y los firewalls apliquen las políticas de seguridad.
  • Funciones de sistema de bajo nivel: proporciona a las plataformas métricas profundas del SO, como el comportamiento de la memoria y la actividad de los procesos en tiempo real, útiles para herramientas de rendimiento, monitorización de seguridad y utilidades de gestión del sistema.

En resumen, las KEXT ofrecen una visibilidad y un control profundos de áreas de macOS a las que las aplicaciones normales no llegan. Permiten que el SO se comunique de forma eficaz con hardware no compatible, que los técnicos observen y controlen los datos de red, y aportan información de bajo nivel sobre métricas clave del dispositivo.

Riesgos asociados al uso de KEXT en macOS

El kernel se encarga de gestionar el hardware, la memoria y los procesos críticos del SO, por lo que operar a ese nivel resulta arriesgado. Las extensiones de kernel permiten que aplicaciones, plataformas o servicios funcionen con el mismo nivel de confianza y autoridad que el propio SO.

Como estas extensiones se ejecutan en el núcleo del sistema operativo, apenas cuentan con mecanismos de protección, lo que puede derivar en caídas inesperadas, protecciones eludidas y procesos de diagnóstico muy complicados.

Impacto en todo el sistema

Si una extensión de kernel contiene un error, las consecuencias son mucho más graves que un fallo en una aplicación normal. Las KEXT permiten ejecutar código en el kernel, por lo que un único defecto puede provocar caídas del sistema, inestabilidad y un comportamiento impredecible del dispositivo.

En la mayoría de los casos, el sistema no puede aislar un fallo del kernel ni recuperarse de él, lo que obliga a reiniciar y puede causar pérdida de datos o corrupción del sistema de archivos. Dicho de otro modo: cuando una extensión de kernel falla, no solo deja de funcionar una aplicación, sino que puede romper todo el SO.

Posible elusión de los controles de seguridad

Las KEXT maliciosas operan en la capa del SO, lo que les permite esquivar los controles de seguridad integrados, ocultar su actividad o manipular procesos del sistema. Debido a su acceso a nivel de kernel, las KEXT con un comportamiento anómalo son difíciles de detectar y corregir, por lo que pueden actuar de forma silenciosa tras las defensas durante un tiempo indefinido.

Diagnósticos más complejos

Los dispositivos macOS gestionados suelen ejecutar varias extensiones de kernel para dar soporte a las herramientas de gestión y monitorización. Cuando esas extensiones entran en conflicto entre sí o con las actualizaciones de macOS, el origen del problema puede ser muy difícil de rastrear. El resultado son procesos de diagnóstico largos y laboriosos que exigen un conocimiento profundo del sistema para llevarlos a cabo con eficacia.

Riesgo Mitigación
Impacto en todo el sistema Prueba las KEXT y despliégalas por fases antes de extenderlas a todo el parque, y vigila los patrones de caídas tras las actualizaciones de macOS.
Elusión de los controles de seguridad Limita la aprobación de KEXT a proveedores verificados y gestiona esa aprobación mediante MDM en lugar de dejarla a criterio del usuario.
Diagnósticos más complejos Utiliza los registros de aprobación del MDM para rastrear qué extensión se cargó, cuándo y en qué dispositivos.

Extensiones de sistema de macOS: la alternativa moderna a las KEXT

Aunque las extensiones de kernel suponen un riesgo para los dispositivos y los entornos gestionados, su uso resulta indiscutiblemente esencial en una estrategia de gestión proactiva de TI. Para hacer frente a esos riesgos, Apple introdujo las extensiones de sistema de Mac, una alternativa más segura para integrar software en profundidad con el SO.

Las extensiones de sistema se entregan a través de frameworks específicos que funcionan en el espacio de usuario:

  • DriverKit: admite controladores de hardware sin necesidad de acceder al kernel.
  • Extensiones de red: componentes del espacio de usuario que permiten a las aplicaciones ampliar sus capacidades de red nativas.
  • Extensiones de seguridad de endpoints: ofrecen visibilidad a nivel de sistema a las herramientas de seguridad modernas, como las de detección y respuesta de endpoints (EDR) y las VPN.
  • FSKit: permite a los desarrolladores crear sistemas de archivos personalizados en el espacio de usuario en lugar de como extensiones de kernel, lo que extiende ese mismo alejamiento del código a nivel de kernel al almacenamiento y a los controladores de sistemas de archivos.

Sacar estas integraciones del kernel permite a los equipos de TI y a los MSP conservar sus capacidades de gestión y monitorización sin los riesgos sistémicos que conllevan las KEXT. Apple lo consigue cambiando dónde se ejecutan las extensiones, cuánto acceso reciben y cómo se contienen los fallos.

Ejecución en el espacio de usuario

A diferencia de las KEXT, las extensiones de sistema funcionan fuera del kernel de macOS, lo que evita que código de terceros se ejecute por debajo de la capa del SO. Si una extensión de sistema falla o se comporta de forma anómala, macOS puede aislar el problema sin que el sistema se bloquee, con lo que mejora la fiabilidad general.

Alcance de privilegios limitado

Las extensiones de sistema mantienen un acceso de mínimo privilegio, ya que solo realizan acciones aprobadas. Por ejemplo, una extensión de red puede observar o gestionar el tráfico de red sin acceder a componentes o métricas del sistema que no tengan relación. Este acceso delimitado reduce la superficie de ataque de tu entorno y limita el alcance de los daños provocados por errores o código malicioso.

Mayor estabilidad y seguridad

Las extensiones de sistema se integran sin fricciones con las funciones de seguridad de macOS, como System Integrity Protection, la firma de código y las aprobaciones por parte del usuario o mediante MDM. Además, es menos probable que las actualizaciones de macOS las rompan y los fallos son más fáciles de diagnosticar y resolver.

Estrategia de gestión de las extensiones de kernel de macOS

Aunque Apple avanza de forma continua hacia las extensiones de sistema, macOS sigue admitiendo KEXT, sobre todo en escenarios heredados. Concretamente, lo hace para dar soporte a software antiguo y a herramientas especializadas que todavía no han migrado a las extensiones de sistema.

Las KEXT requieren un control y una aprobación explícitos a través de los siguientes mecanismos:

  • Aprobación del usuario: macOS exige que los usuarios aprueben manualmente el uso de una KEXT antes de que surta efecto, lo que crea un punto de fricción intencionado. En los Mac con macOS Sequoia o con la versión actual, macOS Tahoe, esta aprobación aparece en Ajustes del Sistema > General > Ítems de inicio y extensiones; las versiones anteriores de macOS utilizan en su lugar el panel Privacidad y seguridad.
  • Aprobación mediante MDM: algunos MDM para macOS permiten aprobar y añadir a la lista blanca las KEXT de forma centralizada para acelerar su carga sin necesidad de que el usuario intervenga.
  • Aprobación basada en la confianza: permite a los administradores aprobar las KEXT de una familia de proveedores conocida para simplificar la gestión de extensiones de kernel; eso sí, exige verificar cuidadosamente a cada proveedor.

Además, los administradores pueden recurrir al MDM para impedir que los usuarios aprueben extensiones de kernel por su cuenta. Este control garantiza que el gobierno de las KEXT quede en manos de los administradores mediante políticas y evita que los usuarios autoricen extensiones inseguras sin saberlo.

El impacto de Apple silicon y de la arquitectura moderna de macOS

En la WWDC 2019, Apple anunció oficialmente la obsolescencia de las KEXT y presentó las extensiones de sistema en macOS 10.15.4 Catalina como sustituto. Al año siguiente, Apple anunció también Apple silicon, que cambió la forma en que macOS gestiona la confianza, la seguridad y el acceso al sistema a bajo nivel.

En los dispositivos modernos con Apple silicon y macOS, las extensiones de kernel no se cargan si no se permiten de forma explícita, algo que choca directamente con el diseño de seguridad actual de macOS. En los entornos gestionados, esto aumenta la fricción y el riesgo al usar KEXT a gran escala.

Estas restricciones estrictas son intencionadas, ya que las extensiones a nivel de kernel pueden dañar los dispositivos al introducir código externo, en ocasiones no aprobado, en el SO. Para los equipos de TI y los MSP que gestionan entornos heredados, depender de las KEXT exigirá cada vez más excepciones de seguridad, intervenciones manuales o concesiones en la arquitectura.

A fecha de 2026, Apple no ha confirmado en qué versión de macOS dejarán de funcionar por completo las extensiones de kernel, y las indicaciones actuales apuntan a que el soporte se mantendrá en macOS 27, aunque es probable que la tendencia a endurecer las restricciones continúe con cada versión.

Gestiona las extensiones de sistema y de kernel de macOS con NinjaOne

NinjaOne MDM ofrece varias funciones que ayudan a los administradores a gestionar las extensiones de kernel y de seguridad de forma centralizada y a gran escala en entornos macOS.

  • Gestión de extensiones de sistema: añade o bloquea extensiones de sistema concretas desde la política del agente de NinjaOne y utiliza identificadores de paquete para agilizar la aprobación de extensiones de proveedores de confianza.
  • Gestión de preferencias de privacidad: preconfigura los permisos de privacidad de aplicaciones gestionadas específicas y concede el acceso necesario a las fuentes de datos sin que el usuario tenga que intervenir.
  • Asignación y aplicación de políticas: configura los ajustes de MDM, incluidas las extensiones de sistema, dentro de las políticas del agente para macOS. Consulta y gestiona las secciones sobrescritas de las políticas asignadas desde el panel del dispositivo.
  • Acciones sobre dispositivos: acelera los flujos de trabajo administrativos con acciones como apagar un equipo, instalar el agente de NinjaOne o eliminar dispositivos macOS inscritos en el MDM, todo directamente desde la consola de NinjaOne.

Guía de inicio rápido

NinjaOne puede ayudarte a gestionar las extensiones de kernel de macOS (KEXT) y las extensiones de sistema gracias a sus capacidades de MDM. Así es como NinjaOne facilita la gestión de extensiones en macOS:

Gestión de extensiones de sistema

  • Añadir o bloquear extensiones de sistema: los administradores pueden añadir o bloquear extensiones de sistema concretas mediante identificadores de paquete, lo que agiliza las aprobaciones de proveedores de confianza.
  • Gestión de preferencias de privacidad: preconfigura los permisos de privacidad de las aplicaciones gestionadas para conceder el acceso necesario sin que el usuario tenga que intervenir.

Asignación y aplicación de políticas

  • Ajustes de MDM en las políticas del agente: configura los ajustes de MDM, incluidas las extensiones de sistema, dentro de las políticas del agente para macOS.
  • Consultar las excepciones de políticas: gestiona las secciones sobrescritas de las políticas asignadas desde el panel del dispositivo para tener más control y visibilidad.

Acciones sobre dispositivos

  • Flujos de trabajo administrativos: utiliza acciones sobre dispositivos como apagar un equipo, instalar el agente de NinjaOne o eliminar dispositivos macOS inscritos en el MDM directamente desde la consola de NinjaOne para acelerar las tareas administrativas.

Control centralizado

  • Gestión de la aprobación del usuario: exige la aprobación del usuario para las KEXT o utiliza la aprobación mediante MDM para gestionar y autorizar las extensiones de forma centralizada.
  • Aprobación basada en la confianza: permite a los administradores aprobar las KEXT de proveedores conocidos, lo que simplifica la gestión sin renunciar a la seguridad.

Compatibilidad con Apple silicon: NinjaOne te ayuda a gestionar las mayores restricciones que se aplican a las KEXT en dispositivos con Apple silicon, de modo que garantices la compatibilidad y reduzcas el riesgo en los entornos macOS modernos.

Cómo proteger el uso de extensiones de kernel y de sistema en macOS

Las extensiones de kernel desempeñan un papel fundamental a la hora de ampliar las capacidades del software y de las plataformas; sin embargo, el acceso profundo al kernel plantea retos de seguridad y estabilidad para los entornos. La apuesta de Apple por las extensiones de sistema ayuda a mitigar los riesgos del uso de KEXT y, al mismo tiempo, mejora la fiabilidad de los dispositivos.

Entender con claridad la transición de las extensiones de kernel a las de sistema te permite gestionar los dispositivos macOS de forma más segura. Además, te ayuda a planificar futuras actualizaciones, garantizar la compatibilidad y simplificar los flujos de trabajo en entornos macOS heredados gestionados.

Temas relacionados:

FAQs

Cuando se bloquea una extensión de kernel, macOS impide que se cargue en el kernel y el software que depende de ella pierde funcionalidad. Las KEXT bloqueadas suelen necesitar la aprobación explícita del usuario o del MDM para cargarse, y los dispositivos con Apple silicon pueden requerir una autorización adicional debido a sus restricciones más estrictas.

Para activar una extensión de kernel normalmente hay que aprobarla en los ajustes de seguridad de macOS o mediante una política de MDM que la incluya en la lista blanca. En los dispositivos con Apple silicon pueden hacer falta pasos adicionales en el modo de recuperación, lo que puede debilitar la seguridad general del dispositivo.

Las extensiones de kernel se ejecutan dentro del kernel de macOS con todos los privilegios del sistema. Las extensiones de sistema, en cambio, se ejecutan en el espacio de usuario y ofrecen la misma funcionalidad sin exponer el SO a los riesgos del nivel de kernel.

Las extensiones de sistema pueden permanecer bloqueadas hasta que un usuario o un administrador las apruebe de forma explícita, para evitar que software no fiable obtenga capacidades elevadas. macOS exige el consentimiento del usuario o la aprobación mediante MDM para asegurar que las extensiones provienen de proveedores verificados y cumplen las políticas de la organización.

Las extensiones de kernel siguen admitiéndose en los entornos macOS heredados, aunque Apple restringe cada vez más su uso con cada versión. Las organizaciones deben prever un soporte menor y más fricciones, por lo que migrar a software basado en extensiones de sistema resulta imprescindible para garantizar la compatibilidad a largo plazo.

En macOS Sequoia y en la versión actual, macOS Tahoe, las extensiones se gestionan en Ajustes del Sistema > General > Ítems de inicio y extensiones. Las versiones anteriores de macOS utilizan en su lugar el panel Privacidad y seguridad. En los Mac con Apple silicon, puede que además tengas que configurar la política de seguridad como Seguridad reducida en la Utilidad de Seguridad de Arranque para que una extensión de kernel pueda cargarse.

FSKit es un framework más reciente de Apple que permite a los desarrolladores crear sistemas de archivos personalizados en el espacio de usuario en lugar de como extensiones de kernel. Prolonga ese mismo alejamiento del código a nivel de kernel que impulsó el paso a DriverKit, Network Extension y Endpoint Security, esta vez para el almacenamiento y los controladores de sistemas de archivos.

Quizá también te interese…

¿Listo para simplificar los aspectos más complejos de las TI?

Términos y condiciones de NinjaOne

Al hacer clic en el botón «Acepto» que aparece a continuación, estás aceptando los siguientes términos legales, así como nuestras Condiciones de uso:

  • Derechos de propiedad: NinjaOne posee y seguirá poseyendo todos los derechos, títulos e intereses sobre el script (incluidos los derechos de autor). NinjaOne concede al usuario una licencia limitada para utilizar el script de acuerdo con estos términos legales.
  • Limitación de uso: solo podrás utilizar el script para tus legítimos fines personales o comerciales internos, y no podrás compartirlo con terceros.
  • Prohibición de republicación: bajo ninguna circunstancia está permitido volver a publicar el script en ninguna biblioteca de scripts que pertenezca o esté bajo el control de cualquier otro proveedor de software.
  • Exclusión de garantía: el script se proporciona «tal cual» y «según disponibilidad», sin garantía de ningún tipo. NinjaOne no promete ni garantiza que el script esté libre de defectos o que satisfaga las necesidades o expectativas específicas del usuario.
  • Asunción de riesgos: el uso que el usuario haga del script corre por su cuenta y riesgo. El usuario reconoce que existen ciertos riesgos inherentes al uso del script, y entiende y asume cada uno de esos riesgos.
  • Renuncia y exención: el usuario no hará responsable a NinjaOne de cualquier consecuencia adversa o no deseada que resulte del uso del script y renuncia a cualquier derecho o recurso legal o equitativo que pueda tener contra NinjaOne en relación con su uso del script.
  • CLUF: si el usuario es cliente de NinjaOne, su uso del script está sujeto al Contrato de Licencia para el Usuario Final (CLUF).