La seguridad de las aplicaciones web es una rama de la seguridad de la información que se ocupa específicamente de la seguridad de sitios web , aplicaciones web y servicios web . En un nivel alto, la seguridad de las aplicaciones web se basa en los principios de seguridad de las aplicaciones, pero los aplica específicamente a Internet y a los sistemas web . [1]
Amenazas de seguridad
La mayoría de los ataques a aplicaciones web se producen a través de scripts entre sitios (XSS) y ataques de inyección SQL [2] que normalmente son posibles debido a una codificación defectuosa y la falta de desinfección de las entradas y salidas de las aplicaciones. Estos ataques están clasificados entre los 25 errores de programación más peligrosos de CWE / SANS de 2009 . [3]
Según el proveedor de seguridad Cenzic, las principales vulnerabilidades en marzo de 2012 incluyen: [4]
37% | Secuencias de comandos entre sitios |
dieciséis% | inyección SQL |
5% | Divulgación de ruta |
5% | Ataque de denegación de servicio |
4% | Ejecución de código arbitrario |
4% | Corrupción de la memoria |
4% | Falsificación de solicitudes entre sitios |
3% | Violación de datos (divulgación de información) |
3% | Inclusión arbitraria de archivos |
2% | Inclusión de archivos locales |
1% | Inclusión de archivos remotos |
1% | Desbordamiento de búfer |
15% | Otros, incluida la inyección de código (PHP / JavaScript), etc. |
El Proyecto de seguridad de aplicaciones web abiertas ( OWASP ) proporciona recursos abiertos y gratuitos. Está dirigido por una organización sin fines de lucro llamada The OWASP Foundation. El OWASP Top 10 - 2017 es el resultado publicado de una investigación reciente basada en datos completos recopilados de más de 40 organizaciones asociadas. A partir de estos datos, se descubrieron aproximadamente 2,3 millones de vulnerabilidades en más de 50.000 aplicaciones. [5] Según OWASP Top 10 - 2017, los diez riesgos de seguridad de aplicaciones web más críticos incluyen: [6]
- Inyección
- Autenticación rota
- Exposición de datos sensibles
- Entidades externas XML (XXE)
- Control de acceso roto
- Configuración incorrecta de seguridad
- Secuencias de comandos entre sitios (XSS)
- Deserialización insegura
- Usar componentes con vulnerabilidades conocidas
- Registro y monitoreo insuficientes
Recomendación de mejores prácticas
El desarrollo seguro de aplicaciones web debe mejorarse aplicando puntos de control y técnicas de seguridad en las primeras etapas del desarrollo, así como durante todo el ciclo de vida del desarrollo del software . Se debe hacer especial hincapié en la fase de desarrollo de la codificación. Los mecanismos de seguridad que se deben utilizar incluyen, modelado de amenazas, análisis de riesgos , análisis estático , firma digital , entre otros. [7]
Estándares de seguridad
OWASP es el organismo de estándares emergentes para la seguridad de aplicaciones web. En particular, han publicado el OWASP Top 10, [8] que describe en detalle las principales amenazas contra las aplicaciones web. El Consorcio de Seguridad de Aplicaciones Web (WASC) ha creado la base de datos de incidentes de piratería web (WHID) y también ha producido documentos de mejores prácticas de código abierto sobre seguridad de aplicaciones web. WHID se convirtió en un proyecto de OWASP en febrero de 2014. [9]
Tecnología de seguridad
Si bien la seguridad se basa fundamentalmente en las personas y los procesos, hay una serie de soluciones técnicas a considerar al diseñar, construir y probar aplicaciones web seguras. A un alto nivel, estas soluciones incluyen:
- Herramientas de prueba de caja negra , como escáneres de seguridad de aplicaciones web , [10] escáneres de vulnerabilidades y software de pruebas de penetración [11]
- Herramientas de prueba de caja blanca , como analizadores de código fuente estático [12]
- Fuzzing , [13] herramientas utilizadas para pruebas de entrada
- Escáner de seguridad de aplicaciones web (escáner de vulnerabilidades)
- Cortafuegos de aplicaciones web (WAF), [14] utilizados para proporcionar protección de tipo cortafuegos en la capa de aplicación web
- Herramientas de descifrado de contraseñas para probar la seguridad y la implementación de las contraseñas
Ver también
- Arquitectura de servicios de aplicaciones (ASA)
- Autenticación electrónica
- w3af , un escáner de seguridad de aplicaciones web de código abierto gratuito
- Escáner de seguridad de aplicaciones web
- Autoprotección de la aplicación en tiempo de ejecución
Referencias
- ^ "Resumen de seguridad de aplicaciones web" . 2015-10-23.
- ^ "Prueba y comparación de herramientas de escaneo de vulnerabilidades web para inyección SQL y ataques XSS" . Fonseca, J .; Vieira, M .; Madeira, H., Informática confiable, IEEE. Diciembre de 2007. doi : 10.1109 / PRDC.2007.55 .
- ^ "Los 25 errores de programación más peligrosos de CWE / SANS" . CWE / SANS. Mayo de 2009.
- ^ "Informe de tendencias 2012: riesgos de seguridad de las aplicaciones" . Cenzic, Inc. 11 de marzo de 2012 . Consultado el 9 de julio de 2012 .
- ^ Korolov, Maria (27 de abril de 2017). "El último Top 10 de OWASP analiza las API y las aplicaciones web: la nueva lista de los 10 principales de OWASP está disponible, y aunque la mayor parte sigue siendo la misma, hay nuevas incorporaciones que se centran en las aplicaciones web y las API". CSO . ProQuest 1892694046 .
- ^ "OWASP Top 10 - 2017: Los diez riesgos de seguridad de aplicaciones web más críticos" (PDF) . Abra el proyecto de seguridad de aplicaciones web . 2017 . Consultado el 30 de junio de 2018 .
- ^ Shuaibu, Bala Musa; Norwawi, Norita Md; Selamat, Mohd Hasan; Al-Alwani, Abdulkareem (17 de enero de 2013). "Revisión sistemática del modelo de desarrollo de seguridad de aplicaciones web". Revisión de inteligencia artificial . 43 (2): 259–276. doi : 10.1007 / s10462-012-9375-6 . ISSN 0269-2821 . S2CID 15221613 .
- ^ Top 10 de OWASP
- ^ "El Proyecto WHID es ahora un Proyecto Conjunto WASC / OWASP" . WASC. 18 de febrero de 2014.
- ^ "Escáneres de vulnerabilidad de aplicaciones web" . NIST.
- ^ "Principales empresas de pruebas de penetración" . 2019-11-06.
- ^ "Analizadores de seguridad de código fuente" . NIST.
- ^ "Fuzzing" . OWASP.
- ^ "Firewalls de aplicaciones web para seguridad y cumplimiento normativo" . Blog de TestingXperts. Marzo de 2017.