Visão geral e práticas recomendadas do OWASP API Security Top 10

As APIs desempenham um papel crítico nas arquiteturas de aplicações modernas, e este projeto do OWASP se concentra na conscientização sobre os pontos fracos de segurança comuns das APIs.

O objetivo da lista dos 10 principais riscos de segurança de API do OWASP (Open Worldwide Application Security Project) é educar os envolvidos no desenvolvimento e manutenção de APIs e aumentar a conscientização sobre as fraquezas comuns de segurança de APIs. As APIs têm se tornado cada vez mais um alvo para invasores e o projeto de segurança de API da OWASP se concentra em estratégias e soluções para entender e mitigar as vulnerabilidades e riscos de segurança exclusivos associados às APIs.

O que são APIs?

As APIs (Interfaces de Programação de Aplicativos) são fundamentais para o desenvolvimento de aplicativos modernos, pois facilitam a capacidade dos aplicativos de se comunicarem e trocarem dados com outros aplicativos, serviços ou plataformas. As APIs são uma parte fundamental de uma estratégia de modernização de aplicativos e são a base dos aplicativos móveis. Eles permitem que as empresas se integrem facilmente com plataformas externas e serviços de terceiros e criem soluções abrangentes conectando vários componentes. Isso promove uma abordagem modular ao desenvolvimento de aplicativos que permite aos desenvolvedores aproveitar serviços e funcionalidades existentes, promover a reutilização de código, acelerar os ciclos de desenvolvimento e aumentar a produtividade.

As APIs também expandem a superfície de risco e introduzem especificamente riscos imprevistos devido à natureza de suas interdependências entre arquiteturas de múltiplas nuvens. Assim como os aplicativos da web, as APIs são suscetíveis a explorações de vulnerabilidades, abuso de ameaças automatizadas, negação de serviço, configuração incorreta e ataques que ignoram os controles de autenticação e autorização.

Por natureza, as APIs expõem lógica empresarial crítica e informações confidenciais, como dados do usuário, credenciais de autenticação e transações financeiras, e têm se tornado cada vez mais um alvo para invasores; em particular, as funções de login, criação de conta, adição ao carrinho e transferência de dinheiro. As APIs podem se tornar pontos de entrada para invasores que buscam explorar vulnerabilidades ou fraquezas, ou expor infraestrutura e recursos subjacentes.  

Quais são as práticas recomendadas de segurança de APIs?

Medidas robustas de segurança de API são necessárias para proteger dados contra acesso não autorizado, manipulação ou exposição para garantir a privacidade e manter a confiança de usuários e partes interessadas, bem como garantir a confidencialidade, integridade e disponibilidade das APIs. As melhores práticas para segurança de API incluem o seguinte:

  • Implemente autenticação e autorização fortes. Aplique verificações de autorização adequadas para garantir que clientes autenticados tenham as permissões necessárias para acessar recursos específicos ou executar determinadas ações. Use controles de acesso granulares para limitar o acesso a pontos de extremidade ou dados de API confidenciais, bem como a objetos e funções relevantes.
  • Valide a codificação de entrada e saída. Valide e higienize todas as entradas recebidas de clientes de API para evitar ataques de injeção e codifique a saída adequadamente para impedir a execução de scripts maliciosos.
  • Use comunicação segura. Empregue protocolos seguros para transmitir dados entre clientes e servidores de API e criptografe informações confidenciais em trânsito e em repouso para garantir a confidencialidade e a integridade dos dados. 
  • Implementar limitação de taxa e limitação. Aplique limites ao número de solicitações que os clientes da API podem fazer dentro de um período de tempo especificado para evitar uso excessivo ou tentativas de acesso não autorizado, como negação de serviço distribuída (DDoS) e ataques de força bruta.
  • Realize testes e auditorias de segurança regularmente. Realize avaliações regulares de segurança, testes de penetração e revisões de código para identificar e abordar vulnerabilidades potenciais em suas APIs e conduzir auditorias de segurança para detectar fraquezas e garantir a conformidade com os padrões e mandatos do setor. Isso é especialmente importante devido às interdependências de APIs e estruturas e bibliotecas subjacentes.
  • Aplique a conformidade do esquema e do protocolo. Criar e aplicar automaticamente um modelo de segurança positivo com especificações OpenAPI é uma ferramenta valiosa para garantir uma política de segurança consistente.
  • Descubra APIs dinamicamente e avalie continuamente. A proliferação de APIs resultou em APIs não contabilizadas ou sem manutenção, incluindo APIs ocultas . Os controles de segurança precisam inventariar e proteger APIs constantemente usando paradigmas de acesso de confiança zero e privilégio mínimo para mitigar riscos imprevistos de interdependências de terceiros. 
  • Detecção abrangente de ameaças. As APIs estão sujeitas a uma variedade de ameaças e precisam ser protegidas delas, incluindo explorações, configurações incorretas, bots, fraudes e abusos.

OWASP API Security Top 10 — 2023

O OWASP API Security Top 10 – 2023 foi formulado para aumentar a conscientização sobre as fraquezas comuns de segurança de API e ajudar desenvolvedores, designers, arquitetos, gerentes e outros envolvidos no desenvolvimento e manutenção de API a manter uma abordagem proativa à segurança de API.

