Saltar la navegación

1.2. Vulnerabilidad

La vulnerabilidad de un sistema informático es la probabilidad que existe de que una amenaza se materialice contra un elemento de dicho sistema.

No todos los elementos son vulnerables a las mismas amenazas, por ejemplo, los datos son vulnerables a los hackers y las instalaciones eléctricas a los cortocircuitos.

Cuando se habla de las vulnerabilidades de un sistema se manejan conceptos como:

Vulnerabilidades según su función

Las vulnerabilidades de los sistemas informáticos (SI) las podemos agrupar en función de:

Diseño

  • Debilidad en el diseño de protocolos utilizados en las redes.
  • Políticas de seguridad deficientes e inexistentes.

Implementación

  • Errores de programación.
  • Existencia de “puertas traseras” en los sistemas informáticos.
  • Descuido de los fabricantes.

Uso

  • Configuración inadecuada de los sistemas informáticos.
  • Desconocimiento y falta de sensibilización de los usuarios y de los responsables de informática.
  • Disponibilidad de herramientas que facilitan los ataques.
  • Limitación gubernamental de tecnologías de seguridad.

Vulnerabilidad del día cero

  • Cuando no exista una solución “conocida” para una vulnerabilidad, pero el atacante sí conoce como explotarla, entonces se le conoce como “vulnerabilidad 0 days”.

Clasificación de vulnerabilidades

Globalmente clasificamos las vulnerabilidades en:

  • Vulnerabilidades de desbordamiento de buffer.

Se produce cuando un programa no controla la cantidad de datos que se copian en buffer, de forma que si esa cantidad es superior a la capacidad del buffer los bytes sobrantes se almacenan en zonas de memoria adyacentes, sobrescribiendo su contenido original. Se puede aprovechar para ejecutar código que nos de privilegios de administrador.

  • Vulnerabilidades de condición de carrera (race condition).
La condición de carrera se da principalmente cuando varios procesos acceden al mismo tiempo a un recurso compartido, por ejemplo una variable, cambiando su estado y obteniendo de esta forma un valor no esperado de la misma.
  • Vulnerabilidades de error de formato de cadena (format string bugs).
La principal causa de los errores de cadena de formato es aceptar sin validar la entrada de datos proporcionada por el usuario.
Es un error de programación y el lenguaje más afectado es C/C++. Un ataque puede conducir de manera inmediata a la ejecución de código arbitrario y a revelación de información.
  • Vulnerabilidades de Cross Site Scripting (XSS).
Abarcaban cualquier ataque que permitiera ejecutar scripts como VBScript o JavaScript, en el contexto de otro sitio web. Estos errores se pueden encontrar en cualquier aplicación que tenga como objetivo final presentar la información en un navegador web.
Un uso de esta vulnerabilidad es hacer phishing. La víctima ve en la barra de direcciones un sitio, pero realmente está en otro. La víctima introduce su contraseña y se la envía al atacante.
  • Vulnerabilidades de Inyección SQL.
Una inyección SQL se produce cuando, de alguna manera, se inserta o "inyecta" código SQL invasor dentro del código SQL programado, a fin de alterar el funcionamiento normal del programa y lograr así que se ejecute la porción de código "invasor" incrustado, en la base de datos.
  • Vulnerabilidades de denegación del servicio.
La denegación de servicio provoca que un servicio o recurso sea inaccesible a los usuarios legítimos. Normalmente provoca la pérdida de la conectividad de la red por el consumo del ancho de banda de la red de la víctima o sobrecarga de los recursos informáticos del sistema de la víctima.
  • Vulnerabilidades de ventanas engañosas (Window Spoofing).
Las ventanas engañosas son aquellas que dicen que eres el ganador de tal o cual cosa, lo cual es mentira y lo único que quieren es que des información. Hay otro tipo de ventanas que, si las sigues, obtienen datos del ordenador para luego realizar un ataque.

Información:

En http://www.cert.org/stats/ hay disponibles unas tablas que indican el nº de vulnerabilidades detectadas por año.

La web http://www.zone-h.org en su zona restringida muestra gran cantidad de información sobre ataques y estadísticas.

Reflexión

La educación de los usuarios es fundamental para que la tecnología de seguridad pueda funcionar. Es evidente que por mucha tecnología de seguridad que se implante en una organización, si no existe una clara disposición por parte de los directivos de la empresa y una cultura a nivel de usuarios, no se conseguirán los objetivos perseguidos con la implantación de un sistema de seguridad.

¿Sueles usar una contraseñas robustas usando mayúsculas, minúsculas, números y símbolos?

¿Sueles realizar copia de seguridad de tus datos más importantes?

¿Tienes contraseña al inicio de sesión de tu Sistema Operativo?

Más información

En http://www.cert.org/stats/ hay disponibles unas tablas que indican el nº de vulnerabilidades detectadas por año.

La web http://www.zone-h.org en su zona restringida muestra gran cantidad de información sobre ataques y estadísticas.