Visión general y prácticas recomendadas de OWASP API Security Top 10

Las API desempeñan un papel esencial en las arquitecturas de aplicaciones modernas y este proyecto de OWASP se centra en concienciar sobre las debilidades de seguridad comunes de las API.

El objetivo de la lista OWASP (Open Worldwide Aplicação Security Project) de los 10 principales riesgos de seguridad de API es educar a aquellos involucrados en el desarrollo y mantenimiento de API y aumentar la conciencia sobre las debilidades comunes de seguridad de API. Las API se han convertido cada vez más en un objetivo para los atacantes y el proyecto de seguridad de API de OWASP se centra en estrategias y soluciones para comprender y mitigar las vulnerabilidades únicas y los riesgos de seguridad asociados con las API.

¿Qué son las API?

Las API (interfaces de programación de aplicação ) son fundamentales para el desarrollo de aplicações modernas, ya que facilitan la capacidad de las aplicações para comunicarse e intercambiar datos con otras aplicações, servicios o plataformas. Las API son una parte clave de una estrategia de modernización de aplicaciones y son la base de las aplicaciones móviles. Permiten a las empresas integrarse fácilmente con plataformas externas y servicios de terceros y crear soluciones integrales conectando varios componentes. Esto promueve un enfoque modular para el desarrollo de aplicaciones que permite a los desarrolladores aprovechar los servicios y la funcionalidad existentes, promover la reutilización del código, acelerar los ciclos de desarrollo y mejorar la productividad.

Las API también amplían la superficie expuesta a riesgos y, en concreto, introducen riesgos imprevistos debido a la naturaleza de sus interdependencias entre arquitecturas multinube. Al igual que las aplicaciones web, las API son susceptibles a las explotaciones de vulnerabilidades, al abuso proveniente de amenazas automatizadas, la denegación de servicio, la configuración errónea y los ataques que eluden los controles de autenticación y autorización.

Debido a su naturaleza, las API exponen lógica de negocio crítica e información confidencial, como datos de usuario, credenciales de autenticación y transacciones financieras, por lo que se han ido convirtiendo cada vez más en blanco de los atacantes; en particular, las funciones de inicio de sesión, creación de cuentas, adición al carrito y transferencia de dinero. Las API pueden convertirse en puntos de entrada para los atacantes que buscan aprovecharse de las vulnerabilidades o debilidades, o exponer la infraestructura y los recursos subyacentes.

¿Cuáles son las prácticas recomendadas de seguridad de las API?

Son necesarias medidas de seguridad de API sólidas para proteger los datos del acceso no autorizado para garantizar la privacidad y mantener la confianza de los usuarios y las partes interesadas, así como para garantizar la confidencialidad, la integridad y la disponibilidad de las API. Las mejores prácticas para la seguridad de la API incluyen las siguientes:

  • Implementar autenticación y autorización fuertes. Imponga controles de autorización adecuados para garantizar que los clientes autenticados tengan los permisos necesarios para acceder a recursos específicos o realizar determinadas acciones. Utilice controles de acceso granulares para limitar el acceso a puntos finales o datos de API confidenciales, así como a objetos y funciones relevantes.
  • Validar la codificación de entrada y salida. Validar y desinfectar toda la entrada recibida de los clientes API para evitar ataques de inyección y codificar la salida adecuadamente para evitar la ejecución de scripts maliciosos.
  • Utilice una comunicación segura. Emplear protocolos seguros para transmitir datos entre clientes y servidores API y cifrar la información confidencial en tránsito y en reposo para garantizar la confidencialidad e integridad de los datos. 
  • Implementar limitación y regulación de velocidad. Imponga límites en la cantidad de solicitudes que los clientes de API pueden realizar dentro de un período de tiempo específico para evitar el uso excesivo o intentos de acceso no autorizado , como ataques de denegación de servicio distribuido (DDoS) y ataques de fuerza bruta.
  • Realizar pruebas y auditorías de seguridad periódicas. Realice evaluaciones de seguridad periódicas, pruebas de penetración y revisiones de código para identificar y abordar posibles vulnerabilidades en sus API, y realice auditorías de seguridad para detectar debilidades y garantizar el cumplimiento de los estándares y mandatos de la industria. Esto es especialmente importante debido a las interdependencias de las API y los marcos y bibliotecas subyacentes.
  • Hacer cumplir el esquema y el protocolo. Crear y aplicar automáticamente un modelo de seguridad positivo con especificaciones OpenAPI es una herramienta valiosa para garantizar una política de seguridad consistente.
  • Descubra dinámicamente y evalúe continuamente las API. La proliferación de API ha dado lugar a API no contabilizadas o sin mantenimiento, incluidas las API ocultas . Los controles de seguridad deben inventariar y proteger constantemente las API utilizando paradigmas de acceso de confianza cero y mínimos privilegios para mitigar el riesgo imprevisto de interdependencias de terceros. 
  • Detección integral de amenazas. Las API están sujetas a una variedad de amenazas y necesitan protección contra ellas, entre las que se incluyen exploits, configuraciones incorrectas, bots, fraude y abuso.