Os riscos do OWASP API Security Top 10 para 2023 são: 

  1. Autorização em nível de objeto quebrado. Essa vulnerabilidade de segurança ocorre quando um aplicativo não consegue aplicar adequadamente os controles de acesso no nível de objeto ou de dados, permitindo que um invasor manipule ou ignore as verificações de autorização e conceda acesso não autorizado a objetos ou dados específicos dentro de um aplicativo. Isso pode acontecer devido à implementação inadequada de verificações de autorização, falta de validação adequada ou desvio de controles de acesso. Cada ponto de extremidade da API que recebe uma ID de um objeto e executa qualquer ação no objeto deve implementar verificações de autorização no nível do objeto para validar se o usuário conectado tem permissões para executar a ação solicitada no objeto solicitado.
  2. Autenticação quebrada. Os mecanismos de autenticação em uma API geralmente são implementados incorretamente, permitindo que invasores obtenham acesso não autorizado a contas de usuários ou dados confidenciais, ou executem ações não autorizadas. Geralmente, isso ocorre devido à implementação ou configuração inadequada de processos de autenticação, políticas de senha fracas, falhas de gerenciamento de sessão ou outras fraquezas no fluxo de trabalho de autenticação. 
  3. Autorização de nível de propriedade de objeto quebrado. Essa ameaça ocorre quando uma API falha em aplicar adequadamente os controles de acesso e as verificações de autorização no nível de propriedade do objeto. Um ponto de extremidade de API fica vulnerável a esses ataques se ele expõe propriedades de um objeto que são consideradas confidenciais e não devem ser lidas pelo usuário, uma exploração às vezes chamada de exposição excessiva de dados . Um ponto de extremidade de API também é vulnerável a esses ataques se permitir que um usuário altere, adicione ou exclua o valor de uma propriedade de objeto confidencial, uma exploração às vezes chamada de atribuição em massa .
  4. Consumo irrestrito de recursos. Esse ataque, também chamado de exaustão de recursos, envolve a exploração de fraquezas na implementação da API para consumir intencionalmente uma quantidade excessiva de recursos, como CPU, memória, largura de banda ou outros recursos do sistema. Essa negação de serviço (DoS) degrada o desempenho ou a disponibilidade da API ou do sistema subjacente e pode levar ao tempo de inatividade.  
  5. Autorização de nível de função quebrada. Essa ameaça ocorre quando uma API falha em aplicar adequadamente as verificações de autorização no nível de função ou operação, permitindo que invasores acessem funcionalidades não autorizadas. Implementar verificações de autorização adequadas pode ser confuso, pois os aplicativos modernos podem definir muitos tipos de funções e grupos funcionais e envolver hierarquias de usuários complexas, que os invasores podem manipular. 
  6. Acesso irrestrito a fluxos comerciais confidenciais. Este ataque ocorre quando uma API não possui controles de acesso adequados ou verificações de autorização, permitindo que invasores automatizem o acesso a fluxos comerciais sensíveis apoiados pela API. Esses fluxos comerciais podem dar suporte à compra em massa de produtos de alto valor e baixo estoque, como ingressos ou tênis, que podem ser revendidos com margem de lucro em mercados secundários. Os invasores geralmente reestruturam seus ataques usando kits de ferramentas de automação sofisticados e podem mudar para atingir a lógica de negócios por trás das APIs se os aplicativos da web do alvo estiverem adequadamente protegidos por defesas anti-automação.  
  7. Server-Side Request Forgery (SSRF). Essa vulnerabilidade ocorre quando um invasor identifica um ponto de extremidade de API vulnerável que aceita URLs fornecidas pelo usuário ou executa solicitações do lado do servidor para recursos externos. O invasor cria solicitações maliciosas que especificam URLs de recursos ou sistemas internos que o invasor deseja atingir. Sem saber da intenção maliciosa, o servidor executa a solicitação do lado do servidor para a URL especificada, potencialmente expondo informações ou serviços confidenciais. 
  8. Configuração incorreta de segurança. Os invasores tentam encontrar falhas não corrigidas, endpoints comuns, serviços em execução com configurações padrão inseguras ou arquivos e diretórios desprotegidos para obter acesso não autorizado à API. Essa vulnerabilidade pode ocorrer quando o reforço de segurança apropriado está ausente em qualquer nível da pilha da API, da rede ao nível do aplicativo, ou se houver permissões configuradas incorretamente em serviços de nuvem. A configuração incorreta afeta aplicativos da web e APIs e é um risco crescente à medida que a arquitetura continua a se descentralizar e se distribuir em ambientes de várias nuvens.
  9. Gestão inadequada de estoque. As APIs estão sujeitas a alterações e atualizações ao longo do tempo, mas versões desatualizadas ou inseguras da API podem permanecer em produção, ou endpoints mais antigos podem permanecer em execução sem patches ou usando requisitos de segurança mais fracos, aumentando o risco de violações de segurança. A falta de gerenciamento de inventário adequado dificulta o rastreamento de quais versões estão em uso, quais estão desatualizadas ou obsoletas e quais vulnerabilidades foram corrigidas. APIs Shadow e Zombie apresentam riscos significativos , ressaltando a importância da descoberta contínua e proteções automatizadas.  
  10. Consumo inseguro de APIs. Os desenvolvedores tendem a confiar em dados recebidos de APIs de terceiros, principalmente de APIs oferecidas por empresas conhecidas, e adotam requisitos de segurança mais fracos para esses dados em termos de validação e higienização de entrada ou segurança de transporte. O consumo inseguro também pode ocorrer quando as APIs são acessadas por meio de protocolos inseguros ou quando mecanismos de criptografia adequados não são usados, levando à espionagem, interceptação de dados e acesso não autorizado a informações confidenciais. 

