Nos últimos anos, muitas organizações passaram por uma transformação digital, um processo que se acelerou devido à pandemia da COVID-19.
E as APIs estão desempenhando um papel significativo nessa transformação. Como parte de sua transformação digital, muitas dessas mesmas organizações agora estão afirmando que são uma organização “API-First”. Uma organização “API-First” é aquela que começa projetando um aplicativo projetando APIs primeiro. Em seguida, usando as APIs como base, eles começam a projetar o restante do aplicativo. A intenção é que o aplicativo aproveite suas APIs fundamentais para se comunicar e recuperar informações de outros aplicativos.
Essas organizações geralmente desenvolvem APIs e as consomem para dar suporte a suas parcerias com organizações externas, reduzindo seu tempo e custo de desenvolvimento e aprimorando a interoperação entre sistemas, ferramentas e equipes internas.
Conforme declarado no Relatório de Estratégia de Aplicação do Estado de 2021 do F5 Labs, as APIs também são os pilares para a modernização de aplicações, sendo aproveitadas para auxiliar na adaptação e atualização de aplicações antigas e clássicas para dar suporte a linguagens, ferramentas e plataformas de aplicações mais novas e modulares. Além disso, as APIs – tanto as boas quanto as ruins – agora respondem pela grande maioria do tráfego total da web.
Esse é o primeiro fio da “espada de dois gumes” das APIs.
O segundo gume da espada de “dois gumes” em relação às APIs é que, de acordo com a Gartner, os abusos de API se tornarão o vetor de ataque mais frequente até 2022. Os invasores percebem que as APIs podem ser vulneráveis ou até mesmo deixadas desprotegidas por algumas organizações, pois dependem de um fluxo aberto de dados e informações a serem compartilhados entre seus aplicativos e outros aplicativos. Outras vezes, é apenas um descuido, mas que permite aos invasores um ponto de entrada rápido e simples para comprometer um aplicativo. Essa situação requer tratamento especial, como suporte nativo de todos os protocolos e tecnologias de API utilizados pela indústria.
Uma tecnologia de API relativamente nova que cresceu rapidamente nos últimos anos e continua ganhando força é o GraphQL. Desenvolvido internamente pelo Facebook em 2012, agora parte da Linux Foundation, o GraphQL está superando desafios significativos que existem nas APIs REST. As organizações estão recorrendo ao GraphQL para desenvolver APIs, em vez de REST ou SOAP.
Esses desafios incluem busca insuficiente e busca excessiva de dados, desenvolvimento front-end mais rápido sem a necessidade de novos endpoints de API (o GraphQL usa um endpoint), ótimas análises de back-end usando consultas GraphQL e um esquema estruturado e sistema de tipos.
No ano passado, o GraphQL já atingiu mais de 22% de adoção pela indústria1 , alcançando inovadores, primeiros usuários e a maioria inicial do ciclo de vida de adoção da inovação.
Espera-se que o GraphQL se torne um dos principais padrões para APIs nos próximos anos.
No entanto, o crescimento meteórico e a aceitação do GraphQL também atraíram rapidamente a atenção de adversários cibernéticos, alguns dos quais já começaram a explorar vulnerabilidades no ecossistema GraphQL e começaram a desenvolver ferramentas para atacá-las.
Técnicas de ataque em APIs usando GraphQL incluem as boas e velhas injeções de SQL, bem como ataques recém-formados que estão aproveitando a especificação GraphQL para revelar dados sobre a API e usá-los em vantagem do invasor.
Além disso, novos métodos para ataques de negação de serviço (DoS) foram introduzidos, aproveitando APIs criadas em GraphQL e drenando rapidamente os recursos do servidor.
A partir do Advanced WAF v16.1, o F5 agora oferece suporte nativo à segurança de APIs GraphQL.
Em primeiro lugar, a F5 desenvolveu a análise nativa do tráfego GraphQL para permitir a aplicação de assinaturas de ataque WAF avançadas.
Por um lado, essa abordagem detectará ataques nos lugares certos da carga útil (executará as assinaturas nos valores); e, por outro lado, essa abordagem impedirá falsos positivos devido a assinaturas de ataque executadas nas partes erradas das solicitações GraphQL.
Em segundo lugar, o F5 cria o modelo de política GraphQL e o perfil de conteúdo como parte da Política de Segurança do Aplicativo.
Neste novo perfil de conteúdo, o usuário pode configurar o comprimento total e o comprimento do valor dos parâmetros, limitando-os de acordo com sua política.
Além disso, o usuário pode configurar a profundidade máxima da estrutura, eliminando consultas GraphQL recursivas que podem levar a um ataque DoS; e o máximo de consultas em lote, limitando o número de consultas GraphQL diferentes em uma solicitação HTTP.
Consultas de introspecção também podem ser aplicadas, o que pode ajudar os invasores a entender a estrutura da API e permitir que eles tenham mais sucesso na violação de um aplicativo.
Para combater isso, a F5 também adicionou suporte para nossa configuração de política declarativa, a proteção de DoS volumétrico usando nosso recurso Behavioral DoS e filtragem de respostas com o recurso DataGuard no F5 Advanced WAF.
Para resumir, o GraphQL fornece novas maneiras de criar e gerenciar APIs, aprimorar a modernização de aplicativos clássicos existentes e dar suporte à transformação digital. Mas, como sempre, mais ameaças estão surgindo para explorar brechas em qualquer nova tecnologia, e você pode ser pego de surpresa.
Comece a proteger suas APIs GraphQL com o F5 Advanced WAF hoje mesmo!
Para mais informações, confira nossa postagem no DevCentral e nossa lição sobre Lightboard no YouTube .
1 Relatório do estado da API de 2020 , Postman