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 APIs (Top 10 API Security Risks) do OWASP (Open Worldwide Application Security Project) é instruir os envolvidos no desenvolvimento e manutenção de APIs e aumentar a conscientização sobre pontos fracos de segurança comuns de APIs. As APIs têm se tornado cada vez mais um alvo para invasores e o projeto de segurança de APIs do OWASP se concentra em estratégias e soluções para entender e mitigar as vulnerabilidades e riscos de segurança específicos associados às APIs.

O que são APIs?

As APIs (Application Programming Interfaces) são fundamentais para o desenvolvimento de aplicações modernas, pois facilitam a capacidade das aplicações de se comunicar e trocar dados com outras aplicações, serviços ou plataformas. As APIs são uma parte fundamental de uma estratégia de modernização de aplicações e a base das aplicações móveis. Elas permitem que as empresas se integrem facilmente a plataformas externas e serviços de terceiros e criem soluções abrangentes conectando vários componentes. Isso promove uma abordagem modular para o desenvolvimento de aplicações que permite que os desenvolvedores aproveitem os serviços e funcionalidades existentes, promovam a reutilização de códigos, acelerem os ciclos de desenvolvimento e aumentem a produtividade.

As APIs também expandem a superfície de risco e introduzem especificamente riscos imprevistos devido à natureza de suas interdependências em arquiteturas multinuvem. Assim como as aplicações Web, as APIs são suscetíveis a explorações de vulnerabilidade, abuso de ameaças automatizadas, negação de serviço, configuração incorreta e ataques que contornam os controles de autenticação e autorização.

Por sua natureza, as APIs expõem a lógica crítica de negócios 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 os invasores; em particular, as funções de login, criar conta, adicionar ao carrinho e transferir dinheiro. As APIs podem se tornar pontos de entrada para invasores que buscam explorar vulnerabilidades ou fraquezas ou expor a infraestrutura e os recursos subjacentes.

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

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

  • Implementar autenticação e autorização fortes. Imponha verificações de autorização adequadas para garantir que os clientes autenticados tenham as permissões necessárias para acessar recursos específicos ou executar determinadas ações. Use controles granulares de acesso para limitar o acesso a endpoints ou dados de API confidenciais, bem como a objetos e funções relevantes.
  • Validar a codificação de entrada e saída. Validar e sanitizar todas as entradas recebidas de clientes de APIs para evitar ataques de injeção e codificar as saídas adequadamente para evitar a execução de scripts maliciosos.
  • Usar comunicação segura. Empregue protocolos seguros para transmitir dados entre clientes de APIs e servidores e criptografe informações confidenciais em trânsito e em repouso para garantir a confidencialidade e a integridade dos dados.
  • Implementar limitação e controle de fluxo de taxa. Imponha limites ao número de solicitações que os clientes de APIs podem fazer dentro de um período de tempo especificado para evitar o uso excessivo ou tentativas de acesso não autorizado, como negação de serviço distribuído (DDoS) e ataques de força bruta.
  • Realizar testes e auditorias regulares de segurança. Realize avaliações regulares de segurança, testes de penetração e revisões de código para identificar e resolver possíveis vulnerabilidades em suas APIs e auditorias de segurança para detectar pontos fracos e garantir a conformidade com as normas e os mandatos do setor. Isso é especialmente importante devido às interdependências de APIs e estruturas e bibliotecas subjacentes.
  • Impor a conformidade do esquema e do protocolo. Criar e aplicar automaticamente um modelo de segurança positiva com as especificações do OpenAPI é uma ferramenta valiosa para garantir uma política de segurança consistente.
  • Descobrir dinamicamente e avaliar continuamente as APIs. A proliferação de APIs resultou em APIs não contabilizadas ou não submetidas a manutenção, incluindo APIs ocultas. Os controles de segurança precisam inventariar e proteger as APIs constantemente usando paradigmas de Zero Trust e acesso com privilégio mínimo para mitigar o risco imprevisto de interdependências de terceiros.
  • Detecção abrangente de ameaças. As APIs estão sujeitas e precisam ser protegidas de uma variedade de ameaças, incluindo brechas, configurações incorretas, bots, fraude e abuso.

