Principais mudanças do OWASP API Security Top 10 2023
Uma nova versão do OWASP API Security Top 10 foi lançada. A lista é um projeto conduzido pela comunidade para definir e priorizar os principais riscos de segurança de APIs comumente encontrados em testes. Vamos entender o que tem de novidade nesta nova versão, comparando com a versão de 2019, até então a última publicada.
O API Security Top 10 da OWASP foi projetado para ajudar os desenvolvedores a entender e lidar com os riscos de segurança mais comuns associados às APIs. O API Security Top 10 2023 da OWASP reflete o cenário de ameaças de API em constante mudança e aborda novos vetores de ataque que surgiram desde que a última versão foi lançada em 2019.
A nova lista tem muitas semelhanças com a edição de 2019, mas também foi reestruturada/redefinida e introduziu alguns novos conceitos. Ameaças e riscos não mudam drasticamente por alguns anos, mas eles evoluem, assim como nossa compreensão deles.
Abaixo, podemos ver uma breve descrição de cada vulnerabilidade na lista de 2023, juntamente com o resumo da OWASP.
API1:2023 — Broken Object Level Authorization
As APIs tendem a expor endpoints que lidam com identificadores de objeto, criando uma ampla superfície de ataque de problemas de controle de acesso em nível de objeto. As verificações de autorização em nível de objeto devem ser consideradas em todas as funções que acessam uma fonte de dados usando um ID do usuário.
API2:2023 — Broken Authentication
Os mecanismos de autenticação são geralmente implementados incorretamente, permitindo que os invasores comprometam os tokens de autenticação ou explorem falhas de implementação para assumir as identidades de outros usuários temporária ou permanentemente. Comprometer a capacidade de um sistema de identificar o cliente/usuário compromete a segurança geral da API.
API3:2023 — Broken Object Property Level Authorization
Esta categoria combina API3:2019 Excessive Data Exposure e API6:2019 — Mass Assignment , com foco na causa raiz: a falta ou validação inadequada de autorização no nível da propriedade do objeto. Isso leva à exposição ou manipulação de informações por partes não autorizadas.
API4:2023 — Unrestricted Resource Consumption
Atender às requisições de API requer recursos como largura de banda de rede, CPU, memória e armazenamento. Outros recursos, como e-mails/SMS/telefonemas ou validação biométrica, são disponibilizados pelos provedores de serviços por meio de integrações de API e pagos por solicitação. Ataques bem sucedidos podem levar à negação de serviço ou ao aumento dos custos operacionais.
API5:2023 — Broken Function Level Authorization
Políticas complexas de controle de acesso com diferentes hierarquias, grupos e papéis, e uma separação pouco clara entre funções administrativas e regulares, tendem a levar a falhas de autorização. Ao explorar esses problemas, os invasores podem obter acesso aos recursos e/ou funções administrativas de outros usuários.
API6:2023 — Unrestricted Access to Sensitive Business Flows
As APIs vulneráveis a esse risco expõem um fluxo de negócios — como comprar um ticket ou postar um comentário — sem compensar como a funcionalidade pode prejudicar os negócios se usada excessivamente de maneira automatizada. Isso não vem necessariamente de bugs de implementação.
API7:2023 — Server Side Request Forgery
Falhas de falsificação de solicitação do lado do servidor (SSRF) podem ocorrer quando uma API está buscando um recurso remoto sem validar o URI fornecido pelo usuário. Isso permite que um invasor force a aplicação a enviar uma solicitação criada para um destino inesperado, mesmo quando protegido por um firewall ou VPN.
API8:2023 — Security Misconfiguration
As APIs e os sistemas que as suportam geralmente contêm configurações complexas, destinadas a tornar as APIs mais personalizáveis. Os engenheiros de software e DevOps podem perder essas configurações ou não seguir as melhores práticas de segurança quando se trata de configuração, abrindo a porta para diferentes tipos de ataques.
API9:2023 — Improper Inventory Management
As APIs tendem a expor mais endpoints do que as aplicações web tradicionais, tornando a documentação adequada e atualizada altamente importante. Um inventário adequado de hosts e versões de API implantadas também é importante para atenuar problemas como versões de API obsoletas e pontos de extremidade de depuração expostos.
API10:2023 — Unsafe Consumption of APIs
Os desenvolvedores tendem a confiar mais nos dados recebidos de APIs de terceiros do que na entrada do usuário e, portanto, tendem a adotar padrões de segurança mais fracos. Para comprometer as APIs, os invasores buscam serviços integrados de terceiros em vez de tentar comprometer a API de destino diretamente.
Principais mudanças OWASP API Security Top 10 2023
- API3:2023 Broken Object Property Level Authorization reúne vulnerabilidades que obtêm acesso não autorizado a informações confidenciais por meio de API3:2019 Excessive Data Exposure e API6:2019 Mass Assignment. Ambas as estratégias se concentram na manipulação de endpoints de API para obter acesso a dados não autorizados e normalmente confidenciais.
- API4:2023 Unrestricted Resource Consumption está diretamente relacionado com API4:2019 Lack of Resources & Rate Limiting, desta vez com foco na proteção da disponibilidade de recursos para atender a requisições legítimas, mas com uso intensivo de recursos.
- API6:2023 Unrestricted Access to Sensitive Business Flows é novo na lista, mas também se relaciona amplamente com API8:2023 Security Misconfiguration. Essa vulnerabilidade chama a atenção de invasores que exploram funcionalidades confidenciais de negócios para prejudicar os negócios, geralmente feito com bots ou ameaças automatizadas.
- API7:2023 Server Size Request Forgery é novo na lista em comparação com a versão 2019. Essa vulnerabilidade destaca os riscos quando uma API busca um recurso remoto sem validar o destino, permitindo que um invasor ignore a solicitação e redirecione para um local mal intencionado.
- API9:2023 Improper Inventory Management é a versão evoluída do API9:2019 Improper Assets Management, continuando a focar na importância de rastrear e gerenciar as superfícies de ataque da sua organização.
- API10:2023 Unsafe Consumption of APIs é novo na lista. A exploração desse problema exige que os invasores identifiquem e comprometam potencialmente outras APIs/serviços com os quais a API de destino está integrada.
Essas mudanças destacam como os invasores estão desenvolvendo suas estratégias para explorar serviços de API privados, públicos e de terceiros que impulsionam nossas aplicações modernas e serviços online. As alterações acima também destacam como as organizações precisam amadurecer seus programas de segurança de API para estarem mais cientes dos riscos ao selecionar serviços de terceiros, documentar todos os aspectos das APIs que são implementadas e criar mecanismos de proteção para garantir que as APIs sejam usadas com segurança.
Conclusão
O OWASP API Security Top 10 é projetado para ajudar as organizações a entender e pensar sobre os principais riscos e ameaças associados a suas APIs e fornecer orientação sobre como aumentar a segurança.
Essas novas alterações tornarão mais fácil para desenvolvedores e testadores identificar problemas que devem ser abordados em suas estratégias de segurança de API. Esperamos que isso resulte em menos violações de segurança e APIs mais seguras!
Para mais detalhes sobre essas mudanças e outras novidades, não deixe de conferir a página oficial do projeto aqui.