BLOG

Cómo funcionan las API y por qué representan un posible problema de seguridad

Miniatura de Frank Kyei-Manu
Frank Kyei-Manu
Publicado el 25 de octubre de 2022

Muchos de nosotros probablemente hayamos escuchado el término interfaz de programación de aplicação (API) , pero a menos que seamos desarrolladores de aplicação o tengamos roles técnicos, es posible que no estemos completamente seguros de qué es realmente una API (o qué hace). El significado ciertamente no es intuitivo.

Una API facilita un canal para que una aplicação acceda a la información y las capacidades de otra. Sin embargo, puede que sea necesario un contexto adicional, así que comencemos con una analogía básica.

Explicación de las API

Supongamos que sufre un accidente automovilístico y necesita reparar su vehículo. Encuentre un taller de reparación con buena reputación y trabaje con un representante de servicio para analizar el trabajo que debe realizarse, obtener respuestas a sus preguntas, obtener un presupuesto y programar una cita.

No depende de usted contratar un mecánico, pedir piezas, proporcionar las herramientas y el equipo necesarios para el taller, realizar pruebas de diagnóstico, etc. Si es necesario reemplazar el parabrisas, volver a pintar la carrocería o realinear las ruedas, su representante de servicio también organizará que se realicen dichos servicios externos.

Puede pensar en el representante de servicio como la interfaz entre usted y el taller: el mensajero e intérprete que maneja su solicitud de servicios y, al mismo tiempo, le ahorra tener que saber acerca de todos los detalles y complejidades detrás de escena involucrados en la reparación de su automóvil.

El representante de servicio trabaja en su nombre tomando su solicitud, interpretándola y traduciéndola correctamente, organizando todos los servicios necesarios para cumplir con su solicitud y, finalmente, respondiéndole devolviéndole su automóvil en condiciones de funcionamiento.

Los términos y conceptos importantes a los que prestar atención en este escenario son la interfaz como mensajero e intérprete/traductor, el proceso de solicitud-respuesta y la noción de protegerlo a usted, el solicitante, de los detalles de cómo se realizan las reparaciones. Todos estos conceptos son fundamentales para el funcionamiento de las API.

Apliquemos ahora algunos de estos conceptos a una aplicação típica que puedes usar todos los días, como una aplicación de viajes típica en tu teléfono. Es probable que la aplicación proporcione información actualizada sobre vuelos, hoteles, cruceros, transporte terrestre, tours y más. Es poco probable que la empresa que fabrica esta aplicación tenga toda esta información almacenada en sus propias bases de datos o toda la experiencia internamente. En cambio, estos datos se entregan a través de una aplicación que utiliza API puestas a disposición por proveedores asociados, como hoteles, aerolíneas, líneas de cruceros, etc. Las API son como esos representantes de servicio en el taller de reparaciones, que brindan lo que necesita el cliente solicitante (en este caso, su aplicación de viajes) y minimizan la complejidad innecesaria.

Los componentes básicos de las aplicaciones modernas

Hoy en día, las API se han convertido en los componentes básicos de las aplicações modernas. Y como describimos en nuestro blog anterior de esta serie, Cómo se crean e implementan las aplicaciones modernas , los contenedores también son esenciales para las aplicações modernas, ya que dividen la aplicação en componentes distintos para que sea más fácil administrar el desarrollo y las actualizaciones futuras.

Las API son efectivamente los canales de comunicación entre estos clústeres de contenedores y los servicios de aplicação que comparten. Además, facilitan el intercambio de datos con servidores y bases de datos externos. (Véase la Figura 1 a continuación.)

La desventaja es que las API pueden exponer datos a terceros. Esto hace que las API de una organización sean extremadamente atractivas para los atacantes, no solo para acceder a los datos, sino como posibles puntos de entrada a otros sistemas críticos dentro de la infraestructura de una organización. Si no se toman las precauciones y los controles de seguridad adecuados, las API pueden representar riesgos graves para las organizaciones.

Figura 1: Los clústeres de contenedores y los servicios de aplicação que comparten se comunican a través de API

Las API amplían la superficie de ataque

A medida que las API se vuelven fundamentales para el desarrollo de aplicação modernas, la superficie de ataque continúa expandiéndose. Lamentablemente, muchas organizaciones se han quedado atrás en el mantenimiento de un inventario adecuado de las API que se conectan a sus aplicaciones. También deben asegurarse de que las API se mantengan y actualicen periódicamente para evitar nuevas vulnerabilidades.

Al explotar las vulnerabilidades de la API, los atacantes pueden obtener acceso a la red y potencialmente comprometer los datos más confidenciales de una organización, incluida la información de identificación personal (PII) o la propiedad intelectual (IP). Esto puede dañar la marca y la reputación de una empresa, generar pérdida de ingresos y generar multas significativas.

Las API son susceptibles a muchos de los mismos tipos de ataques que atacan a las aplicações web y móviles, entre ellos:

  • Insertar código malicioso en un programa API, generalmente donde un usuario común ingresa su nombre de usuario y contraseña, lo que se conoce como inyección.
  • Inundar las API con más tráfico del que pueden manejar, lo que hace que las aplicaciones con las que se comunican no estén disponibles para los usuarios previstos, generalmente conocido como ataque de denegación de servicio distribuido (DDoS).
  • Usar credenciales robadas para intentar obtener acceso no autorizado a las API (generalmente conocido como credential stuffing).

Comprender los riesgos potenciales

Las API se han convertido en el método preferido para crear aplicações modernas. Y si bien el concepto de extraer información de una fuente externa a una aplicação no es nuevo, los métodos de desarrollo de aplicaciones en constante evolución y la presión por innovar implican que las organizaciones quizás aún no hayan comprendido los riesgos potenciales que implica hacer que sus API estén disponibles públicamente antes de protegerlas adecuadamente.

La buena noticia es que proteger las API no supone ningún gran misterio. La mayoría de las organizaciones ya cuentan con medidas para combatir ataques conocidos, como inyecciones, amenazas DDoS, credential stuffing y otros tipos de ataques que también tienen como objetivo las API.

Mire el video a continuación para saber cómo F5 está ayudando a las organizaciones a proteger las API que impulsan sus experiencias digitales.
 

Asegúrese de consultar las otras publicaciones de blog en nuestra serie de cuatro partes para el Mes de Concientización sobre la Ciberseguridad: Cómo se crean e implementan las aplicaciones modernas , cómo los actores maliciosos explotan las aplicações con ataques y cómo los ciberdelincuentes se apoderan de las cuentas en línea .