¿Qué son las reglas YARA?

Autor: | Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabes qué son las reglas YARA y para qué se utilizan en ciberseguridad? Los malwares de la actualidad pueden ser programas altamente peligrosos, ya que están diseñados especialmente para evadir sistemas de seguridad y ejecutar tareas perjudiciales en los sistemas infectados.

A continuación, veremos uno de los métodos utilizados por los analistas de malware para identificar de manera automatizada elementos maliciosos en un fichero. En este post, te explicaremos qué son las reglas YARA, cómo funcionan y cuál es su estructura.

¿Qué son las reglas YARA?

Las reglas YARA son una herramienta de código abierto que fue desarrollada por la plataforma VirusTotal para identificar los elementos de un malware por medio de un análisis estático automatizado. De este modo, se puede detectar un programa malicioso sin necesidad de ejecutarlo en una sandbox o de realizar un análisis estático manual.

Las reglas YARA malware funcionan por medio de scripts que tienen una estructura de dos partes obligatorias y una opcional. Las partes de la estructura de las reglas YARA son:

  • Metadatos (‘meta’). Esta parte es opcional.
  • Cadenas (‘strings’).
  • Condiciones (‘condition’).

Puedes ver qué es YARA de forma más clara en la siguiente imagen:

¿Qué son las reglas YARA?

Estructura de las reglas YARA

Para entender qué son las reglas YARA, es necesario comprender qué significa la estructura de YARA. Para ello, veremos detalladamente para qué sirve cada una de sus partes para que profundices en qué es YARA.

Cadenas

En esta parte se definen las cadenas o strings que intervendrán en la condición. Se definen utilizando el símbolo $, seguido por caracteres alfanuméricos y guiones bajos. Existen dos tipos de cadenas: hexadecimales y de texto.

Cadenas hexadecimales

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

Estas cadenas son características de YARA malware.

Tipo wild-cards

Son marcadores de posición que se ponen en los strings para indicar que los bytes son desconocidos y deben coincidir con cualquier carácter. El marcador es ‘?‘ y corresponde a 4 bits. Ahora, observa este ejemplo:

¿Qué son las reglas YARA?

En esta expresión, los marcadores ‘?‘ corresponden a un total de un byte (‘??‘) y cuatro bits (‘A?‘).

Tipo jumps

Los jumps son rangos de valores que indican la longitud de lo desconocido. Por ejemplo, la expresión [4-6] en la siguiente imagen:

¿Qué son las reglas YARA?
Tipo alternatives de YARA malware

Se representan con el símbolo ‘|‘ y significa que puede ser un grupo de bytes u otro. Se puede ver en el término (62 B4 | 56) del siguiente ejemplo:

¿Qué son las reglas YARA?

Cadenas de texto

Ya hemos visto qué son las reglas YARA y sus tipos de cadenas en lenguaje hexadecimal. Ahora, veremos las cadenas de texto o text strings, que siempre van escritas en código ASCII, entre comillas » » y son case sensitive (es decir, importa si las letras son mayúsculas o minúsculas). Por ejemplo, el término «foobar» en el ejemplo que te mostramos a continuación:

¿Qué son las reglas YARA?

Para hacer strings de texto que no sean case sensitive, deberás introducir el término ‘nocase‘ al final de la cadena.

¿Qué son las reglas YARA?
Tipo wide

Codificación en 2 bytes de los strings (típico en MSEXE). Por ejemplo: «B\x00o\x00r\x00l\x00a\x00n\x00d\x00».

¿Qué son las reglas YARA?
Más cadenas texto

Otra de las cadenas de texto de las herramientas YARA son:

  • Cadenas de texto XOR:
¿Qué son las reglas YARA?
  • Cadena de texto en Base64:
¿Qué son las reglas YARA?

Condiciones

Las condiciones de las herramientas YARA son las secciones en las que reside la lógica de las reglas YARA. Contienen expresiones booleanas que determinan cuáles son las coincidencias necesarias en los datos para satisfacer una regla.

Por ejemplo, la expresión ‘($a or $b) and ($c or $d)‘ en el siguiente ejemplo:

¿Qué son las reglas YARA?

Observa también este el ejemplo de las herramientas YARA, para que termines de entender qué es YARA:

¿Qué son las reglas YARA?

La condición indica que $a debe estar entre 0 – 100 de memoria y $ entre 100 y el tamaño final del fichero.

¿Cómo aprender más?

Ahora sabes qué son las reglas YARA y cuál es su estructura, es el momento de ir un paso más allá en tu proceso de aprendizaje. ¡Aún queda mucho más por aprender sobre este y otros muchos temas relacionados con la ciberseguridad!

Si quieres continuar formándote sobre análisis de malware y especializarte en seguridad informática, en KeepCoding tenemos el curso ideal para ti. Completa nuestro Ciberseguridad Full Stack Bootcamp, una formación íntegra e intensiva de alta calidad con una metodología propia que combina la teoría y la práctica. Acompañado de grandes profesionales en el sector, podrás convertirte en un experto en tan solo 7 meses. ¿A qué esperas? ¡Inscríbete ya!

Posts Relacionados

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado