¿Qué es OWASP? Introducción a las 10 vulnerabilidades y riesgos principales de OWASP

OWASP es una fundación sin ánimo de lucro que trabaja para mejorar la seguridad del software.

OWASP (Open Worldwide Application Security Project) es una comunidad abierta dedicada a facilitar a las organizaciones el diseño, desarrollo, adquisición, operación y mantenimiento de software para aplicaciones seguras en las que se pueda confiar. Sus programas incluyen proyectos de software de código abierto dirigidos por la comunidad y conferencias locales e internacionales, con cientos de delegaciones en todo el mundo y decenas de miles de miembros.

¿Por qué es importante OWASP?

OWASP desempeña un papel crucial en la concienciación sobre los riesgos de seguridad de las aplicaciones web y proporciona recursos, herramientas, documentación y prácticas recomendadas de gran valor para abordar los crecientes desafíos de la seguridad de las aplicaciones web. OWASP ayuda a los desarrolladores, profesionales de la seguridad y organizaciones a comprender las amenazas potenciales y a adoptar prácticas de seguridad recomendadas.

OWASP mantiene una lista de los diez riesgos de seguridad más graves de las aplicaciones web, junto con procesos, procedimientos y controles efectivos para mitigarlos. OWASP también proporciona una lista de los 10 principales riesgos de seguridad de las API para informar a aquellos que participan en el desarrollo y mantenimiento de las API, y concienciar cada vez más sobre las debilidades comunes de seguridad de las API.

La comunidad OWASP anima a las personas y organizaciones a contribuir a sus proyectos y recursos. Este enfoque colaborativo y basado en encuestas permite a la comunidad aprovechar el conocimiento colectivo y la experiencia de sus miembros, lo que se traduce en recursos integrales y actualizados.

Existen riesgos de seguridad comunes tanto a las aplicaciones como a las API que deben tenerse en cuenta al implementar soluciones de seguridad. Por ejemplo: 

  • Controles de autorización o autenticación débiles
  • Configuración errónea
  • Abuso de la lógica de negocio (credential stuffing, apropiación de cuentas)
  • Server-Side Request Forgery (SSRF).

 

Top 10 de OWASP de riesgos de seguridad de las aplicaciones

OWASP Top 10 es una lista ampliamente reconocida con los riesgos de seguridad más graves de las aplicaciones web. La lista sirve como guía para los desarrolladores, los profesionales de la seguridad y las organizaciones a medida que priorizan sus esfuerzos para identificar y mitigar los riesgos de seguridad críticos de las aplicaciones web.

La aparición de un riesgo en la lista OWASP Top 10 no indica necesariamente su prevalencia o gravedad en todas las aplicaciones web; además, el Top 10 no se clasifica en un orden específico o por prioridad.

