¿Qué es el descubrimiento de API?

Persona sentada en un escritorio, trabajando en un ordenador

¿Qué es el descubrimiento de API?

El descubrimiento de API es el proceso de identificar y catalogar todas las API que utiliza una organización (tanto internas como de terceros) y documentar las funciones de las API, los endpoints, las estructuras de datos y otra información relevante.

El descubrimiento de API crea un inventario de las interfaces de programación de aplicaciones (API) en uso, lo que hacen, quién tiene permisos de acceso y mucho más. También puede ayudar a descubrir cualquier API oculta u olvidada, lo que es importante para mitigar los riesgos de seguridad.

Las API son una parte vital del desarrollo de software moderno y proporcionan un intercambio bidireccional: permiten a los desarrolladores y a las aplicaciones solicitar datos, añadir servicios y aprovechar las capacidades de otras aplicaciones, a la vez que ofrecen a los propietarios de aplicaciones una forma de compartir, dar a conocer y comercializar sus productos. Esta funcionalidad esencial conlleva una mayor complejidad y vulnerabilidades.

La gestión de API es fundamental para proteger estas vulnerabilidades y garantizar que el ecosistema de API funcione según lo previsto. Es importante saber exactamente cuántas API hay, de qué tipo y cuál es su popularidad, por motivos de seguridad de las API, autenticación, eficiencia, protección de datos confidenciales y para mantener una visión general de cómo se utiliza una aplicación determinada. Pero, ¿cómo descubre el propietario de una aplicación toda esta información? Ahí es donde entra en juego el descubrimiento de API.

¿Por qué es importante el descubrimiento de API?

Las API o interfaces de programación de aplicaciones son conjuntos de reglas y protocolos que permiten que las aplicaciones y los servicios se comuniquen entre sí. Son esencialmente los intermediarios que permiten a las aplicaciones extraer datos en tiempo real de todo tipo de fuentes diferentes. Las API proporcionan datos meteorológicos en aplicaciones del tiempo, aceleran los procesos de pago en aplicaciones de compras y muestran mapas en las páginas web de restaurantes, entre muchos otros casos de uso. En las empresas, las API se utilizan para integrar flujos de trabajo y plataformas, conectar microservicios, facilitar el intercambio de activos, poner las aplicaciones a disposición de usuarios externos y mucho más.

Dada la gran cantidad de aplicaciones que utilizan las empresas modernas, con una media de más de mil según una encuesta de Salesforce, es importante que las organizaciones tengan una sólida práctica de descubrimiento de API. El descubrimiento de API se refiere al proceso de encontrar API documentadas y ocultas, crear directorios y compilar un inventario de las API descubiertas. Hay muchas razones por las que el descubrimiento de API es tan importante, tanto por los beneficios que puede ofrecer como por las posibles repercusiones que puede tener en la seguridad de las aplicaciones que puede el hecho de descuidar de este proceso. El descubrimiento de API es una parte fundamental de la elaboración de una documentación completa y exhaustiva sobre las API.

Evite la redundancia

La redundancia (la creación de múltiples instancias de características iguales o similares que saturan la documentación) puede afectar gravemente a los procesos de desarrollo al reducir la eficiencia y la productividad. En resumen, crear una nueva API que en realidad no es nueva puede suponer una pérdida de tiempo y recursos. El descubrimiento y la documentación de API adecuados pueden reducir la posibilidad de redundancia de API. Si es fácil encontrar documentación sobre una rueda, no hay necesidad de reinventarla.

Acelere el desarrollo de aplicaciones y promueva la colaboración

Mediante el uso de herramientas de descubrimiento de API para descubrirlas y producir documentación sólida sobre ellas, los desarrolladores pueden comprender mejor a qué aplicaciones y servicios existentes (tanto internos como externos) pueden acceder e integrar. Al utilizar servicios y funciones preexistentes, los desarrolladores pueden acelerar la producción, ampliar las capacidades de las aplicaciones y reducir el tiempo de comercialización.

El descubrimiento de API permite crear un inventario de las mismas que ayuda a los desarrolladores a localizar y utilizar los servicios existentes. Esto tiene el beneficio añadido de animar a los desarrolladores a integrar los datos y servicios de una aplicación proporcionando un menú de opciones.

El descubrimiento de API y el mantenimiento constante de un catálogo al respecto permiten a los equipos encontrar rápida y fácilmente las API existentes. Esto puede mejorar la eficiencia, reducir el trabajo innecesario e incluso mejorar el flujo de trabajo al alertar a los desarrolladores sobre capacidades de las que pueden no haberse dado cuenta.

