Cómo asegurar y proteger su sitio web?

Cumplimiento del OWASP Top 10 with RidgeBot 3.6

¿Qué es el Top 10 de OWASP?

Las brechas y los ataques a la seguridad se han vuelto tan frecuentes que ahora sólo los más grandes aparecen en los titulares. Pero los ataques contra organizaciones de todos los tamaños nunca han sido tan frecuentes ni tan sofisticados, por lo que es aún más importante que haga todo lo posible para proteger los activos digitales de su organización.

El Open Web Application Security Project (OWASP) es una organización sin ánimo de lucro que trabaja para concienciar, mejorar y gestionar los riesgos de seguridad de las aplicaciones web. Prácticamente todas las empresas y otras organizaciones públicas y privadas de la economía digital actual mantienen aplicaciones y servidores web para anunciar, comprar, vender, informar y servir a sus clientes o miembros de innumerables maneras. Por definición, una aplicación web está orientada al público: esto la hace especialmente vulnerable a los ataques desde cualquier lugar y en cualquier momento. Para proteger a su organización contra los ataques y las infracciones de seguridad, es imperativo gestionar de cerca las vulnerabilidades en las interacciones del software de las aplicaciones web.

La OWASP evalúa las vulnerabilidades más prevalentes y críticas de las aplicaciones web para elaborar una lista de las 10 principales que se actualiza cada 3 o 4 años. El informe más reciente se publicó en 2017. El proyecto OWASP Top 10 utiliza un amplio consenso de la industria para determinar las 10 categorías de riesgo de seguridad de aplicaciones web más críticas. Los CWE (Common Weakness Enumeration) bien conocidos por la industria se asignan a las 10 categorías principales. Los CWE, a su vez, se basan en una base de datos más amplia de CVE (Common Vulnerabilidades y Exposiciones) mantenida en la Base de Datos Nacional de Vulnerabilidades (NVD) bajo la dirección del Marco de Ciberseguridad del Instituto Nacional de Estándares y Tecnología (NIST) de los Estados Unidos.

Comprender las 10 principales categorías de OWASP

Las 10 principales vulnerabilidades OWASP de 2017 son:

A1:2017 Inyección: Los fallos de inyección, como la inyección SQL, NoSQL, OS y LDAP, ocurren cuando se envían datos no confiables a un intérprete como parte de un comando o consulta.

A2:2017 Autenticación rota: Las funciones de autenticación y gestión de sesiones implementadas de forma incorrecta permiten a los atacantes comprometer contraseñas, claves o tokens de sesión para explotar las identidades de los usuarios.

A3:2017 Exposición de datos sensibles: Muchas aplicaciones de la web y las API no protegen adecuadamente los datos sensibles, como la información financiera, sanitaria y de identificación personal (PII), lo que permite que los atacantes roben o modifiquen dichos datos para llevar a cabo fraudes, robos de identidad u otros delitos.

A4:2017 Entidades externas XML (XXE): Muchos procesadores XML antiguos o mal configurados evalúan las referencias a entidades externas dentro de los documentos XML. Las entidades externas pueden utilizarse para perpetrar otros datos, delitos y ataques.

A5:2017 Control de acceso roto: La aplicación inadecuada de las restricciones sobre lo que los usuarios autenticados tienen permitido hacer permite a los atacantes explotar el acceso a funcionalidades y/o datos no autorizados.

A6:2017 Desconfiguración de la seguridad: La desconfiguración de la seguridad es el problema más comúnmente visto, incluyendo configuraciones inseguras por defecto, configuraciones incompletas o ad hoc, almacenamiento abierto en la nube, cabeceras HTTP mal configuradas y mensajes de error verbales que contienen información sensible.

A7:2017 Cross-Site Scripting (XSS): Los fallos XSS se producen siempre que una aplicación incluye datos no fiables en una nueva página web sin la validación o el escape adecuados, o actualiza una página web existente con datos suministrados por
el usuario mediante una API del navegador que puede crear HTML o JavaScript.

