Uma interface de programação de aplicativo (API) é uma interface de computação que define e permite interações entre diferentes softwares. Muitas tarefas diárias ocorrem graças às APIs, incluindo compartilhamento de mídia em plataformas sociais, processamento de pagamentos on-line e agregação de dados de análise de sites. Com a computação em nuvem, as empresas podem implantar infraestruturas globais com mais facilidade com a ajuda de APIs.
Hoje, a maioria dos softwares usa ou é uma API. E nos últimos 4 a 5 anos, o crescimento das APIs foi exponencial.Por exemplo, a Postman, uma plataforma de colaboração para desenvolvimento de APIs, viu sua contagem de pastas de API disparar de menos de meio milhão em 2016 para quase 35 milhões em 2021.
Apesar do aumento meteórico na popularidade das APIs, as medidas de segurança relacionadas a elas não acompanharam esse aumento.Agora, com as comportas se abrindo mais, várias vulnerabilidades importantes surgiram.Dada a combinação do crescimento explosivo e da segurança subdesenvolvida, prevê-se que as APIs se tornem a maior vulnerabilidade de segurança de todos os tempos, de acordo com a Gartner.
Um dos principais impulsionadores do crescimento das APIs foi a proliferação de microsserviços, que começaram a ganhar popularidade em 2013.O estilo de arquitetura de microsserviços desenvolve pequenos aplicativos individuais que se comunicam entre si usando APIs.Dessa forma, tarefas complexas são divididas em partes menores e cada parte é desenvolvida e mantida de forma independente.
O mercado global de arquitetura de microsserviços foi avaliado em US$ 2,07 bilhões em 2018 e está projetado para atingir US$ 8,07 bilhões em 2026 (CAGR 18,6% de 2019-2026).Os microsserviços tornaram-se amplamente adotados devido à flexibilidade, ciclos de desenvolvimento mais rápidos e escalabilidade superior.
Por exemplo, para acompanhar a demanda, a Netflix partiu de data centers monolíticos centralizados para uma arquitetura de microsserviços baseada em nuvem. O resultado foi uma enorme liberdade para os desenvolvedores melhorarem continuamente a experiência do cliente, como a capacidade de adaptar o conteúdo a regiões geográficas específicas.
As tendências que levaram ao mundo de API em primeiro lugar em que vivemos também nos dão uma dica de onde as vulnerabilidades são encontradas. As APIs estão em toda parte e o seu crescimento continua aumentando. Portanto, o risco também.
O desenvolvimento e a atividade generalizados relacionados à API não se traduzem em aplicativos seguros. De acordo com a Gartner, 90% dos aplicativos habilitados para web terão mais área de superfície de ataque em APIs expostas do que na interface do usuário (IU). A Gartner também previu que, em 2022, os abusos de APIs vão passar de um vetor de ataque pouco frequente para o mais frequente.
As vulnerabilidades de APIs podem ser encontradas em uma ampla variedade de áreas, como endpoints (dispositivos, servidores, ambientes virtuais etc.), exposição de dados, negação de serviço (DoS), falhas de autorização, configuração incorreta do sistema de segurança e muito mais. Considerando a enorme superfície de ataque envolvida com milhares de ativos suportados por APIs, encontrados em qualquer organização, as vulnerabilidades de APIs podem ter efeitos extremamente abrangentes em uma empresa.
Os exemplos incluem a destruição de dados, fundos roubados, perda de produtividade, roubo de propriedade intelectual, roubo de dados pessoais e financeiros, fraude, interrupção da operação da empresa, bem como o custo para restaurar e/ou excluir dados e sistemas danificados. Os danos à reputação associados à violação de APIs também podem levar à erosão da confiança, o que é comum a qualquer evento de segurança grave.
Casos de alto perfil, em que empresas sofreram ataques à API, apesar de terem fortes medidas de segurança, em geral, já ganharam manchetes.Vamos analisar o exemplo do Facebook, 50 milhões de contas foram expostas ao atacar um ponto fraco do recurso “Ver como” do site.Isso permitiu que os hackers roubassem tokens de acesso às contas depois que o Facebook criou uma funcionalidade de fazer upload de vídeo suportada por API.
O Uber também foi exposto quando os identificadores universalmente exclusivos (UUID) de seus usuários em chamadas de APIs levaram a vazamentos de tokens na resposta de APIs, que poderiam ser usados para sequestrar contas. Os invasores conseguiam rastrear a localização das vítimas e até roubar os passageiros.
Os casos do Facebook e do Uber demonstram o que é conhecido como ataque à API de "falha de autenticação de usuário". Quando a autenticação é implementada incorretamente, ela permite o comprometimento de tokens de autenticação e outras falhas que permitem o roubo de identidade do usuário.
O uso intenso de endereços de IP residenciais devido ao aumento do trabalho em casa relacionado à Covid-19 torna ainda mais crítico separar as chamadas de API maliciosas das legítimas.O preenchimento de credenciais ou ataques de botnet de spam podem usar até dez mil IPs diferentes, consistindo em servidores hackeados, estações de trabalho e até mesmo dispositivos de IoT.
Como as APIs expõem a lógica do aplicativo e dados confidenciais, como informações de identificação pessoal (PII), elas são essenciais para a infraestrutura e a estratégia de segurança de uma organização. Mas as estratégias tradicionais de segurança de aplicativos web, muitas das quais dependem de um modelo de “segurança negativa”, podem não conseguir impedir a maioria das ameaças de APIs.
Em um modelo de “segurança negativa”, cada solicitação é permitida através de um Firewall de aplicativos web(WAF), a menos que esteja em uma lista de bloqueio de ameaças conhecidas ou suspeitas. Esse modelo pode criar falsos positivos – nos quais chamadas de API legítimas são bloqueadas e também pode falhar na captura de alguns dos ataques mais direcionados. No entanto, os WAFs têm um papel essencial a desempenhar na segurança de APIs. Por exemplo, o tráfego autenticado que passa por alguns estágios de validação de esquema, por exemplo: endpoint, método e parâmetros, ainda pode carregar um ataque SQL, que um WAF pode capturar. Além disso, algumas APIs não são adequadas para TLS ou representam desafios de validação de esquema. Se os esquemas não estiverem atualizados ou se as APIs estiverem fragmentadas e difíceis de consolidar em um único esquema, um WAF ajuda a preencher a lacuna.
Dito isso, a confiança exclusiva em um WAF centrado em lista de bloqueio para segurança de APIs deixa uma organização vulnerável.A mitigação de ameaças de API pode evitar esses riscos com um modelo de “segurança positiva”, como o API Shield, que permite apenas o comportamento conhecido enquanto identifica e rejeita todo o resto.
Um passo fundamental em direção a um modelo positivo é a implantação de autenticação e autorização fortes que não sejam vulneráveis à reutilização ou compartilhamento de senhas, por exemplo, TLS ou OAuth. O gerenciamento de permissões e o compartilhamento de certificados pode ser demorado, portanto, os desenvolvedores devem priorizar ferramentas que simplifiquem o processo de lista de permissões o máximo possível.
Obviamente, não é impossível extrair um certificado de um dispositivo e reutilizá-lo em outro lugar. Os desenvolvedores também precisam de uma maneira de validar as próprias chamadas de API. A validação do esquema pode fazer isso comparando o conteúdo das solicitações de API, os parâmetros de consulta que vêm após o URL e o conteúdo do corpo do POST, com um contrato ou “esquema” que contém as regras para o que é esperado. Se a validação falhar, a chamada de API é bloqueada, protegendo a origem de uma solicitação inválida ou de uma carga maliciosa.
Embora a segurança positiva por meio de autenticação/autorização e validação de chamada de API seja importante, também são necessárias medidas de segurança adicionais. Por exemplo, as APIs ainda são vulneráveis a ataques volumétricos, ataques de força bruta e preenchimento de credenciais. Portanto, a mitigação de DDoS e a limitação de taxa continuam sendo ferramentas necessárias na postura geral de segurança de uma empresa.
Adicionar novas ferramentas de segurança às existentes, como mitigação de DDoS e limitação de taxa, pode criar desafios. Quando as chamadas de API passam por muitas ferramentas diferentes, elas se tornam mais complicadas de monitorar e registrar. Além disso, canalizar o tráfego por meio de diferentes ferramentas em data centers distribuídos geograficamente pode adicionar latência e diminuir o desempenho do aplicativo.
Por esses motivos, a segurança de APIs é melhor atendida por vários recursos de segurança integrados em uma rede de borda maior, oferecendo vantagens como:
Resiliência: se vários locais de rede de borda puderem hospedar ferramentas de segurança de APIs, as interrupções isoladas representam menos riscos.
Latência reduzida: se várias ferramentas de segurança de APIs operarem no mesmo local de rede de borda, o tráfego não precisará saltar entre locais diferentes.
Inteligência contra ameaças: se uma rede de borda tiver alcance suficiente, ela poderá analisar ataques em um grande número de APIs e usar essa inteligência para proteger melhor o restante.
Log mais fácil: o uso de uma única rede, operada por meio de um único painel de controle, oferece aos desenvolvedores uma única fonte de verdade.
Criada para a arquitetura corporativa moderna, a Cloudflare simplifica a proteção de APIs por meio do uso de uma identidade baseada em certificado do cliente e validação rigorosa baseada em esquema.Uma solução inteligente e escalável para proteger seus aplicativos web críticos para os negócios contra ataques maliciosos, sem alterações em sua infraestrutura existente.
Este artigo é parte de uma série sobre as tendências e os assuntos mais recentes que influenciam os tomadores de decisões de tecnologia hoje em dia.
Após ler este artigo, você entenderá:
A taxa de crescimento no uso de APIs
Como a área de superfície de ataque se expande com as APIs
Estratégias para evitar esse risco
Os benefícios de uma plataforma integrada
Saiba mais sobre a proteção contra vulnerabilidades de API no relatório Gartner Magic Quadrant for Web Application and API Protection (WAAP).