Proteger los datos confidenciales

Mantener un catálogo de API actualizado es una excelente manera de controlar quién tiene acceso a datos confidenciales, como información de usuario y claves de API. Al utilizar el descubrimiento de API para encontrar todas aquellas que acceden a datos confidenciales, el propietario de una aplicación puede monitorizar con mayor facilidad quién tiene acceso a qué y asegurarse de que las API y las aplicaciones cumplen todas las leyes y directrices aplicables. Esto es especialmente vital dada la prevalencia de las API invisibles.

¿Qué hace el descubrimiento de API?

El descubrimiento de API implica descubrir muchos detalles diferentes sobre ellas (el tipo de API, qué hacen, a qué datos tienen acceso y mucho más) que ayudan a los desarrolladores a identificar y comprender mejor las API que utiliza una organización. El descubrimiento de API genera información sobre ellas, entre la que se incluye:

Protocolo, arquitectura y formatos de datos compatibles: el proceso de descubrimiento ayuda a documentar qué protocolo o arquitectura utilizan las API (como REST, GraphQL, SOAP o RPC) y qué formatos de datos aceptan (como JSON, XML y YAML).

Endpoints de API: son la ubicación de un almacén de datos o servicio, generalmente representado como una URL.

Autenticación: las API suelen estar protegidas para que solo los clientes, proyectos y usuarios reconocidos puedan acceder a ellas. El descubrimiento de API ayuda a descubrir las especificaciones de autenticación.

Métodos y parámetros: el descubrimiento de API descubre acciones compatibles como GET, PUT, DELETE y POST y los parámetros que acepta la API.

¿Cómo afecta el descubrimiento de API a la seguridad de las API?

El descubrimiento de API puede desempeñar un papel importante en el fortalecimiento de la seguridad de las mismas. Una documentación y gestión de API adecuadas dan a los propietarios de aplicaciones una visión completa del uso de las API, lo que puede hacer que sea más fácil descubrir vulnerabilidades de seguridad. A su vez, el propietario o desarrollador de una aplicación puede entonces corregir cualquier problema potencial.

Una de las formas más importantes en que el descubrimiento de API contribuye a la seguridad de las mismas es mediante la localización de API ocultas.

¿Qué son las API ocultas?

El término “oculto” no es del todo exacto, ya que una API oculta no es necesariamente maliciosa. En cambio, “API oculta” se refiere a las API que no están documentadas y no se incluyen en la documentación de la API. Hay muchas API ocultas que son perfectamente inocuas, como las características de desplazamiento infinito o muchas características de autocompletado en los campos de texto de las aplicaciones web.

Dicho esto, incluso las API ocultas e inocuas pueden suponer posibles quebraderos de cabeza para los equipos de seguridad. Las API ocultas, al quedar excluidas de las soluciones de seguridad, no estarán sujetas a las medidas normativas y de seguridad habituales que aplica el propietario de la aplicación, como los firewalls. Existen muchos tipos diferentes de API ocultas, desde las que simplemente se han olvidado hasta las que son activamente dañinas, por lo que el proceso de descubrimiento de API es tan importante.

API en la sombra

Aunque no son necesariamente maliciosas, las API invisibles se definen como API que no están gestionadas ni protegidas por la entidad que las utiliza. Sin visibilidad de las API, estas existen fuera del alcance de la seguridad de una empresa y son vulnerables a los ataques.

Un informe de 2022 descubrió que alrededor del 31 % de las transacciones maliciosas se dirigían a las API invisibles, lo que las convierte en un riesgo notable para la seguridad. Los ataques a las API dirigidos a las API invisibles tienen el potencial de poner en riesgo datos confidenciales como la información del usuario o los conocimientos privados, lo convierte la ciberseguridad en una razón de peso para utilizar buenas técnicas de descubrimiento de API. Los equipos de seguridad tampoco pueden proporcionar parches a las API que no conocen, lo que significa que las API invisibles pueden tener vulnerabilidades desconocidas para todos, excepto para los hackers inteligentes. Estos pueden ampliar la superficie de ataque o las vías disponibles para los actores malintencionados.

Las API en la sombra surgen de todo tipo de errores, equivocaciones y descuidos en la política de seguridad. Algunos desarrolladores pueden simplemente olvidarse, o no preocuparse lo suficiente, de utilizar la documentación de API adecuada. A veces, las API más antiguas se eliminan de la documentación aunque todavía existen. Las fusiones de empresas también son conocidas por producir muchas API en la sombra. A veces, los desarrolladores crean API invisibles con fines de prueba o para casos de uso muy pequeños y no se molestan en alertar a los equipos de seguridad de su presencia.

