As APIs são cada vez mais usadas para conectar vários serviços e sistemas, tornando-se um alvo principal para invasores. Proteger APIs é essencial para proteger dados confidenciais, garantir a integridade das transações e manter a disponibilidade dos serviços.
A Open Worldwide Application Security Project (OWASP) é uma fundação sem fins lucrativos dedicada a melhorar a segurança de software. A OWASP fornece recursos gratuitos e abertos, incluindo ferramentas, metodologias e documentação, para ajudar as organizações a proteger suas aplicações web. Uma das contribuições mais conhecidas da OWASP é a lista dos 10 principais riscos de segurança de API, destacando os riscos mais críticos para APIs. Uma atualização em 2023 refletiu a crescente importância e os desafios únicos de proteger interfaces de programação de aplicações (APIs) e aplicações web.
O que são as API?
As APIs são conjuntos de regras e protocolos que permitem que diferentes aplicações de software se comuniquem entre si. Uma função essencial das APIs é facilitar uma troca eficiente de dados entre tecnologias. Como uma tecnologia fundamental para a arquitetura moderna de aplicações, as APIs permitem que uma aplicação solicite informações e utilize funcionalidades de outras aplicações e serviços, em vez de precisar replicar esses dados ou construir esses serviços do zero. As APIs estão no centro do nosso mundo digital, conectando aplicações, sistemas e dados.
Por que as APIs estão sob ameaça?
Oitenta e quatro por cento das organizações sofreram incidentes de segurança de API nos últimos 12 meses, de acordo com mais de 1.200 profissionais de TI e segurança que participaram do Estudo de Impacto de Segurança de API 2024. Com o rápido aumento das APIs na arquitetura moderna de aplicações, os cibercriminosos têm se mostrado cada vez mais atraídos pelas APIs como vetor de ataque por vários motivos.
- Ampla adoção: as APIs são onipresentes no desenvolvimento moderno de software, alimentando aplicações web e móveis, dispositivos IoT e integrações entre várias plataformas. Essa adoção generalizada cria muitos novos alvos potenciais para atacantes e amplia a superfície de ataque de uma organização.
- Acesso a dados confidenciais: as APIs frequentemente lidam com dados confidenciais, incluindo informações pessoais, detalhes financeiros e dados empresariais proprietários. Ao explorar APIs, os atacantes podem obter acesso a informações valiosas e confidenciais que podem ser usadas para roubo de identidade, fraude financeira ou espionagem corporativa.
- Acesso direto a sistemas de back-end: as APIs fornecem acesso direto a sistemas e bancos de dados de back-end, muitas vezes burlando interfaces de usuário tradicionais. Esse acesso direto pode ser explorado para recuperar, modificar ou excluir dados sem passar pelas verificações e controles de segurança habituais das aplicações de front-end.
- Complexidade e configurações incorretas: as APIs podem ser complexas, com muitos pontos de extremidade e versões, cada uma com exigências de configuração e segurança adequadas. Configurações incorretas e falhas de segurança são comuns, tornando as chances de sucesso em um ataque de API relativamente altas.
- Automação e escalabilidade de ataques: as APIs podem ser alvo de ferramentas e scripts automatizados, o que facilita que os atacantes escalem seus ataques. Os ataques automatizados podem explorar rapidamente vulnerabilidades de API, como mecanismos fracos de autenticação e outras falhas de segurança.
- Integrações de terceiros: as APIs frequentemente facilitam integrações com serviços de terceiros, o que pode introduzir riscos adicionais de segurança. Se um serviço de terceiros for comprometido, ele pode fornecer um ponto de entrada para atacantes explorarem a API principal.
- Monitoramento e registros insuficientes: muitas organizações carecem de registro e monitoramento adequados para suas APIs, dificultando a detecção e resposta a atividades suspeitas em tempo real. Isso permite que atacantes explorem vulnerabilidades de segurança sem serem detectados por longos períodos.
Principais tecnologias e conceitos de API
Para entender as ameaças específicas nos riscos de segurança de API da lista OWASP Top 10, é útil revisar alguns conceitos e os principais termos relacionados às APIs.
- Pontos de extremidade de API: os pontos de extremidade de API são URLs ou caminhos específicos onde uma API pode ser acessada por um cliente. Cada ponto de extremidade fornece acesso a diferentes funções ou recursos, como enviar um formulário, atualizar uma entrada no banco de dados ou recuperar informações de usuário.
- Chamadas e solicitações: uma chamada ou solicitação de API é uma mensagem enviada por um cliente a um ponto de extremidade de API para solicitar dados ou executar uma ação. Uma chamada ou solicitação de API gera uma resposta do ponto de extremidade da API.
- Objetos: os objetos são estruturas de dados que representam entidades da vida real, como usuários, produtos ou pedidos. Objetos podem ter atributos/propriedades e métodos/funções. Em uma API de rede social, por exemplo, um objeto pode ser um perfil de usuário com atributos como nome, foto de perfil e e-mail, e métodos como enviar um pedido de amizade e atualizar o perfil.
- Vinculação de dados: a vinculação de dados é o processo de mapear dados de entrada de solicitações de API para objetos.
- Autenticação: a autenticação é o processo de verificar a identidade de um usuário ou sistema que faz uma solicitação de API. O objetivo da autenticação de entidade ou de usuário é determinar se a entidade é quem ou o que afirma ser.
- Autorização: a autorização determina qual nível de permissões de acesso um usuário ou sistema autenticado possui.
Os riscos de segurança de API da lista OWASP Top 10 para 2023
Os riscos de segurança de API da lista OWASP Top 10 destacam os riscos mais críticos para as APIs.
- API1:2023 – Autorização interrompida em nível de objeto: essa ameaça ocorre quando uma API não restringe adequadamente o acesso a certos objetos com base nas permissões do usuário. Isso significa que usuários não autorizados podem acessar ou modificar dados que não deveriam, potencialmente expondo informações confidenciais ou permitindo ações maliciosas.
- API2:2023 – Autenticação interrompida: a autenticação interrompida ocorre quando os métodos usados para verificar a identidade dos usuários falham. Isso pode permitir que invasores assumam contas de usuários, obtenham acesso não autorizado e executem ações como se fossem usuários legítimos.
- API3:2023 – Autorização interrompida em nível de propriedade de objeto: esse problema ocorre quando as APIs não verificam adequadamente as permissões no nível de propriedade dentro dos objetos. Isso pode permitir que invasores obtenham acesso não autorizado ou modifiquem campos de dados específicos dentro de um objeto, expondo dados confidenciais ou possibilitando ações maliciosas.
- API4:2023 – Consumo irrestrito de recursos: as APIs precisam de recursos como largura de banda de rede, CPU, memória e armazenamento para funcionar. Quando as APIs não têm limites adequados de consumo de recursos, invasores podem sobrecarregar a API fazendo solicitações excessivas, levando à negação de serviço ou aumento de custos operacionais.
- API5:2023 – Autorização interrompida em nível de função: a autorização interrompida em nível de função significa que a API não restringe adequadamente o acesso a certas funções ou ações com base nos papéis do usuário. Isso permite que usuários executem ações que não deveriam, como acessar funções administrativas.
- API6:2023 – Acesso irrestrito a fluxos de negócios confidenciais: as APIs podem expor processos de negócios, como compra de itens ou publicação de comentários, sem controlar adequadamente como essas funções podem ser abusadas. Invasores podem automatizar o uso indevido dessas funcionalidades para prejudicar o negócio.
- API7:2023 – Falsificação de solicitação do lado do servidor (SSRF): o SSRF ocorre quando uma API busca recursos de outro servidor sem validar adequadamente o URL fornecido pelo usuário. Os invasores podem explorar isso para fazer o servidor da API enviar solicitações para locais não intencionais, burlando firewalls ou acessando sistemas internos.
- API8:2023 – Configuração incorreta de segurança: a configuração incorreta de segurança envolve ter configurações erradas ou incompletas em uma API, tornando-a vulnerável a ataques. Isso pode ocorrer devido a configurações padrão, patches ausentes ou controles de segurança mal configurados que levam a possíveis explorações.
- API9:2023 – Gerenciamento inadequado de inventário: esse risco ocorre quando as APIs expõem mais pontos de extremidade do que o necessário ou carecem de documentação e gerenciamento de versões adequados. Invasores podem explorar pontos de extremidade e versões de API desatualizados, obsoletos ou inseguros que os desenvolvedores possam ter esquecido.
- API10:2023 – Consumo inseguro de APIs: os desenvolvedores podem confiar demais em dados de APIs de terceiros e não aplicar os mesmos padrões de segurança usados para entradas de usuários. Invasores podem explorar vulnerabilidades nesses serviços de terceiros para comprometer a API indiretamente.

