3.4. Escaneo de vulnerabilidades en servicios
Vulnerabilidades en servicios de de red
Esta sección de Vuln Scanning o escaneo de vulnerabilidades está dedicado a explicar cómo se clasifican y se encuentra las vulnerabilidades en un sistema informático. Hallar una vulnerabilidad es el siguiente paso después de haber realizado las técnicas de escaneo para obtener información sobre las versiones de un servicio de red y así poder realizar el proceso de explotación. Además de las técnicas habituales de escaneo de puertos y servicios, existen aplicaciones que permiten automatizar esta tarea.
El significado de vulnerabilidad informática en sentido amplio, que puede encontrarse en cualquier manual o página web, es la de una debilidad en el software o hardware de un sistema informático que permite a un atacante comprometer un sistema informático. No obstante, se puede profundizar un poco con los siguientes vectores:
- Tipos de vulnerabilidad: Una vulnerabilidad puede suceder en cualquier componente de las capas del modelo OSI. Esto va desde una pieza del hardware (dispositivos) hasta cualquier software encargado de llevar las funciones de los protocolos de red del modelo TCP/IP, pasando por las aplicaciones finalistas que proveen un servicio a través de sus puertos. Sería complicado aquí elaborar una lista completa con todos los tipos de vulnerabilidad, aunque existen algunas tipologías que se agrupan en categorías en función del tipo de explotación, como podría ser vulnerabilidad por desbordamiento de buffer, etc. Además hoy en día debido a la proliferación de aplicaciones web, se suelen estudiar a parte el conjunto de vulnerabilidades destinadas a este tipo de servicio.
- Causa de la vulnerabilidad y explotación: La causa más común son fallos en la programación del software, errores en la implementación de un servicio o recurso, etc. El tipo de explotación dependerá del tipo de vulnerabilidad. Aunque existe un rango de técnicas genéricas para explotar servicios vulnerables, lo normal es que se creen exploits para una determinada versión del software o elementos vulnerable.
- Solución: Cuando se habla de vulnerabilidad en software, la solución pasa por la corrección del código que ha propiciado la vulnerabilidad, liberando así una nueva versión del software.
Determinados ataques informáticos se pueden considerar como origen de una vulnerabilidad en el sistema o red informática. Sin embargo la debilidad del sistema será causa de una mala implementación de la política de seguridad informática de la red. Esta política incluye la monitorización y restricción de acceso de la red, una gestión de usuarios de red adecuada, el uso de herramientas especializadas como Firewalls, NIDS, antivirus, etc. Entre estos ataques están ataques de fuerza bruta contra contraseñas, botnets y malware cuyo éxito dependen de ingeniería social, obtención de información sensible a través de escaneo de puertos, etc.
Encontrar una vulnerabilidad hoy en día puede considerarse todo un arte. Debido a la variedad de marcas y especialización cada vez mayor de las aplicaciones informáticas, las técnicas para encontrar una vulnerabilidad y desarrollar la explotación son también cada vez más sutiles y suelen requerir una gran especialización técnica y conocimientos en informática a todos los niveles. A parte de ser un negocio lucrativo para determinados grupos, los responsables de encontrar vulnerabilidades suelen ser grupos muy concretos: Universidades, FreeLancer, las mismas empresas que desarrollan un producto informático, empresas dedicadas a ello (partners) y el sector de la ciberdelincuencia.