RIFT: la nueva herramienta de Microsoft para analizar malware escrito en Rust

En los últimos años, Rust ha brillado como un lenguaje eficiente, seguro y con gran rendimiento. Sin embargo, su sólida gestión de memoria y su seguridad de tipos lo han convertido también en un objetivo para los creadores de malware más sofisticados. ¿El resultado? Cada vez más muestras maliciosas aprovechan Rust, y los analistas de malware se encuentran con binarios cuyas características únicas complican el trabajo de desensamblado y análisis estático.

Para colmar esta demanda creciente de soluciones específicas, el Microsoft Threat Intelligence Center presenta RIFT: una herramienta open source que automatiza la identificación del código malicioso dentro de los binarios compilados en Rust. En este artículo descubrirás por qué Rust seduce a los atacantes, qué retos plantea su arquitectura y cómo RIFT puede convertir un análisis complejo en un proceso mucho más ágil y fiable.

Rust, el nuevo favorito de los actores de amenazas

Rust nació para resolver problemas de concurrencia y seguridad en sistemas críticos. Pero esas mismas fortalezas son atractivas para grupos motivados por beneficios económicos y por entidades estatales que buscan herramientas más difíciles de detectar y desarmar:

  • Eficiencia nativa: ejecutables ligeros y rápidos.
  • Abstracciones seguras: menos vulnerabilidades de memoria útiles para los analistas.
  • Ecosistema moderno: bibliotecas enfocadas a redes, criptografía y obfuscación.

El resultado es un malware en Rust que evade muchas técnicas clásicas de ingeniería inversa y firma digital. Para los equipos de respuesta a incidentes, extraer “el código atacante” de esos binarios puede convertirse en una tarea ardua y propensa a errores.

Desafíos del análisis de malware en Rust

Antes de RIFT, los analistas encontraban:

  1. Símbolos mangled: Rust ofusca nombres de funciones y estructuras.
  2. Múltiples crates: dependencias externas que fragmentan el flujo de ejecución.
  3. Estrategias de empacado: “packers” y técnicas de compresión integradas en el binario.
  4. Módulos generados: código auto-generado que diluye lo relevante para el atacante.

Estas características rompen muchos flujos de trabajo de las herramientas de análisis estático convencionales, obligando a procesos manuales largos y complejos.

¿Qué es RIFT y cómo funciona?

RIFT (Rust Identification and Function Tagger) es una herramienta de línea de comandos que:

  • Desmanglea automáticamente nombres de funciones y símbolos Rust.
  • Clasifica bloques de código según patrones comunes de malware (carga dinámica, cifrado, comunicación de red).
  • Extrae las funciones escritas por el atacante, separándolas de las rutinas de librerías estándar.
  • Genera un informe en JSON que puede integrarse en tu SIEM o en pipelines de análisis.

Características clave

  • Open source bajo licencia MIT.
  • Compatible con binarios x86_64 y ARM compilados con rustc.
  • Plugins para ampliar detección (por ejemplo, trazas de tokio o async-std).
  • Integración con frameworks como Ghidra o Binary Ninja vía API.

¿Cómo empezar y contribuir?

RIFT está disponible en GitHub:
👉 https://github.com/MSTIC-RIFT/RIFT

Allí encontrarás:

  • Guía de instalación paso a paso.
  • Documentación de la API para integrarlo en tu flujo de trabajo.
  • Issues abiertos para sugerir nuevas detecciones o reportar bugs.
  • Sección de “contribuidores” donde el equipo de Microsoft acepta Pull Requests.

Artículo en el blog de Microsoft [EN]

Filed under
Herramientas
Previous Next
For this post, the comments have been closed.