Vai à Black Hat? Vamos nos encontrar

Técnico

O que são ataques a APIs, por que são diferentes e como impedi-los

October 31, 2022

Stephanie Best
Diretor(a) de Marketing de Produto

Os ataques a APIs têm estado em todas as notícias ultimamente. Há apenas algumas semanas, uma grande empresa de telecomunicações na Austrália sofreu um incidente de segurança em API, expondo cerca de 10 milhões de registros de clientes. Em março, uma violação na API da Hubspot expôs os dados confidenciais de 1,6 milhão de usuários. E quem poderia esquecer a onda de violações de segurança em APIs de 2021 que incluiu a Peloton, a John Deere e a Experian? A previsão do Gartner de que “até 2022, os abusos de API passariam de um vetor de ataque infrequente para o mais frequente, resultando em violações de dados para aplicações web corporativas” certamente se concretizou.

Por que vemos um fluxo tão constante de ataques baseados em API? Simplesmente porque as APIs são lucrativas para os invasores. Elas funcionam como agentes de pátio em aeroportos, guiando os invasores com seus bastões luminosos diretamente para os dados mais preciosos.  

Como as APIs também impulsionam a economia digital atual, isso cria um dilema. Você não pode simplesmente decidir eliminá-las ou limitar o acesso sem prejudicar a inovação do seu negócio. Sua única escolha real é proteger suas APIs contra os ataques de hoje — e de amanhã — para garantir que sua empresa continue crescendo e entregando os serviços que seus clientes esperam.

Muitas organizações acreditam erroneamente que a “segurança por obscuridade” é suficiente para protegê-las — acham que são desconhecidas o bastante, que seus dados não são tão interessantes, que suas APIs são diferentes ou que estão seguras o suficiente. Infelizmente, essa abordagem nunca funcionou e definitivamente não funcionará neste mundo digitalmente conectado, onde os dados estão em toda parte e as APIs vêm em primeiro lugar.

O que é um ataque de API?

Um ataque de API é simplesmente um uso hostil — ou tentativa de uso hostil — de uma API. Os invasores usam um endpoint de API para acessar e explorar dados. Às vezes, esses ataques podem ser perpetrados devido a códigos fundamentalmente ruins. Mas, na maioria das vezes, eles visam vulnerabilidades na lógica de negócios, tentando fazer com que as APIs se comportem de maneiras nunca pretendidas por seus desenvolvedores.  

Para tornar as coisas ainda mais desafiadoras, cada vulnerabilidade de API representa, essencialmente, uma vulnerabilidade de dia zero. Como as APIs de cada empresa são únicas, as lacunas de segurança de cada uma diferem das outras. Consequentemente, para descobrir como explorar APIs de forma eficaz, os invasores precisam investigar e testar — repetidamente — para descobrir erros na lógica de negócios e aprender as vulnerabilidades de uma API. Detectar esses ataques "lentos e silenciosos", que podem ser realizados ao longo de dias, semanas e até meses, exige uma análise comportamental profunda ao longo do tempo.

Como os ataques de API atuais são diferentes?

À medida que o número de APIs aumentou, as ameaças também mudaram. Esse novo paradigma de ataque surgiu porque as APIs foram construídas sobre a lógica de negócios e a lógica de aplicação subjacente. Como mencionado, os riscos mais significativos de segurança de API decorrem de falhas na lógica de negócios.

Ataques baseados em transações — como uma injeção de SQL típica — compunham a maioria dos ataques de segurança no passado. Soluções de segurança tradicionais baseadas em proxy, como um WAF, funcionam bem para impedir esses tipos de ataques; os WAFs procuram padrões conhecidos e agem como um firewall, bloqueando o que é reconhecidamente malicioso. No entanto, as abordagens de segurança de API baseadas em servidor ou VM simplesmente não possuem um conjunto de dados amplo o suficiente ao longo do tempo para identificar os ataques de API sofisticados de hoje.

Em ataques de lógica de aplicação, os hackers usam reconhecimento ao longo do tempo para descobrir brechas na lógica de negócios codificada. Eles buscam áreas para exploração potencial, como obter acesso não autorizado a dados ou funcionalidades dentro da API, ou fraquezas na API para lançar ataques de negação de serviço (DoS) de aplicação, de baixo tráfego e alta precisão.  

Por isso, os ataques raramente decorrem de uma única chamada de API. Os atacantes fazem múltiplas chamadas de API como parte dos seus esforços de reconhecimento. Embora as soluções de segurança tradicionais consigam defender contra vulnerabilidades conhecidas, não conseguem detetar estas vulnerabilidades de API baseadas na lógica. Falta-lhes a função e a lógica de negócio necessárias.

Para proteger as APIs, as organizações devem ser capazes de identificar vulnerabilidades baseadas na lógica nas APIs. Isto requer contexto de função e lógica de negócio. As equipas de segurança devem ver os endpoints da API em ação e compreender o propósito funcional de cada um deles. Precisam também de compreender as características comportamentais de cada parâmetro e elemento utilizado por esses endpoints. Um único endpoint de API pode ter milhares de permutações possíveis de lógica de negócio e de aplicação subjacente que precisam de ser verificadas e testadas para compreender se o endpoint é capaz de realizar comportamentos negativos.

Quais são os tipos de ataques a APIs mais comuns?

O Open Web Application Security Project (OWASP), a organização que nos trouxe o Top 10 de vulnerabilidades, fez o trabalho pesado para ajudar o mercado a compreender os ataques de segurança a APIs mais comuns da atualidade. No final de 2019, a OWASP lançou a sua primeira Top 10 de Segurança de APIs lista de vulnerabilidades, incluindo os dez principais tipos de ataques a APIs:

  • API1:2019 Autorização de Nível de Objeto Quebrada: A autorização de nível de objeto quebrada é a ameaça de API mais comum, representando cerca de 40% de todos os ataques a APIs.
  • API2:2019 Autenticação de Utilizador Quebrada: A autenticação de utilizador quebrada permite que os atacantes utilizem tokens de autenticação roubados, preenchimento de credenciais e ataques de força bruta para obter acesso não autorizado a aplicações.
  • API3:2019 Exposição Excessiva de Dados: Quando as APIs genéricas fornecem mais dados do que o necessário, um atacante pode explorar uma aplicação utilizando dados redundantes para extrair ainda mais dados sensíveis.
  • API4:2019 Falta de Recursos e Limitação de Taxa: As APIs que implementam incorretamente a limitação de taxa ou que negligenciam a sua implementação são altamente suscetíveis a ataques de força bruta.
  • API5:2019 Autorização de Nível de Função Quebrada: Quando a autorização não é implementada corretamente, utilizadores não autorizados podem executar funções de API, tais como adicionar, atualizar ou eliminar um registo de cliente ou uma função de utilizador.
  • API6:2019 Atribuição em Massa: As APIs que consomem diretamente pedidos de entrada e os atribuem/escrevem nos arquivos de dados da lógica de negócio são vulneráveis à atribuição em massa, permitindo que os atacantes alterem propriedades de dados críticas e explorem a escalada de privilégios.
  • API7:2019 Configuração Incorreta de Segurança: Configuração incorreta de segurança é um termo abrangente para uma ampla gama de falhas de configuração que frequentemente impactam negativamente a segurança da API como um todo e introduzem vulnerabilidades inadvertidamente.
  • API8:2019 Injeção: Este ataque é o único remanescente da lista original OWASP Top 10 – os outros 90% são novos e focados exclusivamente em APIs. Os atacantes exploram vulnerabilidades de injeção enviando dados maliciosos para uma API que, por sua vez, são processados por um interpretador ou analisados pelo servidor de aplicação e passados para algum serviço integrado.
  • API9:2019 Gestão Inadequada de Ativos: Um inventário desatualizado ou incompleto resulta em lacunas desconhecidas na superfície de ataque da API e torna difícil identificar versões mais antigas de APIs que deveriam ser desativadas.
  • API10:2019 Registro e Monitoramento Insuficientes: O registro e monitoramento insuficientes, combinados com uma integração ausente ou ineficaz com a resposta a incidentes, permitem que os atacantes realizem reconhecimento, explorem ou abusem de APIs, comprometam sistemas, mantenham persistência, avancem ataques e se movam lateralmente pelos ambientes sem serem detectados.

Infelizmente, o relatório State of API Security do terceiro trimestre de 2022 da Salt Security indicou que apenas 55% dos entrevistados confiam na lista dos 10 principais ataques a APIs da OWASP. Dado que 62% das tentativas de ataque contra organizações utilizam pelo menos um desses métodos, isso representa uma oportunidade perdida.

Minhas ferramentas atuais são suficientes para proteger nossa superfície de ataque de API?

Como discutimos, as APIs exigem uma nova abordagem de segurança com soluções dedicadas que utilizam uma arquitetura que vai além das ferramentas tradicionais, limitadas a analisar transações individuais de forma isolada.

Em uma nota de pesquisa recente, o Gartner reconheceu a necessidade de soluções dedicadas ao adicionar a Segurança de API como uma camada distinta em sua Arquitetura de Referência de Segurança atualizada. Esta nova camada situa-se entre as ferramentas tradicionais, como WAFs, WAAPs, gateways de API e CDNs que protegem a borda, e as ferramentas que protegem os dados e o plano de controle. Com esta nova arquitetura, o Gartner afirma que essas ferramentas tradicionais deixam lacunas na proteção de APIs.

Para proteger APIs, as organizações precisam de uma plataforma criada especificamente para abordar as considerações exclusivas de segurança de API atuais, que inclua:

  • Visibilidade: A proliferação de APIs continua sem controle, tornando quase impossível manter-se atualizado sobre APIs novas e alteradas. As organizações também precisam de insights sobre onde suas APIs expõem dados confidenciais.
  • Prevenção de ataques: Cada API é única, portanto os ataques também são, e as organizações precisam da capacidade de detectar o comportamento lento e gradual de agentes mal-intencionados que sondam APIs em busca de falhas na lógica de negócios.
  • Segurança proativaInsights de remediação, obtidos tanto em testes de pré-produção quanto em tempo de execução, ajudam os desenvolvedores a fortalecer suas APIs. As organizações não devem depender excessivamente de táticas de "shift-left". No entanto, os testes de pré-produção não revelam falhas de lógica de negócios, portanto, não se pode esperar que os desenvolvedores criem APIs seguras o tempo todo.

Para prevenir ataques a APIs, você deve primeiro saber quais APIs possui

Uma visão precisa da superfície de ataque é essencial para fundamentar sua estratégia de segurança, mas isso pode ser especialmente desafiador com APIs em constante mudança. De fato, uma pesquisa recente da Salt Security constatou que 11% dos entrevistados atualizavam suas APIs diariamente e 31% as atualizavam semanalmente.

Você precisa descobrir todas as APIs em seu ambiente, incluindo APIs "shadow" desconhecidas, como no exemplo acima, e APIs "zombie" que deveriam ser desativadas. A descoberta deve ser automática e contínua para acompanhar o lançamento constante de APIs novas e atualizadas, e deve abranger todas as APIs voltadas para clientes, parceiros (fornecidas e consumidas) e internas.

Saber que uma API existe não é suficiente. Entender cada API em um nível granular é fundamental para compreender a funcionalidade pretendida, avaliar riscos e determinar se a API expõe dados confidenciais, como informações de identificação pessoal (PII). A descoberta automática e contínua ajuda a garantir que a visão da superfície de ataque e da exposição de dados confidenciais permaneça atualizada o tempo todo.

Big data em escala de nuvem e modelos de IA maduros ajudam a prevenir ataques a APIs

Atacantes que visam APIs usam métodos sutis para descobrir e explorar vulnerabilidades. Considere fraudadores tentando redirecionar transferências ACH para números de conta alternativos e não autorizados. Os fraudadores poderiam explorar uma vulnerabilidade de API comum e manipular números de roteamento alterando apenas alguns parâmetros da API.

Para detectar isso, você precisa de uma solução que combine big data, IA e aprendizado de máquina (ML) para capturar todo o tráfego de API, criar uma linha de base da atividade normal e procurar desvios. No caso acima, esse tipo de solução identificaria a manipulação sutil do número de roteamento e sinalizaria a atividade.

Somente uma arquitetura de big data em escala de nuvem com inteligência artificial (IA) e aprendizado de máquina (ML) pode capturar e analisar continuamente grandes volumes de tráfego de API. A análise contínua do tráfego de API fornece o único caminho para entender o comportamento normal de cada API exclusiva e obter o contexto necessário para identificar desvios sutis e localizar atacantes.

A proteção de APIs também requer a análise do tráfego ao longo do tempo. Por sua natureza, as APIs expõem a lógica da aplicação. Hackers fazem muitas experimentações para tentar identificar lacunas na lógica de negócios que possam explorar. O reconhecimento necessário para propagar ataques como esses leva muito tempo. Um único ataque a uma API pode levar horas, dias ou até semanas para se concretizar.

Depois de estancar o "sangramento", é hora de eliminar lacunas futuras

As equipes de DevOps desempenham um papel essencial na segurança, mas qualquer software inevitavelmente será lançado com lacunas, apesar de as equipes empregarem as melhores práticas de desenvolvimento e utilizarem ferramentas de varredura. As APIs não são diferentes. Práticas de desenvolvimento ágil e ciclos de lançamento apertados significam que equipes de desenvolvimento sobrecarregadas podem negligenciar a segurança para cumprir prazos rigorosos.

A proteção em tempo de execução é fundamental para evitar a exploração de qualquer vulnerabilidade que chegue à produção. Mas confiar apenas na proteção em tempo de execução deixa você em uma situação de "jogo de gato e rato". As lacunas devem ser continuamente identificadas e eliminadas pelas equipes de desenvolvimento para melhorar a segurança das APIs.

As principais soluções de segurança de API atuais podem bloquear fraudadores e aprender com suas atividades enquanto eles sondam e manipulam a API. Esses aprendizados fornecem insights sobre as vulnerabilidades exclusivas daquela API e ajudam as equipes de desenvolvimento a priorizar e eliminar lacunas rapidamente.

É uma corrida constante! As soluções de segurança de API devem analisar as APIs para identificar lacunas antes que um atacante as encontre e permitir que os desenvolvedores eliminem proativamente vulnerabilidades potenciais, enquanto aprimoram simultaneamente suas melhores práticas de segurança de API.

Para mais informações

Entre em contato conosco ou agende uma demonstração personalizada para saber mais sobre como a Plataforma de Proteção de API da Salt Security pode ajudar sua organização a criar um inventário de API completo e preciso, detectar ataques a APIs em tempo de execução e obter insights para corrigir vulnerabilidades e fortalecer suas APIs.

Nossas últimas publicações