Gatekeeper verifica una aplicación una sola vez — y nunca la vuelve a revisar.

Investigadores descubrieron una forma de reemplazar silenciosamente una aplicación de confianza para macOS con una copia maliciosa después de que el usuario la haya ejecutado al menos una vez. El sistema Gatekeeper al abrirla de nuevo puede no mostrar una advertencia, aunque el archivo ejecutable principal de la aplicación ya esté modificado.
Según Talal Haj Bakri y Tommy Mysk, el problema afecta a aplicaciones descargadas de internet, pero no a las de la Mac App Store. Como objetivos potenciales mencionan Brave, Slack, Signal, Visual Studio Code y otras aplicaciones que los usuarios suelen descargar desde las páginas de los desarrolladores.
Gatekeeper debe verificar las aplicaciones distribuidas fuera de la tienda de Apple. Al primer lanzamiento macOS determina si la aplicación está firmada por un desarrollador conocido, si pasó por la notaría de Apple y si no ha sido modificada después de la firma. El usuario también recibe una advertencia de que la aplicación fue descargada de internet; la documentación de Apple indica que la modificación de la aplicación después de la firma invalida la firma y debería ser detectada por las herramientas de verificación.
Para llevar a cabo el ataque, el atacante ya necesita la capacidad de ejecutar comandos con los privilegios del usuario actual. Se puede obtener mediante una aplicación maliciosa, un script descargado, un comando que se convenza a la persona de pegar en Terminal, o un paquete comprometido de un gestor de aplicaciones de terceros.
Por tanto, el hallazgo no permite comprometer un Mac de forma remota con una sola petición y no corresponde a ataques sin interacción del usuario. Sin embargo, ayuda a un malware ya en ejecución a afianzarse haciéndose pasar por una aplicación familiar y aumenta la probabilidad de que el propietario del equipo confíe en solicitudes posteriores.
El ataque comienza con una aplicación descargada fuera de la Mac App Store y que ya pasó la primera comprobación de Gatekeeper. Los investigadores la archivaron con la utilidad tar, eliminaron el directorio original y restauraron en su lugar una copia modificada con otro ejecutable.
Tras ese reemplazo macOS iniciaba la aplicación modificada sin volver a advertir sobre una firma dañada o un desarrollador desconocido. El código malicioso se ejecutaba con el nombre y el icono de la aplicación en la que el usuario ya había confiado.
La modificación habitual de archivos dentro de un paquete firmado debería romper la integridad de la firma digital. La documentación de Apple indica que la modificación de una aplicación tras la firma hace que la firma sea inválida y debería ser detectada por las herramientas de verificación.
Los investigadores suponen que la causa del comportamiento puede estar relacionada con un resultado guardado de la primera comprobación. Tras un inicio exitoso, el sistema recuerda la aplicación como confiable y, al restaurar todo el paquete, no siempre la evalúa igual que un archivo nuevo descargado de internet.
Es más difícil reemplazar las aplicaciones de la Mac App Store de ese modo. Se instalan con propietario root, por lo que un proceso normal que se ejecute con la cuenta de usuario no puede sobrescribir sus directorios sin elevar privilegios. Las aplicaciones que el usuario mueve por sí mismo a la carpeta «Aplicaciones» tras descargarlas desde un sitio suelen pertenecer al propio usuario.
Una aplicación reemplazada no obtiene automáticamente acceso a todos los datos protegidos de macOS. Para leer el llavero, el escritorio, los documentos, la cámara o el micrófono puede necesitar permisos del sistema por separado. Sin embargo, la solicitud parecerá provenir de una aplicación instalada desde hace tiempo, por lo que a la persona le resultará más fácil aceptarla como legítima.
Por ejemplo, una copia maliciosa de un mensajero o navegador puede solicitar acceso a carpetas, contraseñas o la grabación de pantalla. El usuario verá el nombre y el icono familiares y puede no darse cuenta de que la aplicación real ya fue borrada y reemplazada por otro paquete.
Bakri y Mysk informaron del hallazgo a Apple, pero la compañía no consideró que el comportamiento descrito requiriera una corrección. Según la explicación transmitida a los investigadores, archivar y restaurar se considera no como una modificación del ejecutable firmado, sino como un reemplazo completo de la aplicación por un paquete creado localmente.
Las aplicaciones creadas localmente no pasan todas las comprobaciones que se aplican a los programas con el atributo de cuarentena obtenido de internet. Apple también considera la persuasión al usuario para que confirme permisos adicionales como ingeniería social, que no considera una violación de la protección de Gatekeeper.
El método descubierto por sí solo no crea el punto inicial de penetración. Si el atacante ya puede ejecutar código en la cuenta, puede robar archivos disponibles y realizar otras acciones. La nueva técnica es peligrosa, sobre todo porque permite enmascarar la actividad posterior bajo una aplicación de confianza.
Se aconseja a los usuarios instalar aplicaciones desde la Mac App Store cuando la versión necesaria esté disponible allí, y tener precaución con los comandos para Terminal procedentes de correos, sitios web y respuestas de servicios de IA. Tampoco se debe aceptar automáticamente una petición inesperada de una aplicación conocida para acceder al llavero, a la grabación de pantalla o a carpetas protegidas.
Si una aplicación se comporta de forma inusual, es más seguro eliminarla y descargar una copia nueva directamente desde el sitio oficial del desarrollador. Reinstalarla sobre el paquete existente puede no ser suficiente si su contenido ya fue reemplazado.
Así, la investigación muestra que la primera comprobación exitosa de una aplicación no garantiza que permanezca inalterada posteriormente. Gatekeeper controla bien el momento de la descarga y el lanzamiento inicial, pero en el escenario descrito no impide que un proceso malicioso reemplace una aplicación ya aprobada y utilice su reputación en contra del propietario del Mac.