Resumen del Top 10 de seguridad de API de OWASP y mejores prácticas

Las API desempeñan un papel fundamental en las arquitecturas de aplicaciones modernas, y este proyecto de OWASP se centra en concienciar sobre las vulnerabilidades de seguridad más comunes de las API.

El objetivo de la lista de OWASP (Open Worldwide Application Security Project) de los 10 principales riesgos de seguridad de las API es formar a quienes participan en el desarrollo y mantenimiento de API y concienciar sobre sus vulnerabilidades de seguridad más comunes. 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 y los riesgos de seguridad específicos asociados a las API.

¿Qué son las API?

Las API (interfaces de programación de aplicaciones) son fundamentales para el desarrollo de aplicaciones modernas, ya que permiten que estas se comuniquen e intercambien datos con otras aplicaciones, servicios o plataformas. Las API son una parte esencial de cualquier estrategia de modernización de aplicaciones y constituyen la base de las aplicaciones móviles. Permiten a las empresas integrarse fácilmente con plataformas externas y servicios de terceros, así como crear soluciones integrales mediante la conexión de distintos componentes. Esto fomenta un enfoque modular del desarrollo de aplicaciones que permite a los desarrolladores aprovechar los servicios y las funcionalidades existentes, favorecer la reutilización del código, acelerar los ciclos de desarrollo y mejorar la productividad.

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

Por su propia naturaleza, las API exponen lógica empresarial crítica e información confidencial, como datos de usuarios, credenciales de autenticación y transacciones financieras, y se han convertido cada vez más en un objetivo para los atacantes, en particular las funciones de inicio de sesión, creación de cuentas, adición de productos al carrito y transferencia de dinero. Las API pueden convertirse en puntos de entrada para atacantes que buscan aprovechar vulnerabilidades o puntos débiles, o dejar al descubierto la infraestructura y los recursos subyacentes.

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

Es necesario contar con medidas de seguridad sólidas para las API a fin de proteger los datos frente al acceso no autorizado, la manipulación o la exposición, garantizar la privacidad y mantener la confianza de los usuarios y las partes interesadas, así como asegurar la confidencialidad, integridad y disponibilidad de las API. Entre las prácticas recomendadas para la seguridad de las API se incluyen las siguientes:

  • Implemente mecanismos sólidos de autenticación y autorización. Aplique las comprobaciones de autorización adecuadas para garantizar que los clientes autenticados dispongan de los permisos necesarios para acceder a recursos específicos o realizar determinadas acciones. Utilice controles de acceso granulares para limitar el acceso a endpoints o datos confidenciales de la API, así como a los objetos y funciones pertinentes.
  • Valide la codificación de entrada y salida. Valide y depure todos los datos recibidos de los clientes de la API para evitar ataques de inyección y codifique adecuadamente la salida para impedir la ejecución de scripts maliciosos.
  • Utilice comunicaciones seguras. Emplee protocolos seguros para transmitir datos entre los clientes de la API y los servidores, y cifre la información confidencial tanto en tránsito como en reposo para garantizar la confidencialidad e integridad de los datos.
  • Implemente la limitación de solicitudes y la regulación del tráfico. Establezca límites en el número de solicitudes que los clientes de la API pueden realizar dentro de un periodo de tiempo determinado para evitar un uso excesivo o intentos de acceso no autorizado, como los ataques distribuidos de denegación de servicio (DDoS) y los ataques de fuerza bruta.
  • Realice pruebas y auditorías de seguridad periódicas. Lleve a cabo evaluaciones de seguridad, pruebas de penetración y revisiones de código periódicas para identificar y corregir posibles vulnerabilidades en sus API, así como auditorías de seguridad para detectar puntos débiles y garantizar el cumplimiento de las normas y los requisitos del sector. Esto es especialmente importante debido a las interdependencias entre las API y los frameworks y bibliotecas subyacentes.
  • Garantice el cumplimiento de los esquemas y protocolos. La creación y aplicación automáticas de un modelo de seguridad positivo mediante especificaciones OpenAPI constituyen una herramienta valiosa para garantizar una política de seguridad coherente.
  • Detecte dinámicamente y evalúe continuamente las API. La proliferación de las API ha dado lugar a API no inventariadas o sin mantenimiento, incluidas las API en la sombra. Los controles de seguridad deben inventariar y proteger constantemente las API mediante paradigmas de acceso de confianza cero y privilegios mínimos para mitigar los riesgos imprevistos derivados de las interdependencias con terceros.
  • Detección integral de amenazas. Las API están expuestas a diversas amenazas y deben protegerse frente a ellas, incluidos los exploits, las configuraciones incorrectas, los bots, el fraude y el uso indebido.

Las 10 principales amenazas de seguridad para las API según OWASP — 2023

