La amenaza XSS y el papel del WAF

(Para Francesco Rugolo)
11/04/24

Entre los ciberataques que aprovechan métodos de inyección de script il Cross Site Scripting (XSS) Sin duda es uno de los más famosos y en este breve artículo intentaré explicar los riesgos y el importante papel que desempeña una herramienta llamada WAF (Web Application Firewall) como primera línea de defensa contra estos ataques.

XSS es un ataque de inyección, como ya hemos comentado, es decir, en el que se inyecta un script en una página web, infectándola y permitiendo al atacante robar datos de diversa índole de la víctima que está navegando.

En primer lugar, existen dos tipos principales de XSS, los llamados Reflejado deseando Almacenado, este último también llamado Persistente.

En ambos casos el objetivo del ataque es explotar una vulnerabilidad en el sitio o navegador web y comprometer la interacción que el usuario está teniendo con dicha aplicación y las consecuencias pueden ser perjudiciales para ambas partes.

en XSS reflejado El navegador de la víctima es atacado, el script se encuentra en un liga malicioso, a menudo enviado a la víctima en un correo electrónico, liga que aparentemente es legítimo pero que, una vez pulsado, iniciará el script colocado en su interior, comprometiendo la sesión del usuario con la aplicación que está utilizando.

Los datos de sesión, las cookies y cualquier otro dato confidencial se enviarán de inmediato al atacante.

en XSS almacenado la aplicación es atacada directamente y, por lo general, se explotan las vulnerabilidades de los sitios web que utilizan algún tipo de formulario que el usuario debe completar; al responder la aplicación, el usuario activa un fragmento de código malicioso que el hacker adjuntó al sitio . En ambos casos, el usuario no es consciente del riesgo, ya que las aplicaciones parecen completamente legítimas.

Lo XSS almacenado Sin duda es un tipo de ataque más complejo y peligroso ya que afecta a cada usuario que accede a la aplicación vulnerable, el hacker permanece oculto robando datos sensibles durante períodos prolongados de tiempo, de ahí el nombre "XSS persistente.

Entonces, ¿cómo podemos proteger nuestras aplicaciones web de este tipo de ataques?

Como bien sabemos, las empresas privadas y los organismos públicos confían día a día en el correcto funcionamiento de los servicios disponibles en la web. La confiabilidad yel tiempo de actividad de algunos de estos servicios es absolutamente vital y debe preservarse lo mejor posible y, para garantizar su existencia, un gran número de ellos están protegidos por una tecnología extremadamente importante, a saber, la Firewall de aplicaciones web o en resumen, WAF.

Los WAF son una ayuda importante a la hora de protegernos de amenazas externas de diversa índole, de ataques maliciosos y de tráfico no deseado a nuestros servidores, como por ejemplo la protección contra bots, denegación de servicio ataques de tipo (DOS) inyección, ataques de este tipo de ataque (XSS) ed. inyección SQL y más

Los WAF deben considerarse una importante línea de defensa contra ataques de tipo inyecciónAl monitorear el tráfico a nivel de aplicación, son capaces de identificar uno de estos ataques antes de que sea demasiado tarde, comprobando secuencias de caracteres y patrones potencialmente dañinos que pueden ser indicativos de un ataque de este tipo.

Los WAF pueden prevenir o hacernos saber que se está produciendo un ataque similar gracias a un filtrado "basado en firmas" que consigue bloquear gran parte de las solicitudes maliciosas, obviamente este conjunto de reglas y listas de "firmas maliciosas" deben estar siempre actualizadas.

Por este motivo los WAF son mantenidos por equipos de expertos que trabajan para actualizar continuamente el conocimiento sobre los vectores de ataque y las reglas para prevenirlos.

Evidentemente los WAF no ofrecen una protección infalible, el potencial de defensa contra un ataque similar, pero también contra otros tipos, deriva de una correcta configuración de las reglas en uso.

Los WAF analizan y previenen lo que se sabe, aunque lamentablemente no se informarán sobre métodos extremadamente sofisticados y nunca antes vistos, también existen técnicas de evitar cortafuegos que a menudo hacen uso de lagunas en su configuración.

Por este motivo, algunos WAF ayudan al usuario a inspeccionar las características operativas del producto, proporcionando información detallada sobre el tipo de tráfico recibido de los servicios monitorizados y los parámetros recibidos, y esta no es una característica común en todos los WAF, que muchas veces sólo proporcionan el log con la notificación relativa a la activación de la regla en uso.

Además, algunos WAF se centran en una estrategia de aplicación de comportamiento legítimo en lugar de un enfoque basado en firmas como el explicado anteriormente, una estrategia que en algunos casos podría marcar la diferencia y ayudar significativamente al proceso de identificación del ataque y combinada con la capacidad de algunos Para WAF más complejos, iniciar la implementación de un parche virtual incluso sin detener el servicio puede garantizar un tiempo de actividad que rara vez se puede lograr con software menos avanzado.

https://owasp.org/www-community/attacks/xss/ para información más detallada sobre xss

https://seerbox.it/ ejemplo de WAF no basado en firmas