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

As APIs desempenham um papel fundamental nas arquiteturas de aplicações modernas, e este projeto da OWASP busca conscientizar sobre vulnerabilidades comuns de segurança em APIs.

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

O que são APIs?

APIs (Interfaces de Programação de Aplicações) são fundamentais para o desenvolvimento de aplicações modernas, pois permitem que elas se comuniquem e troquem dados com outras aplicações, serviços ou plataformas. As APIs são uma parte essencial de uma estratégia de modernização de aplicações e constituem a base dos aplicativos móveis. Elas permitem que as empresas se integrem facilmente a plataformas externas e serviços de terceiros, além de criar soluções abrangentes conectando diversos componentes. Isso promove uma abordagem modular ao desenvolvimento de aplicações, permitindo que os desenvolvedores aproveitem serviços e funcionalidades existentes, promovam a reutilização de código, acelerem os ciclos de desenvolvimento e aumentem a produtividade.

As APIs também ampliam a superfície de risco e, especificamente, introduzem riscos imprevistos devido à natureza de suas interdependências em arquiteturas multinuvem. Assim como as aplicações web, as APIs estão sujeitas à exploração de vulnerabilidades, ao abuso por ameaças automatizadas, à negação de serviço, a configurações incorretas e a ataques que contornam os controles de autenticação e autorização.

Por sua própria natureza, as APIs expõem lógicas de negócios críticas e informações confidenciais, como dados de usuários, credenciais de autenticação e transações financeiras, e têm se tornado cada vez mais um alvo para invasores, especialmente 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 falhas, 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, garantindo a privacidade e mantendo a confiança dos usuários e das partes interessadas, além de assegurar a confidencialidade, a integridade e a disponibilidade das APIs. As práticas recomendadas de segurança de APIs incluem:

  • Implemente autenticação e autorização robustas. Aplique verificações de autorização adequadas para garantir que os clientes autenticados tenham as permissões necessárias para acessar recursos específicos ou realizar determinadas ações. Use controles de acesso granulares para limitar o acesso a endpoints ou dados confidenciais da API, 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 da API para evitar ataques de injeção e codifique adequadamente a saída para impedir a execução de scripts maliciosos.
  • Use comunicação segura. Empregue protocolos seguros para transmitir dados entre clientes de API e servidores e criptografe informações confidenciais em trânsito e em repouso para garantir a confidencialidade e a integridade dos dados.
  • Implemente limitação de taxa e controle de tráfego. Estabeleça limites para o número de solicitações que os clientes de API podem fazer em um determinado período, a fim de evitar o uso excessivo ou tentativas de acesso não autorizado, como ataques de negação de serviço distribuída (DDoS) e de força bruta.
  • Realize testes e auditorias de segurança regularmente. Faça avaliações de segurança, testes de invasão e revisões de código regularmente para identificar e corrigir possíveis vulnerabilidades em suas APIs. Além disso, realize auditorias de segurança para detectar pontos fracos e garantir a conformidade com normas e exigências do setor. Isso é especialmente importante devido às interdependências entre as APIs e os frameworks e bibliotecas subjacentes.
  • Garanta a conformidade com esquemas e protocolos. 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-as 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 constantemente as APIs usando os paradigmas de acesso de confiança zero e privilégio mínimo para mitigar riscos imprevistos decorrentes de interdependências com terceiros.
  • Detecção abrangente de ameaças. As APIs estão sujeitas a diversas ameaças e precisam ser protegidas contra elas, incluindo explorações de vulnerabilidades, configurações incorretas, bots, fraudes e abusos.

OWASP API Security Top 10 — 2023

O OWASP API Security Top 10 – 2023 foi elaborado para aumentar a conscientização sobre vulnerabilidades comuns de segurança de APIs e ajudar desenvolvedores, designers, arquitetos, gerentes e outros profissionais envolvidos no desenvolvimento e na manutenção de APIs a manter uma abordagem proativa em relação à segurança de APIs.

