BLOG

Protección de las API de GraphQL con F5 Advanced WAF

Miniatura de Naor Zag
Naor Zag
Publicado el 31 de agosto de 2021

Estado de las API

En los últimos años, muchas organizaciones han estado atravesando una transformación digital, un proceso que se ha acelerado debido a la pandemia de COVID-19.

Y las API están desempeñando un papel importante en esa transformación. Como parte de su transformación digital, muchas de esas mismas organizaciones ahora afirman que son una organización “API-First”. Una organización “API-First” es aquella que comienza diseñando una aplicação diseñando primero las API. Luego, utilizando las API como base, comienzan a diseñar el resto de la aplicação. La intención es que la aplicação aproveche sus API fundamentales para comunicarse con otras aplicações y recuperar información de ellas.

Estas organizaciones generalmente desarrollan API y las consumen para respaldar sus asociaciones con organizaciones externas, lo que reduce su tiempo y costo de desarrollo y mejora la interoperación entre sistemas, herramientas y equipos internos.

Como se indica en el Informe sobre el estado de la estrategia de aplicação de 2021 de F5 Labs, las API también son las piedras angulares para la modernización de las aplicação y se utilizan para ayudar en la adaptación y actualización de aplicações clásicas más antiguas para admitir plataformas, herramientas y lenguajes de aplicação más nuevos y más modulares. Además, las API, tanto las buenas como las malas, ahora representan la gran mayoría del tráfico web total.

Ése es el primer filo de la “espada de doble filo” de las API.

El segundo filo de la espada de “doble filo” con respecto a las API es que, según Gartner, los abusos de las API se convertirán en el vector de ataque más frecuente en 2022. Los atacantes se dan cuenta de que las API pueden ser vulnerables o incluso quedar desprotegidas por algunas organizaciones, ya que dependen de un flujo abierto de datos e información que se comparte entre su aplicação y otras aplicações. Otras veces, es simplemente un descuido, pero que permite a los atacantes un punto de entrada rápido y simple para comprometer una aplicação. Esta situación requiere un tratamiento especial, como soporte nativo de todos los protocolos y tecnologías API utilizadas por la industria.

API de GraphQL

Una tecnología API relativamente nueva que ha crecido rápidamente en los últimos años y continúa ganando terreno es GraphQL. Desarrollado internamente por Facebook en 2012, ahora parte de la Fundación Linux, GraphQL está superando desafíos importantes que existen en las API REST. Las organizaciones están recurriendo a GraphQL para desarrollar API, en lugar de REST o SOAP.

Estos desafíos incluyen la obtención insuficiente o excesiva de datos, un desarrollo frontend más rápido sin necesidad de nuevos puntos finales de API (GraphQL utiliza un punto final), excelentes análisis de backend mediante consultas GraphQL y un esquema y sistema de tipos estructurados.

El año pasado, GraphQL ya alcanzó más del 22% de adopción en la industria.1 , llegando a los innovadores, a los primeros usuarios y a la mayoría temprana del ciclo de vida de adopción de la innovación.

Se espera que GraphQL se convierta en uno de los estándares líderes para API en los próximos años.

Seguridad de GraphQL

Sin embargo, el crecimiento meteórico y la aceptación de GraphQL también han atraído rápidamente la atención de los adversarios cibernéticos, algunos de los cuales ya han comenzado a explotar vulnerabilidades en el ecosistema GraphQL y han comenzado a desarrollar herramientas para atacarlas.

Las técnicas de ataque a las API que utilizan GraphQL incluyen las antiguas inyecciones SQL, así como ataques recientemente formados que aprovechan la especificación GraphQL para revelar datos sobre la API y usarlos en beneficio del atacante.

Además, se han introducido nuevos métodos de ataques de denegación de servicio (DoS) que aprovechan las API creadas con GraphQL y agotan rápidamente los recursos del servidor.

A partir de Advanced WAF v16.1, F5 ahora admite de forma nativa la seguridad para las API GraphQL.

En primer lugar, F5 ha desarrollado un análisis nativo del tráfico GraphQL para permitir la aplicación de firmas de ataques Advanced WAF .

Por un lado, este enfoque detectará ataques en los lugares correctos de la carga útil (ejecutará las firmas en los valores); y, por otro lado, este enfoque detendrá los falsos positivos debido a las firmas de ataque que se ejecutan en las partes incorrectas de las solicitudes GraphQL.

En segundo lugar, F5 crea la plantilla de política GraphQL y el perfil de contenido como parte de la política de seguridad de la aplicação .

En este nuevo perfil de contenido, el usuario puede configurar la longitud total y la longitud del valor de los parámetros, limitándolos según su política.

Además, el usuario puede configurar la profundidad máxima de la estructura eliminando las consultas GraphQL recursivas que pueden conducir a un ataque DoS; y las consultas por lotes máximas, limitando el número de consultas GraphQL diferentes en una solicitud HTTP.

También se pueden implementar consultas de introspección, lo que puede ayudar a los atacantes a comprender la estructura de la API y permitirles tener más éxito al vulnerar una aplicación.

 

Estructura de la API

Perfil de estructura de API

Para combatir esto, F5 también ha agregado soporte para nuestra configuración de políticas declarativas, la protección de DoS volumétrico mediante nuestra función Behavioral DoS y el filtrado de respuestas con la función DataGuard en F5 Advanced WAF.

En resumen, GraphQL proporciona nuevas formas de crear y gestionar API, mejorar la modernización de aplicações clásicas existentes y respaldar la transformación digital. Pero como siempre, aparecen más amenazas que intentan aprovechar las vulnerabilidades de cualquier nueva tecnología, y usted puede verse sorprendido.

¡Comience a proteger sus API GraphQL con F5 Advanced WAF hoy mismo!

Para obtener más información, consulte nuestra publicación de DevCentral y nuestra lección de Lightboard en YouTube .