Blog

Interrompendo ataques de API

Para atacar suas APIs, os hackers precisam aprender sobre elas. Par isso, eles usam técnicas de reconhecimento para entender a estrutura e a lógica de suas APIs. O objetivo final do invasor é encontrar uma vulnerabilidade, manipular a lógica da API e fazer com que a API faça o que não foi planejado – como retornar todos os dados de um banco de dados em vez das informações de apenas um único usuário.

O reconhecimento leva tempo, pois o invasor investiga a API para mapear a estrutura, determinar os componentes do aplicativo em uso, entender a lógica da API e procurar vulnerabilidades. O reconhecimento pode levar horas, senão dias ou semanas, pois o invasor usa métodos sutis para atingir seu objetivo, evitando a detecção.

Os invasores não precisam de acesso especial para começar a sondar uma API. Qualquer aplicativo voltado para o público, como um de um varejista online, serviço de saudação, plataforma social ou serviço em nuvem irá expor uma API, e essa API irá, necessariamente, expor sua estrutura e lógica. O invasor precisa apenas de uma conta, que geralmente pode ser configurada em minutos. Mesmo uma API considerada privada ou mais restritiva não está imune aos olhares indiscretos de um invasor. Qualquer invasor determinado encontrará uma maneira de acessar credenciais por meio de phishing ou outros meios.

Depois que os invasores obtêm acesso a uma API, eles precisam apenas de criatividade, tenacidade e algumas ferramentas comumente disponíveis que não se limitam apenas à dark web. Os invasores usam as mesmas ferramentas que seus desenvolvedores e equipes de controle de qualidade usam para depurar e testar suas APIs.

Os invasores começam com atividades que se parecem com qualquer outro usuário à medida que mapeiam a estrutura da API e descobrem sua lógica exclusiva. Eles fazem pequenos ajustes nas chamadas de API para ver como a API responde, e nenhuma dessas atividades levanta um sinalizador ou aciona um alerta de segurança. Na verdade, os atacantes que visam APIs usarão métodos sutis para permanecer sob o radar tanto quanto possível, enviando chamadas para testar a lógica da API, como:

  • E se eu substituir meu ID de usuário por outro ID de usuário? Posso acessar a outra conta?
  • E se eu enumerar um ID de objeto? Posso acessar informações que não deveria?
  • E se eu tentar aumentar meus privilégios de usuário? Posso obter direitos de administrador?

O reconhecimento é um processo de poucos sucessos e muitos fracassos. Olhar para essa atividade isoladamente, uma transação por vez, não revela nenhum risco, mas colocar as peças juntas pode fornecer um contexto significativo e uma percepção de que alguém está sondando sua API e não está fazendo nada de bom.

Ferramentas tradicionais de segurança e API não têm contexto

A atividade de reconhecimento do invasor se parece com o tráfego de API normal para ferramentas tradicionais, como WAFs e outras soluções de proxy. A arquitetura dessas ferramentas os limita a inspecionar transações uma por vez, de forma isolada, e elas dependem de assinaturas para detectar padrões de ataque conhecidos, como Cross Site Scripting (XSS) e SQL Injection (SQLi). Se a transação não corresponder à assinatura de um ataque conhecido, o WAF a enviará. Uma vez que cada API é única com vulnerabilidades exclusivas, as assinaturas não podem ajudar a prevenir ataques de API. Ferramentas como WAFs não perdem apenas os ataques que visam vulnerabilidades de API exclusivas, mas também perdem as marcas registradas das atividades de reconhecimento de um invasor.

Usar um WAF para impedir um ataque de API é como usar uma câmera de sinal vermelho para solucionar um crime. Embora essas ferramentas possam ser boas na identificação de atividades maliciosas específicas, previsíveis, elas não podem coletar grandes quantidades de dados, identificar pistas mais amplas ou juntar as peças para solucionar ou, melhor ainda, prevenir um crime.

Arquitetura é a chave

A atividade de reconhecimento de um invasor – quando detectada e correlacionada com sucesso – fornece um aviso claro de que alguém está sondando sua API e não está funcionando bem. Mas para detectar essa atividade, as soluções precisam de um contexto que não pode ser aprendido olhando para cada transação isoladamente. As soluções devem analisar o máximo de dados possível para entender o comportamento normal, identificar os outliers e juntar as peças para formar uma imagem maior. As ferramentas de proxy não têm big data, inteligência artificial (IA) e aprendizado de máquina (ML) – portanto, não podem coletar e analisar grandes quantidades de dados.

Não é suficiente que as soluções identifiquem comportamentos anormais. As soluções devem diferenciar entre erros do usuário ou comportamento que muda em resposta a uma API alterada e atividade mal-intencionada, como um invasor investigando uma API e manipulando a lógica da API. Teoricamente, um WAF poderia ser configurado para alertar com base em cada evento atípico, mas eles nunca são configurados dessa forma porque as organizações seriam prejudicadas pelo número esmagador de falsos positivos.

O que é necessário é a capacidade de reunir os valores discrepantes anteriormente díspares para obter uma imagem dos invasores e de seu risco de atividade. Saber que uma única entidade gerou um grande número de erros é um indicador claro de um ataque – os WAFs não mantêm esse tipo de informação correlacionada ao longo do tempo e também não entendem o risco de atividade anômala.

Como a Salt Security pode ajudar

A Salt Security correlaciona partes díspares de comportamento e usa o contexto resultante para localizar os invasores. Ao contrário dos WAFs, o Salt usa big data para coletar o tráfego da API e aplica AI e ML para analisar a atividade.

Por meio da análise, a Salt cria uma linha de base do comportamento normal e identifica anomalias. Com o contexto que é capaz de criar, Salt diferencia entre alterações de API ou erros simples e atividades de invasores maliciosos. A atividade de correlação permite que o Salt localize os invasores e os pare no início do processo de reconhecimento para evitar ataques bem-sucedidos.

Os alertas Salt contêm o contexto que as equipes de resposta a incidentes precisam para entender e responder aos eventos rapidamente. Os alertas de salt contêm o cronograma completo da atividade do invasor, para que as equipes tenham uma visão sobre o que o invasor fez e como o aplicativo respondeu. As equipes não precisam correlacionar informações manualmente.

O contexto que a Salt fornece também é essencial para ajudar as equipes de desenvolvimento a eliminar vulnerabilidades rapidamente. Os insights de correção da Salt contêm detalhes sobre a localização de uma vulnerabilidade e como é a atividade normal dessa API, bem como recomendações sobre como os desenvolvedores podem fechar a lacuna e melhorar a postura de segurança.

A transformação começa agora.