A8:2017 Deserialización insegura: La deserialización insegura a menudo conduce a la ejecución remota de código, o puede ser utilizada para realizar ataques de repetición, ataques de inyección y ataques de escalada de privilegios.

A9:2017 Uso de componentes con vulnerabilidades conocidas: La explotación de un componente vulnerable -como bibliotecas, frameworks y otros módulos de software que se ejecutan con los mismos privilegios que la aplicación- puede conducir a una grave pérdida de datos o a la toma del servidor.

A.10:2017 Registro y supervisión insuficientes: Un registro y una monitorización insuficientes, junto con una integración inexistente o ineficaz con la respuesta a incidentes, permite a los atacantes seguir atacando los sistemas, mantener la persistencia, pivotar a más sistemas y manipular, extraer o destruir datos.

El CWE de Ridge Security en el mapa del Top 10 de OWASP

Las categorías del OWASP Top 10 proporcionan un resumen fácil y claro de los diez riesgos más críticos para la seguridad de las aplicaciones web. Para proteger las aplicaciones y servidores web de su organización, debe entender qué vulnerabilidades específicas (CWE) están incluidas en cada una de las 10 categorías principales de OWASP.
Aunque existe un amplio acuerdo en la industria sobre la asignación de CWEs a las categorías OWASP, hay diferencias en las implementaciones específicas de los productos de los diferentes proveedores de mitigación de seguridad. Estos detalles
son importantes para la amplitud de la cobertura y la protección que se obtiene al utilizar el producto de un proveedor específico para realizar pentest a sus aplicaciones web.
RidgeBot cubre una lista exhaustiva de CWEs en cada una de las 10 categorías principales de OWASP, lo que le proporciona la máxima confianza de que las capacidades de pentest y explotación de RidgeBot dan como resultado una protección completa de la aplicación web y los servidores de su organización.

 

A1:2017 Inyección

  • CWE 74—Neutralización adecuada de elementos especiales en la salida utilizada por un componente descendente (“Inyección”)
  • CWE 93—Neutralización inadecuada de – Secuencias CRLF (‘Inyección CRLF’)

 

  • CWE 77—Neutralización inadecuada de los elementos especiales utilizados en un comando (‘Command Injection’)
  • CWE 94—Control inadecuado de la generación de código (“inyección de código”)

 

  • CWE 78—Neutralización inadecuada de los elementos especiales utilizados en unOS (“Inyección de comandos del sistema operativo”)
  • CWE 98—Control inadecuado del nombre de archivo para la declaración Include/Require en el programa PHP (‘PHP Remote File Inclusion’)
  • CWE 88—Neutralización incorrecta de los delimitadores de los argumentos en un comando (‘Argument Injection’)
  • CWE 290—Anulación de la autenticación mediante Suplantación de identidad
  • CWE 89—Neutralización inadecuada de los elementos especiales utilizados en un comando SQL (‘SQL Injection’)
  • CWE 434—Carga sin restricciones de archivos de tipo peligroso
  • CWE 564—SQL Inyección: Hibernate
  • CWE 90—Neutralización inadecuada de los elementos especiales utilizados en una consulta LDAP (‘LDAP Injection’)
  • CWE 917—Neutralización inadecuada de elementos especiales utilizados en una declaración de lenguaje de expresión (“inyección de lenguaje de expresión”)
  • CWE 91—Inyección XML (también conocido como Blind XPath Inyección)
  • CWE 943—Neutralización inadecuada de Elementos especiales en la lógica de consulta de datos

 