OWASP API Security Top 10 - 2023

El OWASP API Security Top 10 – 2023 se formuló para aumentar la conciencia sobre las debilidades comunes de seguridad de API y para ayudar a los desarrolladores, diseñadores, arquitectos, gerentes y otras personas involucradas en el desarrollo y mantenimiento de API a mantener un enfoque proactivo hacia la seguridad de API.

Los 10 riesgos de seguridad principales de las API según OWASP para 2023 son:  

  1. Autorización a nivel de objeto rota. Esta vulnerabilidad de seguridad ocurre cuando una aplicação no logra aplicar adecuadamente los controles de acceso a nivel de objeto o de datos, lo que permite a un atacante manipular o eludir los controles de autorización y otorgar acceso no autorizado a objetos o datos específicos dentro de una aplicação. Esto puede suceder debido a una implementación incorrecta de las comprobaciones de autorización, a una falta de validación adecuada o a la elusión de los controles de acceso. Cada punto final de API que recibe una ID de un objeto y realiza cualquier acción en el objeto, debe implementar verificaciones de autorización a nivel de objeto para validar que el usuario que inició sesión tiene permisos para realizar la acción solicitada en el objeto solicitado.
  2. Autenticación rota. Los mecanismos de autenticación en una API a menudo se implementan incorrectamente, lo que permite a los atacantes obtener acceso no autorizado a cuentas de usuario o datos confidenciales, o realizar acciones no autorizadas. Generalmente surge debido a una implementación o configuración incorrecta de los procesos de autenticación, políticas de contraseñas débiles, fallas en la administración de sesiones u otras debilidades en el flujo de trabajo de autenticación. 
  3. Autorización de nivel de propiedad de objeto roto. Esta amenaza ocurre cuando una API no logra aplicar adecuadamente los controles de acceso y las verificaciones de autorización a nivel de propiedad del objeto. Un punto final de API es vulnerable a estos ataques si expone propiedades de un objeto que se consideran sensibles y que el usuario no debería leer, una explotación a la que a veces se denomina exposición excesiva de datos . Un punto final de API también es vulnerable a estos ataques si permite que un usuario cambie, agregue o elimine el valor de una propiedad de un objeto sensible, una explotación a veces llamada asignación masiva .
  4. Consumo de recursos sin restricciones. Este ataque, también llamado agotamiento de recursos, implica explotar debilidades en la implementación de la API para consumir intencionalmente una cantidad excesiva de recursos, como CPU, memoria, ancho de banda u otros recursos del sistema. Esta denegación de servicio (DoS) degrada el rendimiento o la disponibilidad de la API o del sistema subyacente y puede provocar tiempo de inactividad.  
  5. Autorización de nivel de función rota. Esta amenaza ocurre cuando una API no logra aplicar adecuadamente las verificaciones de autorización a nivel de función u operación, lo que permite a los atacantes acceder a funcionalidades no autorizadas. Implementar verificaciones de autorización adecuadas puede resultar confuso, ya que las aplicações modernas pueden definir muchos tipos de roles y grupos funcionales e involucrar jerarquías de usuarios complejas, que los atacantes pueden manipular. 
  6. Acceso sin restricciones a flujos comerciales sensibles. Este ataque ocurre cuando una API carece de los controles de acceso o las comprobaciones de autorización adecuados, lo que permite a los atacantes automatizar el acceso a flujos comerciales sensibles respaldados por la API. Estos flujos comerciales podrían facilitar la compra masiva de productos de alto valor y bajo inventario, como entradas o zapatillas deportivas, que pueden revenderse con un margen de beneficio en mercados secundarios. Los atacantes a menudo reestructuran sus ataques utilizando sofisticados kits de herramientas de automatización y pueden orientarlos hacia la lógica empresarial detrás de las API si las aplicaciones web del objetivo están protegidas adecuadamente por defensas antiautomatización.  
  7. Server-Side Request Forgery (SSRF). Esta vulnerabilidad se produce cuando un atacante identifica un punto final de API vulnerable que acepta URL proporcionadas por el usuario o realiza solicitudes del lado del servidor a recursos externos. El atacante crea solicitudes maliciosas que especifican URL de recursos o sistemas internos que el atacante desea atacar. Sin darse cuenta de la intención maliciosa, el servidor realiza la solicitud del lado del servidor a la URL especificada, exponiendo potencialmente información o servicios confidenciales. 
  8. Mala configuración de seguridad. Los atacantes intentan encontrar vulnerabilidades sin parchear, endpoints comunes, servicios que se ejecutan con configuraciones predeterminadas inseguras o archivos y directorios sin protección para obtener acceso no autorizado a la API. Esta vulnerabilidad puede surgir cuando no se cuenta con el refuerzo de seguridad adecuado en cualquier nivel de la pila de API, desde la red hasta la aplicação , o si los permisos en los servicios en la nube están mal configurados. La configuración incorrecta afecta las aplicaciones web y las API, y constituye un riesgo cada vez mayor a medida que la arquitectura continúa descentralizándose y distribuyéndose en entornos de múltiples nubes.
  9. Gestión inadecuada del inventario. Las API están sujetas a cambios y actualizaciones a lo largo del tiempo, pero versiones de API obsoletas o inseguras pueden permanecer en producción, o los puntos finales más antiguos pueden seguir ejecutándose sin parches o utilizando requisitos de seguridad más débiles, lo que aumenta el riesgo de violaciones de seguridad. La falta de una gestión adecuada del inventario dificulta el seguimiento de qué versiones están en uso, cuáles están obsoletas o en desuso y qué vulnerabilidades se han abordado. Las API de sombra y zombi plantean riesgos importantes , lo que subraya la importancia del descubrimiento continuo y las protecciones automatizadas.  
  10. Consumo inseguro de APIs. Los desarrolladores tienden a confiar en los datos recibidos de API de terceros, en particular de API ofrecidas por empresas conocidas, y adoptan requisitos de seguridad más débiles para estos datos en términos de validación de entrada y saneamiento o seguridad de transporte. El consumo inseguro también puede ocurrir cuando se accede a las API mediante protocolos inseguros o cuando no se utilizan mecanismos de cifrado adecuados, lo que da lugar a escuchas clandestinas, interceptación de datos y acceso no autorizado a información confidencial. 

