Por qué un escáner de vulnerabilidades web no es suficiente para auditar tu web
El escáner de vulnerabilidades web es una herramienta automatizada de gran utilidad, pero presenta limitaciones inherentes a su diseño y funcionamiento que lo hace ineficaz contra cierto tipo de amenazas
¿Es viable confiar únicamente en un escáner de vulnerabilidades web para realizar una auditoría web integral? La respuesta corta es no. Si bien es cierto que un buen escáner de vulnerabilidades web es muy eficaz a la hora de detectar un gran número de vulnerabilidades comunes y de realizar análisis periódicos, sus carencias inherentes facilitan la explotación de vulnerabilidades más complejas y sofisticadas.
Depender exclusivamente de herramientas automatizadas entraña un alto riesgo de dejar múltiples vías de ataque abiertas y desprotegidas. Cada día se están desarrollando nuevas amenazas que escapan a las reglas genéricas utilizadas por el escáner de vulnerabilidades web, facilitando potenciales ataques que desencadenen incidentes de enorme gravedad.
Por ello, es fundamental realizar auditorías completas, que incluyan también una auditoría de seguridad web manual, que tengan en cuenta el factor humano y la lógica de negocio, identificando el mayor número de amenazas de diferentes tipologías.
Ventajas de los escáner de vulnerabilidades web
A continuación, exploraremos las ventajas que presenta el uso de un escáner de vulnerabilidades web y qué podemos hacer para realizar una auditoría con todas las garantías.
Un escáner de vulnerabilidades web trata de identificar, de forma automatizada, vulnerabilidades que puedan estar presentes en las aplicaciones web a analizar. Permite llevar a cabo una gran cantidad de pruebas de seguridad previamente diseñadas y configuradas, que están relacionadas con múltiples tipos de vulnerabilidades.
Muchas de estas herramientas incluyen también módulos capaces realizar una fase de descubrimiento para enumerar de forma recursiva los recursos sobre los que se lanzarán las pruebas posteriormente.
El funcionamiento habitual de un escáner de vulnerabilidades web se basa en un listado de reglas asociadas a distintas peticiones, que contienen los potenciales vectores de ataque. Estas reglas están diseñadas para detectar patrones concretos en la aplicación web ante esas peticiones, ya sea mediante el análisis de las respuestas de la aplicación, la medición del tiempo de respuesta o la detección de interacciones sobre servidores externos.
Un escáner de vulnerabilidades web es particularmente eficaz a la hora de detectar una gran variedad de vulnerabilidades comunes, especialmente las que no dependen de un conocimiento exhaustivo de los flujos de negocio propios de cada aplicación.
Este tipo de vulnerabilidades suele ser el más expuesto, ya que los atacantes acostumbran a emplear las propias herramientas de escaneo para identificar fácilmente fallos de seguridad de forma indiscriminada, cubriendo un amplio rango de objetivos.
Otro beneficio de un escáner de vulnerabilidades web, es que ofrece la ventaja de poder ser ejecutado con relativa regularidad, de forma que las organizaciones pueden monitorear de manera continua su superficie de ataque ante las vulnerabilidades cubiertas por estas herramientas.
Las importantes limitaciones de los escáneres
Las vulnerabilidades que un escáner automático es capaz de detectar dependen de los controles y reglas genéricas que fueron previamente configurados. Es decir, su naturaleza no es dinámica y por lo tanto adolecen de una baja adaptación a cambios y nuevos contextos.
A continuación, explicamos las principales limitaciones que presentan estas herramientas de escaneo automáticas.
Falta de comprensión contextual
Uno de los mayores problemas que presenta el escáner de vulnerabilidades web es que carece del contexto específico del negocio, y no puede entender la lógica de la aplicación ni sus flujos de trabajo.
Una herramienta automatizada de uso genérico sería incapaz, por ejemplo, de detectar problemas de autorización que requieren de una comprensión previa del papel que juegan los diferentes roles de la aplicación y sus permisos asignados.
Tampoco sería capaz de identificar vulnerabilidades que dependen de un flujo de información entre diferentes funcionalidades interconectadas de manera lógica, o avanzar sobre formularios que requieren que la información introducida cumpla ciertos requisitos de negocio o de formato.
Generación de ruido y falsos positivos
Un escáner de vulnerabilidades web puede llegar a generar un ruido considerable ante la detección de hallazgos que no aportan un valor real. Este caso da lugar a los conocidos como falsos positivos: fallos que realmente no existen o que no suponen una amenaza al no poder ser explotados.
El escáner de vulnerabilidades web, por la misma razón, también puede considerar como riesgos situaciones asumidas por la propia organización.
Para evitar este ruido, es altamente recomendable una revisión manual posterior de los hallazgos. Esta revisión también puede ayudar a evaluar de forma realista el riesgo de cada hallazgo en base a la comprensión del negocio y la información afectada.
Incapacidad para detectar nuevas amenazas sofisticadas.
El escáner de vulnerabilidades web automático suele basarse en una base de datos de vulnerabilidades conocidas y patrones de ataque predefinidos. Esto implica que, ante amenazas en ciernes que no están registradas, la herramienta no será eficaz en su detección.
Dos de este tipo de amenazas son las vulnerabilidad de día cero o Zero-Day vulnerability y las amenazas persistentes avanzadas o APT. Las vulnerabilidades de día cero (Zero-Day) son nuevas amenazas para las cuales no existen firmas o patrones previamente registrados. Sin la capacidad de adaptarse rápidamente a estos cambios, los escáneres automáticos pueden no detectar estas amenazas emergentes.
Las amenazas persistentes avanzadas (APT) implican un comportamiento sofisticado, estando diseñadas para evadir la detección de sistemas de protección como Firewalls o WAF.
Los escáneres de vulnerabilidades web automáticos, al operar de acuerdo con reglas preestablecidas, tienen dificultades para detectar vulnerabilidades que requieren la evasión de estos sistemas. Los analistas humanos, con su capacidad de pensamiento creativo y de estimulación del comportamiento de un atacante, están mejor equipados para identificar y rastrear estos patrones sofisticados.
¿Cómo puedo realizar una auditoría web realmente eficaz y con garantías?
Para realizar una auditoría web realmente efectiva que identifique el mayor número de vulnerabilidades de distinta naturaleza es esencial combinar el uso de herramientas automatizadas con la realización de análisis manuales.
Por un lado, el escáner de vulnerabilidades ayudará a cubrir la detección de un gran número de vulnerabilidades comunes y que, generalmente, cuentan con gran exposición a atacantes sin elevados conocimientos. Por el otro, un análisis manual ejecutado por personal hábil y experimentado complementará de forma crucial la detección de vulnerabilidades que requieren la comprensión del contexto, el uso o combinación de técnicas avanzadas y la evasión de sistemas de protección.
Estos análisis manuales juegan un papel crítico a la hora de desarrollar una estrategia de ciberseguridad robusta, ya que la mayoría de las vulnerabilidades que requieren técnicas avanzadas para su detección o la combinación de diferentes vectores de ataque, solo pueden ser cubiertas por análisis manuales.
Además, durante el análisis manual también se puede extraer información que ayude a decidir qué herramientas automáticas son más adecuadas para cada situación en base a las funcionalidades detectadas y a la arquitectura, así como establecer una configuración más eficiente.
En definitiva, abordar el análisis de la seguridad de una aplicación web solamente desde uno de los dos enfoques (automático o manual) aumenta el riesgo de no identificar vulnerabilidades importantes, y se hace necesaria la combinación de ambos para no dejar nada al albur. Hoy en día existen soluciones fáciles y accesibles para realizar una auditoría de seguridad web, que permiten asegurarse de que la aplicación web está preparada para repeler los potenciales ataques a los que está expuesta.