A2:2017 Autentificación rota

  • CWE 203—Discrepancia observable
  • CWE 428—Ruta de búsqueda o elemento no citado
  • CWE 256—Almacenamiento en texto plano de una contraseña
  • CWE 444—Interpretación incoherente
    de las solicitudes HTTP (“contrabando de
    solicitudes HTTP”)
  • CWE 287—Autentificación incorrecta
  • CWE 521—Requisitos de las contraseñas
  • CWE 294—Anulación de la autenticación
    mediante captura-repetición
  • CWE 522—Insuficiente protección
    Credenciales
  • CWE 306—Falta de autentificación para
    la función crítica
  • CWE 523—Transporte de credenciales
    sin protección
  • CWE 307—Restricción inadecuada de
    los intentos de autenticación excesivos
  • CWE 552—Archivos o directorios
    accesibles a terceros
  • CWE 308—Uso de la autenticación de
    factor único
  • CWE 613—Expiración de la sesión
    insuficiente
  • CWE 384—Fijación de sesiones
  • CWE 620—Cambio de contraseña no
    verificado
  • CWE 400—Consumo incontrolado de
    recursos
  • CWE 640—Mecanismo de recuperación
    de contraseñas débiles para el olvido de
    contraseñas
  • CWE 425—Petición directa (“navegación
    forzada”)
  • CWE 798—Uso de códigos duros
    Credenciales
  • CWE 426—Ruta de búsqueda no fiable
  • CWE 862—Falta de autorización
  • CWE 427—Elemento de la ruta de
    búsqueda no controlada
  • CWE 863—Autorización incorrecta

 

 

A3:2017 Sensitive Data Exposure

  • CWE 199—Errores en la gestión de la
    informació
  • CWE 325—Falta un paso criptográfico
  • CWE 220—Almacenamiento de archivos
    con datos sensibles en la raíz FTP
  • CWE 326—Fuerza de cifrado inadecuada
  • CWE 295—Validación incorrecta del
    certificado
  • CWE 327—Uso de un algoritmo
    criptográfico roto o arriesgado
  • CWE 310—Cuestiones criptográficas
  • CWE 328—Hash reversible de una vía
  • CWE 311—Falta de encriptación de
    datos sensibles
  • CWE 359—Exposición de información
    personal privada a un actor no autorizado
  • CWE 312—Almacenamiento de
    información sensible en texto claro
  • CWE 538—Inserción de información
    sensible en un archivo o directorio de
    acceso externo
  • CWE 319—Transmisión en texto claro de
    información sensible
  • CWE 541—Inclusión de información
    sensible en un archivo de inclusión
  • CWE 320—Errores de gestión de claves
    – (320)
  • CWE 668—Exposición del recurso a la
    zona equivocada

 

A4:2017 Entidades externas XML (XXE)

  • CWE 611—Entidades externas XML
    (XXE)
  • CWE 776—Restricción inadecuada de
    las referencias a entidades recursivas en
    los DTD (“Expansión de entidades XML”)

 

A5:2017 Control de acceso roto

  • CWE 22—Limitación inadecuada de un
    nombre de ruta a un directorio restringido
    (‘Path Traversal’)
  • CWE 284—Control de acceso
    inapropiado
  • CWE 118—Acceso incorrecto a un
    recurso indexable (‘Error de rango’)
  • CWE 285—Autorización incorrecta
  • CWE 200—Exposición de información
    sensible a un agente no autorizado
  • CWE 346—Error de validación de origen
  • CWE 254—7PK – Características de
    seguridad
  • CWE 352—Falsificación de solicitud de
    sitio cruzado (CSRF)
  • CWE 264—Permisos, privilegios y
    controles de acceso
  • CWE 425—Petición directa (“navegación
    forzada”)
  • CWE 269—Gestión inadecuada de
    privilegios
  • CWE 497—Exposición de información
    sensible del sistema a una esfera de
    control no autorizada
  • CWE 273—Comprobación incorrecta de
    los privilegios perdidos
  • CWE 639—Evasión de la autorización
    a través de una clave controlada por el
    usuario
  • CWE 275—Cuestiones de permisos
  • CWE 732—Asignación incorrecta de
    permisos para un recurso crítico
  • CWE 276—Permisos por defecto
    erróneos
  • CWE 915—Modificación inadecuada
    de atributos de objetos determinados
    dinámicamente

 

