vulnerabilidades comunes web

La duda estrella que tienen todos los gerentes respecto a las vulnerabilidades de seguridad. ¿Es probable que aparezcan en mi sitio web?¿Cuales son las vulnerabilidades más comunes que suelen compartir los sitios web?

Para responder a todas estas preguntas, nos vamos a basar en OWASP Top Ten, ya que desde mi punto de vista se asemeja de forma bastante fiel a la realidad.

¿Qué es el OWASP Top Ten?

OWASP es un proyecto abierto de seguridad de aplicaciones web con infinidad de recursos para proteger y evaluar las aplicaciones web. En 2021, OWASP publico el Top 10 de vulnerabilidades más comunes de los últimos 4 años (renovando su versión de 2017).

De acuerdo, vamos al grano, ¿Qué problemas son más habituales encontrar?

  1. Control de acceso inseguro: Esta vulnerabilidad permitiría a usuarios sin privilegios acceder a recursos que le deberían ser denegados. Algunos ejemplos de esta vulnerabilidad podrían ser:
    • Acceso a las cuentas de otros usuarios.
    • Acceso a paneles de administrador por usuarios sin privilegios.
    • Navegar por páginas que necesitan autenticación sin estarlo.
  2. Fallos criptográficos: Esta falla estaría muy reñida con la número 1 ya que encontrar fallos criptográficos suele ser bastante frecuente en las aplicaciones web. Algunos ejemplos de está vulnerabilidad podrían ser:
    • Navegación por canales inseguros.
    • Uso de criptografía débil.
    •  Ausencia de cabeceras para forzar las comunicaciones seguras.
  3. Inyecciones: Este tipo de vulnerabilidades suele abarcar la mayoría de vulnerabilidades críticas en una aplicación web debido a que permite manipular datos introducidos por el usuario y no se tratan de forma correcta. Algunos ejemplos que podemos encontrar en este tipo de vulnerabilidades son:
    • Inyecciones SQL: Esta vulnerabilidad permitiría a un atacante un volcado de la base de datos convirtiéndola en una de las vulnerabilidades más graves en los sitios web.
    • Cross Site Scripting: Esta vulnerabilidad permitirá modificar el comportamiento del sitio web permitiendo a un atacante inyectar código para lo que se proponga. Por ejemplo, hacerse con el control de una cuenta de administrador.
  4.  Diseño inseguro: Este tipo de vulnerabilidades se basa en defectos en el diseño e implementación de las aplicaciones web. Algunos ejemplos ampliamente encontrados son:
    • la generación de mensajes de error que muestran información sensible al usuario.
    • Credenciales insuficientemente protegidas.
  5.  Error de configuración de seguridad: Similar al tipo de vulnerabilidades anteriores pero con ciertos matices, los errores de configuración hacen referencia al uso incorrecto de la aplicación web encontrando problemas como los siguientes:
    • Cuentas por defecto o de prueba sin deshabilitar.
    • Funciones de seguridad sin habilitar.
    • Ausencia de encabezados o directrices de seguridad.
  6. Componentes vulnerables y obsoletos: A pesar de encontrarse en la sexta posición es muy común encontrar componentes de las aplicaciones obsoletos debido a la ausencia de mantenimiento de esta. Las vulnerabilidades de los componentes obsoletos pueden llegar a ser críticas y suponer un problema de seguridad muy relevante. Algunos de los problemas más comunes son:
    • Uso de librerías obsoletas.
    • Uso de frameworks obsoletos.
  7. Fallos en la identificación y autenticación: Estos fallos de seguridad permitirían vulnerar la seguridad de las aplicaciones web a través de los mecanismos de registro, login u otros asociados a la gestión de cuentas de usuario. Algunos de los problemas más comunes que podemos encontrar son:
    • Ausencia de mecanismos antifuerza bruta.
    • Credenciales fácilmente adivinables como admin/admin.
    • Almacenamiento inseguro de contraseñas.
  8.  Fallos en la integridad del software y los datos: Estos fallos están relacionados con la ausencia de protección del software contra manipulaciones de la integridad de los datos. Un ejemplo muy ilustrativo sería:
    • Deserialización de datos no confiables: La deserialización permite a las aplicaciones manejar objetos pero si estos no son correctamente comprobados, un atacante podría manipular el comportamiento de la aplicación y tomar el control del servidor.
  9. Registro de seguridad y fallos en la monitorización: Este fallo no supone un problema de seguridad, sin embargo, la ausencia de este impediría identificar ataques o responder a uno en el momento adecuado. Además, su detección es difícil de probar e involucaría tener entrevistas con los responsables de la aplicación.
  10.  Falsificación de solicitudes del lado del servidor: Finalmente, este fallo permitiría a un atacante forzar al servidor a realizar unas determinadas conexiones que podrían involucrar acceso a recursos privados con sus posteriores consecuencias.

Como puedes observar, hay consecuencias desastrosas para la organización. Adelántate a un incidente y haz una auditoría de seguridad a tu web.

En Alfa5 contamos con expertos altamente cualificados que podrán darte solución a los problemas de ciberseguridad de tu empresa.