🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónYARA desde las cadenas de una muestra
5 tareas · 40 min · Principiante
Lunes 7 de diciembre, por la tarde. De las observaciones de la mañana quedaron tres rasgos de texto buenos y dos que habían quedado en duda. Ingeniería de detección de Valle Claro dejó tres reglas borrador de YARA y una prueba contra cuatrocientos archivos limpios del parque. YARA busca en el contenido de un archivo, no en lo que hace: una regla es un conjunto de cadenas y una condición. Aquí lees las cadenas de la muestra ficticia, ves que la codificación importa y descubres por qué una de las tres reglas dispara con casi todo. No se ejecuta nada: es lectura de la regla y de su medición.
Objetivo de la sala
Lunes 7 de diciembre, por la tarde. De las observaciones de la mañana quedaron tres rasgos de texto buenos y dos que habían quedado en duda. Ingeniería de detección de Valle Claro dejó tres reglas borrador de YARA y una prueba contra cuatrocientos archivos limpios del parque. YARA busca en el contenido de un archivo, no en lo que hace: una regla es un conjunto de cadenas y una condición. Aquí lees las cadenas de la muestra ficticia, ves que la codificación importa y descubres por qué una de las tres reglas dispara con casi todo. No se ejecuta nada: es lectura de la regla y de su medición.Una regla YARA tiene dos bloques. En strings se declaran los trozos de contenido que se buscan, cada uno con un nombre que empieza por $. En condition se dice cuántos de ellos, y en qué circunstancias, hacen que el archivo sea una coincidencia. Un ejemplo con textos inventados, que no son los del laboratorio:
rule ejemplo_didactico
{
strings:
$a = "texto-de-ejemplo" ascii
$b = "otro-texto" wide
condition:
any of them and filesize < 200KB
}
La regla no ejecuta el archivo ni lo interpreta: lee sus bytes. Por eso se aplica igual a un archivo en disco, a una copia apartada o a una región de memoria que alguien volcó para analizar. Y por eso mismo es ciega a lo que el archivo hace y solo ve lo que el archivo contiene.
Responde para continuar
¿Qué hace la parte condition de una regla YARA?
Una cadena puede estar en un archivo de dos maneras comunes. En ascii cada letra ocupa un byte. En wide (UTF-16) ocupa dos, con un byte vacío intercalado; es habitual en programas de Windows y no se ve como texto corriente en un volcado. Una regla que busca "abc" como texto simple no encuentra el mismo abc escrito en formato ancho: hay que decir wide en la línea de la cadena, o ascii wide si puede estar de las dos formas.
Es de los fallos más frecuentes de una primera regla: el texto está ahí, la regla lo busca, y no coincide.
Responde para continuar
Escribe el id de la única cadena de la muestra que una regla escrita solo como texto simple no encontraría.
Ver pista de ayuda
Ejecuta `SELECT * FROM cadenas_de_la_muestra WHERE codificacion = 'wide (UTF-16)'` y lee la columna id.
Una regla no está terminada cuando coincide con la muestra: eso lo hace cualquier regla. Está terminada cuando, además, no coincide con lo que no debe. Por eso se prueba contra un corpus de archivos conocidos y limpios, y cada coincidencia ahí es un falso positivo.
Mira las tres reglas borrador y cómo les fue con el corpus de cuatrocientos archivos del parque. Relaciona los números con las cadenas que usa cada una: la columna final de la tabla de cadenas dice cuántos archivos limpios contienen cada una.
Responde para continuar
Escribe el nombre de la regla borrador que más archivos limpios marcó.
Ver pista de ayuda
Ejecuta `SELECT * FROM prueba_en_corpus_limpio ORDER BY coincidencias DESC`.
El número bruto cuenta. Una regla que marca más de las tres cuartas partes de los archivos legítimos no es una regla con un problema que afinar, es una regla construida sobre las cadenas equivocadas. Con ese volumen, nadie la revisa y la que se pierde es la coincidencia real.
Lee la cifra exacta de esa regla en la prueba que acabas de abrir; es el dato que se anota en su ficha antes de decidir nada.
Responde para continuar
Escribe cuántos de los 400 archivos limpios marcó esa regla.
Ver pista de ayuda
Es la misma consulta de la tarea anterior; mira la última columna de su primera fila.
Hay tres reacciones posibles ante una regla que dispara con casi todo. Se puede apagar y olvidar, se puede intentar «afinarla» con una lista de excepciones para cada programa que molesta, o se puede volver a su origen y preguntarse por qué sus cadenas son comunes. Las dos primeras tratan el síntoma.
La causa está en la tabla de cadenas: las dos cadenas de esa regla las tienen decenas o cientos de archivos limpios. No describen la familia; describen casi cualquier programa.
Responde para continuar
¿Qué se hace con la regla que marcó casi todo el corpus limpio?
Ver pista de ayuda
Mira cuántos archivos limpios contienen cada cadena de esa regla.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.