A05: La configuración de seguridad incorrecta (by OWASP)

Visión general

Pasando del n.° 6 en la edición anterior, el 90 % de las aplicaciones se probaron en busca de algún tipo de configuración incorrecta, con una tasa de incidencia promedio del 4. % y más de 208 000 ocurrencias de Enumeración de debilidad común (CWE) en esta categoría de riesgo. Con más cambios hacia software altamente configurable, no sorprende ver que esta categoría sube. Los CWE notables incluidos son la configuración CWE-16 y la restricción incorrecta CWE-611 de la referencia de entidad externa XML .

Descripción

La aplicación podría ser vulnerable si la aplicación es:

  • Falta de refuerzo de seguridad adecuado en cualquier parte de la pila de aplicaciones o permisos configurados incorrectamente en los servicios en la nube.

  • Se habilitan o instalan funciones innecesarias (p. ej., puertos, servicios, páginas, cuentas o privilegios innecesarios).

  • Las cuentas predeterminadas y sus contraseñas aún están habilitadas y sin cambios.

  • El manejo de errores revela rastros de pila u otros mensajes de error demasiado informativos para los usuarios.

  • Para los sistemas actualizados, las funciones de seguridad más recientes están deshabilitadas o no configuradas de forma segura.

  • La configuración de seguridad en los servidores de aplicaciones, marcos de aplicaciones (p. ej., Struts, Spring, ASP.NET), bibliotecas, bases de datos, etc., no se establecen en valores seguros.

  • El servidor no envía encabezados o directivas de seguridad, o no están configurados en valores seguros.

  • El software está desactualizado o es vulnerable (consulte A06:2021-Componentes vulnerables y desactualizados ).

Sin un proceso de configuración de seguridad de aplicaciones concertado y repetible, los sistemas corren un mayor riesgo.

Como prevenir

Deben implementarse procesos de instalación seguros, incluidos:

  • Un proceso de endurecimiento repetible hace que sea rápido y fácil implementar otro entorno que esté debidamente bloqueado. Los entornos de desarrollo, control de calidad y producción deben configurarse de manera idéntica, con diferentes credenciales utilizadas en cada entorno. Este proceso debe automatizarse para minimizar el esfuerzo requerido para configurar un nuevo entorno seguro.

  • Una plataforma mínima sin características, componentes, documentación ni muestras innecesarias. Elimine o no instale características y marcos no utilizados.

  • Una tarea para revisar y actualizar las configuraciones correspondientes a todas las notas de seguridad, actualizaciones y parches como parte del proceso de administración de parches (consulte A06:2021: Componentes vulnerables y obsoletos ). Revise los permisos de almacenamiento en la nube (p. ej., permisos de depósito de S3).

  • Una arquitectura de aplicaciones segmentada proporciona una separación eficaz y segura entre componentes o inquilinos, con segmentación, contenedorización o grupos de seguridad en la nube (ACL).

  • Envío de directivas de seguridad a los clientes, por ejemplo, encabezados de seguridad.

  • Un proceso automatizado para verificar la eficacia de las configuraciones y ajustes en todos los entornos.

Ejemplos de escenarios de ataque

Escenario #1: El servidor de aplicaciones viene con aplicaciones de muestra que no se eliminaron del servidor de producción. Estas aplicaciones de muestra tienen fallas de seguridad conocidas que los atacantes usan para comprometer el servidor. Supongamos que una de estas aplicaciones es la consola de administración y no se cambiaron las cuentas predeterminadas. En ese caso, el atacante inicia sesión con contraseñas predeterminadas y toma el control.

Escenario n.º 2: la lista de directorios no está deshabilitada en el servidor. Un atacante descubre que simplemente puede listar directorios. El atacante encuentra y descarga las clases de Java compiladas, las descompila y aplica ingeniería inversa para ver el código. Luego, el atacante encuentra una grave falla de control de acceso en la aplicación.

Escenario n.º 3: la configuración del servidor de aplicaciones permite que se devuelvan a los usuarios mensajes de error detallados, por ejemplo, seguimientos de pila. Esto expone potencialmente información confidencial o fallas subyacentes, como versiones de componentes que se sabe que son vulnerables.

Escenario n.º 4: un proveedor de servicios en la nube (CSP) tiene permisos de uso compartido predeterminados abiertos a Internet por otros usuarios de CSP. Esto permite acceder a los datos confidenciales almacenados en el almacenamiento en la nube.

Referencias

Lista de CWE mapeados

CWE-2 7PK – Medio ambiente

Configuración incorrecta de CWE-11 ASP.NET: creación de un binario de depuración

Configuración incorrecta de CWE-13 ASP.NET: contraseña en el archivo de configuración

CWE-15 Control externo del sistema o ajuste de configuración

Configuración CWE-16

CWE-260 Contraseña en el archivo de configuración

CWE-315 Almacenamiento de texto sin cifrar de información confidencial en una cookie

CWE-520 Configuración incorrecta de .NET: uso de suplantación de identidad

CWE-526 Exposición de Información Sensible a través de Variables Ambientales

CWE-537 Mensaje de error de Java Runtime que contiene información confidencial

CWE-541 Inclusión de información confidencial en un archivo de inclusión

CWE-547 Uso de constantes codificadas de forma rígida y relevantes para la seguridad

CWE-611 Restricción incorrecta de referencia de entidad externa XML

CWE-614 Cookie sensible en sesión HTTPS sin atributo ‘seguro’

CWE-756 Falta la página de error personalizado

CWE-776 Restricción incorrecta de referencias de entidad recursiva en DTD (‘Expansión de entidad XML’)

CWE-942 Política de dominio cruzado permisiva con dominios que no son de confianza

CWE-1004 Cookie sensible sin indicador ‘HttpOnly’

CWE-1032 OWASP Top Ten 2017 Categoría A6 – Configuración incorrecta de seguridad

CWE-1174 Configuración incorrecta de ASP.NET: validación de modelo incorrecta

Más información: OWASP ORG

Relacionados

Deja un comentario