|
| 1 | +OWASP Top 10 API Security Risks – 2019 |
| 2 | +====================================== |
| 3 | + |
| 4 | +| Risk | Description | |
| 5 | +| ---- | ----------- | |
| 6 | +| API1:2019 - Broken Object Level Authorization | As APIs tendem a expor mais _endpoints_ que manipulam identificadores de objetos, tornando as falhas no controlo de acessos mais suscetíveis a ataques. A verificação da autorização para acesso aos objetos deve ser tida em consideração em todas as funções que acedem a dados com base em informação fornecida pelo utilizador. | |
| 7 | +| API2:2019 - Broken User Authentication | Com frequência os mecanismos de autenticação são implementados de forma incorreta, permitindo aos atacantes comprometer os _tokens_ de autenticação ou abusar das falhas na implementação por forma a assumir a identidade de outros utilizadores de forma temporária ou permanente. | |
| 8 | +| API3:2019 - Excessive Data Exposure | Na tentativa de fazer implementações genéricas os programadores tendem a expor todas as propriedades dum objeto sem ter em consideração quão sensível é cada uma delas, delegando nos clientes a filtragem daquelas que devem ser apresentadas ao utilizador. | |
| 9 | +| API4:2019 - Lack of Resources & Rate Limiting | Com frequência as APIs não impõem quaisquer restrições no tamanho ou número de recursos que um cliente/utilizador pode solicitar. Não só isto pode ter impacto no desempenho do servidor da API, conduzindo à negação do serviço (DoS), mas também deixa a porta aberta para problemas de autenticação tais como ataques de força bruta. | |
| 10 | +| API5:2019 - Broken Function Level Authorization | Política de controlo de acesso complexas com diferentes níveis hierárquicos, grupos e perfis e uma não tão clara separação entre o que são ou não funcionalidades administrativas tendem a conduzir a falhas de autorização. Abusando destas falhas os atacantes podem ganhar acesso a recursos doutros utilizadores e/ou a funcionalidades administrativas. | |
| 11 | +| API6:2019 - Mass Assignment | Atribuir a informação fornecida pelo cliente (e.g., JSON) aos modelos de dados sem a devida filtragem das propriedades com base em _whitelists_, conduzem tipicamente a problemas de atribuição em massa (_Mass Assignment_). Quer seja através da adivinhação das propriedades do objeto, explorando outros _endpoints_ da API ou consulta da documentação, fornecendo propriedades adicionais no conteúdo dos pedidos permite aos atacantes modificar propriedades dos objetos que não eram supostos. | |
| 12 | +| API7:2019 - Security Misconfiguration | Tipicamente as más configurações de segurança resultam de configurações por omissão, incompletas ou que se destinam a um fim específico, armazenamento na nuvem aberto, falha na configuração dos cabeçalhos HTTP de segurança, métodos HTTP não utilizados, política permissiva de partilha de recursos entre-origens (CORS) e mensagens de erro contendo informação sensível. | |
| 13 | +| API8:2019 - Injection | Falhas de injeção tais como SQL, NoSQL, injeção de comandos, etc., ocorrem quando dados não confiáveis são enviados a um interpretador como parte dum comando ou consulta. Desta forma o interpretador acaba por executar comandos que não era expectável executar ou aceder a dados sem a devida autorização. | |
| 14 | +| API9:2019 - Improper Assets Management | As APIs tendem a expor mais _endpoints_ do que as aplicações web tradicionais, fazendo com que a documentação se torne ainda mais importante. Um inventário dos _hosts_ e APIs em execução também têm um papel importante na mitigação de falhas tais como versões de APIs descontinuadas e exposição de _endpoints_ para análise de problemas. | |
| 15 | +| API10:2019 - Insufficient Logging & Monitoring | A insuficiência no registo e monitorização, em conjugação com a falta ou ineficácia da integração com a resposta a incidentes, permite aos atacantes continuar a sua prática, persistir os seus ataques, alcançar outros sistemas, extrair ou destruir dados. A maioria dos estudos demonstra que o tempo de deteção duma quebra de segurança vai além dos 200 dias, sendo tipicamente detetada por entidades externas, ao invés de processo internos ou monitorização. | |
0 commit comments