OWASP API Security Top 10 — 2023

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

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

  1. Autorização de nível de objeto quebrada. Essa vulnerabilidade de segurança ocorre quando uma aplicação não consegue impor adequadamente os controles de acesso no nível do objeto ou dos dados, permitindo que um invasor manipule ou contorne as verificações de autorização e conceda acesso não autorizado a objetos ou dados específicos dentro de uma aplicação. Isso pode acontecer devido à implementação inadequada de verificações de autorização, falta de validação adequada ou contorno de controles de acesso. Cada endpoint da API que recebe o ID de um objeto e executa qualquer ação no objeto deve implementar verificações de autorização no nível de 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 os invasores obtenham acesso não autorizado a contas de usuários ou dados confidenciais ou executem ações não autorizadas. Isso normalmente acontece devido à implementação ou configuração inadequada de processos de autenticação, políticas de senha fracas, falhas de gerenciamento de sessão ou outros pontos fracos no fluxo de trabalho de autenticação.
  3. Autorização de nível de propriedade de objeto quebrada. Essa ameaça ocorre quando uma API não consegue aplicar adequadamente os controles de acesso e as verificações de autorização no nível da propriedade do objeto. Um endpoint da API é vulnerável a esses ataques se expuser as propriedades de um objeto que são consideradas confidenciais e não devem ser lidas pelo usuário, uma brecha às vezes chamada de exposição excessiva de dados. Um endpoint da API também é vulnerável a esses ataques se permitir que um usuário altere, adicione ou exclua o valor da propriedade de um objeto confidencial, uma brecha às vezes chamada de atribuição em massa.
  4. Consumo irrestrito de recursos. Esse ataque, também chamado de esgotamento de recursos, envolve a exploração de pontos fracos 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) prejudica o desempenho ou a disponibilidade da API ou do sistema subjacente e pode levar a um 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 da função ou operação, permitindo que os invasores acessem funcionalidades não autorizadas. A implementação de verificações de autorização adequadas pode ser confusa, pois as aplicações modernas podem definir muitos tipos de funções e grupos funcionais e envolver hierarquias complexas de usuários, que os invasores podem manipular.
  6. Acesso irrestrito a fluxos de negócios confidenciais. Esse ataque ocorre quando uma API não possui controles de acesso ou verificações de autorização adequados, permitindo que os invasores automatizem o acesso a fluxos de negócios confidenciais respaldados pela API. Esses fluxos de negócios podem validar a compra em massa de produtos de alto valor e baixo estoque, como ingressos ou tênis, que podem ser revendidos com margem de lucro nos mercados secundários. Os invasores geralmente modificam seus ataques usando sofisticados kits de ferramentas de automação e podem direcioná-los para a lógica de negócios por trás das APIs se as aplicações-alvo Web estiverem adequadamente protegidas por defesas antiautomação.
  7. Server-Side Request Forgery (SSRF). Essa vulnerabilidade ocorre quando um invasor identifica um endpoint 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 internos ou sistemas que o invasor deseja atingir. Desconhecendo a intenção maliciosa, o servidor executa a solicitação do lado do servidor para a URL especificada, potencialmente expondo serviços ou informações confidenciais.
  8. Configuração de segurança incorreta. Os invasores tentam encontrar falhas não corrigidas, endpoints comuns, serviços executados com configurações padrão inseguras ou arquivos e diretórios desprotegidos para obter acesso não autorizado à API. Essa vulnerabilidade pode ocorrer quando não há o fortalecimento de segurança apropriado em qualquer nível da estrutura da API, da rede ao nível da aplicação, ou se houver permissões configuradas incorretamente em serviços em nuvem. A configuração incorreta afeta as aplicações Web e APIs, e é um risco crescente à medida que a arquitetura continua a se descentralizar e se distribuir em ambientes multinuvem.
  9. Gerenciamento de inventário inadequado. As APIs estão sujeitas a alterações e atualizações ao longo do tempo, mas versões desatualizadas ou inseguras de APIs podem permanecer em produção, ou endpoints mais antigos podem ser deixados em execução sem correção ou usando requisitos de segurança mais fracos, aumentando o risco de violações de segurança. A falta de um 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 abordadas. As APIs ocultas e APIs zumbis representam riscos significativos, ressaltando a importância da descoberta contínua e das proteções automatizadas.
  10. Consumo não seguro de APIs. Os desenvolvedores tendem a confiar nos dados recebidos de APIs de terceiros, particularmente de APIs oferecidas por empresas bem conhecidas, e adotam requisitos de segurança mais fracos para esses dados em termos de validação de entrada e sanitização ou segurança de transporte. O consumo não seguro também pode ocorrer quando as APIs são acessadas por meio de protocolos não seguros ou quando os 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 os riscos e vulnerabilidades de segurança de aplicações Web em vários níveis. De fato, existem riscos de segurança comuns a aplicações 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 ameaças emergentes à medida que as aplicações evoluem e as implantações de APIs aumentam. As soluções de proteção de APIs e aplicações Web (WAAP) da F5 defendem toda a superfície de ataque de aplicações modernas com proteções abrangentes que incluem WAF, API Security, mitigação de ataques DDoS de L3-L7 e defesa contra bots contra ameaças e fraudes automatizadas. A plataforma distribuída simplifica a implantação de políticas consistentes e a escalabilidade da segurança em todo o seu acervo de aplicações e APIs, independentemente de onde elas estejam hospedadas, além de integrar proteções ao ciclo de vida da API e a ecossistemas de segurança mais amplos.