El Top 10 de seguridad de API de OWASP de 2023 se elaboró para concienciar sobre las vulnerabilidades habituales de seguridad de las API y ayudar a desarrolladores, diseñadores, arquitectos, responsables y demás personas implicadas en el desarrollo y mantenimiento de API a adoptar un enfoque proactivo respecto a su seguridad.

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

  1. Autorización de objetos a nivel de objeto deficiente. Esta vulnerabilidad de seguridad se produce cuando una aplicación no aplica correctamente los controles de acceso a nivel de objeto o de datos, lo que permite a un atacante manipular o eludir las comprobaciones de autorización y obtener acceso no autorizado a objetos o datos específicos de una aplicación. Esto puede deberse a una implementación incorrecta de las comprobaciones de autorización, a una validación inadecuada o a la elusión de los controles de acceso. Todo endpoint de una API que reciba el ID de un objeto y realice alguna acción sobre él debe implementar comprobaciones de autorización a nivel de objeto para verificar que el usuario que ha iniciado sesión dispone de permisos para realizar la acción solicitada sobre el objeto en cuestión.
  2. Autenticación deficiente. Los mecanismos de autenticación de una API suelen implementarse de forma incorrecta, lo que permite a los atacantes acceder sin autorización a cuentas de usuario o datos confidenciales, o realizar acciones no autorizadas. Esto suele deberse a una implementación o configuración inadecuadas de los procesos de autenticación, políticas de contraseñas poco seguras, fallos en la gestión de sesiones u otras vulnerabilidades en el flujo de autenticación.
  3. Autorización incorrecta a nivel de propiedades de objeto. Esta amenaza se produce cuando una API no aplica correctamente los controles de acceso y las comprobaciones de autorización a nivel de las propiedades de los objetos. Un endpoint de API es vulnerable a estos ataques si expone propiedades de un objeto que se consideran confidenciales y que el usuario no debería poder consultar, una vulnerabilidad que a veces se denomina exposición excesiva de datos. Un endpoint de API también es vulnerable a estos ataques si permite que un usuario cambie, añada o elimine el valor de una propiedad confidencial de un objeto, una vulnerabilidad que a veces se denomina asignación masiva.
  4. Consumo de recursos sin restricciones. Este ataque, también denominado agotamiento de recursos, consiste en aprovechar las vulnerabilidades de la implementación de la API para consumir intencionadamente una cantidad excesiva de recursos, como CPU, memoria, ancho de banda u otros recursos del sistema. Esta denegación de servicio (DoS) reduce el rendimiento o la disponibilidad de la API o del sistema subyacente y puede provocar interrupciones del servicio.
  5. Autorización de funciones deficiente. Esta amenaza se produce cuando una API no aplica correctamente las comprobaciones de autorización en el ámbito de las funciones u operaciones, lo que permite a los atacantes acceder a funcionalidades no autorizadas. Implementar comprobaciones de autorización adecuadas puede resultar complicado, ya que las aplicaciones modernas pueden definir muchos tipos de roles y grupos funcionales e incluir jerarquías de usuarios complejas que los atacantes pueden manipular.
  6. Acceso sin restricciones a flujos de negocio sensibles. Este ataque se produce cuando una API carece de controles de acceso o comprobaciones de autorización adecuados, lo que permite a los atacantes automatizar el acceso a flujos de negocio sensibles respaldados por la API. Estos flujos de negocio pueden permitir la compra masiva de productos de gran valor y existencias limitadas, como entradas o zapatillas, que pueden revenderse a un precio superior en mercados secundarios. Los atacantes suelen adaptar sus ataques mediante sofisticados conjuntos de herramientas de automatización y pueden pasar a atacar la lógica de negocio subyacente a las API si las aplicaciones web del objetivo están debidamente protegidas mediante defensas contra la automatización.
  7. Falsificación de solicitudes del lado del servidor (SSRF). Esta vulnerabilidad se produce cuando un atacante identifica un endpoint 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 las URL de los recursos o sistemas internos que desea atacar. Sin ser consciente de la intención maliciosa, el servidor realiza la solicitud a la URL especificada, lo que puede dejar expuestos información o servicios confidenciales.
  8. Configuración de seguridad incorrecta. Los atacantes intentan encontrar vulnerabilidades sin parchear, endpoints comunes, servicios que se ejecutan con configuraciones predeterminadas poco seguras o archivos y directorios sin protección para obtener acceso no autorizado a la API. Esta vulnerabilidad puede producirse cuando no se aplican las medidas de refuerzo de seguridad adecuadas en algún nivel de la pila de la API, desde la red hasta la aplicación, o cuando los permisos de los servicios en la nube están mal configurados. Una configuración incorrecta afecta a las aplicaciones web y las API, y supone un riesgo cada vez mayor a medida que la arquitectura continúa descentralizándose y distribuyéndose entre entornos multinube.
  9. Gestión inadecuada del inventario. Las API están sujetas a cambios y actualizaciones con el tiempo, pero es posible que sigan en producción versiones obsoletas o poco seguras, o que continúen operativos endpoints antiguos sin parchear o con requisitos de seguridad menos estrictos, lo que aumenta el riesgo de brechas de seguridad. La falta de una gestión adecuada del inventario dificulta saber qué versiones están en uso, cuáles están obsoletas o en desuso y qué vulnerabilidades se han corregido. Las API en la sombra y zombis plantean riesgos importantes, lo que pone de relieve la importancia de la detección continua y las protecciones automatizadas.
  10. Consumo no seguro de API. Los desarrolladores tienden a confiar en los datos recibidos de API de terceros, especialmente de las ofrecidas por empresas conocidas, y aplican requisitos de seguridad menos estrictos a estos datos en lo que respecta a la validación y depuración de las entradas o a la seguridad del transporte. El consumo no seguro también puede producirse cuando se accede a las API mediante protocolos no seguros o cuando no se utilizan mecanismos de cifrado adecuados, lo que puede dar lugar a escuchas clandestinas, interceptación de datos y acceso no autorizado a información confidencial.

