Gatekeeper es una función de seguridad del sistema operativo macOS de Apple . [1] [2] Aplica la firma de código y verifica las aplicaciones descargadas antes de permitir que se ejecuten, lo que reduce la probabilidad de ejecutar malware inadvertidamente . Gatekeeper se basa en File Quarantine , que se introdujo en Mac OS X Leopard (10.5) y se amplió en Mac OS X Snow Leopard (10.6). [3] [4] La función 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 incorporó 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 aplicaciones descargadas 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 ("bandera 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 no lo agrega generalmente el software cliente BitTorrent común , como Transmission , y los desarrolladores de aplicaciones necesitarán implementar esta característica en sus aplicaciones y no la implementa 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á que el usuario la arrastre a la Papelera . [11] [12]
Gatekeeper se negará a abrir la aplicación si no se cumplen los requisitos de firma de código. Apple puede revocar el certificado del desarrollador con el que se firmó la aplicación y evitar su posterior 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 verificará nuevamente. [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ándola 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 incluidos y evitar que los atacantes los infecten y luego los redistribuyan. Además, la "aleatorización de ruta" ejecuta paquetes de aplicaciones desde una ruta oculta aleatoria y les impide acceder a archivos externos en relación con su ubicación. Esta función se desactiva 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]
La eficacia y la lógica de Gatekeeper para combatir el malware han sido reconocidas, [3] pero han sido recibidas con reservas. El investigador de seguridad Chris Miller señaló que Gatekeeper verificará el certificado de desarrollador y consultará la lista de malware conocido solo cuando se abra la aplicación por primera vez. El malware que ya haya pasado la prueba de Gatekeeper no se detendrá. [13] Además, Gatekeeper solo verificará las aplicaciones que tengan la bandera de cuarentena. Como esta bandera la añaden otras aplicaciones y no el sistema, cualquier negligencia o falla al hacerlo no activa Gatekeeper. Según el bloguero de seguridad Thomas Reed, los clientes de BitTorrent son infractores frecuentes de esto. La bandera tampoco se añade 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 pueden entonces redistribuirse, dejando intacta la firma original del propio 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 en la que colocar #!
la primera línea (sin la ruta del intérprete ) de un archivo pasaba por alto Gatekeeper. [16]
En 2022, un investigador de Microsoft compartió una vulnerabilidad que abusa del formato AppleDouble para establecer una lista de control de acceso arbitraria para eludir Gatekeeper. [17]
{{cite web}}
: CS1 maint: bot: estado de URL original desconocido ( enlace )