A medida que los ciberdelincuentes y actores estatales están utilizando cada vez más el lenguaje de programación Rust para el desarrollo de malware, el Centro de Inteligencia de Amenazas de Microsoft ha presentado RIFT. Esta potente herramienta de código abierto busca asistir a los analistas de seguridad en la lucha contra esta amenaza creciente.
Rust, un lenguaje conocido por su velocidad, seguridad de memoria y robustez, está siendo aprovechado por sus ventajas para crear malware que resulta más difícil de detectar y analizar.
El lanzamiento de RIFT por parte de Microsoft representa un avance significativo al proporcionar a la comunidad de ciberseguridad herramientas especializadas para mantenerse al día con la evolución de las amenazas.
Las características únicas de Rust, como la seguridad de la memoria, la concurrencia y los enlaces estáticos, lo convierten en una opción atractiva tanto para desarrolladores legítimos como para actores maliciosos. Sin embargo, estas mismas cualidades presentan grandes obstáculos para los analistas de malware.
Los binarios de Rust suelen estar vinculados estáticamente, incorporando todas las dependencias directamente en el ejecutable. Esto da como resultado binarios mucho más grandes con miles de funciones, muchas más que programas comparables escritos en lenguajes tradicionales como C++.
Por ejemplo, un programa de descarga simple compilado en C++ puede contener menos de 100 funciones y un tamaño binario inferior a 20 KB, mientras que el mismo programa en Rust puede alcanzar casi 10.000 funciones y más de 3 MB de tamaño.
Esta complejidad hace que sea extremadamente difícil para los analistas distinguir entre el código de biblioteca estándar y la lógica creada por el atacante.
El proceso de ingeniería inversa del malware Rust no sólo requiere mucho tiempo, sino que también requiere experiencia avanzada y herramientas especializadas.
Los investigadores de Microsoft destacaron que esta tendencia creciente ha llevado a una proliferación de sofisticadas familias de malware basadas en Rust, incluidos ransomware como BlackCat y RALord, así como ladrones de información y puertas traseras como SPICA.
Para abordar estos desafíos, Microsoft desarrolló RIFT, un conjunto de herramientas de código abierto diseñado para automatizar y optimizar el análisis de los archivos binarios de Rust. RIFT consta de tres componentes principales:
- RIFT Static Analyzer: un complemento de IDA Pro que extrae metadatos de los archivos binarios de Rust, incluida la versión del compilador de Rust, las dependencias, la arquitectura de destino y el sistema operativo. Esta información se almacena en un archivo JSON para su posterior procesamiento.
- Generador RIFT: un script de Python que automatiza la descarga del compilador y las bibliotecas de Rust correctos, genera firmas FLIRT para la identificación de bibliotecas y realiza diferencias binarias utilizando herramientas como Diaphora.
- RIFT Diff Applier: otro complemento de IDA Pro que aplica los resultados de las firmas FLIRT y la diferenciación binaria directamente dentro de IDA, lo que permite a los analistas identificar y etiquetar rápidamente las funciones de la biblioteca en el malware.
- RIFT aprovecha dos técnicas principales para la coincidencia de patrones: firmas FLIRT y diferenciación binaria.
Las firmas FLIRT son rápidas, confiables y producen pocos falsos positivos, pero solo funcionan cuando el código del malware coincide estrechamente con el código de la biblioteca original.
La diferenciación binaria, por otro lado, es más flexible y puede identificar similitudes incluso cuando el código ha sido ligeramente alterado, aunque requiere más tiempo y puede tardar varias horas en completarse.
En pruebas del mundo real, Microsoft aplicó RIFT para analizar el ransomware RALord. La herramienta extrajo con éxito información y dependencias del compilador, generó firmas FLIRT y las aplicó dentro de IDA Pro.
Esto permitió a los analistas aislar y centrarse rápidamente en la lógica maliciosa del malware, lo que redujo significativamente el tiempo de análisis. Para un análisis más profundo, como con la puerta trasera SPICA, RIFT combinó firmas FLIRT y diferencias binarias para llenar los vacíos y proporcionar una vista más completa del código base.
Al abrir RIFT, Microsoft pretende fomentar la colaboración y la innovación dentro de la comunidad de ciberseguridad.
La herramienta está disponible de forma gratuita en GitHub y es compatible con las versiones 9.0 y superiores de IDA Pro, con el Generador RIFT probado en sistemas Windows 10 de 64 bits.
El compromiso continuo de Microsoft con la investigación y el desarrollo subraya la importancia de medidas de seguridad avanzadas para combatir las amenazas cibernéticas cada vez más sofisticadas.
El lanzamiento de RIFT es una respuesta oportuna al panorama de amenazas en evolución, garantizando que los profesionales de la seguridad tengan las herramientas que necesitan para defenderse contra la creciente ola de malware basado en Rust.