Akamai es la empresa de ciberseguridad y cloud computing que potencia y protege los negocios online. Nuestras soluciones de seguridad líderes en el mercado, nuestra inteligencia ante amenazas consolidada y nuestro equipo de operaciones globales proporcionan una defensa en profundidad para proteger los datos y las aplicaciones empresariales. Las soluciones integrales de cloud computing de Akamai garantizan el rendimiento y una buena relación calidad-precio en la plataforma más distribuida del mundo. Las grandes empresas confían en Akamai, ya que les ofrece una fiabilidad, una escalabilidad y una experiencia inigualables en el sector, idóneas para crecer con seguridad.
Las interfaces de programación de aplicaciones (API) son parte integral de la arquitectura de aplicaciones moderna. Las API definen reglas y protocolos que permiten a las aplicaciones comunicarse e intercambiar datos con otro software, servicios y plataformas. Esta capacidad permite a los desarrolladores crear aplicaciones más potentes aprovechando los datos y las funciones del software existente, y capacita a las empresas para integrar sistemas de TI con servicios externos y plataformas de terceros.
Las API también presentan importantes riesgos operativos. Las organizaciones tienen cada vez más presencia digital y en la nube, por lo que el alcance, la escala y la complejidad de su infraestructura de API aumenta sin cesar. Las API suelen estar repartidas por varios entornos, que pueden ser desde locales hasta de nube híbrida. Y, por si la situación no fuese lo bastante compleja, es probable que el ecosistema de API de una organización vaya más allá de su propia red y presencia en la nube. Considere la infinidad de conexiones que han establecido sus API con aplicaciones y servicios, así como con sistemas de terceros y ecosistemas de desarrolladores.
A medida que sus API crecen en alcance, escalabilidad y complejidad, se vuelve más difícil obtener información en tiempo real sobre:
Dónde se ubican las API en las diferentes unidades de negocio que, en muchos casos, cuentan con sus propios equipos de desarrolladores
Cómo están configuradas, a dónde transfieren los datos y si disponen de los controles de autenticación y autorización adecuados
Si devuelven datos confidenciales cuando reciben una llamada y quién puede acceder a ellos
Para complicar aún más la situación, a menudo las organizaciones no gestionan, visualizan ni protegen una gran parte de las API que acumulan. Hablamos de API inactivas, en la sombra y zombis que, en muchos casos, burlan las herramientas de protección de uso común.
Para salvaguardar las API, así como las aplicaciones, los servicios web y los entornos de TI con los que interactúan, los equipos de seguridad empresariales deben adoptar tecnologías y prácticas recomendadas para protegerse contra los ataques a las API, las filtraciones y el uso indebido.
Principales amenazas para las API
Las amenazas para las API más frecuentes se dividen en varias categorías.
Explotación de vulnerabilidades: muchas API se crean con vulnerabilidades que permiten a los atacantes enviar solicitudes de API que dan lugar a comportamientos no deseados. Al explotar estas vulnerabilidades, los atacantes pueden obtener acceso no autorizado a una API o aplicaciones relacionadas. Entre los ejemplos comunes se incluyen ataques como la falsificación de solicitudes entre sitios (CSRF).
Ataques de inyección: en ataques como la inyección SQL, los scripts entre sitios (XSS), la inyección XML y los scripts, los atacantes inyectan código malicioso en las solicitudes de API. Cuando un servidor ejecuta el código, la API puede realizar determinadas acciones no deseadas o maliciosas.
Problemas de autenticación: la autenticación es el proceso de determinar si un usuario, una aplicación o un dispositivo es un cliente legítimo antes de aceptar y procesar solicitudes de API. Cuando una organización tiene mecanismos de autenticación débiles, los atacantes pueden obtener las credenciales de un usuario legítimo, robar una clave de API, interceptar y utilizar un token de autenticación o probar muchas combinaciones diferentes de contraseñas o claves de cifrado en un ataque de fuerza bruta.
Problemas de autorización: la autorización es la tarea de determinar qué nivel de acceso a la API se permite a un cliente. Cuando la autorización no está bien gestionada, un cliente de API puede tener acceso a datos que no deberían estar disponibles, lo que aumenta el riesgo de una filtración de datos. Un ejemplo habitual es una amenaza denominada autorización a nivel de objeto comprometida (BOLA), en la que un atacante puede acceder o manipular objetos a los que no debería tener a consecuencia de un control de acceso insuficiente.
Ataques de denegación de servicio (DoS) o ataques distribuidos de denegación de servicio (DDoS): estos ataques saturan una API inundándola con más tráfico del que puede manejar, lo que provoca que la API se bloquee o ralentice. Como resultado, el servicio puede denegarse a los usuarios legítimos.
Ataques de máquina intermediaria (MITM): cuando un atacante puede interceptar el tráfico y las comunicaciones entre dos sistemas, puede ser capaz de capturar datos confidenciales, como claves de API, tokens de acceso y credenciales de usuario, o manipular los datos enviados de una parte a otra.
Errores de configuración de seguridad: cuando los equipos de TI no configuran adecuadamente los ajustes de seguridad de las API, pueden permitir a los atacantes obtener acceso no autorizado, derivar privilegios y poner en peligro el entorno de TI.
Exposición de datos: muchas API se pueden manipular para divulgar más información de la necesaria al responder a solicitudes de API, un defecto que los atacantes pueden aprovechar para robar datos u obtener acceso no autorizado.
La necesidad de proteger las API
Dado el papel fundamental que desempeñan las API en las aplicaciones y aplicaciones web modernas, la tarea de proteger las API es fundamental para la ciberseguridad general. No proteger correctamente las API puede tener un impacto muy negativo en una organización.
Exposición de datos confidenciales: cuando los atacantes utilizan las API para obtener acceso a los sistemas back-end, pueden robar datos confidenciales, como información de identificación personal de los clientes, planes empresariales, registros financieros y propiedad intelectual.
Pérdida de confianza: las organizaciones que sucumben a las amenazas de seguridad de las API a menudo experimentan una pérdida de confianza de los clientes y socios, lo que afecta significativamente a las oportunidades de negocio y a los resultados. Después de un ataque a las API, un equipo de seguridad también puede enfrentarse a una pérdida de confianza y a un deterioro de la credibilidad entre las partes interesadas internas clave, como los altos cargos y la junta directiva.
Fallos de cumplimiento: el robo o la exposición de información confidencial en una filtración de datos puede dar lugar a multas y sanciones legales significativas para organizaciones de sectores muy regulados. Muchas organizaciones tienen en cuenta las API a la hora de plantearse su enfoque para cumplir las normativas de seguridad de datos, pero muchas menos son conscientes de las prácticas recomendadas para la seguridad y el cumplimiento de las API.
Brechas de datos y ciberataques: muchos ciberdelincuentes utilizan ataques a las API para obtener acceso a entornos de TI y lanzar ciberataques maliciosos de mayor envergadura.
Interrupción del servicio: Dado que las API son esenciales para conectar aplicaciones y sistemas, un ataque a una API puede interrumpir servicios y sistemas, así como provocar interrupciones o una pérdida significativa de productividad.
Daños financieros: además de permitir a los atacantes vaciar cuentas financieras, los ataques a las API suponen un coste elevado para una organización en procesos de mitigación, investigaciones forenses, pérdida de productividad y pérdida de oportunidades de negocio.
Desafíos en la seguridad de API
Para proteger las API, los equipos de TI deben superar una serie de desafíos importantes.
Ecosistemas de API complejos: con miles de API, numerosos terminales de API y diferentes tipos de solicitudes, el ecosistema de API de una organización suele ser bastante complejo. Además, la presencia digital de una organización puede contener API de código abierto, de terceros y en la sombra que dificultan el inventario de todos los activos. Como resultado, es posible que los equipos de TI no puedan ni siquiera visualizar el 100 % de las API, y mucho menos protegerlas con medidas de seguridad sólidas.
Amenazas cambiantes: los atacantes están desarrollando constantemente nuevas formas de explotar las API, lo que requiere una constante vigilancia y actualizaciones de las medidas de seguridad.
Interconexión: debido a que las API están tan interconectadas en todo un entorno de TI, los equipos de TI se muestran reacios a introducir medidas de seguridad que puedan provocar latencia, un rendimiento deficiente o límites de escalabilidad.
Proliferación no gestionada: en muchas empresas, diversos equipos desarrollan rápidamente las API sin un marco central que las proteja y gestione su desarrollo.
Presión de entrega: el rápido ritmo del ciclo de vida del desarrollo de software moderno genera tensión entre la necesidad de proteger las API y la presión para llevar a producción rápidamente las nuevas versiones.
Tecnología para proteger las API
Los equipos de TI pueden adoptar varias capas de tecnología para proteger correctamente las API. Estos son cuatro ejemplos de herramientas tradicionales que suelen utilizar las organizaciones para gestionar las API y proporcionar un conjunto de protecciones de referencia.
Protocolos de autenticación y autorización: la autenticación y la autorización son elementos esenciales de la seguridad de las API . Protocolos como OAuth 2.0, OpenID Connect y JSON Web Tokens (JWT) pueden ayudar a verificar la identidad de los usuarios y controlar el acceso a los recursos. La implementación de estas tecnologías en combinación con el control de acceso basado en funciones y el control de acceso basado en atributos puede mejorar significativamente los esfuerzos para proteger las API.
Plataformas de gestión de API: los proveedores de plataformas de gestión de API ofrecen herramientas completas para ayudar a las organizaciones a crear, publicar, supervisar, analizar y proteger API. Estas soluciones ofrecen una forma centralizada de gestionar todo el ciclo de vida de las API, desde el desarrollo hasta su retirada.
Puerta de enlace de API: una puerta de enlace de API sirve como un único punto de entrada para todo el tráfico de API y gestiona tareas como la limitación de velocidad, la regulación y la validación de solicitudes de API. Dado que las API y las puertas de enlace capturan registros detallados del tráfico y las actividades, también pueden proporcionar capacidades de supervisión en tiempo real.
Firewall de aplicaciones web (WAF): Los WAF protegen las API mediante el filtrado y la supervisión de las solicitudes HTTP. Un WAF se sitúa entre clientes y servidores para supervisar, filtrar y analizar el tráfico HTTP/HTTPS hacia y desde aplicaciones web. Resulta especialmente útil para defenderse de los ataques dirigidos a la capa de aplicación.
Sin embargo, la complejidad y la frecuencia de los ataques a las API requieren otra capa de seguridad además de las herramientas tradicionales utilizadas por muchas organizaciones. Las empresas deben utilizar una solución de seguridad de API completa que proporcione detección de API, gestión de la estrategia de seguridad de API, protección del tiempo de ejecución y pruebas de seguridad de API.
Este enfoque integral funciona como un complemento importante de las herramientas existentes de una organización para gestionar y proteger las API, como las puertas de enlace de API y los WAF.
Detección de API: La mayoría de las organizaciones tienen poca o ninguna visibilidad sobre un gran porcentaje de su tráfico de API, a menudo porque asumen que todas sus API se enrutan a través de una puerta de enlace de API. Sin embargo, este no es el caso. Muchas de las API de una organización típica no se gestionan (por ejemplo, API inactivas que quedan olvidadas, pero que siguen funcionando y siguen en contacto con datos confidenciales). Sin un inventario completo y preciso, su empresa está expuesta a toda una serie de riesgos. Capacidades principales necesarias:
Localización y realización de un inventario de todas sus API, independientemente de cuál sea su configuración o tipo.
Detección de las API inactivas, heredadas y zombis.
Identificación de los dominios ocultos olvidados, descuidados o desconocidos.
Eliminación de los puntos ciegos y descubrimiento de posibles rutas de ataque.
Gestión de la estrategia de las API: Con un inventario completo de las API, es fundamental conocer qué tipos de datos se transmiten a través de las API y cómo afecta esto a su capacidad para cumplir los requisitos normativos. La gestión de la estrategia de API proporciona una visión completa del tráfico, el código y las configuraciones para evaluar el nivel de seguridad de sus API. Capacidades principales necesarias:
Análisis automático de la infraestructura para detectar errores de configuración y riesgos ocultos.
Creación de flujos de trabajo personalizados para informar acerca de las vulnerabilidades a los principales interesados.
Identificación de las API y los usuarios internos que pueden acceder a los datos confidenciales.
Clasificación de los problemas detectados en función de la gravedad para priorizar la corrección de los más críticos.
Seguridad de API en tiempo de ejecución: sin duda, ya conoce el concepto de "asumir que se va a producir una filtración". Las filtraciones y los ataques específicos de las API están alcanzando el mismo grado de inevitabilidad. Para todas las API activas en fase de producción, debe ser capaz de detectar y bloquear los ataques en tiempo real. Capacidades principales necesarias:
Supervisión de la manipulación y filtración de datos, las infracciones de políticas, el comportamiento sospechoso y los ataques a las API.
Análisis del tráfico de las API sin necesidad de realizar cambios adicionales en la red ni implementar agentes difíciles de instalar.
Integración de los flujos de trabajo existentes (incidencias, gestión de eventos e información de seguridad [SIEM], etc.) para alertar a los equipos de seguridad y operaciones.
Prevención de los ataques y del uso indebido de los datos en tiempo real con correcciones parcial o totalmente automatizadas.
Pruebas de seguridad de las API: Los equipos de desarrollo de las API se ven sometidos a la presión de trabajar con la mayor rapidez posible. La velocidad es esencial para todas las aplicaciones desarrolladas, lo que facilita que se produzca una vulnerabilidad o un defecto de diseño y que, posteriormente, no se detecte. Probar las API durante el desarrollo antes de que se envíen a la fase de producción reduce en gran medida tanto el riesgo como el coste de corregir una API vulnerable. Capacidades principales necesarias:
Ejecución de una amplia variedad de pruebas automatizadas que simulan tráfico malicioso.
Detección de las vulnerabilidades antes de poner las API en funcionamiento, lo que reduce el riesgo de que un ataque logre su objetivo.
Análisis de las especificaciones de sus API con respecto a las políticas y normativas de control establecidas.
Realización de pruebas de seguridad bajo demanda dirigidas a las API o como parte de un proceso de integración e implementación continuas (CI/CD).
Nota: Además de las soluciones de seguridad de API, las organizaciones pueden explorar las capacidades de la protección de API y aplicaciones web (WAAP). Diseñada para identificar y mitigar rápidamente las amenazas procedentes de diversos vectores de ataque, la WAAP amplía las protecciones tradicionales de un WAF. Una solución de seguridad de API, que funciona conjuntamente con WAF y WAAP, amplía las protecciones incluso más allá del firewall para crear la defensa más sólida posible.
Prácticas recomendadas generales para proteger las API
Estas prácticas recomendadas de seguridad de las API pueden ayudar a las organizaciones a mitigar los riesgos de seguridad y garantizar una seguridad sólida de las aplicaciones web:
Cifrar los datos en tránsito: utilice los protocolos de seguridad de la capa de transporte (TLS) y capa de sockets seguros (SSL) para cifrar los datos a medida que se mueven entre los clientes y la API, lo que garantiza que las llamadas de API no se puedan interceptar ni manipular.
Validar y sanear las entradas: garantice que todas las entradas estén correctamente validadas y saneadas para evitar ataques de inyección. La validación es el proceso de comprobación para asegurarse de que las entradas se ajustan a las expectativas sobre lo que se consideran datos válidos. El saneamiento es el proceso de limpieza o filtrado de entradas para eliminar cualquier contenido potencialmente malicioso o dañino.
Usar la limitación y regulación de velocidad: controle el número de solicitudes de API para evitar el abuso o el uso excesivo de API, evitar el consumo excesivo de recursos y bloquear posibles ataques DoS y DDoS.
Supervisar y registrar la actividad de API: mantenga registros detallados de las llamadas de API y supervise la actividad inusual. Al analizar los registros, los equipos de seguridad pueden descubrir patrones de actividad sospechosos o anómalos, como picos de tráfico extraños o repetidos intentos de inicio de sesión fallidos que pueden indicar una amenaza de seguridad.
Realizar pruebas de seguridad periódicas: utilice pruebas y auditorías de seguridad periódicas para identificar y corregir vulnerabilidades. Pueden realizarse pruebas tanto en entornos de desarrollo como en entornos de producción para maximizar la capacidad de un equipo de seguridad para detectar defectos.
Implementar el acceso de mínimo privilegio: Garantice que los usuarios y los servicios solo tengan el nivel mínimo de acceso necesario para realizar sus funciones. Esto ayuda a evitar el acceso no autorizado a las API y los recursos de TI.
Proteger terminales de API: proteja los terminales de API con medidas de seguridad adecuadas, como el uso de una puerta de enlace de API y un firewall de aplicaciones web.
Practicar un diseño de API seguro: una de las formas más importantes de proteger las API es introducir la seguridad lo antes posible en el proceso de diseño. Al probar y erradicar los defectos durante el desarrollo, los equipos de desarrollo pueden limitar el riesgo de que los atacantes exploten vulnerabilidades después de que las API se pongan en producción.
Supervisar los 10 principales riesgos según OWASP: el Proyecto Abierto de Seguridad de Aplicaciones Web (OWASP) es una fundación sin ánimo de lucro que trabaja para mejorar la seguridad del software. Los 10 principales riesgos de seguridad de las API según OWASP es una lista de los problemas de seguridad de API más importantes que deben abordar los desarrolladores y los profesionales de la seguridad.
Adoptar los principios Zero Trust: un marco Zero Trust para la seguridad asume que ningún usuario, dispositivo ni aplicación dentro o fuera de un entorno de TI puede ser de confianza por naturaleza. Al requerir autenticación y validación continuas en cada solicitud de acceso a las API, un marco Zero Trust evita el acceso no autorizado y limita el daño de los ataques que han vulnerado con éxito las defensas de una organización.
Utilizar claves de API: una clave de API es un identificador único que autentica la aplicación o el sitio web que realiza una llamada de API, en lugar de la persona que utiliza el sitio web. Las claves de API ayudan a evitar llamadas no deseadas, accesos no autorizados y filtraciones de datos.
Preguntas frecuentes
El protocolo simple de acceso a objetos (SOAP) y la transferencia de estado representacional (REST) son diferentes tipos de API. Como protocolo de mensajes altamente estructurado que utiliza XML para la mensajería, el diseño de las API SOAP es más seguro gracias a estándares integrados como WS-Security. Las API REST ofrecen un enfoque más sencillo para las API, pero no tienen capacidades de seguridad integradas. Se debe añadir seguridad para la transmisión, implementación e interacción de datos.
Los terminales de API son rutas específicas a través de las cuales las API interactúan con otros sistemas o aplicaciones. Cada terminal representa una función o recurso únicos en la API, y proteger estos terminales es crucial para evitar el acceso no autorizado y los ataques.