BOPLA es el acrónimo de Broken Object Property Level Authorization (Autorización a nivel de propiedad de objeto comprometida). BOPLA hace referencia a una propiedad dentro de un objeto, mientras que BOLA hace referencia a un objeto completo. La protección de las API frente a BOLA no garantiza la cobertura de BOPLA, por lo que es importante elegir productos de seguridad que ofrezcan protección frente a ambos tipos de ataques.
La protección de las API implica un conjunto de procesos, prácticas y tecnologías que defienden las interfaces de programación de aplicaciones (API) de los ataques y el uso indebido por parte de agentes maliciosos. La protección de las API es una parte esencial de un programa de ciberseguridad interfaces de programación de aplicaciones, así como una prioridad máxima para los equipos de seguridad.
¿Qué es una API?
Una interfaz de programación de aplicaciones, o API, es un conjunto de protocolos y definiciones que permiten que diferentes programas y componentes de software se comuniquen entre sí y compartan datos y funcionalidad. Las API también rigen cómo se permite que interactúen las aplicaciones, y controlan cómo se realizan las solicitudes y los tipos de solicitudes que se pueden intercambiar entre programas.
Las API son esenciales para los servicios en la nube, los microservicios, las arquitecturas sin servidory el Internet de las cosas (IoT), de los que dependen muchos entornos de TI. Dado que exponen la lógica y los recursos de las aplicaciones, y a menudo implican la transferencia de información confidencial, las API son un objetivo atractivo para los hackers. Una API no protegida puede hacer posible que agentes maliciosos accedan a activos de TI que, de otro modo, serían seguros. Por lo tanto, la protección de las API es fundamental para mantener la seguridad de las redes y las aplicaciones, así como para evitar la exposición de los datos y otros problemas de seguridad.
¿Cuáles son los riesgos de seguridad de las API?
Los riesgos de seguridad de las API más comunes se dividen en varias categorías.
- Explotación de vulnerabilidades. Este tipo de ataque a las API permite a los agentes maliciosos obtener acceso no autorizado a la API debido a un defecto en la forma en que esta se crea o codifica.
- Errores de autorización. Cuando la autorización no se gestiona cuidadosamente, los clientes que interactúan con una API pueden tener acceso a datos que no deberían estar disponibles, lo que aumenta el riesgo de una filtración de datos.
- Problemas de autenticación. Cuando los procesos de autenticación de usuarios se ven comprometidos, las API pueden aceptar solicitudes de fuentes ilegítimas o maliciosas.
- Ataques distribuidos de denegación de servicio. Al sobrecargar las API con demasiadas solicitudes, los ataques DDoS o DoS, pueden provocar que las API dejen de responder o se bloqueen.
¿Cuáles son los diez principales riesgos de seguridad de API según OWASP?
El Proyecto Abierto de Seguridad de Aplicaciones Web (OWASP) es una organización sin ánimo de lucro dedicada a mejorar la seguridad del software. Cada año, OWASP publica una lista de los 10 principales riesgos de seguridad de API. La lista de los diez principales riesgos de seguridad de API según OWASP de 2023 incluye estas amenazas de seguridad:
- Autorización a nivel de objeto comprometida (BOLA): las API suelen crear una amplia superficie de ataque de problemas de control de acceso en el nivel de objetos al exponer los terminales que gestionan los identificadores de objetos.
- Autenticación comprometida: cuando los mecanismos de autenticación se implementan incorrectamente, los atacantes pueden comprometer los tokens de autenticación o explotar fallos de implementación.
- Autorización a nivel de propiedad de objeto comprometida (BOPLA): una validación de autorización incorrecta en el nivel de propiedad de objeto puede provocar que los atacantes expongan o manipulen información.
- Uso de recursos sin restricciones: dado que satisfacer las solicitudes de API consume recursos específicos de CPU, memoria, almacenamiento y ancho de banda de red, el uso sin restricciones de las API puede provocar una denegación de servicio o un aumento de los costes.
- Autorización a nivel de función comprometida: la complejidad de las políticas de control de acceso puede provocar errores de autorización.
- Acceso sin restricciones a flujos empresariales confidenciales: cuando los flujos empresariales están expuestos al público, se puede hacer un uso excesivo de estos de forma automatizada para interrumpir los procesos.
- Falsificación de solicitudes del lado del servidor: cuando una API recupera un recurso remoto sin validar la URL proporcionada por el usuario, los atacantes pueden forzar la aplicación para que envíe una solicitud especialmente diseñada a un destino inesperado.
- Configuración de seguridad incorrecta: los ingenieros de DevOps y software suelen configurar incorrectamente las API, lo que deja la puerta abierta a una gran variedad de ataques.
- Gestión del inventario inadecuada: cuando el inventario y la documentación no se actualizan correctamente, pueden surgir problemas tales como versiones de API obsoletas y terminales de depuración expuestos.
- Uso inseguro de API: debido a que tienden a confiar más en los datos recibidos de API de terceros que en los datos proporcionados por el usuario, los desarrolladores pueden adoptar estándares de seguridad más débiles para determinadas API.
¿En qué se diferencia la seguridad de las API de la seguridad de las aplicaciones?
Aunque la protección de las API incluye muchos de los mismos principios de seguridad que la seguridad web, la defensa de las API frente a ataques conlleva varios desafíos únicos. El gran número de API utilizadas en los sistemas de aplicaciones modernos dificulta la identificación de las vulnerabilidades de las API y la actualización de las protecciones para los equipos de seguridad. Dado que las API están diseñadas para que las aplicaciones o los servicios de terceros puedan acceder a ellas, suelen estar expuestas a una gama más amplia de amenazas potenciales que las aplicaciones web tradicionales. La flexibilidad y la personalización también hacen que las API sean más vulnerables a los ataques. Además, dado que las API utilizan con frecuencia tokens u otros tipos de autenticación para controlar el acceso, pueden estar sujetas a ataques basados en tokens robados o comprometidos.
¿Qué es la seguridad de la puerta de enlace de API?
Una puerta de enlace de API es una capa de software que sirve como un único punto de entrada para gestionar llamadas de API o solicitudes de clientes y devolver respuestas desde los terminales de API. Las soluciones de seguridad de puerta de enlace de API pueden aplicar la limitación y regulación de velocidad para garantizar que no se haga un uso indebido de las API. Las puertas de enlace pueden proteger las API mediante la autorización y el enrutamiento de las llamadas de API a los servicios de back-end y a los terminales de front-end adecuados. La seguridad de la puerta de enlace de API también implica la autenticación de credenciales y la validación de tokens para verificar identidades. Aunque una puerta de enlace es una parte importante de la protección de las API, la seguridad de la puerta de enlace de API por sí sola no es suficiente para garantizar una defensa adecuada de las API. Las puertas de enlace no proporcionan visibilidad ni control sobre toda la arquitectura de API, y es posible que no identifiquen las API mal configuradas, las API en la sombra o la actividad de los bots maliciosos.
¿Cuáles son las prácticas recomendadas que se aplican a la seguridad de las API?
Los siguientes controles, protocolos y soluciones de seguridad pueden ayudar a mejorar la protección de las API.
- Detección y seguimiento de todas las API. Cuando los equipos de seguridad no están al tanto de las API, no pueden detectar vulnerabilidades, actualizar parches de seguridad ni garantizar una protección adecuada de las API.
- Identificación de vulnerabilidades. Las herramientas de pruebas de seguridad pueden ayudar a identificar vulnerabilidades que existen en cada API. Una vez que se hayan identificado las vulnerabilidades, se debe establecer el orden de prioridad a la hora de solucionarlas, mitigarlas y definir la configuración correcta según la tolerancia al riesgo.
- Establecimiento de políticas globales de seguridad de API. En lugar de adoptar políticas únicas para cada API, los equipos de gestión y seguridad de API deben establecer políticas para todas las API o para clases específicas de API, lo cual evita tener que codificar políticas directamente en las API individuales.
- Implementación de autenticación y autorización. La autenticación y autorización de usuarios y aplicaciones es esencial para proteger las API frente a un uso indebido.
- Implementación de limitación y regulación de velocidad. Estas técnicas determinan la frecuencia con la que se puede llamar a las API y evitan picos maliciosos en las solicitudes que podrían provocar la denegación del servicio.
- Cifrado de datos. El cifrado de datos es esencial para proteger los datos confidenciales que se comunican a través de las API.
- Configuración de un firewall de aplicaciones web (WAF). El uso de un WAF en la seguridad de la red añade una capa adicional de protección frente al tráfico de API malicioso procedente de fuera de la red local.
- Implementación de una puerta de enlace de API. Una puerta de enlace superior puede proporcionar una serie de protecciones y ayudar a analizar cómo se accede a las API.
- Despliegue de OAuth. OAuth es un modelo de seguridad de OpenAPI que puede proteger las API permitiendo a los usuarios delegar de forma segura el acceso a los recursos sin compartir sus credenciales originales.
- Uso de análisis de comportamiento. Una solución eficaz de detección y respuesta de API puede utilizar análisis de comportamiento para registrar todo el comportamiento de las API e identificar comportamientos inusuales a los que los equipos de seguridad pueden dar respuesta.
- Protección de las API B2B. Aunque la mayoría de las protecciones de las API se centran en las API B2C, a veces los datos más confidenciales se comparten con las API B2B que se consideran seguras. Una solución de análisis de comportamiento puede supervisar las API B2B y alertar sobre actividades sospechosas.
- Uso de un lago de datos. Toda la actividad de API se debe almacenarse en un lago de datos durante al menos 30 días, lo que proporcionará contexto para cualquier alerta o amenaza potencial. Además, los equipos pueden extraer conclusiones de este lago de datos para reforzar su estrategia de seguridad.
Preguntas frecuentes
Openapi es una especificación para la creación de API que define una interfaz estándar que no esté ligada a ningún idioma para describir las API y sus capacidades de forma que los usuarios y los equipos puedan entenderlas, sin necesidad de acceder al código fuente ni a la documentación. La seguridad de OpenAPI implica prácticas de autenticación, cifrado, autorización y otras medidas para proteger la integridad, la disponibilidad y la confidencialidad de la API.
BOLA significa Autorización a nivel de objeto comprometida y se considera una amenaza importante para la seguridad de la protección de API porque es muy difícil de detectar. Esta vulnerabilidad permite a un atacante manipular entradas, como los parámetros de URL o las cargas útiles de solicitud para acceder a datos no autorizados o realizar acciones no autorizadas.
Por qué los clientes eligen Akamai
Akamai potencia y protege la vida online. Las empresas líderes de todo el mundo eligen Akamai para crear, proteger y ofrecer sus experiencias digitales, ayudando así a millones de personas a vivir, trabajar y jugar cada día. Akamai Connected Cloud, plataforma de nube distribuida de forma masiva en el Edge, acerca las aplicaciones y las experiencias a los usuarios y mantiene las amenazas más alejadas.