BLOG | OFICINA DEL CTO

Seguridad de la API: Se requiere programabilidad

Miniatura de Lori MacVittie
Lori MacVittie
Publicado el 16 de octubre de 2024

Ya sean aplicações o API, tradicionales, modernas o de inteligencia artificial, la programabilidad es una herramienta clave en la caja de herramientas de seguridad para abordar problemas de seguridad.

Una de las formas en que mantenemos las aplicações y las API seguras es mediante pruebas de vulnerabilidades y corrección antes de implementarlas ante clientes y socios. Una técnica popular para probar aplicações y API son las pruebas fuzz .

Las pruebas fuzz implican el envío de entradas inesperadas (cadenas en lugar de números, caracteres especiales, demasiado largos, demasiado cortos, etc.) para determinar la respuesta de la API o de la aplicación. Una implementación robusta manejará estas entradas rechazándolas como inválidas. Pero tan importante como probar el manejo de entrada es probar el código que realiza ese manejo de entrada.

En otras palabras, no basta con que la lógica de la aplicação o la API rechace una entrada no válida; la lógica que verifica la entrada no válida también debe ser robusta.

Ahora bien, como suele suceder en el mundo de la seguridad de las aplicação , alguien puede idear una entrada que no se esperaba ni se tuvo en cuenta. Ignoraremos que un buen número de implementaciones de saneamiento de entrada son simplemente malas y pretenderemos que todas son robustas y capaces de detectar el 99 % de las malformaciones.

Incluso con esa suposición utópica, siempre existe ese 1% que nadie considera. Ésta es una de las formas en que nacen las vulnerabilidades de día cero.

A veces son el resultado de un defecto en la pila tecnológica. Tal vez sea el servidor web, el servidor de aplicaciones, el servidor GraphQL. Quizás se trate de un conector a una fuente de datos, como una base de datos vectorial utilizada para respaldar el cada vez más popular caso de uso de generación aumentada por recuperación (RAG) para la IA generativa. O quizás se deba a la aparición de vulnerabilidades de inferencia de IA, como Probllama . Después de todo, la adición de un nuevo nivel dentro de la arquitectura de aplicação más amplia significa nuevas vulnerabilidades.

Éstas son las vulnerabilidades que provocan pánico en Internet. Nos dieron Apache Killer (2011), HeartBleed (2014), Spectre y Meltdown (2018) y Log4Shell (2021).

Éstas eran vulnerabilidades imprevistas. No se podía esperar que los desarrolladores, SecOps, DevSecOps y QA los anticiparan. Realmente no pudieron.

Independientemente de la falta de previsión por parte de los desarrolladores y profesionales de la seguridad, cuando aparece una vulnerabilidad de día cero, es necesario hacer algo . Especialmente si una organización fuera vulnerable porque utiliza la tecnología en cuestión. Eso es lo que convierte el riesgo en amenaza , y las amenazas deben neutralizarse.

Ahí es donde la programabilidad de los servicios de aplicação entra en juego.

La programabilidad de los servicios de aplicação no es nada nuevo. Las organizaciones han estado utilizando la programabilidad desde los primeros días de Internet para implementar una variedad de soluciones.

Los usos más comunes de la programabilidad en la ruta de datos incluyen:

  1. Seguridad : La programabilidad es vital para mitigar las amenazas de día cero y abordar los riesgos de seguridad emergentes.
  2. Mediación de aplicação : Facilita experiencias de usuario fluidas durante las actualizaciones y migraciones de aplicação , apoya la modernización e integra nuevas API de manera rentable.
  3. Orquestación de servicios : Integra flujos de trabajo y servicios de terceros en aplicações sin interrumpir al usuario, lo que acelera el tiempo de comercialización.
  4. Disponibilidad : Admite equilibrio de carga y prácticas de entrega modernas como implementaciones canarias y pruebas A/B.

Sabemos que son comunes porque nuestros datos internos nos dicen que lo son. Más del 70% de nuestros clientes utilizan la programabilidad a diario para una amplia variedad de soluciones. Algunos de ellos se centran en la seguridad.

Por eso, no fue una sorpresa cuando analizamos el mercado en general y descubrimos que la programabilidad ocupaba el primer lugar entre las capacidades técnicas más importantes para la seguridad de las API.

Puntos promedio asignados por capacidad

La versatilidad de una solución de seguridad API que admita la programabilidad es prácticamente ilimitada. Y si bien F5 ciertamente fue pionero en esta capacidad, se ha convertido en un elemento básico del mercado para los servicios de aplicação en general. Hay muy pocos servicios de aplicação (y en particular aquellos centrados en proteger aplicações y API) que no ofrezcan programabilidad como parte de sus capacidades principales.

Esto se debe a que la programabilidad es la base para mitigar las amenazas de día cero y permitir a las organizaciones diseñar de forma más deliberada planes de parches que impactan en un porcentaje significativo de sus sistemas.

La programabilidad hace, bueno, prácticamente cualquier cosa. Pero en el ámbito de la seguridad (especialmente la seguridad de las API), no es sólo algo "agradable de tener". Es imprescindible tenerlo.

Para obtener más información sobre la API, consulte nuestro Informe sobre el estado de la estrategia de aplicação : Seguridad API.