YARA-X: una nueva versión de YARA reescrita en Rust
YARA-X: una nueva versión de YARA reescrita en Rust

YARA-X: una nueva versión de YARA reescrita en Rust

Se ha anunciado un cambio significativo en el desarrollo de YARA, una herramienta utilizada por investigadores de malware. La reescritura total de YARA en Rust da lugar a YARA-X, una versión diseñada para mejorar la experiencia del usuario, compatibilidad con reglas, rendimiento y robustez.

Historia y características de YARA

YARA ha sido utilizada durante más de 15 años por investigadores de malware. Es una herramienta de código abierto que permite crear descripciones para familias de malware basadas en patrones textuales y/o binarios. Funciona en múltiples plataformas, incluyendo Linux, Windows y Mac OS X.

Puede usarse a través de la línea de comandos o mediante scripts de Python con la extensión YARA-Python. Se ha convertido en un estándar dentro del ámbito de la ciberseguridad, utilizada para caracterizar y detectar malware.

El desarrollo de YARA-X

Su creador, Víctor M. Álvarez, actualmente en el equipo de VirusTotal de Google, explica que la decisión de reescribir YARA se debió a la necesidad de implementar mejoras significativas que requerían cambios de diseño profundos. Rust fue elegido por su facilidad de mantenimiento y sus fuertes garantías de fiabilidad.

YARA-X, actualmente en fase beta, ya ha demostrado ser estable y efectiva. El equipo de VirusTotal ha estado utilizando esta versión para escanear millones de archivos y detectar discrepancias y errores.

Novedades destacadas

Mientras que YARA seguirá recibiendo mantenimiento, las nuevas funcionalidades se centrarán en YARA-X. Una de las novedades más destacadas es su capacidad para analizar varios formatos de archivo, como PE, .NET, ELF, Mach-O y LNK.

El comando yr dump [FILE] permite a los usuarios acceder a esta información de manera sencilla, en formato YAML o JSON. Al ejecutar este comando, YARA-X analiza el archivo especificado utilizando todos los módulos relevantes y muestra las estructuras de datos generadas.

Anteriormente, YARA ofrecía una opción similar pero más engorrosa que requería el paso de un archivo fuente YARA e importación manual de módulos.

Ventajas de YARA-X

El objetivo de YARA-X es superar a YARA en todos los aspectos, facilitando la migración de los usuarios debido a sus claras ventajas. La versión actualizada aprovecha el conocimiento acumulado para mejorar sus capacidades y simplificar su mantenimiento.

  • Mejorar la experiencia de usuario: interfaz moderna y reportes de errores explicativos.
  • Mantener la compatibilidad a nivel de reglas: 99% de compatibilidad con YARA.
  • Mejor rendimiento: mayor velocidad con reglas complejas.
  • Mayor fiabilidad y seguridad: beneficios de la implementación en Rust.
  • Facilidad de integración: APIs oficiales en Python, Golang y C.