Mapa mental
Riesgos en aplicaciones web

Mapa mental: Riesgos en aplicaciones web
Contenido del mapa
Riesgos en aplicaciones web
1. Inyección
- ocurren cuando se envían datos no confiables a un intérprete, como parte de un comando o consulta. Los datos dañinos del atacante pueden engañar al intérprete para que ejecute comandos involuntarios o acceda a los datos sin la debida autorización.
- • Vector de ataque: cualquier fuente de datos como: variables de entorno, parámetros, servicios web externos e internos
- • Debilidades de seguridad: son muy comunes, particularmente en código heredado y en consultas SQL, NoSQL, LDAP, XPath
- • Vulnerabilidad: Los datos suministrados por el usuario no son validados por la aplicación. Se invocan consultas dinámicas o no parametrizadas, sin codificar los parámetros de forma acorde al contexto. Se utilizan datos dañinos dentro de los parámetros de búsqueda en consultas Object-Relational Mapping (ORM)
- • Impacto: Una inyección puede causar divulgación, pérdida o corrupción de información, pérdida de auditabilidad, o denegación de acceso.
- • Como se previene: Realice validaciones de entradas de datos en el servidor Utilice LIMIT y otros controles SQL dentro de las consultas utilizar una API segura, que evite el uso de un intérprete
- ocurren cuando se envían datos no confiables a un intérprete, como parte de un comando o consulta. Los datos dañinos del atacante pueden engañar al intérprete para que ejecute comandos involuntarios o acceda a los datos sin la debida autorización.
2. Pérdida de Autenticación
- Las funciones de la aplicación relacionadas a autenticación y gestión de sesiones son implementadas incorrectamente, permitiendo a los atacantes comprometer usuarios y contraseñas
- • Vector de ataque: fugas de información
- • Debilidades de seguridad: en el diseño y la implementación de la mayoría de los controles de acceso.
- • Vulnerabilidad: Permite ataques de fuerza bruta y/o ataques automatizados Permite contraseñas por defecto, débiles o muy conocidas Posee procesos débiles o inefectivos en el proceso de recuperación de credenciales Almacena las contraseñas en texto claro o cifradas con métodos de hashing débiles No posee autenticación multi-factor
- • Impacto: esto puedo permitir robo de identidad, lavado de dinero y la divulgación de información sensible protegida legalmente.
- • Como se previene: Implemente autenticación multi-factor para evitar ataques No utilice credenciales por defecto Implemente controles contra contraseñas débiles Limite o incremente el tiempo de respuesta de cada intento fallido de inicio de sesión Alinear la política de longitud, complejidad y rotación de contraseñas con las recomendaciones
- Las funciones de la aplicación relacionadas a autenticación y gestión de sesiones son implementadas incorrectamente, permitiendo a los atacantes comprometer usuarios y contraseñas
3. Exposición de Datos Sensibles
- Los atacantes pueden robar o modificar datos sensibles protegidos inadecuadamente para llevar a cabo fraudes con tarjetas de crédito, robos de identidad u otros delitos.
- • Vector de ataque: robo de datos en tránsito
- • Debilidades de seguridad: no cifrar los datos sensibles
- • Vulnerabilidad: Se utilizan algoritmos criptográficos obsoletos o débiles Se utilizan claves criptográficas predeterminadas Se transmite datos en texto claro
- • Como se previene: No almacene datos sensibles innecesariamente Cifre todos los datos sensibles cuando sean almacenados Cifre todos los datos en tránsito utilizando protocolos seguros como TLS Deshabilite el almacenamiento en cache de datos sensibles No cree sus propios algoritmos de cifrado
- • Impacto: comprometen datos que deberían estar protegidos. Típicamente, esta información incluye Información Personal Sensible
- Los atacantes pueden robar o modificar datos sensibles protegidos inadecuadamente para llevar a cabo fraudes con tarjetas de crédito, robos de identidad u otros delitos.
4. Entidades Externas XML (XXE)
- Las entidades externas pueden utilizarse para revelar archivos internos mediante la URI o archivos internos en servidores no actualizados, escanear puertos de la LAN, ejecutar código de forma remota y realizar ataques de denegación de servicio (DoS).
- • Vector de ataque: explotar procesadores XML vulnerables
- • Debilidades de seguridad: procesadores XML mal configurados y falta de uso de herramientas como SAST
- • Vulnerabilidad: La aplicación acepta XML directamente La aplicación utiliza SOAP en una versión previa a la 1.2 La aplicación utiliza SAML para el procesamiento de identidades, SAML utiliza XML para garantizar la identidad de los usuarios y puede ser vulnerable.
- • Como se previene: De ser posible, utilice formatos de datos menos complejos como JSON Actualice los procesadores y bibliotecas XML que utilice la aplicación o el sistema subyacente Deshabilite las entidades externas de XML y procesamiento DTD Implemente validación de entrada positiva en el servidor • Impacto: pueden extraer datos, ejecutar una solicitud remota desde el servidor, escanear sistemas internos, realizar un ataque de denegación de servicio y ejecutar otro tipo de ataques.
- Las entidades externas pueden utilizarse para revelar archivos internos mediante la URI o archivos internos en servidores no actualizados, escanear puertos de la LAN, ejecutar código de forma remota y realizar ataques de denegación de servicio (DoS).
5. Pérdida de Control de Acceso
- Las restricciones sobre lo que los usuarios autenticados pueden hacer no se aplican correctamente. Los atacantes pueden explotar estos defectos para acceder, de forma no autorizada, a funcionalidades y/o datos
- • Vector de ataque: La explotación del control de acceso
- • Debilidades de seguridad: debilidades del control de debido a la falta de detección automática y a la falta de pruebas funcionales efectivas
- • Vulnerabilidad: Pasar por alto las comprobaciones de control de acceso modificando la URL Permitir que la clave primaria se cambie a la de otro usuario, pudiendo ver o editar la cuenta de otra persona Elevación de privilegios Forzar la navegación a páginas autenticadas como un usuario no autenticado La configuración incorrecta de CORS
- • Como se previene: Implemente los mecanismos de control de acceso una vez y reutilícelo en toda la aplicación Registre errores de control de acceso y alerte a los administradores Con la excepción de los recursos públicos, la política debe ser denegar de forma predeterminada
- • Impacto: atacantes anónimos actuando como usuarios o administradores; usuarios que utilizan funciones privilegiadas o crean, acceden, actualizan o eliminan cualquier registro.
- Las restricciones sobre lo que los usuarios autenticados pueden hacer no se aplican correctamente. Los atacantes pueden explotar estos defectos para acceder, de forma no autorizada, a funcionalidades y/o datos
6. Configuración de Seguridad Incorrecta
- configuración de seguridad incorrecta como: S3 buckets abiertos, cabeceras HTTP mal configuradas, mensajes de error con contenido sensible, falta de parches y actualizaciones, frameworks, dependencias y componentes desactualizados, etc.
- • Vector de ataque: vulnerabilidades sin parchear y directorios desprotegidos
- • Debilidades de seguridad: Configuraciones incorrectas de seguridad pueden ocurrir en los servicios de red, la plataforma, el servidor web, el servidor de aplicaciones, la base de datos, frameworks, el código personalizado
- • Vulnerabilidad: Se encuentran instaladas o habilitadas características innecesarias Las configuraciones de seguridad en el servidor de aplicaciones no se encuentran especificados con valores seguros El software se encuentra desactualizado permisos mal configurados en los servicios de la nube. El manejo de errores revela a los usuarios trazas de la aplicación u otros mensajes demasiado informativos.
- • Como se previene: Use una plataforma minimalista sin funcionalidades La aplicación debe tener una arquitectura segmentada Siga un proceso para revisar y actualizar las configuraciones apropiadas de acuerdo a las advertencias de seguridad
- • Impacto: dan a los atacantes acceso no autorizado a algunos datos o funciones del sistema. Ocasionalmente, estos errores resultan en un completo compromiso del sistema.
- configuración de seguridad incorrecta como: S3 buckets abiertos, cabeceras HTTP mal configuradas, mensajes de error con contenido sensible, falta de parches y actualizaciones, frameworks, dependencias y componentes desactualizados, etc.
7. Cross-Site Scripting (XSS)
- Permiten ejecutar comandos en el navegador de la víctima y el atacante puede secuestrar una sesión, modificar (defacement) los sitios web, o redireccionar al usuario hacia un sitio malicioso.
- • Vector de ataque: herramientas automatizadas que permiten detectar y explotar formas de XSS
- • Debilidades de seguridad: Las herramientas automatizadas pueden detectar algunos problemas XSS en forma automática, particularmente en tecnologías maduras como PHP, J2EE / JSP, y ASP.NET.
- • Vulnerabilidad: la aplicación o API utiliza datos sin validar la aplicación o API almacena datos proporcionados por el usuario sin validar ni sanear frameworks en JavaScript, aplicaciones de página única o APIs incluyen datos dinámicamente, controlables por un atacante
- • Vulnerabilidad: la aplicación o API utiliza datos sin validar la aplicación o API almacena datos proporcionados por el usuario sin validar ni sanear frameworks en JavaScript, aplicaciones de página única o APIs incluyen datos dinámicamente, controlables por un atacante
- • Impacto: permite ejecutar secuencias de comandos en el navegador de la víctima, para robar credenciales, secuestrar sesiones, o la instalación de software malicioso en el equipo de la víctima.
- Permiten ejecutar comandos en el navegador de la víctima y el atacante puede secuestrar una sesión, modificar (defacement) los sitios web, o redireccionar al usuario hacia un sitio malicioso.
8. Deserialización Insegura
- Estos defectos ocurren cuando una aplicación recibe objetos serializados dañinos y estos objetos pueden ser manipulados o borrados por el atacante para realizar ataques de repetición, inyecciones o elevar sus privilegios de ejecución.
- • Vector de ataque: explotación de deserialización
- • Debilidades de seguridad: herramientas pueden descubrir defectos de deserialización, pero con frecuencia se necesita ayuda humana para validarlo
- • Vulnerabilidad: Ataques relacionados con la estructura de datos y objetos; donde el atacante modifica la lógica de la aplicación o logra una ejecución remota de código ataques relacionados con el control de acceso, en los que se utilizan estructuras de datos existentes, pero se modifica su contenido
- • Como se previene: Implemente verificaciones de integridad tales como firmas digitales en cualquier objeto serializado Durante la deserialización y antes de la creación del objeto, exija el cumplimiento estricto de verificaciones de tipo de dato Aísle el código que realiza la deserialización, de modo que se ejecute en un entorno con los mínimos privilegios posibles Registre las excepciones y fallas en la deserialización
- • Impacto: Pueden llevar a la ejecución remota de código, uno de los ataques más serios posibles
- Estos defectos ocurren cuando una aplicación recibe objetos serializados dañinos y estos objetos pueden ser manipulados o borrados por el atacante para realizar ataques de repetición, inyecciones o elevar sus privilegios de ejecución.
9. Uso de Componentes con Vulnerabilidades Conocidas
- Las aplicaciones y API que utilizan componentes con vulnerabilidades conocidas pueden debilitar las defensas de las aplicaciones y permitir diversos ataques e impactos.
- • Vector de ataque: exploits para vulnerabilidades ya conocidas
- • Debilidades de seguridad: componentes de terceros, puede llevar a que los desarrolladores no entiendan qué componentes se utilizan en la aplicación o API y, mucho menos, mantenerlos actualizados
- • Vulnerabilidad: No conoce las versiones de todos los componentes que utiliza El software es vulnerable, no posee soporte o se encuentra desactualizado No se parchea o actualiza la plataforma subyacente
- • Como se previene: Remover dependencias, funcionalidades, componentes, archivos y documentación innecesaria y no utilizada Obtener componentes únicamente de orígenes oficiales Supervisar bibliotecas y componentes que no poseen mantenimiento o no liberan parches de seguridad para sus versiones obsoletas o sin soporte. Utilizar una herramienta para mantener un inventario de versiones de componentes
- • Impacto: conllevan impactos menores, algunas de las mayores brechas registradas han sido realizadas explotando vulnerabilidades conocidas en componentes comunes.
- Las aplicaciones y API que utilizan componentes con vulnerabilidades conocidas pueden debilitar las defensas de las aplicaciones y permitir diversos ataques e impactos.
10. Registro y Monitoreo Insuficientes
- falta de respuesta ante incidentes permiten a los atacantes mantener el ataque en el tiempo, pivotear a otros sistemas y manipular, extraer o destruir datos.
- • Impacto: conllevan impactos menores, algunas de las mayores brechas registradas han sido realizadas explotando vulnerabilidades conocidas en componentes comunes.
- • Debilidades de seguridad: no posee suficiente monitoreo
- • Vulnerabilidad: Eventos auditables, tales como los inicios de sesión, fallos en el inicio de sesión, y transacciones de alto valor no son registrados. Advertencias y errores generan registros poco claros, inadecuados o ninguno en absoluto. Registros en aplicaciones o APIs no son monitoreados para detectar actividades sospechosas. Los registros son almacenados únicamente de forma local La aplicación no logra detectar, escalar o alertar sobre ataques en tiempo real
- • Como se previene: Asegúrese de que todos los errores de inicio de sesión, de control de acceso y de validación de entradas de datos del lado del servidor se pueden registrar Asegúrese de que las transacciones de alto impacto tengan una pista de auditoría con controles de integridad Asegúrese que todas las transacciones de alto valor poseen una traza de auditoría con controles de integridad que permitan detectar su modificación o borrado Establezca una monitorización y alerta efectivos de tal manera que las actividades sospechosas sean detectadas
- • Impacto: puede aumentar la probabilidad de una explotación exitosa.
- falta de respuesta ante incidentes permiten a los atacantes mantener el ataque en el tiempo, pivotear a otros sistemas y manipular, extraer o destruir datos.
Información
- Descripción
- Mapa Mental sobre Riesgos en aplicaciones web, creado por Fabian Marmolejo el 25/03/2020.
- Creado por
- Fabian Marmolejo
- Visitas
- 0
- Valoración