Home / Early Warning / Vulnerabilities / Explicación de las entradas de la metabase

Explicación de las entradas de la metabase

Tipo de Vulnerabilidad

Dependiendo del origen de la vulnerabilidad, esta puede tener una o varias de las siguientes características:

  • Error de Configuración: Un problema de configuración general de software no relacionado con contraseñas o permisos. Suele ser la que provoca la mayoría de DoS aunque éstos también pueden ser provocados por otros tipos.
  • Validación de entrada: Fallo en la validación de datos introducidos en aplicaciones que afecta al flujo de control o de datos de un programa.
  • Salto de directorio: Fallo en la depuración de un programa, en la validación de caracteres especiales que permite el acceso a directorios o subdirectorios no deseados.
  • Seguimiento de enlaces: Debilidad en la protección de accesos no solicitados por parte de enlaces o accesos directos.
  • Inyección de comandos en el sistema operativo: Desbordamientos de enteros que permite inyectar comandos del sistema operativo sin tener los privilegios adecuados.
  • Secuencias de comandos en sitios cruzados – XSS: Fallo en la validación de datos introducidos en una aplicación Web.
  • Inyección SQL: Fallo en la aplicación en la validación de introducción de instrucciones SQL que permite la obtención de datos dinámicos.
  • Inyección de código: Fallo en el control de ficheros que permite que el sistema lea y ejecute un fichero remoto.
  • Error de búfer: Una aplicación incluye datos en una dirección de memoria no asignada previamente que permite la lectura o escritura de direcciones de memoria no prevista por la aplicación.
  • Formato de cadena: La aplicación permite la introducción de parámetros no permitidos en funciones que pueden provocar desbordamientos de buffer.
  • Errores numéricos: Errores en el manejo de números (enteros, flotantes...) que producen errores de calculo.
  • Revelación/Filtrado de información: Error de protección en la información que permite ver información sensible (de sistema, contraseñas...).
  • Gestión de credenciales: Debilidad en el control de guardado, protección o transmisión de credenciales y contraseñas.
  • Permisos, privilegios y/o control de acceso: Fallos en la protección y gestión de permisos que permiten el control de acceso.
  • Fallo de autenticación: El software no controla correctamente la autenticación de los usuarios.
  • Carácter criptográfico: Fallos en la generación o protección de los algoritmos criptográficos, produciendo fallos en la generación de contraseñas, certificados o números aleatorios.
  • Falsificación de petición en sitios cruzados – CSRF: La aplicación web no verifica correctamente las peticiones, permitiendo la inyección de instrucciones no permitidas.
  • Condición de carrera: El código no controla correctamente los estados de acceso de un recurso, permitiendo que exista una ventana de tiempo en la que este puede ser modificado por un usuario o proceso no autorizado.
  • Error en la gestión de recursos: La aplicación permite que se consuma un exceso de recursos que afecten a la disponibilidad.
  • Error de Diseño: Se tratan de los errores que no son de implementación o configuración, sino del propio diseño del sistema o de la arquitectura del software.

Este listado esta basado en el estándar de enumeración de vulnerabilidades CWE (Common Weakness Enumeration).

Descripción

Es una explicación de una línea del problema. Para ampliar información puede seguir los enlaces.

Gravedad

Estima de forma gruesa el impacto que puede tener una vulnerabilidad. Otros campos de una entrada permiten a cada cual hacer una valoración más fina, que dependerá de la situación concreta en que se dé la vulnerabilidad, y que en general será diferente para distintas situaciones y organizaciones. Puede tomar tres valores:

  • Alta si:
    • permite a un atacante remoto violar la protección de seguridad de un sistema (por ejemplo conseguir acceso de algún usuario o de tipo 'root')
    • permite a un ataque local ganar control completo del sistema
    • es lo suficientemente importante como para tener un consejo del CERT/CC (CERT advisory)
  • Media si:
    • no es baja ni alta
  • Baja si:
    • la vulnerabilidad no permite obtener información valiosa de por sí ni control del sistema, si no que da al atacante información que le puede ayudar a encontrar otras vulnerabilidades en el sistema.
    • creemos que la vulnerabilidad resulta inocua para la mayoría de las organizaciones.