Os 10 principais riscos de segurança de APIs da OWASP em 2023 são:

  1. Falha na autorização em nível de objeto. Essa vulnerabilidade de segurança ocorre quando uma aplicação não aplica corretamente os controles de acesso em nível de objeto ou de dados, permitindo que um invasor manipule ou contorne as verificações de autorização e obtenha acesso não autorizado a objetos ou dados específicos dentro de uma aplicação. Isso pode acontecer devido à implementação inadequada das verificações de autorização, à falta de validação apropriada ou ao contorno dos controles de acesso. Todo endpoint de API que recebe o ID de um objeto e executa qualquer ação nesse objeto deve implementar verificações de autorização em nível de objeto para validar se o usuário autenticado tem permissão para executar a ação solicitada no objeto em questão.
  2. Falha na autenticação. Os mecanismos de autenticação de uma API muitas vezes são implementados incorretamente, permitindo que invasores obtenham acesso não autorizado a contas de usuários ou dados confidenciais, ou realizem ações não autorizadas. Isso geralmente ocorre devido à implementação ou configuração inadequada dos processos de autenticação, políticas de senha fracas, falhas no gerenciamento de sessões ou outras vulnerabilidades no fluxo de autenticação.
  3. Falha na autorização em nível de propriedade do objeto. Essa ameaça ocorre quando uma API não aplica corretamente os controles de acesso e as verificações de autorização em nível de propriedade do objeto. Um endpoint de API fica vulnerável a esses ataques quando expõe propriedades de um objeto consideradas confidenciais e que não deveriam ser acessadas pelo usuário, uma exploração às vezes chamada de exposição excessiva de dados. Um endpoint de API também fica vulnerável a esses ataques quando permite que um usuário altere, adicione ou exclua o valor de uma propriedade confidencial de um objeto, uma exploração à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 vulnerabilidades 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 causar indisponibilidade.
  5. Falha na autorização em nível de função. Essa ameaça ocorre quando uma API não aplica corretamente as verificações de autorização no nível da 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 vários tipos de funções e grupos funcionais e envolver hierarquias complexas de usuários, que podem ser manipuladas por invasores.
  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 invasores automatizem o acesso a fluxos de negócios confidenciais viabilizados pela API. Esses fluxos de negócios podem permitir a compra em massa de produtos de alto valor e estoque limitado, como ingressos ou tênis, que podem ser revendidos com ágio em mercados secundários. Os invasores frequentemente reformulam seus ataques usando kits de ferramentas de automação sofisticados e podem passar a explorar a lógica de negócios por trás das APIs caso os aplicativos web do alvo estejam devidamente protegidos por mecanismos de defesa contra automação.
  7. Falsificação de solicitação do lado do servidor (SSRF). Essa vulnerabilidade ocorre quando um invasor identifica um endpoint de API vulnerável que aceita URLs fornecidas pelo usuário ou realiza solicitações do lado do servidor a recursos externos. O invasor cria solicitações maliciosas que especificam URLs de recursos internos ou sistemas que deseja atacar. Sem perceber a intenção maliciosa, o servidor realiza a solicitação do lado do servidor para a URL especificada, podendo expor 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 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á um reforço de segurança adequado em qualquer camada da pilha da API, desde a rede até a aplicação, ou quando há permissões configuradas incorretamente em serviços de nuvem. A configuração incorreta afeta aplicações web e APIs e representa um risco cada vez maior à medida que a arquitetura continua se descentralizando e se distribuindo por ambientes multinuvem.
  9. Gerenciamento inadequado de inventário. As APIs estão sujeitas a alterações e atualizações ao longo do tempo, mas versões desatualizadas ou inseguras podem permanecer em produção, ou endpoints antigos podem continuar em execução sem correções ou com requisitos de segurança menos rigorosos, aumentando o risco de violações de segurança. A falta de um gerenciamento adequado de inventário dificulta o acompanhamento das versões em uso, das que estão desatualizadas ou obsoletas e das vulnerabilidades que já foram corrigidas. APIs ocultas e zumbis representam riscos significativos, ressaltando a importância da descoberta contínua e das proteções automatizadas.
  10. Consumo inseguro de APIs. Os desenvolvedores tendem a confiar nos dados recebidos de APIs de terceiros, especialmente de APIs oferecidas por empresas conhecidas, e adotam requisitos de segurança menos rigorosos para esses dados no que diz respeito à validação e sanitização de entradas ou à segurança do transporte. O consumo inseguro também pode ocorrer quando as APIs são acessadas por meio de protocolos inseguros ou quando não são utilizados mecanismos de criptografia adequados, o que pode resultar em espionagem, interceptação de dados e acesso não autorizado a informações confidenciais.

