Control de la política de seguridad del disco de arranque para una computadora Mac con Apple Chip
Descripción general
A diferencia de las políticas de seguridad de una computadora Mac basadas en Intel, las de una Mac con Apple Chip son para cada sistema operativo instalado. Esto significa que se admiten varias instancias de macOS instaladas con diferentes versiones y políticas de seguridad en una misma Mac. Por este motivo, se agregó un selector de sistema operativo en Utilidad de Seguridad de Arranque.
En una computadora Mac con Apple Chip, Utilidad de Seguridad del Sistema indica el estado de seguridad general configurado por el usuario de macOS, tal como la ejecución de un kext o la configuración de la protección de la integridad del sistema (SIP). Si el cambio de una configuración de seguridad reduce significativamente la seguridad o la haría más fácil de transgredir, para hacer el cambio el usuario deberá entrar en el modo recoveryOS manteniendo presionado el botón de encendido (de forma que el malware no pueda activar la señal, sino sólo una persona con acceso físico). Debido a esto, una Mac basada en Apple Chip tampoco requerirá (ni será compatible con) una contraseña de firmware, ya que todos los cambios críticos se acreditan mediante la autorización del usuario. Para obtener más información sobre la SIP, consulta Protección de la integridad del sistema.
Las seguridades máxima y reducida se pueden configurar mediante la app Utilidad de Seguridad de Arranque en recoveryOS. Sin embargo, la seguridad permisiva se puede acceder sólo desde las herramientas de línea de comandos para los usuarios que aceptan el riesgo de hacer que su Mac sea mucho menos segura.
Política de máxima seguridad
La opción predeterminada es Máxima seguridad, y se comporta como iOS y iPadOS. En el momento en que se descarga el software y se prepara para su instalación, en lugar de usar la firma global que viene con el software, macOS se comunica con el mismo servidor de firma de Apple que se utiliza para iOS y iPadOS, y solicita una firma reciente “personalizada”. Una firma es personalizada cuando incluye el identificador de chip exclusivo (ECID), un ID único específico para el CPU de Apple en este caso, como parte de la solicitud de firma. La firma devuelta por el servidor de firma es entonces única y sólo la puede usar ese CPU de Apple en particular. Cuando la política de máxima seguridad está en vigor, la ROM de arranque y LLB ayudan a garantizar que una firma específica no esté firmada sólo por Apple, sino por esta Mac específica; lo que en esencia vincula esa versión de macOS a esa Mac.
Usar un servidor de firma en línea también brinda una mejor protección contra los ataques de retroceso que los métodos de firma global típicos. En un sistema de firma global, el epoch de seguridad pudo haberse retrocedido muchas veces, pero un sistema que nunca ha visto el último firmware no lo sabe. Por ejemplo, una computadora que cree actualmente que está en el epoch de seguridad 1, acepta software del epoch de seguridad 2, aunque el epoch actual de seguridad sea el 5. Con el sistema de firma en línea de Apple Chip, el servidor de firmas puede rechazar crear firmas para software que estén en cualquier epoch de seguridad que no sea el más reciente.
Además, si un atacante descubre una vulnerabilidad después de un cambio de epoch de seguridad, no puede simplemente tomar el software vulnerable de un epoch anterior del sistema A y aplicarlo al sistema B para atacarlo. El hecho de que el software vulnerable de un epoch anterior se personalice al sistema A ayuda a evitar que pueda transferirse y usarse para atacar el sistema B. Todos estos mecanismos trabajan juntos para brindar garantías mucho más fuertes de que los atacantes no puedan colocar software vulnerable en una Mac para evadir las protecciones provistas por el software más reciente. Sin embargo, un usuario que tenga un nombre de usuario y contraseña de administrador para la Mac, siempre podrá seleccionar la política de seguridad que funcione mejor para sus casos de uso.
Política de seguridad reducida
La seguridad reducida es similar al comportamiento de seguridad media en las computadoras Mac basadas en Intel con chip T2, en donde un proveedor (en este caso, Apple) genera una firma digital para el código con la finalidad de asegurar de que provenga del proveedor. Esto está diseñado para ayudar a impedir que los atacantes inserten código sin firmar. Apple hace referencia a esta firma como una firma “global”, porque se puede usar en cualquier Mac, por cualquier cantidad de tiempo, para una Mac que actualmente tenga configurada la política Seguridad reducida. La seguridad reducida no proporciona en sí misma protección contra los ataques de retroceso (aunque los cambios no autorizados en el sistema operativo pueden hacer que los datos del usuario queden inaccesibles). Para obtener más información, consulta Extensiones del kernel en una Mac con Apple Chip.
Además de permitir que los usuarios ejecuten versiones anteriores de macOS, la seguridad reducida es necesaria en otras acciones que pueden poner en riesgo la seguridad del sistema del usuario, tales como implementar extensiones del kernel (kexts) de terceros. Las kexts tienen los mismos privilegios que el kernel, por lo que cualquier vulnerabilidad en las kexts de terceros tiene el potencial de vulnerar el sistema operativo completo. Es por esto que se les recomienda a los desarrolladores adoptar extensiones del sistema antes de que se elimine el soporte para kext de macOS en los modelos futuros de computadoras Mac con Apple Chip. Incluso cuando se habilitan las kexts de terceros, estas no se pueden cargar en el kernel por solicitud; en su lugar, se combinan en una colección de kernel auxiliar (AuxKC) cuyo hash se almacena en LocalPolicy y, por lo tanto, requiere que se reinicie. Para obtener más información sobre la generación de AuxKC, consulta Ampliar la funcionalidad del kernel de forma segura en macOS.
Política de seguridad permisiva
La seguridad permisiva es para los usuarios que aceptan el riesgo de poner su Mac en un estado mucho más inseguro, y es diferente del modo Sin seguridad de las computadoras Mac basadas en Intel con un chip T2. Con la seguridad permisiva, la verificación de firma se sigue realizando a lo largo de toda la cadena de arranque seguro, pero al configurar la política permisiva se le indica a iBoot que debe aceptar los objetos de arranque firmados por el Secure Enclave de forma local, tales como una colección de kernel de arranque generada por el usuario y construida a partir de un kernel XNU personalizado. De esta manera, la seguridad permisiva también proporciona una capacidad arquitectónica para ejecutar un kernel de “sistema operativo completamente no confiable” arbitrario. Cuando se carga en el sistema una colección de kernel de arranque personalizada o un sistema operativo que no es de confianza, algunas claves de desencriptado no estarán disponibles. Esto está diseñado para evitar que los sistemas operativos que no son de confianza accedan a los datos de los sistemas operativos que sí lo son.
Importante: Apple no ofrece o soporta kernels XNU personalizados.
Existe otra diferencia entre Seguridad permisiva y Sin seguridad en una Mac basada en Intel con el chip T2: la primera es un requisito previo para realizar algunas reducciones en la configuración de seguridad que en el pasado se podían controlar de forma independiente. Más notablemente, para desactivar la protección de la integridad del sistema (SIP) en una Mac basada en Apple Chip, el usuario debe reconocer que está poniendo el sistema en Seguridad permisiva. Esto es necesario debido a que desactivar la SIP ha puesto siempre el sistema en un estado que hace que el kernel sea mucho más vulnerable. En particular, al desactivar la SIP en una Mac con Apple Chip se desactiva la aplicación de la firma de las kexts durante el tiempo de generación de la AuxKC, lo que permite cargar cualquier kext arbitraria en la memoria del kernel. En las Mac con Apple Chip se ha implementado otra mejora en la SIP, en donde el almacenamiento de la política se pasó de la NVRAM a LocalPolicy. Así que ahora, para desactivar la SIP se requiere la autenticación de un usuario con acceso a la clave de la firma de LocalPolicy de recoveryOS (al que se accede manteniendo presionado el botón de encendido). Esto ocasiona que sea mucho más difícil para un atacante sólo de software, o incluso un atacante físicamente presente, desactivar la SIP.
No es posible cambiar a Seguridad permisiva desde la app Utilidad de Seguridad de Arranque. Los usuarios pueden reducir la seguridad sólo al ejecutar herramientas de línea de comandos desde Terminal en recoveryOS, como csrutil
(para desactivar la SIP). Una vez que el usuario ha reducido la seguridad, este hecho se refleja en Utilidad de Seguridad de Arranque, por lo que el usuario puede configurar fácilmente la seguridad a una más segura.
Nota: una Mac con Apple Chip no requiere ni admite una política de arranque de soporte específica porque técnicamente todos los arranques se realizan de forma local. Si un usuario elige arrancar desde un soporte externo, esa versión del sistema operativo debe personalizarse primero mediante un reinicio autenticado desde recoveryOS. Al hacer esto se crea un archivo LocalPolicy en la unidad interna que se usa para realizar un arranque de confianza desde el sistema operativo almacenado en el soporte externo. Esto significa que la configuración del arranque desde un soporte externo siempre está activada de forma explícita por sistema operativo y ya requiere la autorización del usuario, por lo que no es necesaria una configuración de seguridad adicional.