23 ago 2016

Creación de reglas para detectar malware con Yara

Hoy vamos a centrarnos en la clasificación de códigos maliciosos basándonos en distintas características que nos permiten identificar sus capacidades más importantes, logrando así, simplificar el trabajo de un equipo de seguridad o un analista de malware.

Para este cometido se puede utilizar YARA, una herramienta diseñada para identificar y clasificar malware mediante la creación de reglas que permiten detectar strings (cadenas de texto), secuencias de instrucciones, expresiones regulares y otros patrones existentes dentro de los archivos maliciosos. Por ejemplo, dependiendo del archivo bajo análisis es posible conocer si se encuentra empaquetado (identificar el packer) o no, si contiene información para conectarse a una determinada dirección URL o a un servidor IRC incluso hasta detectar distintas variantes de un código malicioso que se estén propagando como parte de un ataque dirigido.

El concepto muy importante a tener en cuenta para la clasificación e identificación de códigos maliciosos con esta herramienta se basa en la creación de reglas. Una regla en YARA está compuesta principalmente por strings y conditions. Un string es una variable que representa a una cadena de texto, una secuencia de bytes o hasta la utilización de expresiones regulares que brindan una gran flexibilidad para poder representar patrones existentes dentro de las amenazas bajo análisis. Por otro lado, las conditions permiten especificar qué combinación de strings deben estar presentes en el archivo para que se lo clasifique como tal. Por ejemplo, la siguiente regla nos permite identificar si un archivo malicioso contiene información para conectarse a un servidor IRC:

Como se puede observar en la imagen anterior, las strings definen algunos de los comandos más comunes de IRC que son usados por algunos códigos maliciosos para recibir las órdenes del botmaster. Una vez que se definen las cadenas la condición necesaria para detectar un archivo como IRC es que se cumplan cuatro de las strings $irc_*. Detectar este tipo de funcionalidades en un momento previo al análisis detallado de un código malicioso permite realizar una estrategia más efectiva al momento de profundizar sobre el código malicioso.

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!