Los riesgos de seguridad de las aplicaciones web en OWASP Top 10 para 2021 son:

  1. Pérdida de control de acceso. Esta vulnerabilidad se produce cuando la aplicación insuficiente de la autorización y los controles de acceso permite que los atacantes puedan acceder a funciones o datos no autorizados. Esto puede deberse a referencias directas inseguras a objetos (IDOR), que pueden surgir cuando una aplicación no puede validar o autorizar la entrada del usuario que se utiliza como referencia directa a un objeto interno. También puede producirse debido a la falta de controles de acceso a nivel de función, cuando la aplicación solo valida los controles de acceso en la fase inicial de autenticación o autorización, pero no aplica esos controles de manera consistente en todas las funciones u operaciones de la aplicación. Un cortafuegos de aplicaciones web (WAF) puede ayudar a protegerse contra estos ataques mediante la supervisión y la aplicación de controles de acceso para impedir el acceso no autorizado a objetos o recursos confidenciales.

  2. Fallas criptográficas. Este riesgo se produce debido a la protección inadecuada de los datos confidenciales durante el tránsito y en reposo. Las fallas criptográficas pueden dar lugar a infracciones de datos, acceso no autorizado a información confidencial y el incumplimiento de las normas de privacidad de datos, como el Reglamento General de Protección de Datos de la UE (RGPD) y estándares financieros como las Normas de Seguridad de Datos PCI (PCI DSS). Estos fallos pueden deberse a un almacenamiento criptográfico no seguro, al almacenamiento de datos en texto sin formato o a una gestión de claves no segura. El riesgo también puede derivar de la fuga de información, que puede provenir de la generación de números aleatorios o claves débiles, o de fallos en los protocolos criptográficos.
  3. Ataques de inyección. Los fallos de inyección se producen cuando los atacantes insertan datos no fiables u hostiles en los lenguajes de consulta o comandos, o cuando la aplicación no valida, filtra o sanea los datos proporcionados por el usuario, lo que lleva a la ejecución accidental de comandos maliciosos. Esta categoría de riesgo abarca los ataques de inyección de NoSQL, comandos del sistema operativo, LDAP y SQL, además de los de cross-site scripting (XSS), en los que los atacantes inyectan scripts maliciosos del lado del cliente, como JavaScript, en páginas web que ven otros usuarios. Esto puede resultar en el robo de información confidencial, como credenciales de inicio de sesión, datos personales o cookies de sesión. Un WAF puede ayudar a detectar y bloquear los intentos de inyectar código malicioso al inspeccionar y filtrar las solicitudes entrantes, incluido el XSS reflejado (no persistente), almacenado (persistente) y basado en el módulo de objeto de documento (DOM), lo que les impide acceder a la aplicación.
  4. Diseño inseguro. Esta es una categoría muy amplia que representa distintas debilidades expresadas como fallos de la arquitectura, o bien falta o ineficacia de los controles de seguridad. Estos fallos pueden ocurrir si una aplicación se ha diseñado para depender de procesos poco seguros de por sí, o cuando no se implementan los controles de seguridad necesarios para defenderse frente a ataques específicos. Estos riesgos pueden reducirse mediante un mayor uso del modelado de amenazas, patrones de diseño seguros y arquitecturas de referencia.
  5. Configuración de seguridad incorrecta. La falta de refuerzo de la seguridad en los marcos de aplicaciones web, las plataformas, los servidores o los controles de seguridad puede dar lugar al acceso no autorizado, la exposición de información confidencial u otras vulnerabilidades de seguridad. Los riesgos debidos a configuraciones de seguridad erróneas también pueden deberse a permisos configurados incorrectamente en los servicios en la nube, o a la instalación o habilitación de funciones innecesarias, como puertos, servicios, cuentas o privilegios no utilizados. La configuración errónea tanto de las aplicaciones web como de las API es un riesgo importante, ya que los principales proveedores de nube tienen distintas posiciones de seguridad de forma predeterminada y la arquitectura está cada vez más descentralizada y distribuida en una estructura multinube.
  6. Componentes vulnerables y desactualizados. El uso de componentes obsoletos, sin parches o vulnerables (como bibliotecas, marcos o complementos) puede exponer las aplicaciones a fallos de seguridad conocidos, lo que aumenta el riesgo de explotaciones. Estos riesgos pueden estar causados por software no compatible o no actualizado, como el del sistema operativo (SO), el servidor web o de aplicaciones, el sistema de gestión de bases de datos (DBMS), las aplicaciones, las API y todos los componentes, entornos de ejecución y bibliotecas. Estas amenazas son especialmente peligrosas cuando las organizaciones no cuentan con medidas oportunas basadas en los riesgos para corregir o actualizar la plataforma, los marcos y las dependencias subyacentes de un sistema, lo que deja a este expuesto de forma innecesaria a riesgos conocidos durante días o semanas. Las cadenas de suministro de software complejas y la automatización a través de canalizaciones CI/CD aumentan el riesgo de introducir software vulnerable en la pila de TI. Un WAF puede servir como solución provisional crítica para protegerse frente a la explotación de vulnerabilidades.
  7. Fallas de identificación y autenticación. Las debilidades en la autenticación, identidad y gestión de sesiones pueden permitir que los atacantes pongan en riesgo las cuentas de usuario, contraseñas o tokens de sesión, o que se aprovechen de un manejo de la sesión con escasa seguridad. Los fallos en estas áreas pueden permitir ataques automatizados como el relleno de credenciales o credential stuffing. Las vulnerabilidades relacionadas con contraseñas son la fuente más común de estos riesgos, ya que muchas personas reutilizan las contraseñas o usan contraseñas predeterminadas, débiles o conocidas. Los problemas de gestión de sesiones también pueden provocar ataques relacionados con la autenticación, sobre todo si las sesiones de usuario o los tokens de autenticación no se invalidan correctamente durante el cierre de sesión o un período de inactividad. Los ataques que eluden los controles de autenticación son un riesgo cada vez mayor tanto para las aplicaciones web como para las API, como se detalla en los proyectos OWASP Top 10, API Security Top 10 y Automated Threats.
  8. Fallas en el software y en la integridad de los datos. Estas vulnerabilidades se producen debido a que la infraestructura y el código de las aplicaciones no pueden proteger frente a las infracciones de integridad de los datos y el software. Esto puede ocurrir cuando una aplicación se basa en complementos, bibliotecas o módulos de fuentes, repositorios y CDN que no son de confianza. También puede ocurrir durante las actualizaciones de software, modificaciones de datos confidenciales y cambios en las canalizaciones CI/CD que no se validan. Es posible que los atacantes puedan cargar sus propias actualizaciones para distribuirlas y ejecutarlas en todas las instalaciones. La deserialización poco segura (en la que una aplicación toma datos serializados no fiables y los consume sin asegurarse de que sean válidos) también forma parte de esta categoría de riesgo, lo que permite ataques como la ejecución remota de código (RCE) y la escalada de privilegios.
  9. Fallas en el registro y monitoreo de la seguridad. Un acceso y supervisión inadecuados pueden obstaculizar la detección y la respuesta a tiempo a los incidentes de seguridad, lo que dificulta la identificación y la mitigación de ataques o actividades no autorizadas. Esto puede significar que los eventos auditables, como inicios de sesión, inicios de sesión fallidos y transacciones de alto valor, no se identifican ni se registran y, además, las aplicaciones no detectan ataques activos en tiempo real.
  10. Server-side request forgery (SSRF). Estas vulnerabilidades se producen cuando una aplicación no valida ni sanea una dirección URL introducida por un usuario antes de extraer datos de un recurso remoto. Los atacantes pueden usar estos fallos para forzar a las aplicaciones a que accedan a destinos web maliciosos, incluso aunque estén protegidas por un cortafuegos u otro tipo de defensa. Estos ataques también pueden producirse si el recurso objetivo tiene relaciones de confianza con otros sistemas, como un servicio de metadatos en la nube o las API de back-end, lo que permite a un atacante realizar solicitudes a esos servicios de confianza y extraer información confidencial o realizar acciones no autorizadas. Para ayudar a mitigar el riesgo de SSRF, diseñe sistemas para el acceso con privilegios mínimos y use un WAF para definir explícitamente los parámetros del identificador uniforme de recursos (URI) en su política de seguridad y permitir o denegar el acceso a los hosts que pueden acceder a ellos.