O caso dos controles de segurança integrados

A F5 aborda os riscos de segurança do OWASP

A F5 apoia a Fundação OWASP e sua dedicação em melhorar a segurança de software e aumentar a conscientização sobre riscos e vulnerabilidades de segurança de aplicativos web em vários níveis. De fato, há riscos de segurança comuns a aplicativos e APIs que devem ser considerados ao implementar soluções de segurança. Por exemplo: 

  • Controles de autenticação/autorização fracos
  • Configuração incorreta
  • Abuso da lógica de negócios (credential stuffing, account takeover)
  • Server-Side Request Forgery (SSRF).

A F5 aborda os riscos identificados no OWASP API Security Top 10 com soluções que protegem a crescente superfície de ataque e as ameaças emergentes à medida que os aplicativos evoluem e as implantações de API aumentam. As soluções de proteção de API e aplicativos da Web (WAAP) da F5 defendem toda a superfície de ataque de aplicativos modernos com proteções abrangentes que incluem WAF, segurança de API , mitigação de DDoS L3-L7 e defesa de bots contra ameaças automatizadas e fraudes. A plataforma distribuída simplifica a implantação de políticas consistentes e a escala de segurança em todo o seu conjunto de aplicativos e APIs, independentemente de onde estejam hospedados, além de integrar proteções ao ciclo de vida da API e aos ecossistemas de segurança mais amplos.

A F5 fornece arquiteturas de segurança híbridas que protegem aplicativos e APIs de forma consistente e contínua, do núcleo à nuvem e à borda. As soluções F5 descobrem dinamicamente e protegem automaticamente a lógica empresarial crítica por trás das APIs usando inteligência de ameaças, segurança baseada em ML e princípios de confiança zero, fornecendo a resiliência e a agilidade necessárias para competir na economia digital orientada por API.

As soluções de firewall de aplicativo Web da F5 também bloqueiam e mitigam um amplo espectro de riscos identificados pelo OWASP Top 10, uma lista amplamente reconhecida dos riscos de segurança de aplicativos Web mais críticos. APIs, assim como aplicativos da web, são suscetíveis a configurações incorretas e ameaças automatizadas, e podem ser alvos de explorações de vulnerabilidades, SSRF e ataques que tentam ignorar controles de autenticação e autorização. As soluções F5 WAF combinam proteções de assinatura e comportamentais, incluindo inteligência de ameaças do F5 Labs e segurança baseada em ML, para acompanhar as ameaças emergentes; elas também podem ser integradas com controles de defesa de bots especializados.

Essas soluções aliviam o fardo e a complexidade de proteger consistentemente aplicativos em nuvens, ambientes locais e de ponta, ao mesmo tempo em que simplificam o gerenciamento por meio de uma infraestrutura SaaS centralizada. Os F5 WAFs também otimizam a segurança do aplicativo ao integrar proteções em estruturas de desenvolvimento e pipelines de CI/CD com funcionalidade de segurança central, orquestração centralizada e supervisão por meio de um único painel com uma visão de 360 graus do desempenho do aplicativo e eventos de segurança em aplicativos distribuídos.

A F5 também oferece soluções para lidar com os riscos descritos no Projeto Ameaças Automatizadas a Aplicativos Web da OWASP. O F5 Distributed Cloud Bot Defense previne fraudes e abusos que podem contornar as soluções de gerenciamento de bots existentes e fornece monitoramento e inteligência em tempo real, bem como análise retrospectiva baseada em ML para proteger organizações de ataques automatizados, sem causar atrito ao usuário ou interromper a experiência do cliente. A defesa distribuída de bots na nuvem mantém a eficácia independentemente de como os invasores se reorganizam, se os ataques mudam de aplicativos da web para APIs ou tentam contornar as defesas antiautomação falsificando telemetria ou usando solucionadores de CAPTCHA humanos.

A F5 também oferece proteção DDoS em várias camadas para segurança on-line avançada como um serviço de mitigação gerenciado e fornecido pela nuvem que detecta e atenua ataques de larga escala direcionados a redes, protocolos e aplicativos em tempo real; as mesmas proteções estão disponíveis como soluções de hardware, software e híbridas locais. O F5 Distributed Cloud DDoS Mitigation defende contra ataques volumétricos e específicos de aplicativos de camada 3-4 e ataques avançados de camada 7 antes que eles atinjam sua infraestrutura de rede e aplicativos.