viernes, 11 de octubre de 2013

Concepto de vulnerabilidad.

Vulnerabilidad: definición y clasificación

Definimos Vulnerabilidad como debilidad de cualquier tipo que compromete la seguridad del sistema informático.
Las vulnerabilidades de los sistemas informáticos 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
·   Mala configuración 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
·   Se incluyen en este grupo aquellas vulnerabilidades para las cuales no existe una solución “conocida”, pero se sabe como explotarla.

Vulnerabilidades conocidas

·   Vulnerabilidad de desbordamiento de buffer.
Si un programa no controla la cantidad de datos que se copian en buffer, puede llegar un momento en que se sobrepase la capacidad del buffer y los bytes que sobran se almacenan en zonas de memoria adyacentes.
En esta situación se puede aprovechar para ejecutar código que nos de privilegios de administrador.
·   Vulnerabilidad de condición de carrera (race condition).
Si varios procesos acceden al mismo tiempo a un recurso compartido puede producirse este tipo de vulnerabilidad. Es el caso típico de una variable, que cambia su estado y puede obtener de esta forma un valor no esperado.
·   Vulnerabilidad de Cross Site Scripting (XSS).
Es una vulnerabilidad de las aplicaciones web, que permite inyectar código VBSript o JavaScript en páginas web vistas por el usuario. El phishing es una aplicación de esta vulnerabilidad. En el phishing la víctima cree que está accediendo a una URL (la ve en la barra de direcciones), pero en realidad está accediendo a otro sitio diferente. Si el usuario introduce sus credenciales en este sitio se las está enviando al atacante.
·   Vulnerabilidad de denegación del servicio.
La denegación de servicio hace que un servicio o recurso no esté disponible para los usuarios. Suele provocar 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.
·   Vulnerabilidad de ventanas engañosas (Window Spoofing).
Las ventanas engañosas son las que dicen que eres el ganador de tal o cual cosa, lo cual es mentira y lo único que quieren es que el usuario de información. Hay otro tipo de ventanas que si las sigues obtienen datos del ordenador para luego realizar un ataque.
En http://www.cert.org/stats/ hay disponibles unas tablas que indican el nº de vulnerabilidades detectadas por año. Es interesante visitar la web de vez en cuando y comprobar el elevado número de vulnerabilidades que se van detectando. Habría que ver cuántas no se detectan...

Herramientas

En el caso de servidores Linux/Unix para hacer el análisis de vulnerabilidades se suele utilizar el programa 'Nessus'.
Nessus es de arquitectura cliente-servidor OpenSource, dispone de una base de datos de patrones de ataques para lanzar contra una máquina o conjunto de máquinas con el objetivo de localizar sus vulnerabilidades.
Existe software comercial que utiliza Nessus como motor para el análisis. Por ejemplo está Catbird (www.catbird.com) que usa un portal para la gestión centralizada de las vulnerabilidades, analiza externamente e internamente la red teniendo en cuenta los accesos inalámbricos. Además hace monitoreo de servicios de red como el DNS y la disponibilidad de los portales web de las organizaciones.
En otros sistemas tipo Windows está el MBSA “Microsoft Baseline Security Analyzer” que permite verificar la configuración de seguridad, detectando los posibles problemas de seguridad en el sistema operativo y los diversos componentes instalados.

¿De qué queremos proteger el sistema informático?

Ya hemos hablado de los principales activos o elementos fundamentales del sistema informático que son vulnerables y ahora veremos a qué son vulnerables dichos elementos.
Comenzamos definiendo el concepto de amenaza.
Entendemos la amenaza como el escenario en el que una acción o suceso, ya sea o no deliberado, compromete la seguridad de un elemento del sistema informático.
Cuando a un sistema informático se le detecta una vulnerabilidad y existe una amenaza asociada a dicha vulnerabilidad, puede ocurrir que el suceso o evento se produzca y nuestro sistema estará en riesgo.
Si el evento se produce y el riesgo que era probable ahora es real, el sistema informático sufrirá daños que habrá que valorar cualitativa y cuantitativamente, y esto se llama 'impacto'.
Integrando estos conceptos podemos decir que “un evento producido en el sistema informático que constituye una amenaza, asociada a una vulnerabilidad del sistema, produce un impacto sobre él”.
Si queremos eliminar las vulnerabilidades del sistema informático o queremos disminuir el impacto que puedan producir sobre él, hemos de proteger el sistema mediante una serie de medidas que podemos llamar defensas o salvaguardas.



No hay comentarios:

Publicar un comentario