Gatekeeper es una característica de seguridad del sistema operativo macOS de Apple . [1] [2] Aplica la firma de código y verifica las aplicaciones descargadas antes de permitir su ejecución, lo que reduce la probabilidad de ejecutar malware sin darse cuenta . Gatekeeper se basa en File Quarantine , que se introdujo en Mac OS X Leopard y se amplió en Mac OS X Snow Leopard . [3] [4] La característica se originó en la versión 10.7.3 de Mac OS X Lion como la utilidad de línea de comandos spctl . [5] [6] Originalmente se agregó una interfaz gráfica de usuario en OS X Mountain Lion (10.8), pero se actualizó a Lion con la actualización 10.7.5. [7]
En el panel de seguridad y privacidad de Preferencias del Sistema , el usuario tiene tres opciones, permitiendo descargar aplicaciones desde:
La utilidad de línea de comandos spctl proporciona controles granulares, como reglas personalizadas y permisos individuales o generales, así como una opción para desactivar Gatekeeper. [6]
Al descargar una aplicación, se puede agregar un atributo de archivo extendido particular ("indicador de cuarentena") al archivo descargado. [10] Este atributo lo agrega la aplicación que descarga el archivo, como un navegador web o un cliente de correo electrónico , pero generalmente no lo agrega el software de cliente BitTorrent común , como Transmission , y los desarrolladores de aplicaciones deberán implementar esta característica en sus aplicaciones y no es implementado por el sistema. El sistema también puede forzar este comportamiento en aplicaciones individuales utilizando un sistema basado en firmas llamado Xprotect. [11]
Cuando el usuario intenta abrir una aplicación con dicho atributo, el sistema pospondrá la ejecución y verificará si:
Desde Mac OS X Snow Leopard, el sistema mantiene dos listas negras para identificar malware conocido o software inseguro. Las listas negras se actualizan periódicamente. Si la aplicación está en la lista negra, File Quarantine se negará a abrirla y recomendará al usuario que la arrastre a la Papelera . [11] [12]
Gatekeeper se negará a abrir la aplicación si no se cumplen los requisitos de firma del código. Apple puede revocar el certificado de desarrollador con el que se firmó la aplicación e impedir una mayor distribución. [1] [3]
Una vez que una aplicación haya pasado la Cuarentena de Archivos o el Gatekeeper, se le permitirá ejecutarse normalmente y no se volverá a verificar. [1] [3]
Para anular Gatekeeper, el usuario (que actúa como administrador) debe cambiar a una política más indulgente desde el panel de seguridad y privacidad de Preferencias del Sistema o autorizar una anulación manual para una aplicación en particular, ya sea abriendo la aplicación desde el menú contextual o agregándolo con spctl . [1]
Los desarrolladores pueden firmar imágenes de disco que el sistema puede verificar como una unidad. En macOS Sierra, esto permite a los desarrolladores garantizar la integridad de todos los archivos empaquetados y evitar que los atacantes los infecten y posteriormente los redistribuyan. Además, la "aleatorización de rutas" ejecuta paquetes de aplicaciones desde una ruta oculta y aleatoria y les impide acceder a archivos externos en relación con su ubicación. Esta característica está desactivada si el paquete de aplicaciones se originó a partir de un paquete de instalación firmado o una imagen de disco o si el usuario movió manualmente la aplicación sin ningún otro archivo a otro directorio. [8]
Se ha reconocido la eficacia y el fundamento de Gatekeeper en la lucha contra el malware, [3] pero se han recibido reservas. El investigador de seguridad Chris Miller señaló que Gatekeeper verificará el certificado de desarrollador y consultará la lista de malware conocido sólo cuando se abra la aplicación por primera vez. El malware que ya superó Gatekeeper no se detendrá. [13] Además, Gatekeeper solo verificará las aplicaciones que tengan la bandera de cuarentena. Como esta bandera la agregan otras aplicaciones y no el sistema, cualquier negligencia o falla al hacerlo no activa Gatekeeper. Según el blogger de seguridad Thomas Reed, los clientes de BitTorrent son infractores frecuentes de esto. La bandera tampoco se agrega si la aplicación proviene de una fuente diferente, como recursos compartidos de red y unidades flash USB . [10] [13] También se han planteado preguntas sobre el proceso de registro para adquirir un certificado de desarrollador y la posibilidad de robo de certificados. [14]
En septiembre de 2015, el investigador de seguridad Patrick Wardle escribió sobre otra deficiencia que afecta a las aplicaciones que se distribuyen con archivos externos, como bibliotecas o incluso archivos HTML que pueden contener JavaScript . [8] Un atacante puede manipular esos archivos y, a través de ellos, explotar una vulnerabilidad en la aplicación firmada. La aplicación y sus archivos externos se pueden redistribuir, dejando intacta la firma original del paquete de la aplicación. Como Gatekeeper no verifica dichos archivos individuales, la seguridad puede verse comprometida. [15] Con la aleatorización de rutas y las imágenes de disco firmadas, Apple proporcionó mecanismos para mitigar este problema en macOS Sierra. [8]
En 2021, se descubrió una vulnerabilidad por la que al colocar #!
la primera línea (sin la ruta del intérprete ) de un archivo se omitía Gatekeeper. [dieciséis]
En 2022, un investigador de Microsoft compartió una vulnerabilidad que abusa del formato AppleDouble para establecer una lista de control de acceso arbitraria para evitar Gatekeeper. [17]