Los actores de amenazas avanzadas aprovechan cada vez más los binarios x86-64 y la tecnología de traducción Rosetta 2 de Apple para eludir las políticas de ejecución e implementar malware en dispositivos Apple Silicon.
La técnica explota las diferencias arquitectónicas entre los procesadores Intel y ARM64 y al mismo tiempo deja artefactos forenses que los investigadores pueden utilizar para reconstruir los ataques.
Los atacantes aprovechan los binarios x86-64 en Apple Silicon
Rosetta 2 de Apple, introducida en macOS Big Sur (11.0) en 2020, traduce instrucciones x86-64 a ARM64 mediante compilación justo a tiempo (JIT) y anticipada (AOT).
Cuando los usuarios inician un binario x86-64 en Apple Silicon, el sistema genera un archivo AOT almacenado en /var/db/oah/<UUID>/<Binary_UUID>/<binary_name>.aot.
Estas traducciones en caché crean registros de ejecución con marca de tiempo incluso si los atacantes eliminan las cargas útiles originales.
La investigación de Mandiant revela que grupos patrocinados por el estado, incluidos aquellos vinculados a la República Popular Democrática de Corea (RPDC), compilan deliberadamente malware para arquitecturas x86-64 para explotar los requisitos relajados de firma de código de Rosetta 2.
A diferencia de los archivos binarios ARM64, que requieren firmas válidas emitidas por Apple o controles estrictos de certificación notarial, los ejecutables x86-64 traducidos a través de Rosetta 2 enfrentan menos restricciones, lo que permite a los atacantes implementar cargas útiles autofirmadas.
Binarios universales y ofuscación de la cadena de ejecución
Los atacantes utilizan como arma binarios universales que contienen código x86-64 y ARM64 para maximizar la compatibilidad.
Cuando se lanzan a través de Rosetta 2, estos ejecutables utilizan de forma predeterminada sus segmentos x86-64, creando artefactos AOT incluso en dispositivos Apple Silicon modernos.
En un atraco a criptomonedas liderado por la RPDC, Mandiant observó la puerta trasera POOLRAT ejecutando utilidades del sistema como sudo, chmod y cat a través de Rosetta 2, generando rastros forenses en Unified Logs y FSEvents.
Luego, los atacantes eliminaron el binario de malware original, pero pasaron por alto los archivos AOT protegidos por System Integrity Protection (SIP), que restringe el acceso a /var/db/oah a la cuenta del sistema _oahd.
Estas traducciones en caché preservaron evidencia crítica, incluidas cadenas del entorno de desarrollador de cargas útiles no recuperadas.
Metodología de detección de intrusiones
La metodología de Mendiant combina tres fuentes de artefactos para detectar intrusiones:
- Metadatos de archivos AOT: las marcas de tiempo de creación se correlacionan con las ventanas de ejecución de malware. El directorio principal de cada AOT utiliza un hash SHA-256 derivado de la ruta del binario original, el encabezado Mach-O y los metadatos del sistema de archivos.
- FSEvents: los registros del sistema de archivos registran la creación de directorios y las operaciones de cambio de nombre de archivos .in_progress, incluso después de la eliminación del malware.
- Registros unificados: con perfiles personalizados, los investigadores pueden revelar rutas binarias que de otro modo estarían redactadas en los registros de procesos de oahd.
En particular, los archivos AOT conservan símbolos y una estructura de código parcial, lo que permite a los analistas identificar funciones maliciosas.
Sin embargo, omiten datos estáticos como configuraciones integradas o indicadores de red, lo que limita la reconstrucción completa sin el binario original.
Mitigaciones
Para contrarrestar estas amenazas, Mandiant recomienda:
- Habilitar SIP: evita la manipulación del directorio de caché de Rosetta 2.
- Monitoreo de FSEvents: alerta sobre transiciones rápidas de archivos .in_progress → .aot en /var/db/oah.
- Perfiles de registro unificados personalizados: desenmascare los campos privados en los registros de oahd utilizando perfiles de configuración.
- Auditorías de archivos AOT: compare periódicamente los hashes SHA-256 de archivos AOT almacenados en caché con traducciones de Rosetta 2 en buen estado para detectar intentos de envenenamiento.
A medida que Apple elimina gradualmente el soporte de Intel, la comunidad de seguridad anticipa una aplicación más estricta de los requisitos de firma de código ARM64.
Sin embargo, Mandiant advierte que los binarios x86-64 seguirán siendo un vector de ataque viable durante años debido a las persistentes dependencias del software heredado.
Las organizaciones deben priorizar la recopilación de artefactos forenses, en particular los archivos AOT de Rosetta 2, para identificar y remediar las intrusiones de macOS en una era de ataques entre arquitecturas cada vez más sofisticados.