Cómo prevenir las APIs Sombreadas y APIs Zombi
Autor: Orlando Eutimio
“Las APIs son la columna vertebral de la conectividad en el mundo digital”, brindan un medio estandarizado y eficiente para integrar, extender e innovar plataformas tecnológicas. Pero, dado que solo una minoría de las organizaciones afirman tener un programa de API maduro, es demasiado común tener controles deficientes que generen una proliferación de API.
Cuando hablamos de las APIs, es importante conocer los términos “API Shadow y API Zombies”, habitualmente utilizados para describir dos tipos de problemas relacionados con la gestión de APIs que pueden tener implicaciones importantes para la seguridad y el mantenimiento de las aplicaciones.
¿Qué sucede con las API shadow y zombies?
Las API Shadow y las API zombies son un gran desafío para la mayoría de las soluciones de seguridad de API, en donde la mayoría de estas se enfocan en la detección de los endpoint en base al análisis de tráfico que las APIS generan, siendo un reto importante cuando existen APIs que tienen una baja tasa de peticiones.
Pero que son realmente los términos ya mencionados:
API Shadow:
Cuando una API se utiliza de manera que no está completamente documentada o es parcialmente accesible. En otras palabras, se trata de una API que tiene partes de su funcionalidad expuestas, pero no toda su implementación o características están especificadas y detalladas en la documentación pública.
Se describen algunas razones por las que se podrían encontrar una API sombreada:
- Privacidad y Seguridad: Algunas APIs pueden tener funcionalidades avanzadas o sensibles que se mantienen ocultas para proteger la seguridad o la privacidad de los datos.
- Desarrollo en Proceso: Puede ser que la API esté en desarrollo o en una fase de prueba, y algunas características aún no están listas para ser documentadas o expuestas al público.
- Licenciamiento o Restricciones: En algunos casos, ciertas partes de una API pueden estar restringidas o requerir permisos especiales para acceder a ellas, lo que puede llevar a una documentación incompleta para usuarios generales.
- Uso Interno: A veces, las APIs se diseñan principalmente para el uso interno dentro de una organización y se exponen parcialmente para socios o desarrolladores externos bajo condiciones específicas.
En general, una API sombreada puede ser un riesgo para la organización, es posible que las API Shadow no tengan las puertas de acceso y autenticación adecuadas, o que expongan datos confidenciales de forma incorrecta.
API Zombie:
Cuando los desarrolladores crean una API actualizada, a menudo no desmantelan la versión anterior de inmediato. En cambio, la nueva API se ejecuta en paralelo con la API antigua para garantizar que la experiencia del usuario no se vea afectada si surge algún problema.
Se describe algunos ejemplos de escenarios relacionados a API Zombies:
- API Obsoleta o Desactualizada: En algunos casos, «API zombie» puede referirse a una API que todavía está activa o accesible pero que ya no recibe soporte o actualizaciones. En otras palabras, es una API que ha sido abandonada por sus desarrolladores y ya no se encuentra en desarrollo activo, pero sigue disponible para su uso. A menudo, estas APIs pueden tener problemas de seguridad o incompatibilidad con tecnologías más recientes.
- API No Documentada: A veces, el término se usa para describir una API que está disponible pero no está bien documentada. Puede estar en un estado de «zombificación» porque es funcional pero no tiene la documentación adecuada que facilite su uso o integración por parte de los desarrolladores.
- API Sin Mantenimiento: Similar al concepto de obsolescencia, una «API zombie» puede referirse a una API que está en desuso o que tiene problemas, pero sigue en funcionamiento. Puede estar disponible para ciertos usuarios o sistemas pero no recibe mantenimiento activo o soporte.
- API en Desuso: Puede también referirse a APIs que alguna vez fueron populares pero que ya no se usan ampliamente o han sido reemplazadas por otras tecnologías. Estas APIs pueden seguir operativas, pero su uso ha disminuido significativamente.
En resumen, una «API zombie» suele implicar que la API sigue existiendo en cierta medida, pero ha perdido relevancia, soporte, o mantenimiento. Por lo que se convierte en un riesgo para la organización.
Protección de API de Izquierda a Derecha
En lugar de depender del tráfico de API, se recomienda realizar la protección hacia la izquierda (Shift Left) e integración hacia la derecha es el mejor enfoque para la seguridad de API, protegiendo las API a medida que se desarrollan y se envían a producción, ayudando a su organización a identificar y protegerse contra las API Shadow y Zombies.
¿De qué forma Checkmarx ayuda en la Seguridad de las APIs?
Checkmarx API Security, forma parte de la plataforma de seguridad de aplicaciones Checkmarx One, permite a los equipos de AppSec abordar la seguridad de API como parte de una estrategia de seguridad de aplicaciones más amplia y holística, adoptando un enfoque diferente en materia de seguridad de API.
Checkmarx ayuda a las organizaciones a descubrir todas sus API en código (incluidas las API fantasma y las API zombi), así como abordar los riesgos de seguridad en una etapa más temprana del ciclo de vida del desarrollo de software (Shift Left), donde son menos disruptivos, requieren menos tiempo y el costo de mitigación es menor.
Beneficios:
Visibilidad de las APIs:
- Proporciona a los equipos de AppSec la visión más precisa y actualizada de toda su superficie de ataque de API, lo que elimina el problema de las API fantasma y las API zombi.
Enfoque shift-left:
- Descubre las API en el código fuente de la aplicación para identificar y solucionar problemas en una etapa más temprana del ciclo de vida del desarrollo de software (SDLC), de forma más rápida, con menos costos y con menos riesgos.
Priorización de mitigación:
- Centra a los desarrolladores y a los equipos de seguridad de aplicaciones en la solución de los problemas más críticos al priorizar las vulnerabilidades de las API en función de su impacto y riesgo reales.
Visión holística del riesgo de las aplicaciones:
- Analiza toda la aplicación con una única solución, lo que elimina la necesidad de herramientas adicionales específicas de API para reducir la sobrecarga de los equipos de seguridad de aplicaciones sobrecargados. Centraliza los resultados bajo una misma plataforma.
En TrustDimension podemos ayudar a tu organización a integrar la seguridad de las APIs en su SDLC, mediante las soluciones de Checkmarx. Contáctanos para obtener más información.