En la conferencia WWDC del año pasado, Apple anunció sus planes para dejar de lado las “extensiones del núcleo” de macOS (KEXTs) y sustituirlas por un nuevo mecanismo llamado “extensiones del sistema”.
El primer paso hacia este anuncio se dio con el lanzamiento de macOS Catalina (10.15.0) en septiembre de 2019, cuando se introdujeron las extensiones del sistema junto con las extensiones del núcleo.
El último paso del plan de Apple entrará en vigor en las próximas semanas, con el próximo lanzamiento de macOS Catalina 10.15.4.
Según Apple, a partir de macOS 10.15.4, el uso de las extensiones del kernel activará una notificación al usuario de que el software incluye una API obsoleta y le pedirá que se ponga en contacto con el desarrollador para obtener alternativas.
¿Cuál es la diferencia entre ambas?
Tanto las extensiones del kernel como las del sistema tienen el mismo propósito. Permiten a los usuarios instalar apps que amplían las capacidades nativas del sistema operativo macOS.
Las apps instalan extensiones del kernel/sistema que les permiten realizar operaciones para las que macOS no tiene características o funciones nativas.
El software antivirus de Mac, los cortafuegos, los clientes VPN, los proxies DNS y los controladores USB, entre otros, hacen uso de las extensiones del kernel.
La diferencia entre estos dos nuevos sistemas de extensiones es que las extensiones del kernel más antiguas ejecutan su código en el nivel del kernel de macOS, mientras que las nuevas extensiones del sistema se ejecutan en un espacio de usuario más controlado.
Gran movimiento para la seguridad
“Desde el punto de vista de Apple, este es un gran paso hacia la mejora de la seguridad de macOS”, dijo Patrick Wardle, investigador principal de seguridad en Jamf, y un conocido experto en seguridad de macOS, en una entrevista esta semana.
“Las extensiones del kernel de terceros suponen un jugoso vector de ataque para los atacantes que se dirigen a macOS”, añadió. “Especialmente si usted, como atacante puede explotar una extensión del kernel, o cargar la suya propia (suponiendo que esté firmada)”.
Y los ataques que involucran KEXTs han sucedido en el pasado.
“Es realmente el juego terminado para macOS”, dijo Wardle. “Muchos muchos mecanismos de seguridad se implementan / refuerzan en el kernel.”
Wardle dice que un ataque como este no funcionaría con las extensiones del sistema, ya que se ejecutan en el modo de usuario.
“Como no se ejecutan en el kernel, un exploit ya no te da acceso al modo kernel como lo hizo con un exploit KEXT”, dijo Wardle.
“Así que Apple básicamente quiere echar a todos , en gran parte por razones de seguridad.”
Potenciales desventajas
Sin embargo, Wardle dice que también hay una desventaja en este movimiento.
La primera es que al expulsar a los desarrolladores de aplicaciones del núcleo, Apple también gana mucho más control sobre macOS, similar al control que tienen sobre iOS.
Hasta ahora, macOS ha sido un refugio para los desarrolladores y sus usuarios. Si macOS no tenía una característica específica, los desarrolladores podían simplemente crear una aplicación y aprovechar una extensión del kernel para añadir las características que necesitaban.
La segunda desventaja es que muchas herramientas de seguridad en sí mismas, han dependido en gran medida y se han construido en torno al acceso completo que las extensiones del kernel proporcionan al Mac de un usuario. Se podría argumentar que el movimiento de Apple hacia las extensiones del sistema podría terminar neutralizando los productos de seguridad, que perderán parte de su capacidad para detectar y detener el malware en el camino.
Sin embargo, Wardle, que es el autor de muchas herramientas de seguridad gratuitas para macOS, dice que Apple ha proporcionado “algunos grandes marcos de modo de usuario que proporcionan a las herramientas de seguridad de terceros las capacidades que necesitan”, por lo que parece que Apple no ha cortado la rama bajo sus pies, todavía.
Pero por el momento, no está claro si las extensiones del sistema proporcionarían la misma versatilidad y libertad de codificación que las extensiones del núcleo. Esto está por ver -y es un tema para otro artículo- ya que necesitaremos más tiempo para que los desarrolladores de macOS hagan lentamente el cambio a las extensiones del sistema en el futuro.
Sin embargo, Wardle señala que el movimiento es bueno para la seguridad de macOS, en general, independientemente de otras posibles razones para el movimiento de Apple.