Pular para conteúdo

OWASP Top 10 Riscos de Segurança de API – 2019

Risco Descrição
API1:2019 - Broken Object Level Authorization APIs tendem a expor endpoints para manipulação de objetos internos criando uma ampla camada de ataque ao controle de nível de acesso. O controle de autorização deve ser verificado em toda função que tenha acesso à fontes de dados que utilizem dados enviados pelo usuário.
API2:2019 - Broken User Authentication Mecanismos de autorização não raramente são implementados incorretamente, permitindo que atacantes comprometam tokens de autenticação ou explorem falhas na implementação para assumir identidades temporária ou permanentemente. Isto compromete a habilidade dos sistemas em identificar o usuário/cliente comprometendo a segurança da API.
API3:2019 - Excessive Data Exposure Implementações rápidas e de maneira genérica podem fazer que desenvolvedores exponham todas as propriedades dos objetos sem considerar que determinadas informações podem ser sensíveis ao indivíduo e deixando ao cliente as atividades de filtrar as informações antes de exibi-las ao usuário.
API4:2019 - Lack of Resources & Rate Limiting Não raramente APIs não impõem restrições ao tamanho ou à quantidade de recursos que podem ser requisitados pelo cliente/usuário. O impacto vai além do desempenho de servidores de API, resultado em Denial of Service (DoS), mas também, podem deixar portas abertas para falhas de autenticação por força bruta.
API5:2019 - Broken Function Level Authorization Políticas complexas no controle de acesso, com diferentes hierarquias, grupos, papéis e uma falta de clareza na separação entre papéis comuns e de administração podem levar a falhas de autenticação. Explorando esta condição, atacantes podem ganhar acesso à recursos de terceiros ou à funções administrativas.
API6:2019 - Mass Assignment Conectar dados entregues pelo cliente (ex. JSON) diretamente em modelos de dados sem filtrar apropriadamente propriedades em whitelist podem eventualmente levar a atribuição em massa. Mesmo buscando adivinhar propriedades, explorando outros endpoints, consultando documentação e enviando propriedades adicionais em payload os atacantes podem modificar propriedades de objetos os quais não deveria.
API7:2019 - Security Misconfiguration Configurações de segurança incorretas, de maneira geral, é resultado de configurações padrão ou configurações incompletas. Armazenamento em nuvem abertas, configurações incorretas em cabeçalhos HTTP, métodos HTTP desnecessários, CORS permissivos e divulgação de mensagens de erro com informações sensíveis.
API8:2019 - Injection Injeção de falhas como SQL, NoSQL, injeção de comandos e etc, ocorrem quando informações não confiáveis são enviadas ao interpretador como parte de um comando ou consulta. A informação maliciosa do atacante pode enganar o interpretador a executar comandos não esperados ou acessar dados sem a autorização adequada.
API9:2019 - Improper Assets Management APIs tendem a expor mais endpoints que uma aplicação web tradicional, de forma que documentação apropriada e atualizada é muito importante. Gestão de inventário de versões de API tem papel importante para mitigar problemas como versões antigas de API e endpoints de debug.
API10:2019 - Insufficient Logging & Monitoring Falta de log e monitoramento, acoplado com falta ou ineficiente integração com respostas a incidentes, permite que atacantes consigam ter persistência e descobrir outros sistemas para explorar, extrair ou destruir informação. Muitos estudos demonstram que a descoberta de uma brecha leva mais de 200 dias para ser identificada, além de muitas vezes ser detectada mais por terceiros que por um processo interno.