OWASP Top 10 de 2021 refleja algunas categorías nuevas y cambios de nombres con respecto al anterior Top 10 de OWASP de 2017. Estos cambios incluyen la integración de la amenaza de riesgo de 2017 Entidades externas XML (XXE) en la categoría Configuración de seguridad incorrecta de 2021 y la adición de Cross-Site Scripting (XSS) de 2017 a la categoría de inyección de 2021. El riesgo de 2017 de Deserialización insegura ahora forma parte de la categoría Fallas en el software y en la integridad de los datos de 2021.    

Otras publicaciones de OWASP

En la actualidad, OWASP patrocina 293 proyectos, incluidos los siguientes 16 proyectos emblemáticos de OWASP que aportan un valor estratégico a OWASP y a la seguridad de las aplicaciones en su conjunto.

  1. OWASP Amass Project, que ha desarrollado una herramienta para ayudar a los profesionales de seguridad de la información a realizar un mapeo de red de las superficies expuestas a ataques y llevar a cabo la detección de recursos externos mediante técnicas de reconocimiento activo y recopilación de información de código abierto. 
  2. OWASP Application Security Verification Standard Project (ASVS), que proporciona una base para probar los controles de seguridad técnicos de las aplicaciones web y también proporciona a los desarrolladores una lista de requisitos para un desarrollo seguro.
  3. OWASP Cheat Sheet Series, que se creó para ofrecer un conjunto de guías de buenas prácticas fáciles de seguir para los desarrolladores y defensores de aplicaciones. En lugar de centrarse en prácticas recomendadas detalladas que no son útiles para muchos desarrolladores y aplicaciones, su intención es ofrecer unas prácticas óptimas que la mayoría de los desarrolladores puedan implementar realmente.
  4. OWASP CycloneDX, que es un estándar de lista de materiales (BOM) de pila completa que proporciona capacidades avanzadas de la cadena de suministro para la reducción de los riesgos cibernéticos.
  5. OWASP Defectdojo, que es una herramienta de gestión de vulnerabilidades de código abierto que agiliza el proceso de prueba al ofrecer plantillas, generación de informes, métricas y herramientas de autoservicio de referencia.
  6. OWASP Dependency-Check, que es una herramienta de análisis de composición de software (SCA) que intenta detectar vulnerabilidades divulgadas públicamente incluidas en las dependencias de un proyecto. Para ello, determina si existe un identificador de enumeración de plataforma común (CPE) para una dependencia determinada. Si se encuentra, generará un informe que se vincula a las entradas de vulnerabilidades y exposiciones comunes (CVE) asociadas.
  7. OWASP Dependency-Track, que es una plataforma inteligente de análisis de componentes que permite a las organizaciones identificar y reducir los riesgos en la cadena de suministro de software.
  8. OWASP Juice Shop, que es quizás la aplicación web no segura más moderna y sofisticada que se utiliza en formación sobre seguridad, demostraciones de conocimientos, concursos de captura de la bandera y como conejillo de indias para herramientas de seguridad. Juice Shop abarca las vulnerabilidades de todo el Top Ten de OWASP, junto con muchas otras fallas de seguridad que se encuentran en las aplicaciones del mundo real.
  9. OWASP Mobile Application Security, que es el proyecto insignia de OWASP para proporcionar un estándar de seguridad para las aplicaciones móviles. También incluye una guía de pruebas completa que cubre los procesos, las técnicas y las herramientas que se utilizan durante las pruebas de seguridad de las aplicaciones móviles, así como un conjunto exhaustivo de casos de prueba que permite a los probadores ofrecer resultados consistentes y completos.
  10. OWASP ModSecurity Core Rule Set (CRS), que es un conjunto de reglas genéricas de detección de ataques para su uso con ModSecurity o cortafuegos de aplicaciones web compatibles. El CRS tiene como objetivo proteger las aplicaciones web frente a una amplia gama de ataques, también los incluidos en OWASP Top Ten, con un mínimo de alertas falsas. 
  11. OWASP Project OWTF (Offensive Web Testing Framework), que es un marco de pruebas de penetración de aplicaciones web de código abierto diseñado para evaluar y probar la seguridad de las aplicaciones web. El objetivo principal de OWTF es ayudar a los profesionales de la seguridad y a aquellos que realizan pruebas de penetración a automatizar el proceso de evaluación y prueba de vulnerabilidades en las aplicaciones web, al tiempo que les permite identificar y abordar las debilidades de seguridad de manera más efectiva.
  12. OWASP SAMM (Software Assurance Maturity Model), que proporciona una forma efectiva y cuantificable de analizar y mejorar un modelado del ciclo de vida de desarrollo seguro. SAMM respalda el ciclo de vida completo del software y es independiente de la tecnología y de los procesos.
  13. OWASP Security Knowledge Framework, que es una aplicación web que explica los principios de codificación segura en múltiples lenguajes de programación y tiene como objetivo ayudar a los desarrolladores a crear aplicaciones seguras por diseño.
  14. OWASP Security Shepherd, que es una plataforma de formación en seguridad de aplicaciones web y móviles, diseñada para fomentar y mejorar la concienciación respecto a la seguridad entre una amplia variedad de usuarios con diversas competencias. El objetivo de este proyecto es atraer a ingenieros inexpertos o experimentados en seguridad de las aplicaciones y perfeccionar sus habilidades de realización de pruebas de penetración hasta alcanzar el estado de experto en seguridad.
  15. OWASP Web Security Testing Guide, que es una guía completa para probar la seguridad de las aplicaciones web y los servicios web. Proporciona un marco de prácticas recomendadas para los usuarios que realizan pruebas de penetración y organizaciones de todo el mundo.
  16. OWASP ZAP, que es una herramienta de pruebas de seguridad de aplicaciones web diseñada para ayudar a los profesionales y desarrolladores de seguridad a identificar y mitigar las vulnerabilidades de seguridad en las aplicaciones web durante las fases de desarrollo y prueba.