Rango de explotación (relacionado con el Vector de Acceso)

Una vulnerabilidad puede explotarse mediante ataques locales y/o remotos.

  • Local: Una vulnerabilidad que se produce teniendo únicamente acceso local, requiere que se tenga acceso físico a la red vulnerable o una cuenta local. Algunos ejemplos de vulnerabilidades locales son los ataques a periféricos como Firewire, USB o ataque DMA y la elevación de privilegios locales (por ejemplo, sudo).
  • Red adyacente: Una vulnerabilidad explotable mediante el acceso desde una red adyacente necesita que al menos el atacante posea acceso a un dominio de difusión (broadcast) o de colisión del software vulnerable. Ejemplos de donde se produce este tipo de ataque son la subnet de IP local, Bluetooth, IEEE 802,11 y la segmentación local de Ethernet.
  • Red remota: Una vulnerabilidad aprovechable desde la red requiere que el software vulnerable se encuentre trabajando a nivel de acceso de red en la pila de comunicaciones, además para el atacante no deberá ser necesario el acceso local. Este tipo de vulnerabilidad también son conocidas como "exploits remotos". Un ejemplo de este ataque es un desbordamiento de buffer RPC (llamada de procedimiento remoto).

Tipo de pérdida (relacionado con el Tipo de Impacto)

A las vulnerabilidades se le asignan las siguientes etiquetas no excluyentes entre sí:

  • Confidencialidad: Si permite el robo de información. La confidencialidad se refiere a la limitación de la información únicamente a grupos o usuarios autorizados, previniendo el acceso a dicha información a los no autorizados. Puede tomar los siguientes valores:
    • Parcial: Hay una importante revelación de información. Existe acceso a algunos sistemas, pero el atacante no tiene control sobre lo que ha obtenido, el alcance del ataque es limitado. Un ejemplo seria una vulnerabilidad que permita ver ciertas tablas de una base de datos.
    • Completa: Existe una revelación total de la información, de tal manera que todos los sistemas se visualizan. El atacante es capaz de leer todos los datos del sistema (memoria, datos, etc.).
  • Integridad: Si permite cambiar la información que reside o que pasa por un sistema. La integridad se define como la confianza y la garantía en la veracidad de una información. Puede tomar los siguientes valores:
    • Parcial: Es posible la modificación de cierta información o de algunos ficheros, pero el atacante no tiene la posibilidad de controlar lo que se puede modificar, el alcance de lo que el atacante puede modificar es limitado. Por ejemplo, el sistema o unos ficheros de aplicación pueden ser sobrescritos o modificados, pero el atacante no tiene control sobre que ficheros se verán afectados o el atacante puede modificar ficheros en un contexto o de alcance limitado.
    • Completa: Se compromete completamente la integridad del sistema, hay una perdida completa de la protección. El atacante puede modificar cualquier fichero del sistema.
  • Disponibilidad: Si la vulnerabilidad permite un ataque que imposibilita directamente a un usuario (humano o máquina) el acceso a un recurso del sistema en particular. Los más comunes son los ataques de denegación de servicio (DoS). Puede tomar los siguientes valores:
    • Parcial: Hay una reducción en la velocidad o interrupciones en la disponibilidad de recursos. Un ejemplo es el ataque por inundación de red (network flood attack) que permite un numero elevado de conexiones en poco tiempo al servicio de Internet.
    • Completa: Se produce una caída total del recurso afectado. El atacante puede conseguir que el recurso este completamente inaccesible.

Referencias

Las referencias enlazan al usuario a sitios de vulnerabilidades y parches de ámbito público. Desafortunadamente la mayoría de estos sitios están sólo en inglés.

Productos y versiones vulnerables.

Para cada vulnerabilidad se ofrece una lista de software o hardware afectado; clasificados por fabricante, nombre comercial del producto y versiones. Estos permiten hacer búsquedas por productos y obtener enlaces a los parches necesarios.