Elaborado por Materia para OpenMind Recomendado por Materia
6
Inicio Vulnerabilidad de Día Cero y análisis heurístico
21 julio 2021

Vulnerabilidad de Día Cero y análisis heurístico

Tiempo estimado de lectura Tiempo 6 de lectura

¿Qué es una vulnerabilidad de Día Cero?

El término vulnerabilidad de día cero hace referencia a un agujero en el software del que no tiene constancia su distribuidor. Dicho agujero de seguridad puede ser aprovechado por ciberdelincuentes en tanto y cuanto siga siendo desconocido para el distribuidor y no se corrija. Los ataques de día cero pueden utilizarse para instalar software malicioso o espía o acceder a información de usuario.

El término “día cero” o “0-day” hace referencia al desconocimiento de la existencia del agujero por parte de los desarrolladores del software o por nadie que no pertenezca a una determinada comunidad de ciberdelincuentes. A partir del momento en el que se descubre la vulnerabilidad comienza una carrera para el desarrollador dirigida a proteger a los usuarios.

Vulnerabilidad de Día Cero

Por vulnerabilidad de día cero se conoce cualquier vulnerabilidad capaz de aprovechar un agujero de seguridad el mismo día en que su existencia pasa a ser de conocimiento público. Entre el momento en que la vulnerabilidad es descubierta y el primer ataque pasan cero días.

BBVA-OpenMind-Banafa-Zero day-Uses of zero-day attacks can include infiltrating malware, spyware or allowing unwanted access to user information.
Los ataques de día cero pueden utilizarse para instalar software malicioso o espía o acceder a información de usuario..

Generalmente, en el momento en que se detecta la posible existencia de un fallo de seguridad en un programa, el primer paso es advertir a la empresa desarrolladora del software (y a veces al mundo entero) para que adopten las medidas necesarias. Con tiempo, la empresa de software puede arreglar su código y distribuir un parche o una actualización de seguridad.

Amenaza de Día Cero

Los ataques de día cero se producen dentro de un marco temporal, conocido como la ventana de vulnerabilidad, que discurre entre el momento en que se descubre la vulnerabilidad y el momento en el que se neutraliza. Los atacantes desarrollan software malicioso (malware) para explotar tipos de archivos comunes, comprometer los sistemas objetivo de sus ataques y acceder a datos valiosos. Los ataques de día cero se llevan a cabo minuciosamente para maximizar los daños – generalmente en el transcurso de un día. La duración de la ventana de vulnerabilidad puede oscilar entre un plazo muy reducido y varios año

BBVA-OpenMind-Ahmed Banafa-ZeroDay-SP

Defensa contra amenazas de día cero

No existe ningún método 100% fiable para detectar vulnerabilidades de día cero. Sin embargo existen dos estrategias que pueden ser de gran ayuda para el administrador:

La primera es la gestión de parches

El impacto de este método es limitado hasta cierto punto, en tanto que el ataque todavía no se ha detectado y no existe parche para rectificar la vulnerabilidad. Sin embargo, si todos los sistemas están correctamente actualizados, es posible que el alcance del ataque quede acotado, con lo que el atacante sólo tendrá capacidad para causar un daño mínimo al tiempo que se contendrán amenazas ulteriores.

Además, la disponibilidad de un sistema robusto de gestión de parches y otro de escaneado de vulnerabilidades permitiría al administrador recibir notificaciones en el momento en el que anunciara la existencia del ataque y las empresas de seguridad implementaran controles de seguridad frente al mismo. Estas dos soluciones de software resultan clave para el administrador puesto que le permiten adoptar acciones por iniciativa propia hasta que se distribuya un parche para la vulnerabilidad. Además, notifica al administrador en el momento en el que se publica el parche frente al ataque de día cero, minimizando de esta manera la ventana de oportunidad del mismo.

La segunda opción es utilizar un buen antivirus

En tanto que el ataque de día cero no se hace de conocimiento público, el programa de antivirus no será capaz de detectar archivos que contengan esta vulnerabilidad específica utilizando técnicas de análisis de patrones estándar.

Sin embargo, las soluciones efectivas de antivirus no recurren exclusivamente a definiciones de antivirus para detectar amenazas. Un buen antivirus también utilizan una técnica conocida como “análisis heurístico”. Esta técnica no sólo examina archivos en busca de patrones, sino que analiza la función de cada archivo durante su ejecución normal. En función del comportamiento del archivo, el producto antiviral es capaz de clasificar archivos como virus si detecta algo sospechoso. Esta técnica también puede ayudar a detectar amenazas de día cero incluso cuando nadie tenga conocimiento de la existencia de la vulnerabilidad.

A pesar de que los antivirus que usan análisis heurístico pueden ser grandes aliados contra los ataques de día cero, tampoco existe ninguna garantía de que el comportamiento del malware siempre vaya a ser clasificado como malicioso. Sin embargo, la combinación de un buen antivirus con una estrategia sólida de gestión de parches otorgará a los administradores una protección mucho mayor contra amenazas de día cero.

