Riesgo A9 en OWASP - Uso de componentes con vulnerabilidades
En nuestro post Qué es OWASP y por qué todo desarrollador debería conocerlo vimos una introducción a OWASP y por qué es tan importante en el desarrollo de aplicaciones web. Dentro del proyecto TOP TEN, vamos a ahondar un poco en cada una de los diez riesgos de seguridad más críticos en aplicaciones web. Hoy es el turno del Riesgo A9 - Uso de componentes con vulnerabilidades.
Definición
Este riesgo refiere al uso de componentes o librerías de software sin soporte o con vulnerabilidades.
Ejemplos
- Una aplicación con una versión vulnerable de javascript permitiría a un atacante realizar un ataque XSS si es el caso. Los atacantes pueden buscar una lista de vulnerabilidades conocidas en ciertas librerías y empezar a buscar sitios con dicho software desactualizado.
Prevención
- Se debe eliminar dependencias, funcionalidades, archivos y documentación innecesaria y no utilizada.
- Se debe utilizar a toda costa gestores de dependencias como composer o npm para detectar librerías obsoletas y parches de seguridad liberados.
- Se puede utilizar herramientas de análisis automatizadas y suscribirse a alertas de seguridad de componentes desactualizados.
- Se debe obtener componentes únicamente de fuentes oficiales y mediante canales seguros. Usar solamente paquetes firmados para impedir la modificación maliciosa de los mismos.
- Se debe realizar supervisión de bibliotecas y componentes sin soporte o con parches liberados.