Control de la política de seguridad de Disco de Arranque para un Mac con chip de Apple
Descripción general
A diferencia de las políticas de seguridad de un ordenador Mac basado en Intel, las políticas de seguridad de un Mac con chip de Apple son para cada sistema operativo instalado. Esto significa que en el mismo Mac se admiten varias instancias de macOS instaladas con diferentes versiones y políticas de seguridad. Por este motivo, se ha añadido un selector de sistema operativo a Utilidad de Seguridad de Arranque.
En un Mac con chip de Apple, Utilidad de Seguridad del Sistema indica el estado de seguridad general de macOS configurado por el usuario, como el arranque de una kext o la configuración de la protección de la integridad del sistema (SIP). Si el cambio del ajuste de seguridad degradara considerablemente la seguridad o permitiera poner en riesgo el sistema más fácilmente, los usuarios deben acceder al sistema operativo de recuperación manteniendo pulsado el botón de encendido (para que la señal no se pueda desencadenar mediante software malicioso y solo una persona con acceso físico pueda desencadenarla) para aplicar el cambio. Por este motivo, un Mac con chip de Apple tampoco requerirá (ni admitirá) una contraseña de firmware; todos los cambios críticos ya se gestionan mediante la autorización del usuario. Para obtener más información acerca de la SIP, consulta Protección de la integridad del sistema.
La seguridad máxima o reducida puede establecerse mediante Utilidad de Seguridad de Arranque desde el sistema operativo de recuperación. Sin embargo, la seguridad permisiva solo es accesible desde herramientas de línea de comandos para usuarios que aceptan el riesgo de degradar considerablemente la seguridad de su Mac.
Política de seguridad máxima
“Seguridad máxima” es la opción por defecto y se comporta igual que en iOS y iPadOS. En el momento en que se descarga el software y está preparado para su instalación, en lugar de usar la firma global que viene con el software, macOS contacta con el mismo servidor de firmas de Apple que se usa para iOS y iPadOS y pide una nueva firma “personalizada”. Una firma está personalizada cuando incluye el identificador único del dispositivo o ECID (un identificador único específico de la CPU de Apple, en este caso) como parte de la petición de firma. La firma que devuelve el servidor de firmas es, por tanto, única y solo puede usarla esa CPU de Apple en concreto. Cuando se aplica la política “Seguridad máxima”, la ROM de arranque y el LLB contribuyen a garantizar que una determinada firma no solo esté firmada por Apple, sino que esté firmada para ese Mac concreto; en esencia, vinculan esa versión de macOS a ese Mac.
El uso de un servidor de firmas en línea también proporciona una mayor protección frente a los ataques que intentan restablecer versiones anteriores y que suelen utilizar firmas globales. En un sistema de firmas globales, la etapa de seguridad podría haberse restablecido muchas veces, pero esto no lo sabrá un sistema que nunca ha visto el último firmware. Por ejemplo, un ordenador que actualmente cree que se encuentra en la etapa 1 de seguridad acepta el software de la etapa 2 de seguridad, incluso si la etapa de seguridad actual es 5. Con un sistema de firmas en línea del chip de Apple, el servidor de firmas puede rechazar la creación de firmas para el software que no se encuentre en la etapa de seguridad más reciente.
Además, si un atacante descubre una vulnerabilidad después de un cambio de etapa de seguridad, no puede simplemente tomar el software vulnerable del sistema A de una etapa anterior y aplicarlo al sistema B para atacarlo. El hecho de que el software vulnerable de una etapa anterior estuviera personalizado para el sistema A ayuda a evitar que se pueda transferir y, por tanto, utilizar para atacar un sistema B. Todos estos mecanismos funcionan conjuntamente para ofrecer garantías mucho más sólidas de que los atacantes no pueden instalar software vulnerable en un Mac voluntariamente para burlar las protecciones proporcionadas por el software más reciente. Sin embargo, un usuario que tenga el nombre y la contraseña de un administrador del Mac siempre puede elegir la política de seguridad que mejor se adapte a su caso de uso.
Política de seguridad reducida
La seguridad reducida es similar al comportamiento de “Seguridad media” en un Mac basado en Intel con un chip T2, en el que un proveedor (en este caso, Apple) genera una firma digital para que el código pueda afirmar que procede del proveedor. Este diseño ayuda a impedir que los atacantes inserten código sin firmar. Apple se refiere a esta firma como firma “global” porque se puede usar en cualquier Mac, durante cualquier cantidad de tiempo, para un Mac que actualmente tiene establecida una política de seguridad reducida. La seguridad reducida no proporciona por sí sola protección contra ataques que intentan restablecer versiones anteriores (aunque los cambios no autorizados en el sistema operativo pueden provocar que los datos del usuario dejen de ser accesibles). Para obtener más información, consulta Extensiones del kernel en un Mac con chip de Apple.
Además de permitir a los usuarios ejecutar versiones anteriores de macOS, la seguridad reducida se requiere para otras acciones que pueden poner en riesgo la seguridad del sistema del usuario, como la introducción de extensiones del kernel de terceros (kexts). Las kexts tienen los mismos privilegios que el kernel y, por lo tanto, cualquier vulnerabilidad en kexts de terceros puede poner en riesgo todo el sistema operativo. Por ello, se recomienda encarecidamente a los desarrolladores que adopten extensiones del sistema, antes de que se elimine la compatibilidad con las kexts de macOS en futuros ordenadores Mac con chips de Apple. Aunque las kexts de terceros estén permitidas, no se podrán cargar en el kernel a petición. En su lugar, se reunirán en una colección de kernel auxiliar (AuxKC), cuyo hash se almacena en el archivo LocalPolicy, por lo que requieren un reinicio. Para obtener más información sobre la generación de la AuxKC, consulta Extensión segura del kernel en macOS.
Política de seguridad permisiva
La seguridad permisiva es para aquellos usuarios que aceptan establecer el Mac en un estado mucho más inseguro. Este modo es distinto al modo “Sin seguridad” de los ordenadores Mac basados en Intel con chip T2. Con la seguridad permisiva, la verificación de firmas se sigue realizando a lo largo de toda la cadena de arranque seguro, pero al establecer la política en “Seguridad permisiva” se indica a iBoot que debe aceptar objetos de arranque firmados por Secure Enclave localmente, como una colección de kernel de arranque generada por el usuario compilada desde un kernel de XNU personalizado. De este modo, la seguridad permisiva también proporciona una capacidad arquitectónica para ejecutar un kernel arbitrario de sistema operativo no confiable. Cuando una colección de kernel de arranque personalizada o un sistema operativo que no sea de confianza se cargan en el sistema, algunas claves de desencriptación dejan de estar disponibles. Esto está así diseñado para impedir que un sistema operativo que no sea de confianza acceda a datos de sistemas operativos de confianza.
Importante: Apple no proporciona ni admite kernels XNU personalizados.
La seguridad permisiva también se diferencia del modo “Sin seguridad” de los ordenadores Mac basados en Intel con el chip T2 en que es un requisito previo para algunas degradaciones de seguridad que anteriormente se controlaban de manera independiente. En particular, para desactivar la protección de la integridad del sistema (SIP) en un Mac con chip de Apple, un usuario debe reconocer que está cambiando el sistema al modo de seguridad permisiva. Este requisito se ha establecido debido a que la desactivación de la SIP siempre ha puesto al sistema en un estado que permite comprometer la seguridad del kernel mucho más fácilmente. En concreto, la desactivación de la SIP en ordenadores Mac con chip de Apple desactiva la obligación de firmar las kexts durante la generación de la AuxKC, lo que permite que cualquier kext arbitraria se cargue en la memoria del kernel. En un Mac con chip de Apple se ha realizado otra mejora en la SIP, al sacar el almacén de políticas de NVRAM y trasladarlo a LocalPolicy. Así, ahora al desactivar la SIP, se requiere que un usuario con acceso a la clave de firma de LocalPolicy se autentique desde el sistema operativo de recuperación, ejecutado tras mantener pulsado el botón de encendido. Esto dificulta considerablemente que un atacante del software o incluso físicamente presente pueda desactivar la SIP.
No es posible bajar al nivel de seguridad permisiva desde la app Utilidad de Seguridad de Arranque. Los usuarios solo pueden bajar el nivel de seguridad si ejecutan herramientas de línea de comandos desde Terminal en el sistema operativo de recuperación, como csrutil
(para desactivar la SIP). Una vez que el usuario baja el nivel de seguridad, este hecho se refleja en Utilidad de Seguridad de Arranque, donde un usuario puede establecer la seguridad en un modo más seguro.
Nota: Un Mac con chip de Apple no requiere ni admite una política de arranque de soportes, ya que, técnicamente, todos los arranques se realizan localmente. Si un usuario decide arrancar desde un soporte externo, en primer lugar es necesario personalizar la versión del sistema operativo mediante un reinicio autenticado desde el sistema operativo de recuperación. Este reinicio 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. De esta forma, la configuración del inicio desde el soporte externo siempre está permitida explícitamente por sistema operativo, y ya requiere la autorización del usuario, con lo que no se necesita ninguna configuración segura adicional.