Detección basada en firmas Con YARA

En una publicación anterior, hablé sobre cómo puedes usar STIX, TAXII y CybOX para compartir inteligencia de amenazas.

Uno de los elementos clave para hacer un buen uso de la información sobre ciberamenazas requiere que la información sea procesable o, al menos, utilizable. La información compartida debe ser precisa, completa y relevante para su entorno.

CybOX proporciona una estructura común para representar ciberobservables en todas y entre las áreas operativas de ciberseguridad empresarial. CybOX puede contener hashes, cadenas o claves de registro. La información proporcionada a través del sistema se puede utilizar para verificar la presencia de malware dentro de su entorno. YARA es una de las alternativas al uso de CyBOX, pero las dos no se excluyen mutuamente.

¿Qué Es YARA?

YARA es una herramienta diseñada para ayudar a los investigadores de malware a identificar y clasificar muestras de malware. Se ha llamado la navaja suiza que combina patrones para los investigadores de seguridad (y para todos los demás). Es multiplataforma y se puede usar tanto desde su interfaz de línea de comandos como a través de sus propios scripts Python.

La herramienta le permite realizar la detección de malware basada en firmas, algo similar a lo que las soluciones antivirus pueden hacer por usted.

¿Cómo Se Usa?

Para usar este método, necesita una regla y un archivo que desee verificar. Por ejemplo, para ejecutarlo desde la línea de comandos, usaría:
Esto generará resultados si la regla dada coincide con el archivo proporcionado. Si no ve la salida y no ha utilizado la opción negar, significa que no ha coincidido ninguna regla.

Puede iniciarlo con varios conmutadores de configuración; estos son los dos más importantes :

  • -n: Imprimir solo reglas no satisfechas (negar).
  • – r: Búsqueda recursiva a través de directorios.

Reglas

Una regla es un conjunto de cadenas y alguna forma de lógica, escrita en expresiones booleanas.

Hay soporte para tres tipos diferentes de cadenas:

  • Cadenas hexadecimales, que son útiles para definir bytes sin procesar;
  • Cadenas de texto;
  • Expresiones regulares.

Las condiciones son expresiones booleanas que reconocerá de lenguajes de programación regulares. Pueden trabajar en cualquiera de las cadenas dadas, pero también en variables integradas especiales, como el tamaño del archivo, o en variables externas que defina fuera de la regla. También hay soporte para el uso de módulos, como Cuckoo, para ampliar las características que puede usar en las condiciones.

Usted se beneficiará al máximo de YARA si le proporciona un buen conjunto de reglas. Puede escribir sus propias reglas o obtenerlas de otro proveedor.

Escribe tus propias Reglas

Escribir tus propias reglas no es tan difícil si tienes en cuenta estas pautas:

  • Los criterios que se utilizan para coincidir deben ser una parte necesaria del comportamiento del malware.
  • Los criterios deben ser suficientes para distinguir la familia de malware probada de otras familias de malware.
  • El criterio tiene que ser algo que sea común en diferentes muestras.

Una vez que haya analizado el malware y extraído datos útiles y reconocibles de él, puede transformar la información en cadenas YARA y combinarlas con algún tipo de lógica.

Obtener reglas de fuentes externas

Dado que YARA utiliza firmas similares a las soluciones antivirus, tendría sentido reutilizar estas firmas como base de datos de reglas. Con el uso del script clamav_to_yara.py, puede convertir la base de datos de firmas ClamAV a su propio conjunto de reglas.

Otra fuente de reglas es el repositorio Github YaraRules. Este es un conjunto de reglas bajo la licencia GNU-GPLv2 mantenido por un grupo de investigadores de seguridad informática. Las reglas se almacenan en diferentes categorías: reglas destinadas a detectar técnicas anti — depuración y anti-visualización, documentos maliciosos, empaquetadores, etc. – y se actualiza con frecuencia. Puedes obtenerlos clonando el repositorio de Github.

Algunas plataformas de intercambio de inteligencia sobre amenazas, como MISP y ThreatConnect, también admiten YARA. Esto le permite crear reglas basadas en su propia información de amenazas recopilada.

Generar reglas automáticamente

Con el uso del Generador de reglas de Joe Sandbox, puede crear firmas para Windows basadas en datos de comportamiento estáticos y dinámicos. Tenga en cuenta que se aplican las mismas reglas que cuando se utilizan sandboxes de análisis de malware en línea gratuitos. Está cargando sus archivos a un servicio en la nube externo, lo que no debe hacerse con archivos confidenciales o datos que contengan cualquier tipo de credenciales de usuario.

Casos de uso adicionales

Mencioné anteriormente que puede convertir la base de datos ClamAV a un conjunto de reglas utilizables. También va al revés. Supongamos que tiene un conjunto de reglas detalladas. Puede configurar ClamAV para ampliar su conjunto de funciones con las reglas proporcionadas y admitir YARA. Esto le permite hacer coincidir las reglas en archivos comprimidos o empaquetados. La API privada VirusTotal también tiene una función con la que puede ingresar sus propias reglas y activarlas cuando se cargue una muestra coincidente.

La protección basada en firmas No es suficiente

Ya no es suficiente confiar únicamente en la protección basada en firmas. Los atacantes han desarrollado contramedidas que pueden usar para evitar este método. Con el uso de varios servicios de cifrado, empaquetadores y polimorfismo, pueden generar fácilmente malware lo suficientemente diferente como para que ya no coincida con las firmas existentes. A continuación, toma algún tiempo antes de que el nuevo sabor se recoja y se comparta una firma.

Estos inconvenientes no hacen obsoleta la detección basada en firmas. La comunidad de seguridad es fuerte para compartir nuevos indicadores de amenazas, por lo que este tipo de herramientas seguirán siendo un activo importante para su arsenal.

Conclusión

Aunque la detección basada en firmas con YARA tiene sus límites, es una forma fácil de usar y bastante sencilla de detectar malware en su entorno. No sería prudente confiar en ella como la única medida de protección contra amenazas, pero dado su uso sencillo, no sería una buena idea perderse esta herramienta.

You might also like

Deja una respuesta

Tu dirección de correo electrónico no será publicada.