API zombis y API fraudulentas

Un tipo ligeramente diferente de API oculta es la API zombi, que es una API que se ha olvidado pero no borrado. Es posible que las API zombis se hayan protegido y mantenido adecuadamente en algún momento, pero desde entonces se han dejado abandonadas, tal vez sin que lo sepa ni siquiera el propietario de la aplicación que las creó. Las API zombis no suelen actualizarse ni recibir parches, pero siguen proporcionando una puerta algo oculta a alguna parte del sistema de la aplicación.

La terminología utilizada para referirse a las API fraudulentas puede variar de una organización a otra; algunas utilizan los términos “API en la sombra” y “API fraudulenta” de forma intercambiable, mientras que otras utilizan “API fraudulenta” para referirse a las API que son deliberadamente maliciosas.

Cómo mejorar el descubrimiento de API

Las prácticas eficaces de descubrimiento de API son consistentes, están bien documentadas y estandarizadas. Seguir estos principios puede ayudar a los desarrolladores (internos y externos, actuales y futuros) a hacer un uso eficiente y seguro de las API.

Estandarización: el uso de especificaciones y protocolos estándar como OpenAPI Specification (OAS), REST y GraphQL puede mejorar el descubrimiento y la compatibilidad de API y ayudar a los consumidores a comprender rápidamente las API.

Documentación: las API con documentación sólida y estandarizada son más fáciles de descubrir, lo que puede reportar beneficios en materia de integración, colaboración y gestión Cuanto mejor sea la documentación, más API se podrán utilizar y mejorar.

Coherencia: es importante realizar con regularidad el descubrimiento de API, ya que las API se añaden, actualizan y retiran continuamente; no se trata de una tarea puntual. Los sistemas automatizados pueden facilitar esta tarea, pero el descubrimiento manual periódico también es eficaz.

Descubrimiento manual vs. automatizado de API

Existen muchas herramientas diferentes de descubrimiento de API, que van desde herramientas manuales hasta herramientas que se basan en la automatización total. Cada una tiene sus puntos fuertes y débiles.

Descubrimiento manual de API

Muchos desarrolladores se han involucrado en alguna forma de descubrimiento manual de API. Esto puede implicar examinar minuciosamente los códigos fuente o monitorizar el tráfico de API en tiempo real en busca de anomalías. Estos métodos manuales pueden, si un equipo de seguridad sabe exactamente lo que está buscando, ser más rápidos y directos que los métodos automatizados. Pero, en general, el descubrimiento manual de API es más lento, menos eficiente, tiende a pasar por alto las API ocultas más sutiles y puede requerir conocimientos más avanzados.

Descubrimiento automático de API

Existen muchas herramientas especializadas y automatizadas de descubrimiento de API. Una puerta de enlace de API, por ejemplo, es un “intermediario” centralizado que recibe y dirige las llamadas API. Las puertas de enlace ayudan a catalogar y monitorizar las API y, por lo general, se encargan de gran parte del trabajo de descubrimiento de API como parte de su función.

Existen otros servicios especializados en la protección de API que ofrecen detección automática de las mismas. Al buscar un servicio de este tipo, es común buscar un proveedor que ofrezca una posición de seguridad robusta, el cumplimiento de normas reconocidas (como la especificación OpenAPI, que evita ser víctima de los 10 principales riesgos de seguridad de las API de OWASP) y una fácil integración con la plataforma de la organización.

La automatización puede hacer que la mejora del ciclo de vida de una API sea mucho más eficiente y garantizar que solo las API seguras tengan acceso a las aplicaciones de software y los recursos asociados.

Soluciones relacionadas
IBM® webMethods Hybrid Integration

Habilite una integración dinámica y escalable que se adapte a las necesidades cambiantes de su negocio. Automatización con IA y basada en API

Descubra IBM webMethods Hybrid Integration
Software y soluciones de IBM Integration

Desbloquee el potencial de negocio con las soluciones de integración de IBM, que conectan aplicaciones y sistemas para acceder a datos críticos de forma rápida y segura.

Explore las soluciones de integración de IBM
Servicios de consultoría en la nube

Aproveche al máximo el valor de la nube híbrida en la era de la IA agéntica

Explore los servicios de consultoría en la nube
Dé el siguiente paso

Habilite una integración dinámica y escalable que se adapte a las necesidades cambiantes de su negocio. Automatización con IA y basada en API.

Descubra IBM webMethods Hybrid Integration Obtenga conocimientos del sector