A F5 fornece arquiteturas de segurança híbridas que protegem aplicações e APIs de forma consistente e contínua, desde o núcleo até a nuvem e a borda. As soluções da F5 descobrem dinamicamente e protegem automaticamente a lógica de negócios crítica por trás das APIs usando inteligência de ameaças, segurança baseada em ML e princípios de Zero Trust, fornecendo a resiliência e a agilidade necessárias para competir na economia digital baseada em APIs.

As soluções de firewalls de aplicações 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 mais críticos de aplicações Web. As APIs, como as aplicações Web, são suscetíveis a configurações incorretas e ameaças automatizadas e podem ser alvo de explorações de vulnerabilidades, SSRF e ataques que tentam contornar controles de autenticação e autorização. As soluções WAF da F5 combinam assinaturas e proteções comportamentais, incluindo a inteligência contra ameaças da F5 Labs e segurança baseada em ML, para acompanhar as ameaças emergentes; elas também podem ser integradas a controles especializados de defesa de bots.

Essas soluções aliviam a carga e a complexidade de proteger consistentemente as aplicações em nuvens, no local e em ambientes de borda, ao mesmo tempo em que simplificam o gerenciamento por meio de uma infraestrutura SaaS centralizada. Os WAFs da F5 também otimizam a segurança das aplicações, integrando proteções em estruturas de desenvolvimento e pipelines de CI/CD com funcionalidade de segurança básica, orquestração centralizada e supervisão por meio de um único painel com uma visão de 360 graus do desempenho da aplicação e dos eventos de segurança em aplicações distribuídas.

A F5 também oferece soluções para lidar com os riscos descritos pelo OWASP no Projeto contra ameaças automatizadas a aplicações Web. O F5 Distributed Cloud Bot Defense evita 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 as organizações de ataques automatizados, sem impactar o usuário ou afetar a experiência do cliente. O Distributed Cloud Bot Defense mantém a eficácia, independentemente de como os invasores se reequipam, seja direcionando seus ataques de aplicações Web para APIs, tentando contornar defesas antiautomação falsificando a telemetria ou usando solucionadores de CAPTCHA humanos.

A F5 também oferece proteção contra DDoS de 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 mitiga ataques em larga escala direcionados a redes, protocolos e aplicações em tempo real. As mesmas proteções também estão disponíveis como hardware, software e soluções híbridas no local. A Distributed Cloud DDoS Mitigation da F5 protege contra ataques volumétricos e específicos para aplicações de camada 3–4 e ataques avançados de camada 7 antes que eles alcancem sua infraestrutura de rede e aplicações.