¡GoConqr estrena diseño! Cuéntanos qué te parece.

Mapa mental

Los 10 riesgos más críticos en Aplicaciones Web

Adan Medina Español

Contenido del mapa

Los 10 riesgos más críticos en Aplicaciones Web

  1. Pérdida de Autenticación

    • Las funciones de la aplicación relacionadas a autenticación y gestión de sesiones son implementadas incorrectamente
      • Los atacantes tienen acceso a millones de combinaciones de pares de usuario y contraseña conocidas (debido a fugas de información), además de cuentas administrativas por defecto.
        •  Pueden realizar ataques mediante herramientas de fuerza bruta o diccionarios para romper los hashes de las contraseñas.
        • Los atacantes pueden detectar la autenticación defectuosa utilizando medios manuales y explotarlos utilizando herramientas automatizadas con listas de contraseñas y ataques de diccionario.
          • Los errores de pérdida de autenticación son comunes debido al diseño y la implementación de la mayoría de los controles de acceso. La gestión de sesiones es la piedra angular de los controles de autenticación y está presente en las aplicaciones.
          • Los atacantes solo tienen que obtener el acceso a unas pocas cuentas o a una cuenta de administrador para comprometer el sistema.
            •  Dependiendo del dominio de la aplicación, esto puedo permitir robo de identidad, lavado de dinero y la divulgación de información sensible protegida legalmente.
            • Permite ataques automatizados como la reutilización de credenciales conocidas
              • Permite ataques de fuerza bruta y/o ataques automatizados.
                • Permite contraseñas por defecto, débiles o muy conocidas, como “Password1”, “Contraseña1” o “admin/admin”
                  • Posee procesos débiles o inefectivos en el proceso de recuperación de credenciales
                    • Ejm “respuestas basadas en el conocimiento”, las cuales no se pueden implementar de forma segura.
                    • Almacena las contraseñas en texto claro o cifradas con métodos de hashing débiles
                      • (vea A3:2017-Exposición de Datos Sensibles).
                      • No posee autenticación multi-factor o fue implementada de forma ineficaz.
                        • Expone Session IDs en las URL
                          • Implemente autenticación multi-factor para evitar ataques automatizados, de fuerza bruta o reúso de credenciales robadas.
                            • No utilice credenciales por defecto en su software, particularmente en el caso de administradores
                              • Implemente controles contra contraseñas débiles.
                                •  Cuando el usuario ingrese una nueva clave, la misma puede verificarse contra la lista del Top 10.000 de peores contraseñas.
                                • Alinear la política de longitud, complejidad y rotación de contraseñas
                                  • Con las recomendaciones de la Sección 5.1.1 para Secretos Memorizados de la Guía NIST 800-63 B's u otras políticas de contraseñas modernas, basadas en evidencias
                                  • Mediante la utilización de los mensajes genéricos iguales en todas las salidas
                                    • Asegúrese que el registro, la recuperación de credenciales y el uso de APIs, no permiten ataques de enumeración de usuarios.
                                    • Limite o incremente el tiempo de respuesta de cada intento fallido de inicio de sesión.
                                      • Registre todos los fallos y avise a los administradores cuando se detecten ataques de fuerza bruta.
                                      • Utilice un gestor de sesión en el servidor, integrado, seguro y que genere un nuevo ID de sesión aleatorio con alta entropía después del inicio de sesión.
                                        •  El Session-ID no debe incluirse en la URL, debe almacenarse de forma segura y ser invalidado después del cierre de sesión o de un tiempo de inactividad determinado por la criticidad del negocio.
    • Vulnerabilidad
      • La confirmación de la identidad y la gestión de sesiones del usuario son fundamentales para protegerse contra ataques relacionados con la autenticación.
    • Debilidades de seguridad
    • Impacto
    • Como se previene
      • No la invalida correctamente o no la rota satisfactoriamente luego del cierre de sesión o de un periodo de tiempo determinado. 
    • Vector de ataque
  2. Inyección

    • Las fallas de inyección, como SQL, NoSQL, OS o LDAP
      • Vector de ataque
        • Variables de entorno, parámetros, servicios web externos e internos, y todo tipo de usuarios
          • Los defectos de inyección ocurren cuando un atacante puede enviar información dañina a un intérprete
      • Debilidades de seguridad
        • Los defectos de inyección ocurren cuando un atacante puede enviar información dañina a un intérprete
          • Los errores de inyección son fáciles de descubrir al examinar el código y los escáneres y fuzzers ayudan a encontrarlos.
      • Impacto
        • Divulgación, pérdida o corrupción de información, pérdida de auditabilidad, o denegación de acceso.
          • El impacto al negocio depende de las necesidades de la aplicación y de los datos
      • Vulnerabilidad
        • Las organizaciones pueden incluir herramientas de análisis estático (SAST) y pruebas dinámicas (DAST) para identificar errores de inyecciones recientemente introducidas y antes del despliegue de la aplicación en producción
        • Los datos suministrados por el usuario no son revisados
        • Se invocan consultas dinámicas o no parametrizadas
        • Se utilizan datos dañinos dentro de los parámetros de búsqueda en consultas (ORM)
        • Los datos dañinos se usan directamente o se concatenan
      • Como se previene
        • Utilizar una API segura
          • Incluso cuando se parametrizan, los procedimientos almacenados pueden introducir una inyección SQL si el procedimiento PL/SQL o T-SQL concatena consultas y datos, o se ejecutan parámetros utilizando EXECUTE IMMEDIATE o exec().
        • Validaciones de entradas de datos en el servidor, utilizando "listas blancas".
        • Para una consulta dinámica residual, utilice la sintaxis de caracteres
          •  La estructura de SQL como nombres de tabla, nombres de columna, etc. no se pueden escapar y, por lo tanto, los nombres de estructura suministrados por el usuario son peligrosos. Este es un problema común en el software de redacción de informes.
        • Utilice LIMIT y otros controles SQL
  3. Exposición de Datos Sensibles

    • Como se previene
    • Vulnerabilidad
    • Impacto
    • Vector de ataque
    • Debilidades de seguridad
  4. Entidades Externas XML (XXE)

  5. Deserialización Insegura

  6. Uso de Componentes con Vulnerabilidades Conocidas

  7. Cross-Site Scripting (XSS)

  8. Registro y Monitoreo Insuficientes

  9. - Pérdida de Control de Acceso

  10. - Pérdida de Control de Acceso

Información

Descripción
Mapa Mental sobre Los 10 riesgos más críticos en Aplicaciones Web, creado por Adan Medina el 17/09/2019.
Creado por
Adan Medina
Visitas
15
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?