La importancia de los controles de seguridad integrados

F5 aborda los riesgos de seguridad de OWASP

F5 apoya a la Fundación OWASP y su compromiso con la mejora de la seguridad del software y la concienciación sobre los riesgos y las vulnerabilidades de seguridad de las aplicaciones web en distintos ámbitos. 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 autenticación/autorización débiles
  • Configuración incorrecta
  • Abuso de la lógica de negocio (relleno de credenciales, apropiación de cuentas)
  • Falsificación de solicitudes del lado del servidor (SSRF).

F5 aborda los riesgos identificados en el OWASP API Security Top 10 mediante soluciones que protegen la creciente superficie de ataque y frente a las amenazas emergentes a medida que evolucionan las aplicaciones y aumentan las implementaciones de API. Las soluciones de protección de aplicaciones web y API (WAAP) de F5 protegen toda la superficie de ataque de las aplicaciones modernas mediante medidas integrales que incluyen WAF, seguridad de API, mitigación de DDoS de las capas L3 a L7 y defensa contra bots para hacer frente a las amenazas automatizadas y el fraude. La plataforma distribuida facilita la implementación de políticas coherentes y la ampliación de la seguridad en todo su entorno de aplicaciones y API, independientemente de dónde estén alojadas, así como la integración de las medidas de protección en el ciclo de vida de las API y en ecosistemas de seguridad más amplios.

F5 proporciona arquitecturas de seguridad híbridas que protegen las aplicaciones y las API de forma uniforme y continua, desde el núcleo hasta la nube y el perímetro. Las soluciones de F5 detectan dinámicamente y protegen automáticamente la lógica empresarial crítica que sustenta las API mediante inteligencia sobre amenazas, seguridad basada en aprendizaje automático y principios de confianza cero, lo que aporta la resiliencia y la agilidad necesarias para competir en la economía digital impulsada por las API.

F5 Web Application Firewall solutions también bloquean y mitigan un amplio espectro de riesgos identificados en OWASP Top 10, una lista ampliamente reconocida de los riesgos de seguridad más críticos para las aplicaciones web. Las API, al igual que las aplicaciones web, son susceptibles a errores de configuración y amenazas automatizadas, y pueden ser objeto de ataques que explotan vulnerabilidades, SSRF e intentos de eludir los controles de autenticación y autorización. Las soluciones F5 WAF combinan protecciones basadas en firmas y en el comportamiento, incluida la inteligencia sobre amenazas de F5 Labs y la seguridad basada en aprendizaje automático, para mantenerse al día frente a las amenazas emergentes; también pueden integrarse con controles especializados de defensa contra bots.

Estas soluciones reducen la carga y la complejidad que supone proteger de forma coherente las aplicaciones en entornos de nube, locales y perimetrales, al tiempo que simplifican la gestión mediante una infraestructura SaaS centralizada. Los WAF de F5 también optimizan la seguridad de las aplicaciones al integrar las protecciones en los marcos de desarrollo y las canalizaciones de CI/CD, con funciones de seguridad esenciales, orquestación centralizada y supervisión desde un único panel que ofrece una visión de 360 grados del rendimiento de las aplicaciones y de los eventos de seguridad en aplicaciones distribuidas.

F5 también ofrece soluciones para abordar los riesgos descritos en el Proyecto de amenazas automatizadas para aplicaciones web.F5 Distributed Cloud Bot Defense evita el fraude y los abusos capaces de 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 aprendizaje automático, para proteger a las organizaciones frente a ataques automatizados sin añadir fricción para el usuario ni alterar la experiencia del cliente. Distributed Cloud Bot Defense mantiene su eficacia independientemente de cómo los atacantes adapten sus herramientas, tanto si los ataques pasan de las aplicaciones web a las API como si intentan eludir las defensas contra la automatización falsificando datos de telemetría o recurriendo a personas para resolver CAPTCHA.

F5 también ofrece protección DDoS multinivel para una seguridad avanzada en línea como servicio de mitigación gestionado y prestado desde la nube, que detecta y mitiga en tiempo real ataques a gran escala dirigidos contra la red, los protocolos y las aplicaciones; estas mismas protecciones también están disponibles como soluciones locales de hardware y software, así como soluciones híbridas. F5 Distributed Cloud DDoS Mitigation protege frente a ataques volumétricos y específicos de aplicaciones en las capas 3 y 4, así como frente a ataques avanzados en la capa 7, antes de que alcancen su infraestructura de red y sus aplicaciones.

Para obtener más información sobre cómo los componentes de la plataforma F5 ADSP protegen frente a los riesgos de seguridad de OWASP, consulte los siguientes recursos: