¿Qué son las reglas YARA?

Autor: | Última modificación: 25 de agosto de 2022 | Tiempo de Lectura: 3 minutos

¿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 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 verlo de forma más clara en la siguiente imagen:

¿Qué son las reglas YARA? 1

Estructura de las reglas YARA

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

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

Tipo wild-cards

🔴 ¿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

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? 2

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? 3
Tipo alternatives

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? 4

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? 5

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? 6
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? 7
Más cadenas texto
  • Cadenas de texto XOR:
¿Qué son las reglas YARA? 8
  • Cadena de texto en Base64:
¿Qué son las reglas YARA? 9

Condiciones

Las condiciones 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? 10

Observa también este el ejemplo:

¿Qué son las reglas YARA? 11

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!

[email protected]

¿Sabías que hay más de 24.000 vacantes para especialistas en Ciberseguridad sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!