Ameaças adicionais
Uma versão anterior do projeto de segurança de API da OWASP incluía vários tipos adicionais de ataques e vulnerabilidades que ainda representam grande ameaça para as organizações:
- Exposição excessiva de dados: a exposição excessiva de dados ocorre quando APIs fornecem mais dados do que o necessário em suas respostas. Isso pode revelar inadvertidamente informações confidenciais a invasores, mesmo que essas informações não tenham sido diretamente solicitadas pelo usuário.
- Falta de limitação de taxa: essa ameaça envolve APIs que não limitam o número de solicitações que um usuário pode fazer em um determinado período. Sem limitação de taxa, invasores podem sobrecarregar a API com solicitações em excesso, causando negação de serviço ou explorando operações que consomem muitos recursos.
- Atribuição em massa: a atribuição em massa ocorre quando as APIs vinculam automaticamente entradas de solicitações a objetos do programa, permitindo que invasores modifiquem ou definam campos de dados não intencionais. Isso pode levar a alterações não autorizadas em dados ou configurações que o usuário não deveria controlar.
- Injeção: falhas de injeção ocorrem quando dados não confiáveis são enviados a um intérprete como parte de um comando ou consulta. Exemplos incluem injeções SQL, NoSQL e de comando, que podem levar ao roubo, perda ou corrupção de dados, enganando a API para executar comandos não intencionais.
- Monitoramento e registros insuficientes: quando administradores não registram logs ou monitoram as APIs adequadamente, atividades suspeitas podem passar despercebidas, atrasando a detecção de violações e dificultando a resposta eficaz a incidentes de segurança.
- Gerenciamento inadequado de ativos: o gerenciamento inadequado de ativos refere-se a não manter e monitorar adequadamente os pontos de extremidade e versões de uma API. Isso pode levar à exposição de pontos de extremidade antigos, obsoletos ou inseguros que invasores podem explorar.
Como se defender contra os riscos de segurança de API da lista OWASP Top 10
Para proteger suas APIs contra os riscos de segurança de API da lista OWASP Top 10 e outras ameaças, as equipes de TI e segurança devem implementar uma estratégia em várias camadas para segurança de API.
No centro dessa abordagem: implantar uma solução completa de segurança de API que forneça quatro funções principais: descoberta de API, gerenciamento de postura de segurança de API, proteção em tempo de execução e teste de segurança de API.
Essa abordagem abrangente funciona como um complemento importante para as ferramentas existentes de uma organização para gerenciar e proteger APIs, como gateways de API e firewalls de aplicações web (WAFs).
Descoberta de APIs: A maioria das organizações tem pouca ou nenhuma visibilidade sobre uma grande porcentagem do tráfego de API, muitas vezes porque elas pressupõem que todas as APIs são roteadas por meio de um gateway de API. Mas esse não é o caso. Muitas das APIs de uma organização típica não são gerenciadas (por exemplo, APIs inativas que são esquecidas, mas ainda em execução e ainda em contato com dados confidenciais). Sua empresa está exposta a uma série de riscos sem um inventário completo e preciso. Recursos essenciais necessários:
- Localizar e inventariar todas as suas APIs, independentemente da configuração ou tipo
- Detectar APIs inativas, legadas e zumbis
- Identificar domínios esquecidos, negligenciados ou de sombra desconhecidos
- Eliminar pontos cegos e revelar possíveis caminhos de ataque
Gerenciamento de postura de APIs: Com um inventário de API completo, é fundamental entender quais tipos de dados fluem através de suas APIs e como isso afeta sua capacidade de cumprir os requisitos regulamentares. O gerenciamento de postura da API fornece uma visão abrangente do tráfego, código e configurações para avaliar a postura de segurança da API da sua organização. Recursos essenciais necessários:
- Verificar automaticamente a infraestrutura para descobrir configurações incorretas e riscos ocultos
- Criar fluxos de trabalho personalizados para notificar as principais partes interessadas sobre vulnerabilidades
- Identificar quais APIs e usuários internos podem acessar dados confidenciais
- Atribuir classificações de gravidade aos problemas detectados para priorizar a correção
Segurança de tempo de execução da API: Sem dúvida, você está familiarizado com o conceito de "presumir violações". Violações e ataques específicos de API estão atingindo esse mesmo grau de inevitabilidade. Para todas as APIs que estão em produção, você precisa ser capaz de detectar e bloquear ataques em tempo real. Recursos essenciais necessários:
- Monitorar a violação e o vazamento de dados, violações de políticas, comportamento suspeito e ataques a APIs
- Analisar o tráfego de APIs sem alterações de rede adicionais ou agentes de difícil instalação
- Integrar fluxos de trabalho existentes (emissão de tickets, SIEM, entre outros) para alertar equipes de segurança/operações
- Evitar ataques e uso indevido em tempo real com correção parcial ou totalmente automatizada
Testes de segurança de APIs: As equipes de desenvolvimento de API estão sob pressão para trabalhar o mais rápido possível. A velocidade é essencial para cada aplicativo desenvolvido, tornando mais fácil para uma vulnerabilidade ou falha de design acontecer e não ser detectada. Testar APIs em desenvolvimento antes de serem lançadas em produção reduz significativamente tanto o risco quanto o custo de corrigir uma API vulnerável. Recursos essenciais necessários:
- Executar uma ampla gama de testes automatizados que simulam tráfego malicioso
- Descobrir vulnerabilidades antes que as APIs entrem em produção para reduzir o risco de um ataque bem-sucedido
- Inspecionar as especificações de API em relação às políticas e regras de governança estabelecidas
- Executar testes de segurança com foco em API sob demanda ou como parte de um pipeline de CI/CD
Nota: Além das soluções de segurança de API, as organizações podem explorar os recursos de proteção de aplicações web e API (WAAP). Projetada para identificar e mitigar rapidamente ameaças de vários vetores de ataque, a WAAP amplia as proteções tradicionais de um WAF. Uma solução de segurança de API, trabalhando em conjunto com WAF e WAAP, amplia ainda mais as proteções além do firewall para criar a defesa mais forte possível.
As organizações que buscam fortalecer suas abordagens de segurança de API também podem usar as seguintes técnicas e tecnologias.
Autenticação e autorização
- Implementar autorização detalhada: garantir que cada solicitação de API verifique as permissões do usuário para acessar objetos específicos. Usar controle de acesso baseado em função (RBAC) ou controle de acesso baseado em atributo (ABAC) para aplicar essas regras.
- Usar mecanismos de autenticação fortes: implementar autenticação multifator (MFA) e usar protocolos seguros como OAuth 2.0 e OpenID Connect para verificar identidades de usuários.
- Aplicar políticas rígidas de senha: exigir senhas complexas e aplicar políticas de rotação de senhas para aumentar a segurança.
Controle de acesso
- Controle de acesso no nível da propriedade: aplicar controles de acesso no nível de propriedade dentro dos objetos para garantir que os usuários só possam acessar ou modificar propriedades para as quais têm permissão.
- Controle de acesso no nível da função: garantir que o acesso a cada função de API seja restrito com base nas funções e permissões do usuário. Usar princípios de menor privilégio para minimizar o acesso.
Limitação de taxa, limitação de tráfego e monitoramento de recursos
- Implementar restrição e limitação de taxa: definir limites para o número de solicitações de API que um usuário pode fazer em um determinado período para evitar o esgotamento de recursos.
- Dimensionamento e monitoramento de recursos: monitorar continuamente o uso de recursos e dimensionar a infraestrutura dinamicamente para lidar com picos de tráfego legítimo sem comprometer a disponibilidade.
Validação e sanitização
- Validar e higienizar entradas de usuários: garantir que URLs ou outras entradas em solicitações do lado do servidor sejam devidamente validadas e higienizadas para evitar solicitações maliciosas.
- Validar e higienizar respostas de API: tratar dados de APIs de terceiros com o mesmo rigor aplicado às entradas de usuários, validando e higienizando antes do uso.
Segmentação
- Segmentação de rede: restringir solicitações do lado do servidor apenas aos serviços internos necessários e usar segmentação de rede para limitar o impacto de possíveis ataques SSRF.
Configuração e inventário
- Fortalecer configurações: revisar e atualizar regularmente as configurações das APIs para seguir as melhores práticas de segurança. Desativar recursos e serviços desnecessários.
- Automatizar o gerenciamento de configurações de segurança: usar ferramentas automatizadas para gerenciar e impor configurações de segurança de forma consistente em todos os ambientes.
Testes e auditorias
- Testes contínuos de segurança: testar regularmente os pontos de extremidade da API em busca de vulnerabilidades e corrigir quaisquer problemas prontamente.
- Auditorias regulares: realizar auditorias de segurança periódicas para identificar e corrigir falhas de autorização.
Inventário, documentação e análises
- Manter um inventário de APIs: manter um inventário atualizado de todos os pontos de extremidade de API, incluindo suas versões e uso. Garantir que pontos de extremidade obsoletos sejam desativados corretamente.
- Documentar e monitorar APIs: documentar a funcionalidade da API e monitorar seu uso para detectar e mitigar riscos de segurança associados ao gerenciamento inadequado.
- Monitorar atividades anormais: implementar monitoramento contínuo para detecção e resposta a padrões incomuns de uso de API que possam indicar uma tentativa de explorar fluxos de negócios.
- Revisões regulares de segurança: revisar e atualizar periodicamente as políticas de controle de acesso para garantir que permaneçam eficazes.
- Usar bibliotecas e estruturas seguras: garantir que as bibliotecas e estruturas usadas para interagir com APIs de terceiros sejam seguras e atualizadas regularmente.
Criptografia
Criptografar dados em trânsito: usar Transport Layer Security (TLS) para criptografar dados em trânsito e proteger informações confidenciais contra interceptação por invasores.
Firewalls e gateways
- Implementar firewalls de aplicações web (WAFs): os firewalls de aplicações web protegem as APIs contra ataques baseados na web, como injeção SQL e cross-site scripting (XSS), bloqueando solicitações maliciosas.
- Usar um gateway de API: os gateways de API servem como ponto de entrada para todas as solicitações de API e executam tarefas de segurança, como autenticação de clientes, implementação de limitação de taxa, gerenciamento de tráfego e prevenção de ataques de DDoS em tempo real.
Correções e atualizações
- Gerenciamento de patches: aplicar regularmente patches, atualizações e correções de segurança para resolver vulnerabilidades conhecidas. Estabelecer um ambiente de testes para garantir que os patches não introduzam problemas de compatibilidade ou consequências não intencionais.
Zero Trust
- Adotar uma abordagem Zero Trust: uma estrutura de Zero Trust parte do princípio de que nenhum usuário, dispositivo ou aplicação dentro ou fora de um ambiente de TI pode ser inerentemente confiável. Ao exigir que cada cliente que solicita acesso às APIs seja continuamente autenticado e validado, a abordagem Zero Trust impede acessos não autorizados e limita os danos de ataques bem-sucedidos.
Perguntas frequentes
A OWASP, o Open Worldwide Application Security Project, é uma organização sem fins lucrativos focada em melhorar a segurança de software. Ela fornece ferramentas, recursos e projetos de código aberto orientados pela comunidade para ajudar desenvolvedores e profissionais de segurança a proteger aplicações web.
Os riscos de segurança de API da lista OWASP Top 10 são uma lista dos riscos de segurança mais críticos para APIs. A lista Top 10 tem como objetivo fornecer a desenvolvedores, arquitetos e profissionais de segurança insights sobre as vulnerabilidades mais comuns e como mitigá-las.
Por que os clientes escolhem a Akamai
A Akamai é a empresa de cibersegurança e computação em nuvem que potencializa e protege negócios online. Nossas soluções de segurança líderes de mercado, a inteligência avançada contra ameaças e a equipe de operações globais oferecem defesa completa para garantir a segurança de dados e aplicações empresariais em todos os lugares. As abrangentes soluções de computação em nuvem da Akamai oferecem desempenho e acessibilidade na plataforma mais distribuída do mundo. Empresas globais confiam na Akamai para obter a confiabilidade, a escala e a experiência líderes do setor necessárias para expandir seus negócios com confiança.