El caso de los controles de seguridad integrados

F5 aborda los riesgos de seguridad de OWASP

F5 apoya a la Fundación OWASP y su dedicación a mejorar la seguridad del software y generar conciencia sobre los riesgos y vulnerabilidades de seguridad de las aplicação web en múltiples niveles. De hecho, 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).

F5 aborda los riesgos identificados en el Top 10 de seguridad de API de OWASP con soluciones que protegen la creciente superficie de ataque y las amenazas emergentes a medida que las aplicaciones evolucionan y aumentan las implementaciones de API. Las soluciones F5 Web Aplicação and API Protection (WAAP) defienden la totalidad de la superficie de ataque de las aplicaciones modernas con protecciones integrales que incluyen WAF, seguridad de API , mitigación de DDoS L3-L7 y defensa contra bots contra amenazas automatizadas y fraude. La plataforma distribuida simplifica la implementación de políticas consistentes y escala la seguridad en todo su patrimonio de aplicaciones y API, independientemente de dónde estén alojadas, e integra protecciones en el ciclo de vida de las API y en ecosistemas de seguridad más amplios.

F5 ofrece arquitecturas de seguridad híbridas que protegen de forma consistente y continua las aplicaciones y las API desde el núcleo hasta la nube y el perímetro. Las soluciones de F5 descubren dinámicamente y protegen automáticamente la lógica comercial crítica detrás de las API utilizando inteligencia de amenazas, seguridad basada en ML y principios de confianza cero, proporcionando la resiliencia y la agilidad necesarias para competir en la economía digital impulsada por API.

Las soluciones de firewall de aplicação web de F5 también bloquean y mitigan un amplio espectro de riesgos identificados por OWASP Top 10, una lista ampliamente reconocida de los riesgos de seguridad de aplicação web más críticos. Las API, al igual que las aplicaciones web, son susceptibles a configuraciones incorrectas y amenazas automatizadas, y pueden ser blanco de exploits de vulnerabilidades, SSRF y ataques que intentan eludir los controles de autenticación y autorización. Las soluciones F5 WAF combinan protecciones de firmas y comportamiento, incluida inteligencia sobre amenazas de F5 Labs y seguridad basada en ML, para mantenerse al día con las amenazas emergentes; también se pueden integrar con controles de defensa contra bots especializados.

Estas soluciones 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 también ofrece soluciones para abordar los riesgos descritos en el Proyecto de Amenazas Automatizadas a Aplicações Web de OWASP. F5 Distributed Cloud Bot Defense previene el fraude y el abuso que pueden eludir las soluciones de gestión de bots existentes y brinda monitoreo e inteligencia en tiempo real, así como análisis retrospectivo basado en ML para proteger a las organizaciones de ataques automatizados, sin insertar fricción en el usuario ni interrumpir la experiencia del cliente. Distributed Cloud Bot Defense mantiene su eficacia independientemente de cómo los atacantes se reorienten, ya sea que los ataques pasen de aplicaciones web a API o intenten eludir las defensas antiautomatización falsificando la telemetría o utilizando solucionadores de CAPTCHA humanos.

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