O aumento de incidentes e violações de segurança relacionados à APIs fez com que o Open Web Application Security Project (OWASP) lançasse o primeiro API Security Top 10, no final de 2019, para aumentar aumentar a conscientização sobre os problemas de segurança de API e vulnerabilidades mais comuns que assolam as Organizações hoje.
Conheça, neste artigo, as 10 principais vulnerabilidades de segurança da API OWASP
1. API1:2019 - Broken Object Level Authorization
A autorização de nível de objeto quebrado é a ameaça de API mais comum, representada em cerca de 40% de todos os ataques de API.
A situação:
As APIs geralmente expõem endpoints que lidam com identificadores de objetos, criando uma ampla superfície de ataque em potencial.
A autorização em nível de objeto é um mecanismo de controle de acesso geralmente implementado no nível de código para validar a capacidade de um usuário de acessar um determinado objeto.
Os mecanismos de autorização e controle de acesso em aplicativos modernos são complexos e dispersos. Mesmo que um aplicativo implemente uma infraestrutura adequada para verificações de autorização, os desenvolvedores geralmente esquecem de aplicar essas verificações antes de acessar um objeto.
Como invasores podem aproveitar este problema:
Explorando com facilidade os terminais de API que são vulneráveis à autorização de nível de objeto (BOLA) quebrada, manipulando o ID de um objeto que é enviado em uma solicitação de API.
2. API2:2019 - Broken User Authentication
A autenticação de usuário quebrada permite que invasores usem tokens de autenticação roubados, preenchimento de credenciais e ataques de força bruta para obter acesso não autorizado a aplicativos.
Dois pontos tornam o componente de autenticação vulnerável a explorações:
- Falta de mecanismos de proteção: Os endpoints da API responsável pela autenticação devem ser tratados de forma diferente dos endpoints regulares e implementar camadas extras de proteção.
- Implementação incorreta do mecanismo de autenticação: Quando é instado sem considerar os vetores de ataque ou o mecanismo não é apropriado para o caso de uso.
Um invasor que explora vulnerabilidades em mecanismos de autenticação pode:
Assumir contas de usuários, obter acesso não autorizado aos dados de outro usuário ou fazer transações não autorizadas como outro usuário.
3. API3:2019 - Excessive Data Exposure
Quando APIs genéricas fornecem mais dados do que o necessário, um invasor pode explorar um aplicativo usando dados redundantes para extrair ainda mais dados confidenciais.
O problema:
As ferramentas tradicionais de verificação de segurança e detecção de tempo de execução às vezes alertam sobre esse tipo de vulnerabilidade, mas não conseguem diferenciar entre dados legítimos retornados da API e dados confidenciais que não devem ser retornados.
4. API4:2019 - Lack of resources & Rate limiting
APIs que implementam inadequadamente a limitação de taxa ou negligenciam a implementação são altamente suscetíveis a ataques de força bruta.
O problema:
As solicitações de API consomem recursos, como: rede, CPU, memória e armazenamento. A quantidade de recursos necessários para atender a uma solicitação depende muito da entrada do usuário e da lógica de negócios do endpoint.
As APIs nem sempre impõem restrições quanto ao tamanho ou número de recursos que podem ser solicitados pelo cliente ou usuário. Isso não apenas pode afetar o desempenho do servidor de API, levando à negação de serviço (DoS), mas também deixa a porta aberta para ataques de força bruta e enumeração contra APIs que fornecem autenticação e funcionalidade de busca de dados.
5. API5:2019 - Broken Function Level Authorization
Quando a autorização não é implementada corretamente, usuários não autorizados podem executar funções de API, como adicionar, atualizar ou excluir um registro de cliente ou uma função de usuário.
O problema:
As falhas de autorização são muitas vezes o resultado de uma autorização implementada ou configurada incorretamente. A implementação de mecanismos de autorização adequados é uma tarefa complexa, pois os aplicativos modernos podem conter muitos tipos de funções, grupos e hierarquia de usuários (como sub usuários e usuários com mais de uma função). O cenário fica ainda mais complicado com arquiteturas de aplicativos distribuídos e design nativo da nuvem.
O que invasores podem fazer:
Invasores podem explorar as vulnerabilidades ao direcionar APIs para escalar privilégios horizontal ou verticalmente, ou explorar essas falhas enviando solicitações de API legítimas para um endpoint de API ao qual não devem ter acesso ou interceptando e manipulando solicitações de API originadas de aplicativos clientes.
6. API6:2019 - Mass Assignment
APIs que consomem diretamente solicitações de entrada e as gravam nos armazenamentos de dados de lógica de negócios são vulneráveis à atribuição em massa, permitindo que invasores alterem propriedades de dados críticos e explorem o escalonamento de privilégios.
O problema:
As estruturas de aplicativos modernos incentivam os desenvolvedores a usar funções que vinculam automaticamente a entrada do cliente em variáveis de código e objetos internos para ajudar a simplificar e acelerar o desenvolvimento dentro da estrutura.
Como pode ser explorado por invasores:
- Esse efeito colateral das estruturas pode ser utilizado para atualizar ou substituir propriedades de objetos confidenciais que os desenvolvedores nunca pretenderam expor.
- A exploração de vulnerabilidades de atribuição em massa em APIs requer uma compreensão da lógica de negócios do aplicativo, das relações de objetos e da estrutura da API. As APIs expõem sua implementação subjacente junto com os nomes das propriedades por design.
- O invasor também pode obter mais compreensão por meio de engenharia reversa do código do lado do cliente, lendo a documentação da API, sondando a API para adivinhar as propriedades do objeto, explorando outros endpoints da API ou fornecendo propriedades de objeto adicionais em cargas úteis de solicitação para ver como a API responde.
7. API7:2019 - Security Misconfiguration
A configuração incorreta de segurança é abrangente para uma ampla variedade de configurações incorretas de segurança que geralmente afetam negativamente a segurança da API como um todo e introduzem vulnerabilidades inadvertidamente.
O problema:
Esse problema é abrangente para uma ampla variedade de configurações incorretas de segurança que geralmente afetam negativamente a segurança da API como um todo e introduzem vulnerabilidades.
Alguns exemplos de configurações incorretas de segurança, incluem: configurações padrão inseguras, configurações incompletas ou ad-hoc, armazenamento em nuvem aberta, cabeçalhos HTTP mal configurados, métodos HTTP desnecessários, compartilhamento de recursos de origem cruzada (CORS) excessivamente permissivo e mensagens de erro detalhadas.
O que os invasores exploram:
Os invasores podem explorar configurações incorretas de segurança para obter conhecimento do aplicativo e dos componentes da API durante a fase de reconhecimento.
Erros detalhados, como erros de rastreamento de pilha, podem expor dados confidenciais do usuário e detalhes do sistema, ajudando o invasor durante sua fase exploração de falhas, que incluem servidores Web e de aplicativos desatualizados ou mal configurados.
Invasores também exploram configurações incorretas para direcionar seus ataques contra APIs, como no caso de um desvio de autenticação resultante de mecanismos de controle de acesso mal configurados.
8. API8:2019 - Injection
Este ataque é o único remanescente da lista OWASP Top 10 original – os outros 90% são novos e focados apenas em APIs. Os invasores exploram as vulnerabilidades de injeção enviando dados maliciosos para uma API que, por sua vez, é processada por um interpretador ou analisada pelo servidor de aplicativos e passada para algum serviço integrado.
O problema:
A injeção de linguagem afeta interpretadores e analisadores, como: SQL, Lightweight Directory Access Protocol (LDAP), NoSQL, sistema operacional (SO) comandos, Extensible Markup Language (XML) e Mapeamento Relacional de Objeto (ORM).
Como agem os invasores:
Eles exploram essas vulnerabilidades de injeção enviando dados maliciosos para uma API que, por sua vez, é processada por um interpretador ou analisada pelo servidor de aplicativos e passada para algum serviço integrado, como um sistema de gerenciamento de banco de dados (DBMS) ou um banco de dados como um. serviço (DBaaS) no caso de injeção de SQL (SQLi).
O interpretador ou analisador é enganado para executar os comandos não intencionais, pois não têm a filtragem direta ou espera que ela seja filtrada por outro código do servidor.
9. API9:2019 - Improper Assets Management
Um inventário desatualizado ou incompleto resulta em lacunas desconhecidas na superfície de ataque da API e dificulta a identificação de versões mais antigas de APIs que devem ser desativadas.
O problema:
Manter um inventário de API completo e atualizado com documentação precisa é fundamental para entender a exposição e o risco em potencial.
Um inventário desatualizado ou incompleto resulta em lacunas desconhecidas na superfície de ataque da API e dificulta a identificação de versões mais antigas de APIs que devem ser desativadas.
Da mesma forma, a documentação imprecisa resulta em risco, como exposição desconhecida de dados confidenciais e também dificulta a identificação de vulnerabilidades que precisam ser corrigidas.
O que os atacantes exploram:
APIs desconhecidas, chamadas de APIs de sombra, e APIs esquecidas, chamadas de APIs zumbis, normalmente não são monitoradas ou protegidas por ferramentas de segurança.
Mesmo os endpoints de API conhecidos podem ter funcionalidades desconhecidas ou não documentadas, chamadas de parâmetros de sombra.
Como resultado, essas APIs e a infraestrutura que as atendem geralmente não são corrigidas e estão vulneráveis a ataques.
10. API10:2019 - Insufficient Logging & Monitoring
Registro e monitoramento insuficientes, combinados com integração ausente ou ineficaz com resposta a incidentes, permitem que invasores realizem reconhecimento, explorem ou abusem de APIs, comprometam sistemas, mantenham persistência, avancem ataques e se movam lateralmente entre ambientes sem serem detectou.
O problema:
Quanto mais tempo um invasor estiver presente em um ambiente, maior a probabilidade de o ataque resultar em uma violação, dano à marca ou reputação ou algum outro impacto negativo para a empresa ou seu serviço.
Sem visibilidade das atividades maliciosas em andamento, os invasores têm tempo de sobra para realizar reconhecimento, migrar para mais sistemas e adulterar, extrair ou destruir dados.
Proteja suas APIs com a Salt Security
A dependência de APIs continua a crescer à medida que elas se tornam cada vez mais decisivas para o sucesso de suas organizações. Entretanto, as ferramentas e processos de segurança atuais não podem acompanhar os novos protocolos de API e as tendências de ataque.
A Salt Security consegue descobrir todas as APIs, parar todos os ataques de API e eliminar vulnerabilidades de API em desenvolvimento.
A Sec4U é parceira Salt Security e especialista em implantação, monitoramento e suporte de Serviços Gerenciados de Segurança (MSS) com suas soluções.
Acompanhe
nossas redes
Últimos Posts