BLOG | OFICINA DEL CTO

La protección de los puntos finales de las API dificulta su seguridad.

Miniatura de Lori MacVittie
Lori MacVittie
Publicado el 30 de enero de 2024

No faltan estadísticas respecto a la (in)seguridad de las API . Una búsqueda rápida en Internet le proporcionará prácticamente cualquier perspectiva sobre el tema que le guste. Basta decir que (a) los ataques API están en aumento y (b) algunos de esos ataques son exitosos. 

También es común observar que las organizaciones tienen dificultades para encontrar todas las API que se esconden en su organización. Esto no se debe únicamente a que dichas API están distribuidas en el núcleo, la nube y el borde. Esto se debe a que, aparte de la conocida Especificación de API Abierta (OAS), no existen “estándares” reales en los que basarse para definir, y mucho menos encontrar, API. 

Eso no significa que los necesitemos. Después de todo, teníamos SOAP, WSDL y UDDI y, aunque la gente todavía los usa y confía en XML como formato de datos, la mayor parte del mundo ha migrado a REST, JSON, GraphQL y gRPC. 

Incluso si tuviéramos estándares, no cambiaría el hecho de que las API son difíciles de proteger. 

Esto se debe a que el término API es un término general. Por ejemplo, la API de OpenTelemetry es simplemente una forma de decir: "estamos poniendo las capacidades de OpenTelemetry a disposición de los desarrolladores". No es como si tuvieras una política de seguridad que cubra la API de Open Telemetry. Eso sería ideal y facilitaría mucho las cosas. Pero eso no es lo que tenemos. Lo que tenemos son políticas de seguridad que cubren los puntos finales de la API de OpenTelemetry. 

Vamos a profundizar en ello, ¿de acuerdo?

API y puntos finales

Utilicemos la API de IA abierta como ejemplo porque todo el mundo está entusiasmado con la IA generativa en este momento. 

Lo primero que notarás es que, si bien solo hay “una” API, hay muchos puntos finales. ¿Cuántos? Ese número cambia cada vez que se introducen nuevas capacidades. 

Aquí hay una lista (no exhaustiva): 

  • https://api.openai.com/v1/chat/completions 
  • https://api.openai.com/v1/audio/speech 
  • https://api.openai.com/v1/audio/transcriptions 
  • https://api.openai.com/v1/audio/translations 
  • https://api.openai.com/v1/embeddings 
  • https://api.openai.com/v1/fine_tuning/jobs
  • https://api.openai.com/v1/files 

La IA generativa multimodal agrega medios (audio y video) a la lista de tipos de contenido, pero agrega nuevos puntos finales para manejar solicitudes de procesamiento. Las características adicionales, como el uso de herramientas, también pueden ampliar el número de puntos finales. Cada avance, cada nueva capacidad que nos entusiasma, generalmente agrega otro punto final a la API. 

También notarás la “v1” en esos puntos finales. Esto significa que cuando salga la versión 2, será necesario otro conjunto de políticas de seguridad para cubrir estos puntos finales, y algunas de esas políticas deberán cambiar en función de lo que haya cambiado en el punto final real. 

Esto también existe en la pila de TI, donde la automatización se logra a través de API de dispositivos. La cantidad de puntos finales depende en gran medida de su entorno. Cuantos más dispositivos tenga bajo administración, más puntos finales necesitará administrar y proteger. Ah, y no olvidemos que no hay dos dispositivos que usen la misma API. Sería una locura, ¿no? Es casi como si dos proveedores de nube acordaran usar la misma API. Probablemente por eso la complejidad sigue siendo la razón más citada para no automatizar diversas tareas operativas. Demasiadas herramientas y API dificultan la automatización y aún más la protección. 

Pero la seguridad de la API debe abordar todos esos puntos finales porque son el medio por el que ingresan los atacantes. Y cada punto final requiere un conjunto diferente de parámetros que terminan en la carga útil como JSON (o XML o GraphQL o objetos ). Deben existir límites sobre lo que puede contener cada parámetro: ¿Es alfanumérico? ¿Personajes? ¿Una gama de valores? ¿Cuánto tiempo puede durar? ¿Qué caracteres no están permitidos? Toda esta información se traduce en una política que impone el aspecto del contenido y, al hacerlo, evita que se filtren ataques. 

Desarrollar una política exclusiva para la API de Open AI llevará algún tiempo. Y es solo una API. La mayoría de las organizaciones tienen un promedio de 442,8 API, según nuestro próximo estudio de 2024 , y esa cifra se dispara en el caso de las organizaciones muy grandes. Si consideramos cuántos puntos finales (y versiones de puntos finales) podría significar eso, queda claro rápidamente por qué la seguridad de las API es tan difícil. 

Y por qué los atacantes tienen tanto éxito como para seguir atacándolos.