Otras técnicas de detección temprana

  •     Uso de VPNs para proteger los contenidos de las transmisiones individuales.
  •     Despliegue de sistemas de detección de intrusiones o IDS (p.ej.: cortafuegos con información de estado).
  •     Introducción de controles de acceso a redes para evitar el acceso a la red utilizando equipos no autorizados, en términos técnicos, acceso menos privilegiado o LPA.
  •     Establecer puntos de acceso inalámbrico protegidos y utilizar modelos de seguridad como el Acceso WiFi Protegido para una mayor protección contra ataques por medios inalámbricos.

¿Qué es la heurística?

En términos generales, los programas antimalware (incluidos antivirus) funcionan escaneando archivos a partir de las firmas disponibles en sus bases de datos. Las firmas pueden consistir de patrones para detectar algo tan sencillo como una cadena (por ejemplo utilizar el comando “buscar” en un procesador de textos para localizar un determinado tipo de texto) o tan complejo como una macro o subrutina que le indique al motor de escaneado qué buscar y dónde encontrarlo.  

BBVA-OpenMind-Zero-Day Vulnerability and Heuristic Analysis-keepcoding-lVF2H-In computer science, a heuristic is an algorithm which consistently performs quickly and/or provides good results
En las ciencias de la computación, un heurístico es un algoritmo capaz de funcionar de manera consistente y/o ofrecer resultados aceptables

El escaneado en base a firmas funciona muy bien para detectar amenazas ya identificadas, pero, ¿cómo detectan los programas antimalware amenazas nuevas, nunca antes vistas?  Uno de los métodos utilizados es el del análisis heurístico.

Heurístico (término derivado del griego que significa “encontrar” o “descubrir”) es un adjetivo utilizado para designar técnicas basadas en la experiencia que ayudan en la resolución de problemas, aprendizaje y descubrimiento.

En las ciencias de la computación, un heurístico es un algoritmo capaz de funcionar de manera consistente y/o ofrecer resultados aceptables. En software antimalware el término ha adoptado un significado más especializado: Heurístico se usa para hacer referencia a un conjunto de reglas, frente a un conjunto específico de instrucciones de programas, que se usan para detectar comportamiento sospechoso sin tener que identificar al programa responsable de dicho comportamiento, que es como funciona un programa clásico de escaneado de virus, esto es, identificando un virus específico u otro programa.

El motor heurístico utilizado por un programa antimalware incluye normas para identificar:

  •     Programas que tratan de autocopiarse en otros programas (esto es, un virus informático clásico)
  •     Programas que tratan de escribir directamente en una unidad de disco
  •     Programas que tratan de permanecer en la memoria cuando su ejecución finaliza
  •     Programas que se desencriptan a sí mismos cuando se ejecutan (un método utilizado por los programas de malware para evitar los escaneados de los antivirus por firmas)
  •     Programas que se vinculen a un puerto TCP/IP y permanezcan a la escucha para recibir instrucciones a través de una conexión de red (esto es básicamente lo que hacen los bots, también conocidos como zombies o drones).
  •     Programas que intenten manipular (copiar, borrar, modificar, renombrar, sustituir, etc.) archivos de sistema.
  •     Programas similares a otros programas maliciosos ya conocidos.

Algunas reglas heurísticas pueden tener un peso mayor (y por lo tanto tener asignada una puntuación mayor) que otras. Esto implica que aquellas instancias donde se detecte una coincidencia con una regla particular tendrán más posibilidades de indicar la presencia de una software malicioso, de la misma manera que múltiples instancias de coincidencia con distintas reglas.

Sistemas heurísticos más avanzados son capaces de rastrear las instrucciones del código de programa antes de enviarlas al procesador del ordenador para su ejecución, permitiendo al programa funcionar en un entorno virtual o sandbox para examinar su comportamiento y los cambios que realiza al entorno virtual. En efecto, los sistemas antimalware pueden contener emuladores especializados capaces de “engañar” al programa haciéndole creer que está siendo ejecutado en el ordenador, cuando en realidad está siendo examinado por el software  antimalware para detectar amenazas potenciales.

Los motores heurísticos también son capaces de examinar procesos y estructuras en la memoria, la porción de datos (o payload, carga de trabajo) de los paquetes transmitidos a través de una red, etc.

La ventaja del análisis heurístico es que permite detectar tanto variantes (formas modificadas) de programas maliciosos ya conocidos, como nuevos programas maliciosos.  En combinación con las otras técnicas de detección de malware como la detección de firmas, el monitoreo de comportamiento y el análisis de reputación, el análisis heurístico puede ofrecer niveles de precisión impresionantes. Esto es, permiten detectar correctamente una elevada proporción de malware real, manteniendo niveles mínimos de falsos negativos al mismo tiempo, dado que el diagnóstico erróneo de archivos inocentes también puede ocasionar graves problemas.

Ahmed Banafa, Autor de los libros:

Secure and Smart Internet of Things (IoT) Using Blockchain and AI

Blockchain Technology and Applications

 

Referencias

What are Heuristics?

Zero-Day Threat

What are zero-day attacks?

Zero-Day Exploit

Zero-day (computer)

 

Comentarios sobre esta publicación

El nombre no debe estar vacío
Escribe un comentario aquí…* (Máximo de 500 palabras)
El comentario no puede estar vacío
*Tu comentario será revisado antes de ser publicado
La comprobación captcha debe estar aprobada