
Detecta ataques de ralentización HTTP como slowloris con Bro
Los ataques DoS por estancamiento HTTP aprovechan la incapacidad de los servidores web para determinar si un cliente remoto simplemente está conectado a través de un enlace lento o si el cliente remoto está enviando datos deliberadamente muy despacio para evitar que el servidor web agote el tiempo de espera y cierre la conexión para preservar los recursos locales del sistema. El comportamiento típico de los atacantes consiste en abrir muchas conexiones e ir enviando los datos lentamente, a cuentagotas, para evitar que el servidor web agote el tiempo de espera de la conexión. Si un servidor web utiliza un grupo de workers bastante pequeño, este agotamiento de recursos puede ser fácil de alcanzar.
Muchos servidores web modernos se han vuelto más defensivos frente a este tipo de ataques de agotamiento de recursos, pero sigue siendo prudente vigilar estos ataques y es muy plausible que todavía haya un buen número de servidores web vulnerables en redes de producción. También es posible que un servidor web sea resistente a una forma del ataque y siga siendo vulnerable a otra. Por ejemplo, un servidor web puede ser resistente a que los datos se envíen lentamente en el cuerpo de una petición POST, pero vulnerable a que los datos se envíen lentamente en una única cabecera HTTP o en varias cabeceras HTTP. Este script está diseñado para detectar la noción general de que los datos se envían demasiado lentamente en cualquier parte de la petición del cliente y debería detectar cualquiera de estos estilos de ataque.
La forma más sencilla de instalarlo es a través del gestor de paquetes de Bro::
bro-pkg refresh
bro-pkg install bro/corelight/http-stalling-detector
La salida de este script es un par de notificaciones:
HTTPStalling::Attacker - Esto indica que se ha detectado a un atacante realizando un ataque de estancamiento HTTP.
HTTPStalling::Victim - Esto indica que un host concreto fue objetivo de uno o más atacantes.
Las notificaciones se dividen en dos de esta manera porque existe cierto software para realizar estos ataques que puede usar proxies para repartir a los atacantes entre muchas direcciones IP de origen. La preocupación es que si una única petición es todo lo que proviene de una dirección IP, el ataque nunca sería detectado. Al dividir entre atacantes y víctimas, la víctima aparece con mucha claridad incluso en presencia de este tipo de intento de ofuscación.
Escrito por Seth Hall [email protected]