¿Quién es OWASP?
Para aquellos que no conocen aún OWASP (Open Web Application Security Project), se trata de una fundación sin fines de lucro que tiene como objetivo mejorar la seguridad del software mediante la publicación de estándares, artículos, herramientas y documentos de la industria.
¿Qué es el TOP 10?
Esta fundación periódicamente emite un ranking sobre los principales riesgos de ciberseguridad en las aplicaciones web.
Este documento es de gran utilidad para aquellos responsables de la seguridad de las aplicaciones, brindándoles una comprensión sólida de estos riesgos y las vulnerabilidades asociadas para ayudar a tomar decisiones sobre prácticas, herramientas y procesos de seguridad y así mitigar los riesgos de las aplicaciones web de sus empresas.
¿Cómo realiza este ranking?
La metodología utilizada es una combinación de análisis basados en datos y encuestas de la industria para establecer una lista de las diez vulnerabilidades de seguridad de aplicaciones más importantes:
- Recopila información de más de 200.000 organizaciones sobre las vulnerabilidades de las aplicaciones web que se encuentran en varios procesos y utiliza esta información para identificar ocho de los diez principales riesgos de seguridad críticos.
- Obtienen información a través de encuestar a profesionales de la industria y pedirles que clasifiquen los riesgos de seguridad de aplicaciones web más importantes.
El último ranking publicado por OWASP es el Top 10 2021, con los siguientes riesgos:
1. Broken Access Control
Los controles de acceso son fundamentales para proteger las aplicaciones contra el acceso no autorizado a datos y recursos. Los controles de acceso rotos pueden comprometer los datos, obtener permisos más allá de lo previsto para los usuarios estándar o ataques de apropiación de cuentas en los que personas ajenas secuestran las cuentas de los usuarios e inician transacciones fraudulentas.
Esta vulnerabilidad saltó de la quinta posición en 2017 a la primera en 2021, lo que refleja que se encontró en el 94 % de las aplicaciones probadas. Las vulnerabilidades comunes en esta categoría de riesgo incluyen fallas en la lógica de la aplicación que eluden las verificaciones de control de acceso al permitir que los usuarios cambien los valores de los parámetros o fuercen la navegación a ciertas URL. Desde una perspectiva de toma de decisiones, es fundamental enfatizar la importancia de cambiar la seguridad a la izquierda en el ciclo de desarrollo. Los controles de acceso son más difíciles de implementar más adelante, por lo tanto, informe la importancia de implementar controles de acceso adecuados, como denegar solicitudes de forma predeterminada y limitar la velocidad de las API desde el principio en el desarrollo de la aplicación web.
2. Cryptographic Failures
Las fallas criptográficas se refieren a una mala implementación del cifrado o a una falta total de cifrado. La principal consecuencia de una falla criptográfica es que potencialmente puede exponer datos confidenciales. La exposición de datos confidenciales puede plantear riesgos comerciales de cumplimiento, de reputación o competitivos, según la información que no esté adecuadamente protegida por el cifrado.
El costo promedio de la filtración de datos alcanzó un máximo histórico de $4.35 millones en 2022, las empresas no pueden darse el lujo de cometer errores con la criptografía.
Para prevenir fallas criptográficas, es fundamental clasificar primero los datos que cualquier aplicación web procesa, almacena o transmite. Luego, puede identificar los activos de datos confidenciales y asegurarse de que estén encriptados tanto en reposo como en tránsito. Una solución de cifrado moderna que utiliza algoritmos estándar sólidos y actualizados centraliza el cifrado y la configuración de la clave de cifrado, y administra el ciclo de vida de la clave de cifrado, es una inversión prudente.
3. Injection
La inyección es una categoría de riesgo que se refiere a la capacidad de los actores de amenazas para proporcionar información maliciosa a las aplicaciones web que hacen que la aplicación ejecute comandos inesperados y no deseados. La inyección ocurre cuando la aplicación no puede distinguir la entrada maliciosa de su código. Los ataques de inyección comunes incluyen inyecciones SQL que insertan consultas SQL maliciosas en campos de entrada o inyecciones JavaScript que cargan código malicioso en el lado del cliente de la aplicación web.
Los ataques de inyección pueden generar varios resultados negativos, incluida la denegación de servicio, la elevación de privilegios y las filtraciones de datos. Un elemento estratégico importante de la mitigación es fomentar el uso de herramientas que ayuden a detectar vulnerabilidades de inyección en el código. Dado que existen varios ataques de inyección diferentes, es posible que necesite más de una herramienta para realizar pruebas exhaustivas.
4. Insecure Design
Esta es una categoría completamente nueva para OWASP Top 10, que se enfoca ampliamente en el diseño de aplicaciones y fallas arquitectónicas que conducen a mayores riesgos de seguridad. Cuando una aplicación está inherentemente diseñada de manera insegura, incluso una implementación perfecta de los controles y riesgos de seguridad no puede compensar esas debilidades de diseño. Los actores de amenazas sofisticados eventualmente encontrarán y explotarán las fallas de diseño.
A un alto nivel, uno de los consejos de mitigación más importantes es exigir el uso de modelos de amenazas para los equipos de desarrollo de software. El modelado de amenazas debe usar la estructura y el flujo de datos inherentes a una aplicación web específica para rastrear las amenazas técnicas clave que podrían explotar el sistema.
Para rastrear las amenazas, intente responder a la pregunta «¿qué puede salir mal aquí?» El modelo STRIDE es un buen lugar para generar ideas porque se enfoca en tipos importantes de amenazas a la seguridad de las aplicaciones y controles para prevenirlas.
5. Security Misconfiguration
Esta categoría de riesgos se relaciona con la configuración incorrecta de los componentes de seguridad de una aplicación. Las configuraciones incorrectas son cada vez más comunes debido a que la nube se usa como entorno de desarrollo y las aplicaciones web se crean con imágenes de contenedores. La complejidad de la infraestructura agrega más puntos en los que pueden ocurrir errores de configuración de seguridad.
En los datos recopilados por OWASP Top 10, se detectaron más de 200,000 instancias de configuraciones incorrectas de seguridad en las aplicaciones web. El desafío de mitigar los riesgos de mala configuración de seguridad desde un punto de vista estratégico es que cubren toda la pila de aplicaciones y la infraestructura de la aplicación.
Los errores individuales a menudo están en juego aquí, como abrir puertos innecesarios, no cambiar las contraseñas predeterminadas o dejar abiertos los depósitos de almacenamiento en la nube. Un cambio estratégico fundamental es garantizar que tenga un proceso repetible para fortalecer las configuraciones y una herramienta o proceso que audite y verifique automáticamente esas configuraciones en entornos locales y en la nube .
6. Vulnerable and Outdated Components
Las aplicaciones web comprenden muchos componentes o bloques de construcción de fuentes externas (librerías, frameworks, etc.). Estos componentes manejan la funcionalidad de back-end y front-end. Cuando los actores de amenazas intentan comprometer una aplicación, observan sus componentes e intentan explotar cualquier vulnerabilidad. A menudo, estas vulnerabilidades provienen del uso de marcos o bibliotecas desactualizados que son fáciles de explotar.
La mitigación estratégica general aquí es garantizar que se implemente una estrategia de administración de parches eficaz. Parte de esa estrategia implica mantener un inventario de todos los componentes de sus aplicaciones y las respectivas versiones de esos componentes que ejecuta la aplicación. Idealmente, podrá automatizar el paso del inventario con una solución de inventario digital.
7. Identification and Authentication Failures
Las fallas en la autenticación y la administración de identidades hacen que las aplicaciones sean vulnerables a los actores de amenazas que se hacen pasar por usuarios legítimos. Algunos ejemplos de vulnerabilidades incluyen no establecer períodos de validez para las sesiones, permitir contraseñas débiles que son fáciles de adivinar y no limitar la tasa de intentos de inicio de sesión contra ataques automáticos.
Las soluciones incluyen la implementación de la autenticación multifactor en las aplicaciones y la comunicación a los desarrolladores de la importancia de cumplir con las políticas recomendadas de longitud, complejidad y rotación de contraseñas .
8. Software and Data Interity Failures
Esta es otra nueva categoría de riesgo en OWASP Top Ten, y se trata de hacer suposiciones predeterminadas erróneas dentro de las canalizaciones de desarrollo sobre la integridad del software o los datos. Dado que las aplicaciones web dependen regularmente de complementos y librerías de fuentes externas, la falta de verificación de la integridad de estas fuentes presenta el riesgo de código malicioso, acceso no autorizado y compromiso.
La principal estrategia de mitigación es garantizar que el código o los datos externos no se hayan manipulado al requerir firmas digitales.
9. Security Logging and Monitoring Failures
El registro y la supervisión ayudan a proporcionar responsabilidad de seguridad, visibilidad de eventos, alertas de incidentes y análisis forense. Cuando hay fallas en estas capacidades, la capacidad de su empresa para detectar y responder a las infracciones de aplicaciones se ve gravemente comprometida. Para mitigar, use herramientas de código abierto o propietarias para correlacionar registros, implementar monitoreo y alertas, y crear una estrategia de respuesta y recuperación de incidentes utilizando pautas establecidas, como NIST 800-61r2.
10. Server-Side Request Forgery (SSRF)
Falsificación de solicitud del lado del servidor (SSRF) es uno de los dos riesgos Top Ten de OWASP agregados según la encuesta de la comunidad en lugar de los datos de las aplicaciones web . La mayoría de las aplicaciones web actuales requieren recursos externos para su funcionalidad, a los que generalmente se accede a través de URL. SSRF ocurre cuando los piratas informáticos pueden hacer que los servidores realicen solicitudes que ellos controlan. La vulnerabilidad típica es que la aplicación web no valida la URL proporcionada por el usuario, lo que podría permitir el acceso a servicios o recursos internos al pasar por alto los controles de acceso.
El concepto estratégico de defensa en profundidad es importante aquí; múltiples controles en las capas de aplicación y red pueden ayudar a prevenir SSRF . Los datos de entrada proporcionados por el cliente deben validarse y desinfectarse, mientras que la segmentación de la red también puede ayudar.
¿Te gustaría conocer más sobre nuestros servicios?
Contactanos para obtener mayor información en el siguiente vinculo: Contacto