A6:2017 Desconfiguración de seguridad

  • CWE 16—Configuración
  • CWE 345—Verificación insuficiente de los
    datos Autenticidad
  • CWE 23—Recorrido relativo de la ruta
  • CWE 347—Verificación inadecuada de
    firma criptográfica
  • CWE 30—Ruta de acceso: ‘\dir\..\ Nnombre de archivo’
  • CWE 358—Comprobación de seguridad
    de la norma aplicada incorrectamente
  • CWE 209—Generación de un mensaje de error con información sensible
  • CWE 399—Errores en la gestión de
    recursos
  • CWE 297—Validación incorrecta de Certificado con falta de coincidencia de host
  • CWE 407—Ineficiencia Algorítmica
    Complejidad
  • CWE 298—Validación inadecuada de Caducidad del certificado
  • CWE 601—Redirección de URL a un
    sitio no fiable sitio no fiable (“Redirección abierta”)
  • CWE 331—Insuficiente Entropía
  • CWE 693—Fallo del mecanismo de protección
  • CWE 332—Entropía insuficiente en el PRNG
  • CWE 829—Inclusión de la funcionalidad de la esfera de control no fiable
  • CWE 338—Uso de un generador de números pseudoaleatorios (PRNG) débil desde el punto de vista criptográfico
  • CWE 918—Falsificación de solicitudes del lado del servidor (SSRF)

 

A7:2017 Secuencia de comandos en sitios cruzados (XSS)

  • CWE 79—Neutralización inadecuada de entradas durante la generación de páginas web (‘Cross-site Scripting”)

 

A8:2017 Insecure Deserialization

  • CWE 113—Neutralización inadecuada de
    las secuencias CRLF en las cabeceras
    HTTP (‘HTTP Response Splitting’)
  • CWE 134—Uso de la cadena de formato
    controlada externamente
  • CWE 116—Codificación incorrecta o
    escape de la salida
  • CWE 502—Deserialización de datos no
    fiables

 

A9:2017 Uso de componentes con vulnerabilidades conocidas

  • CWE 17—Código
  • CWE 193—Error por defecto
  • CWE 18—Código fuente
  • CWE 252—Valor de retorno no verificado
  • CWE 19—Errores de procesamiento de datos
  • CWE 330—Uso de valores insuficientemente aleatorios valores aleatorios
  • CWE 20—Validación de entrada inadecuada
  • CWE 361—7PK – Tiempo y Estado
  • CWE 59—Resolución inadecuada de enlaces antes del acceso al archivo (“Link Following”)
  • CWE 362—Ejecución concurrente utilizando un recurso compartido con una sincronización inadecuada (‘Race Condition’)
  • CWE 119—Restricción adecuada de las operaciones dentro de los límites de un búfer de memoria
  • CWE 367—Tiempo de comprobación Tiempo de uso (TOCTOU) Condición de carrera
  • CWE 120—Copia de Buffer sin Comprobar Tamaño de la entrada (‘Desbordamiento clásico del búfer’)
  • CWE 369—Dividir entre cero
  • CWE 121—Desbordamiento del búfer basado en la pila
  • CWE 415—Doblemente gratuito
  • CWE 122—Desbordamiento del búfer basado en la pila
  • CWE 416—Uso después de la gratuidad
  • CWE 125—Lectura fuera de límites
  • CWE 476—Derivación de puntero nulo
  • CWE 129—Validación inadecuada del índice de la matriz
  • CWE 617—Afirmación alcanzable
  • CWE 185—Expresiones regulares incorrectas
  • CWE 787—Escritura fuera de los límites
  • CWE 189—Errores numéricos
  • CWE 824—Acceso al puntero no inicializado
  • CWE 190—Desbordamiento de números enteros o Wraparound
  • CWE 843—Acceso a un recurso con un tipo incompatible (“confusión de tipos”)
  • CWE 191—Desbordamiento de enteros (Wrap o Wraparound)

 

