El uso de aplicaciones web se ha ido incrementado en los últimos años por las ventajas que estas ofrecen: potabilidad, fácil acceso, entre otros. Sin embargo, muchos desarrolladores solo se preocupan por la funcionalidad de sus programas.
Motivos
Desarrollar aplicaciones es un proceso largo, desarrollarlas correctamente aún más, ya que se tienen que enfrentar varios problemas. El desconocimiento de desarrollo de aplicaciones seguras y la falta de buenas prácticas de seguridad son los principales.
Otro problema al que se enfrentan los programadores es la presión que se les impone para llevar el producto a un ssistema en producción, lo que obliga a dejar de lado as variaciones necesarias y priorizar la funcionalidad.
Clasificaciones
Diversas organizaciones se dedican a clasificar las vulnerabilidades y brindar recomendaciones para evitarlas.
Una de las más importantes es OWASP (Open Web Aplication Security Proyect) , y generó una clasificación con las 10 vulnerabilidades más comunes.
- Inyección de código
- Pérdida de Autenticación y Gestión de Sesiones
- Secuencia de Comandos en Sitios Cruzados (XSS)
- Referencia Directa Insegura a Objetos
- Configuración de Seguridad Incorrecta
- Exposición de datos sensibles
- Ausencia de Control de Acceso a Funciones
- Falsificación de Petciones en Sitos Cruzados (CSRF)
- Utilización de componentes con vulnerabilidades conocidas
- Redirecciones y reenvios no validados
Otra clasificación importante es la que ofrece el MITRE, esta es una clasificación mas desglosada. Para más información consultar la clasificación del MITRE
Mitigación
La mitigación de estas vulnerabilidades es difícil una vez que ya se encuentra la aplicación terminada. Lo que se hace generalmente es desarrolar parches para tratar de solucionar estos problemas, pero frecuente generan nuevas vulnerabilidades.
Estos problemas se deben de evitar desde el principio, siguiendo una metodología de desarrollo de software seguro y buenas prácticas de programación.