OWASP Top Ten 2021: ¿qué ha cambiado en la nueva versión del ranking?
Todo buen desarrollador debe estar familiarizado con el acrónimo OWASP, de Open Web Application Security Project, o Proyecto de Seguridad de Aplicaciones Web Abiertas. Como su nombre lo indica, es una comunidad abierta y mundial que trabaja para promover un ecosistema de desarrollo de aplicaciones web más seguras. Lo hace realizando reuniones periódicas y ofreciendo materiales educativos y herramientas útiles para los programadores. Sin embargo, se puede decir que la comunidad OWASP es más conocida por su famosa y respetada lista Top Ten.
El Top Ten de OWASP se puede definir como un “ranking” que identifica las vulnerabilidades, problemas y bugs más comunes (y peligrosos) en las aplicaciones web. Su actualización no se realiza según una frecuencia fija, pero, aun así, esa lista de flancos abiertos sirve como guía para que los desarrolladores sepan en qué enfocarse cuando crean y ponen a prueba sus propias aplicaciones (claro, también es útil para los pentesters/cazadores de recompensas (bug bounty) que estén estudiando un determinado entorno en línea).
La versión más reciente del Top Ten, hasta hace poco tiempo, era de 2017. Sin embargo, para sorpresa de muchos (como dijimos, la lista no tiene una frecuencia de actualización fija), se lanzó una nueva versión del ranking en septiembre de 2021. Mucho ha cambiado en la lista OWASP Top Ten 2021 y es de suma importancia que analicemos esos cambios para entender las tendencias de vulnerabilidades y comprender cómo podemos actuar para hacer de la web un lugar más seguro a lo largo de esta década.
Juego de las sillas
En general, las actualizaciones de la lista Top Ten tienden a reducirse a la escalada o descenso de vulnerabilidades dentro del propio ranking. Este año no fue diferente, pero, además, encontramos tres categorías nuevas y una descripción mucho más amplia de varias otras. Pero antes de más nada, hablemos de quién subió y quién bajó. Curiosamente, la medalla de oro (A01) le tocó a Control de Acceso Roto (Broken Access Control), que en la lista de 2017 estaba en quinto lugar.
Esta categoría incluye todos y cada uno de los bugs que permitan romper la política de permisos del usuario, facilitando, así, el acceso a información no autorizada para un determinado usuario. En total, el 94% de las aplicaciones probadas por OWASP tenían alguna falla de este tipo.
En segundo lugar (A02), tenemos los Fallos Criptográficos (Cryptographic Failures), que subieron un peldaño en relación con 2017; por último, en tercer lugar (A03), encontramos la categoría Inyección (Injection), que ocupaba el primer lugar en la actualización anterior. Aquí tienes la lista completa:
-
A01:2021 —Control de Acceso Roto
-
A02:2021 — Fallos Criptográficos
-
A03:2021 — Inyección
-
A04:2021 — Diseño Inseguro
-
A05:2021 — Configuración Insegura
-
A06:2021 — Componentes Vulnerables y Obsoletos
-
A07:2021 — Fallos de Identificación y Autenticación
-
A08:2021 — Fallos de Integridad de Datos y Software
-
A09:2021 — Fallos de Registro y Monitoreo de Seguridad
-
A10:2021 — Falsificación de Solicitud del Lado del Servidor
Nuevos problemas para nuevos tiempos
De esta lista completa, tres categorías se agregaron en esta nueva versión: Diseño Inseguro (creado precisamente para diferenciar los problemas de estructura de los problemas de implementación), Fallos de Integridad de Datos y Software (códigos e infraestructuras que no protegen de terceros la integridad de los datos, como plugins maliciosos) y Falsificación de Solicitud del Lado del Servidor (una falla que ocurre cuando un delincuente logra obligar a la aplicación a completar una petición para un destino inesperado).
No cuesta repetirlo: se han añadido tres nuevas categorías y es muy importante que los desarrolladores y profesionales que trabajan con pruebas de penetración estudien esas tendencias y cambios.