Apple aún tiene problemas para detener los clics sintéticos

Los eventos sintéticos siguen siendo un gran agujero de seguridad para macOS, a pesar de los esfuerzos recientes de Apple para evitar que las aplicaciones maliciosas abusen de esta función.

Hablando en la segunda edición de la conferencia de seguridad de Objective by the Sea, que se realizó en Mónaco durante el fin de semana, Patrick Wardle, un conocido experto en seguridad de Apple, reveló un día cero que afecta al sistema operativo macOS de Apple, incluida la nueva versión recientemente lanzada.

Este zero day consiste en un desvío de las protecciones de seguridad que Apple ha implementado para evitar el acceso no autorizado a eventos sintéticos.

Leer »Vulnerabilidad en macOS permite al atacante generar clics sintéticos»

El peligro detrás de los eventos sintéticos

Los eventos sintéticos son un mecanismo macOS que permite a las aplicaciones automatizar los clics del mouse y la entrada del teclado. Fue creado para la automatización y se puede utilizar a través del marco Core Graphics o el lenguaje de script AppleScript.

En los últimos años, las cepas de malware, como DevilRobber, FruitFly y Genieo han abusado de los eventos sintéticos para automatizar las operaciones en los hosts infectados.

Las variedades de malware que abusan de los eventos sintéticos son increíblemente peligrosas e intrusivas, ya que pueden evitar los productos de seguridad de Apple y de terceros al rechazar las alertas automáticamente.

Además, los eventos sintéticos también pueden cargar extensiones de kernel, descargar contraseñas de llavero de las víctimas, obtener datos de ubicación geográfica de un sistema, robar contactos, ajustar las preferencias del sistema operativo, acceder a la cámara web, ejecutar comandos de terminal y más.

Durante casi dos años, Wardle ha estado observando las contramedidas de Apple dirigidas a prevenir el abuso de eventos sintéticos.

Anteriormente mostró dos métodos de omitir las protecciones sintéticas de eventos de Apple, tanto que Apple decidió el año pasado bloquear el acceso a eventos sintéticos de forma predeterminada.

Pero durante el fin de semana, Wardle reveló una nueva forma de evitar estas últimas protecciones. La nueva técnica es posible gracias al sistema de consentimiento y control de transparencia (TCC). El investigador afirma que el TCC contiene una base de datos de compatibilidad en forma de un archivo llamado AllowApplications.plist.

Este archivo enumera las aplicaciones y las versiones de aplicaciones que pueden acceder a varias características de privacidad y seguridad, incluidos los eventos sintéticos.

«Esta es un área en la que Apple a menudo tiene problemas, parcheando errores o clases de errores… Pensé que lo habían hecho bien en Mojave, ya que inicialmente parecían bloquear todos los clics sintéticos. Pero como siempre, el demonio está en los detalles», dijo.

Error de validación de la aplicación de TCC

Según Wardle, esta base de datos TCC oculta contiene un error que se puede explotar para otorgar a los actores de amenazas maliciosas acceso a eventos sintéticos.

MacOS debe verificar que una aplicación que solicita acceso a eventos sintéticos se encuentra de hecho en la lista de TCC. Lo hace verificando si la aplicación ha sido firmada y si el archivo ha sido manipulado. Sin embargo, Wardle dice que solo se realiza la primera comprobación.

Esto permite que un actor malintencionado de amenazas, que tiene acceso mínimo a un sistema, descargue cualquiera de las aplicaciones que se encuentran en el archivo AllowApplications.plist, agregue un código que interactúe con eventos sintéticos y lo ejecute para evitar la prohibición existente de Apple de eventos sintéticos.

Por ejemplo, VLC está en la lista, por lo que, en teoría, Apple está intentando verificar que cuando ve una aplicación llamada VLC, es realmente la VLC.app, y que es una versión sin modificar al verificar el código de esa aplicación. «Es la Información de firma (es decir, está firmada por el desarrollador de VLC y esta sigue siendo válida)», dijo Wardle.

«El problema es que la verificación está incompleta, por lo que solo terminan verificando que la aplicación está firmada por quienes creen que debería ser (es decir, VLC, firmado por el desarrollador de VLC), pero no por el código ejecutable o los recursos de la aplicación.

«Entonces, sí, puedes agregar un código malicioso o agregar recursos maliciosos, etc.»

«Como ejemplo, VLC carga los complementos de su paquete de aplicaciones. Así que solo podemos incluir un nuevo complemento (sin firma maliciosa). Se carga y se le permite generar clics sintéticos», dijo Wardle.