Continuamos con los informes del TOP 15 de amenazas de ENISA, y en este caso le toca a los ataques contra aplicaciones web.
En el informe de ataques web no se revelan grandes novedades, y podemos decir que seguimos con prácticamente las mismas problemáticas de siempre. La mayoría de sitios web requieren de bases de datos para almacenar y entregar información, y de ahí que las inyecciones SQL siguen siendo una de las vulnerabilidades más atacadas. Otro ejemplo que se mantiene arriba son los ataques de tipo Cross-site Scripting (XSS), utilizados para inyectar código malicioso que buscan robar información de cookies o provocar redirecciones maliciosas. Por otro lado, cada vez más empresas hacen uso de APIs y sin embargo, no siempre se protegen adecuadamente, aunque nos encontramos ante problemas de sobra conocidos.
Algunas de las tendencias detectadas fueron:
- Cada vez más empresas (63%) ya hacen uso de firewalls de aplicación (WAF) para la protección de sus webs, y muchas están preparándose para desplegar este tipo de tecnologías (27.5%).
- Se produjo un incremento de un 52% de ataques en tan sólo un año
- Y algo que todo pentester sabe, el 84% de las vulnerabilidades detectadas se trataría de errores de configuración, seguido de fallos de tipo XSS y problemas con los mecanismos de autenticación.
En cuanto a los vectores de ataque específicos usados para vulnerar webs, según un estudio de Akamai, el primer vector de ataque sigue siendo la SQLi, seguido por LFI, XSS y otros fallos de autenticación y de gestión de sesión, aunque los Path Traversal siguen estando muy presentes según diferentes estudios.
Como vemos, la única sorpresa es que no hay sorpresas, nos encontramos cada año con los grandes conocidos. En cuanto a las medidas de prevención propuestas, técnicas y propuestas habituales, como son:
- Validación y control de las entradas, escapar el input del usuario, utilizar sentencias parametrizadas para evitar inyecciones, etc.
- Implementar WAFs que permitan prevenir y protegerse de los ataques más comunes.
- En cuanto a las APIs, principalmente, cifrar las comunicaciones e implementar correctamente las medidas de autenticación y autorización.
- Muy importante, implementar la seguridad en el ciclo de vida de desarrollo (S-SDLC).
- Hardening de servidores, y mantenerlos bien actualizados y parcheados.
- Realización de pentests durante el desarrollo de la aplicación, antes de salir a producción, y realizar nuevos escaneos periódicos a lo largo del tiempo de vida de la aplicación.
Cuando aparecen técnicas nuevas, en ocasiones no queda más remedio que resignarse y adaptarse. Sin embargo, aquí vemos que se trata todo de problemas y soluciones conocidas, así que probablemente esto sea un reflejo de la falta de concienciación en seguridad y de que esta sea una de las tecnologías más presentes en Internet.
Esperemos que poco a poco vayamos aprendiendo... ¡nos vemos en el próximo post!