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