El caso de los controles de seguridad integrados

OWASP desempeña un papel crucial en la continua búsqueda por mejorar la seguridad del software al concienciar sobre los riesgos de seguridad de las aplicaciones web y sugerir prácticas recomendadas entre los desarrolladores, los profesionales de la seguridad y las organizaciones. Como proyecto basado en la comunidad, OWASP reúne a expertos y entusiastas para colaborar en la mejora de la seguridad de las aplicaciones web y ayuda a crear una cultura consciente de la seguridad, en la que se promueven prácticas de codificación y metodologías de desarrollo seguras.

Además, OWASP ofrece una gran cantidad de herramientas, documentos y recursos gratuitos y de código abierto que permiten a las organizaciones mejorar su posición de seguridad, incluidos OWASP Top 10, OWASP API Security Top 10 y el proyecto Automated Threats to Web Applications. Entre otras iniciativas de OWASP se incluyen:

  • OWASP Bug Logging Tool (BLT), que permite a los usuarios de Internet informar sobre cualquier problema que encuentren en línea y ayudar a mejorar la seguridad en Internet al promover la divulgación responsable y fomentar un entorno en línea más seguro.
  • OWASP CSRFGuard, una biblioteca que protege las aplicaciones web de los ataques de falsificación de solicitud entre sitios o Cross-Site Request Forgery (CSRF).
  • Varios repositorios en GitHub, incluida la CheatSheetSeries, que proporciona una recopilación concisa de información muy valiosa sobre temas específicos de seguridad de las aplicaciones.
  • OWASP Top 10 Client-Side Security Risks, una compilación de vulnerabilidades específicas comunes a las aplicaciones del navegador.
  • OWASP Cloud-Native Application Security Top 10, un proyecto aún en desarrollo que proporcionará información sobre los riesgos de seguridad más destacados para las aplicaciones nativas de nube, los desafíos que implican y cómo superarlos.