A importância dos controles de segurança integrados

A F5 aborda os riscos de segurança da OWASP

A F5 apoia a OWASP Foundation e seu compromisso de aprimorar a segurança de software e conscientizar sobre os riscos e as vulnerabilidades de segurança de aplicações web em diversos níveis. De fato, há riscos de segurança comuns tanto a aplicações quanto a 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 (preenchimento de credenciais, tomada de controle de contas)
  • Falsificação de solicitação do lado do servidor (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 contra ameaças emergentes à medida que os aplicativos evoluem e as implantações de APIs aumentam. As soluções de proteção de aplicações Web e APIs (WAAP) da F5 protegem toda a superfície de ataque das aplicações modernas com proteções abrangentes que incluem WAF, segurança de APIs, mitigação de DDoS das camadas L3 a L7 e defesa contra bots, ameaças automatizadas e fraudes. A plataforma distribuída facilita a implantação de políticas consistentes e o dimensionamento da segurança em todo o seu portfólio de aplicativos e APIs, independentemente de onde estejam hospedados, além de integrar as proteções ao ciclo de vida das APIs e a ecossistemas de segurança mais amplos.

A F5 oferece 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 da F5 descobrem dinamicamente e protegem automaticamente a lógica de negócios crítica por trás das APIs usando inteligência contra ameaças, segurança baseada em aprendizado de máquina e princípios de confiança zero, proporcionando a resiliência e a agilidade necessárias para competir na economia digital impulsionada por APIs.

Soluções F5 Web Application Firewall também bloqueiam e mitigam uma ampla variedade de riscos identificados pelo OWASP Top 10, uma lista amplamente reconhecida dos riscos mais críticos à segurança de aplicações web. As APIs, assim como as aplicações web, estão sujeitas a configurações incorretas e ameaças automatizadas e podem ser alvo de exploração de vulnerabilidades, SSRF e ataques que tentam contornar os controles de autenticação e autorização. As soluções F5 WAF combinam proteções baseadas em assinaturas e comportamento, incluindo inteligência contra ameaças da F5 Labs e segurança baseada em ML, para acompanhar a evolução das ameaças; elas também podem ser integradas a controles especializados de defesa contra bots.

Essas soluções reduzem o esforço e a complexidade de proteger aplicações de forma consistente em ambientes de nuvem, locais e de borda, além de simplificar o gerenciamento por meio de uma infraestrutura SaaS centralizada. Os WAFs da F5 também simplificam a segurança das aplicações ao integrar proteções a frameworks de desenvolvimento e pipelines de CI/CD, com funcionalidades essenciais de segurança, orquestração centralizada e monitoramento por meio de um único painel, que oferece uma visão de 360 graus do desempenho das aplicações e dos eventos de segurança em aplicações distribuídas.

A F5 também oferece soluções para lidar com os riscos descritos no projeto da OWASP Ameaças automatizadas a aplicações web.F5 Distributed Cloud Bot Defense previne fraudes e abusos capazes de contornar as soluções existentes de gerenciamento de bots e oferece monitoramento e inteligência em tempo real, além de análise retrospectiva baseada em aprendizado de máquina, para proteger as organizações contra ataques automatizados sem criar atritos para o usuário nem prejudicar a experiência do cliente. Distributed Cloud Bot Defense mantém sua eficácia independentemente de como os invasores reformulem suas estratégias, seja migrando os ataques de aplicações web para APIs, seja tentando contornar as defesas contra automação por meio da falsificação de telemetria ou do uso de pessoas para resolver CAPTCHAs.

A F5 também oferece proteção contra DDoS em várias camadas para segurança online avançada como um serviço gerenciado de mitigação fornecido pela nuvem, que detecta e mitiga, em tempo real, ataques de grande escala direcionados à rede, aos protocolos e às aplicações. As mesmas proteções também estão disponíveis como soluções locais de hardware e software, além de soluções híbridas. O F5 Distributed Cloud DDoS Mitigation oferece proteção contra ataques volumétricos e específicos a aplicações nas camadas 3 e 4, bem como contra ataques avançados na camada 7, antes que eles atinjam sua infraestrutura de rede e suas aplicações.

Para obter mais informações sobre como os componentes da plataforma F5 ADSP protegem contra os riscos de segurança da OWASP, consulte os seguintes recursos: