Por que a segurança aa API deve ser uma das principais preocupações

Crescimento maciço da API
As APIs servem como blocos de construção de arquiteturas de aplicativos e design de sistemas modernos, e a maior parte do tráfego na Web hoje passa por elas. Um sistema geralmente requer uma API para acessar seus recursos. Quase todas as linhas de código usam uma chamada de API, que ajuda os programadores a criarem os seus produtos com base em esforços anteriores.

O uso de APIs pode acelerar e reduzir o custo do desenvolvimento de aplicativos, permitir flexibilidade, simplificar o design, a administração e o uso e permitir a inovação ao criar novas ferramentas e produtos ou gerenciar os atuais.

O uso generalizado de APIs tornou a segurança da API uma preocupação fundamental. O relatório do Gartner, “How to Build an Effective API Security Strategy”, afirma que “até 2022, os abusos de API serão o vetor de ataque mais frequente, resultando em violações de dados para aplicativos da web corporativos”. Para se proteger contra ataques de API, o Gartner recomenda a adoção de “uma abordagem contínua para a segurança da API em todo o ciclo de desenvolvimento e entrega da API, projetando a segurança [diretamente] nas APIs”.

Essas mudanças no cenário de segurança levaram recentemente a OWASP a lançar uma lista específica de API: as 10 principais vulnerabilidades de segurança de API do OWASP.

As 10 principais ameaças à segurança de API do OWASP

API1: Autorização Quebrada a Nível de Objeto

API6: Atribuição em Massa

API2: Autenticação Quebrada

API7: Configuração Incorreta de Segurança

API3: Exposição Excessiva de Dados

API8: Injeção

API4: Falta de Recurso e Limitação de Taxa

API9: Gestão Inadequada de Ativos

API5: Autenticação Quebrada a Nível de Função

API10: Registro e Monitoramento Insuficientes

Além do top 10 do OWASP, há outros problemas de segurança de API a serem monitorados:

Hackers que também são usuários
Usando regras sofisticadas de controle de acesso, um hacker pode ser um insider ou pode ter usado um endereço de e-mail falso ou uma conta de mídia social para se inscrever no aplicativo.

Contas e credenciais válidas
O preenchimento de credenciais e as compras na dark web são duas das muitas maneiras pelas quais os invasores podem obter credenciais válidas. Os hackers podem assumir o controle de contas legítimas ignorando a primeira camada de regras de controle de acesso porque sabem que os usuários reutilizam senhas.

Tokens roubados
Phishing, olhar para repositórios públicos no GitHub e outros métodos podem levar à perda de um token OAuth. Como a maioria das confirmações de token são tokens de portador leves, um token vazado pode ser usado por qualquer pessoa em qualquer lugar até que expire.

Cenários fora do aplicativo
Os hackers tentam encontrar vulnerabilidades de API ocultas ignorando o aplicativo pelo lado do cliente. Os próprios provedores de API geralmente desconhecem essas vulnerabilidades.

Embora as empresas possam mitigar essas ameaças adicionais à segurança da API, reforçando os procedimentos de segurança, os riscos permanecem.

Ferramentas antigas não irão protegê-lo

Muitas empresas ainda usam ferramentas de segurança antigas, como gateways de API e Web Application Firewalls (WAFs), além de outros métodos tradicionais de proteção. No entanto, à medida que as ameaças se tornam mais complicadas e sofisticadas, as ferramentas padrão ignoram completamente os ataques direcionados às APIs.

Aqui estão alguns exemplos:

Gateways de API: as ferramentas de gerenciamento de API coletam todas as solicitações do usuário e as transformam em uma. Elas se tornam o ponto de entrada para cada nova solicitação executada pelo aplicativo. No entanto, eles protegem apenas as APIs conhecidas por essa ferramenta, enquanto muitas funcionam fora desses gateways.

WAF: Muitas soluções nesta categoria dependem exclusivamente de métodos tradicionais de segurança de aplicativos. Nesta categoria, as assinaturas são usadas para procurar padrões de ataque conhecidos, mas as assinaturas são ineficazes, pois cada API é diferente e possui seu próprio conjunto de vulnerabilidades. Essas soluções baseadas em proxy carecem da arquitetura necessária para compreender o contexto da API e, como resultado, são incapazes de entender a lógica exclusiva ou identificar invasores visando vulnerabilidades específicas.

Ataques de API acontecem com os melhores de nós
Aqui estão alguns exemplos de ataques de API famosos:

USPS (2018): dados de 60 milhões de usuários expostos
A API de visibilidade de informações da empresa, mapeada para seu site online, suportava solicitações não autenticadas para rastreamento de dados

Facebook (2018): dados pessoais de 87 milhões de usuários coletados
A Graph API do desenvolvedor da empresa suportava consultas em alguns membros sem consentimento e limites de taxa.

Venmo (2018 e 2019): detalhes de 207 milhões e 7 milhões de transações de pagamento “raspados”
A API do desenvolvedor da empresa suportava solicitações não autenticadas para download de detalhes da transação com limites de taxa ineficazes ao longo do tempo.

Equifax (2017): informações confidenciais sobre 148 milhões de cidadãos americanos comprometidas
Houve duas comunicações críticas baseadas em HTTP durante a cadeia de eliminação deste ataque cibernético:

Exploração inicial por meio de uma solicitação HTTP manipulada

Exfiltração com um alto volume acumulado de cargas úteis de resposta HTTP

Capital One (2019): informações confidenciais sobre 100 e 6 milhões de cidadãos americanos e canadenses, respectivamente, foram comprometidas. Dois conjuntos críticos de chamadas de API da AWS criaram esta violação:

  • Solicitações forjadas (por SSRF) para um endpoint de metadados para obter credenciais temporárias
  • Uma solicitação de sincronização para o armazenamento S3 para baixar todos os dados na máquina de ataque local

Mesmo as empresas mais sofisticadas podem sofrer com vulnerabilidades de API, resultando em milhões de violações de dados de usuários. No entanto, elas também poderiam ter evitado esse dano com uma solução de segurança de API adequada.

O que você pode fazer
Com o uso massivo e crescente de APIs na Internet, não é de admirar que a segurança da API esteja se tornando uma preocupação significativa para todas as organizações. As ferramentas tradicionais não são mais adequadas, e uma solução específica para APIs agora é obrigatória para qualquer organização.