Para participar, hágase miembro de OWASP o asista a la reunión de una delegación local, que son gratuitas y no exigen ser miembro para asistir. Además, OWASP organiza casi una docena de eventos internacionales y regionales cada año, una excelente oportunidad para mejorar sus habilidades profesionales, construir su red profesional y conocer las nuevas tendencias en la industria.

F5 aborda los riesgos de seguridad de OWASP

F5 apoya a la Fundación OWASP y respalda su dedicación a mejorar la seguridad del software y a concienciar sobre los riesgos y las vulnerabilidades de la seguridad de las aplicaciones web. Las soluciones F5 Web Application Firewall bloquean y mitigan un amplio espectro de riesgos incluidos en OWASP Top 10.

Las soluciones F5 WAF combinan protecciones de firma y de comportamientos, incluida la inteligencia sobre amenazas de F5 Labs y la seguridad basada en ML, para adaptarse al ritmo de las amenazas emergentes. Alivian la carga y la complejidad de proteger de forma coherente las aplicaciones en las nubes, los entornos locales y los entornos periféricos, al tiempo que simplifican la gestión mediante una infraestructura SaaS centralizada. Las soluciones F5 WAF también optimizan la seguridad de las aplicaciones al integrar protecciones en los marcos de desarrollo y las canalizaciones CI/CD con funciones de seguridad básicas, orquestación centralizada y supervisión a través de un solo panel con una vista de 360 grados del rendimiento de las aplicaciones y de los eventos de seguridad en todas las aplicaciones distribuidas.

F5 aborda los riesgos identificados en el OWASP API Security Top 10 con soluciones que protegen la creciente superficie expuesta a ataques y las amenazas emergentes a medida que las aplicaciones evolucionan y las implementaciones de API aumentan. Las soluciones Web Application and API Protection (WAAP) de F5 defienden la totalidad de la superficie expuesta a ataques de las aplicaciones modernas con protecciones integrales que incluyen WAF, API Security, mitigación de DDoS L3-L7 y defensa ante bots contra amenazas y fraudes automatizados. La plataforma distribuida facilita la implementación de políticas coherentes y el escalado de la seguridad en todo su conjunto de aplicaciones y API independientemente de dónde estén alojadas, así como la integración de la seguridad en el ciclo de vida de las API y en ecosistemas de seguridad más amplios.

F5 también ofrece soluciones para abordar los riesgos descritos en el Proyecto Automated Threats to Web Applications de OWASP. F5 Distributed Cloud Bot Defense evita los fraudes y abusos que puedan eludir las soluciones de gestión de bots existentes y proporciona supervisión e inteligencia en tiempo real, así como análisis retrospectivos basados en ML para proteger a las organizaciones de los ataques automatizados, todo ello sin causar fricciones al usuario ni alterar la experiencia del cliente. Distributed Cloud Bot Defense mantiene su efectividad independientemente de cómo se reajusten los atacantes, aunque los ataques pasen de las aplicaciones web a las API o intenten eludir las defensas antiautomatización mediante la suplantación de telemetría o el uso de solucionadores de CAPTCHA humanos.

Además, F5 también ofrece protección contra DDoS de varios niveles para proporcionar seguridad en línea avanzada como un servicio de mitigación gestionado y distribuido en la nube que detecta y mitiga en tiempo real ataques a gran escala dirigidos a redes, protocolos y aplicaciones; las mismas protecciones también están disponibles como soluciones de hardware, software e híbridas locales. F5 Distributed Cloud DDoS Mitigation defiende frente a ataques volumétricos y específicos de aplicaciones de capa 3-4 y capa 7 avanzada antes de que lleguen a sus aplicaciones e infraestructura de red.