A.10:2017 Registro y supervisión insuficientes

  • CWE 223—Omisión de información
    relevante para la seguridad
  • CWE 681—Conversión incorrecta entre tipos numéricos
  • CWE 255—Errores en la gestión de
    credenciales
  • CWE 682—Cálculo incorrecto
  • CWE 388—7PK – Errores
  • CWE 697—Comparación correcta
  • CWE 404—Desconexión o liberación
    indebida de recursos
  • CWE 704—Conversión de tipo o fundición
    correcta
  • CWE 417—Errores en los canales de
    comunicación
  • CWE 754—Comprobación adecuada de
    condiciones inusuales o excepcionales
  • CWE 459—Limpieza incompleta
  • CWE 755—Manejo adecuado de Condiciones excepcionales
  • CWE 507—Caballo de Troya
  • CWE 769—Consumo incontrolado de descriptores de archivos
  • CWE 532—Inserción de información sensible Información sensible en el archivo de registro
  • CWE 770—Asignación de recursos Sin
    límites ni estrangulamiento
  • CWE 534—Exposición de información a través de Archivos de registro de depuración
  • CWE 772—Liberación de recursos sin límites después del tiempo de vida
  • CWE 665—Inicialización inadecuada
  • CWE 778—Insuficiente registro
  • CWE 669—Transferencia incorrecta de
    recursos entre esferas
  • CWE 834—Iteración excesiva
  • CWE 674—Recursión incontrolada
  • CWE 835—Bucle con condición de salida
    inalcanzable (“bucle infinito”)

 

¿Cómo ayuda un informe OWASP Top 10 de RidgeBot a las auditorías de seguridad?

Debido a que los mapeos de CWE a OWASP TOP 10 varían entre las implementaciones de los proveedores, la declaración de que su organización es “compatible con OWASP Top 10” sigue siendo ambigua. Durante una auditoría, es posible que tenga que proporcionar pruebas detalladas de la protección para cada una de las CWE específicas que usted, o el auditor, creen que le hacen compatible con OWASP.

 

 

El completo informe OWASP incorporado en RidgeBot agiliza la presentación de pruebas a la dirección o a los auditores de que todas sus aplicaciones web son conformes con OWASP Top 10

La cabecera del informe OWASP Top 10 de RidgeBot ofrece un resumen ejecutivo de todas las vulnerabilidades encontradas -clasificadas en niveles de gravedad apropiados-, así como las que fueron explotadas con éxito (flecha roja). Más abajo
(flecha verde), el informe proporciona información detallada sobre el cumplimiento de cada una de las categorías del OWASP Top 10 y de los CWE exactos probados en cada categoría.

Para cada uno de los servidores que sometió a las pruebas de penetración y explotación web de RidegBot, el cuerpo del informe indica el estado de cumplimiento de cada una de las 10 categorías principales de OWASP. Esta información le proporciona una hoja de ruta instantánea para parchear, actualizar o reemplazar sus aplicaciones para que sean conformes. También le proporciona una evidencia lista para presentar a un auditor que sus aplicaciones y servidores son compatibles

Las ventajas de utilizar RidgeBot para mantener la protección contra el OWASP Top

La comunidad OWASP proporciona información y herramientas útiles para abordar los riesgos de seguridad de las aplicaciones web. Si bien la lista de los 10 principales es un punto de referencia extremadamente útil y amplio para la industria, no facilita
la carga de implementar una estrategia para saber cómo se miden sus aplicaciones web, o cómo corregir las vulnerabilidades persistentes. La lista de los 10 principales tampoco proporciona información específica sobre los CWE exactos contra los que
están protegidas sus aplicaciones.
Las pruebas de penetración y explotación de RidgeBot se centran en un conjunto completo y superior de vulnerabilidades CWE en cada una de las 10 principales categorías. El informe incorporado proporciona detalles exactos de cada categoría de los 10 principales y de los CWE probados y/o explotados. Con una pruebaexplotación periódica -la frecuencia que usted elija- de RidgeBot contra sus servidores y aplicaciones web, siempre podrá estar seguro de que los activos digitales de su organización están lo más protegidos posible de los ataques basados en la web. Puede proporcionar información y pruebas bajo demanda a la dirección o a los auditores sobre el estado de cumplimiento de las actividades basadas en la web de su organización. El informe también incluye pasos detallados para resolver cualquier vulnerabilidad encontrada -y la prioridad relativa de cada una- que pueden guiar al personal sobre las acciones específicas a tomar para llegar o mantener el 100% de cumplimiento.