
Este projeto é destinado a um número crescente de organizações que implementam APIs potencialmente sensíveis como parte de suas soluções de software. APIs são usadas para tarefas internas e para interagir com serviços de terceiros. Infelizmente, muitas APIs não passam em testes de segurança rigorosos que os protegem contra ataques, expandindo o cenário de ameaças para o aplicativo da web.
O projeto de segurança Top 10 de segurança da API da OWASP foi desenvolvido para destacar riscos potenciais em APIs inseguras e sugerir medidas para mitigar esses riscos.
OWASP
O projeto OWASP é referenciado por muitos padrões, ferramentas e organizações, incluindo MITRE, PCI DSS, DISA, FTC e muitos outros. Metodologias O OWASP é uma metodologia reconhecida para avaliar vulnerabilidades em aplicativos da web em todo o mundo. Os projetos da OWASP refletem as ameaças mais significativas para aplicativos da Web e móveis, APIs, descrevem métodos e metodologias de teste.
Como desenvolvedores ou consultores de segurança, muitas pessoas encontraram uma API como parte de um projeto. Embora existam alguns recursos para ajudar a criar e avaliar esses projetos (por exemplo, a folha de dicas de segurança
OWASP REST ), nenhum projeto de segurança abrangente foi desenvolvido para ajudar desenvolvedores, pentesters e profissionais de segurança.
API MODERNA
Este documento está no status Release Candidat; está prevista uma apresentação oficial para o segundo trimestre de 2020. O API Security concentra-se em estratégias e soluções para entender e atenuar as vulnerabilidades e riscos de segurança exclusivos das APIs (Application Programming Interface).
O que se tornou o pré-requisito para criar esta planilha:
- Os dispositivos clientes estão se tornando mais diversificados e complexos.
- A lógica passa do back-end para o front-end (junto com algumas vulnerabilidades).
- Menos camadas de abstração.
- O cliente e o servidor (e o banco de dados) "falam" no mesmo idioma JSON.
- O servidor é mais usado como um proxy para dados.
- O componente de renderização é o cliente, não o servidor.
- Os clientes consomem dados brutos.
- APIs revelam a implementação subjacente do aplicativo.
- O status do usuário geralmente é mantido e monitorado pelo cliente.
- Cada solicitação HTTP envia parâmetros adicionais (identificadores de objeto,
- filtros).
Um aplicativo Web moderno é quase impossível de imaginar sem o uso de uma API.

Os 10 principais da segurança da API do OWASP
A1 Autorização incorreta no nível do objeto
Freqüentemente, as APIs expõem pontos de extremidade responsáveis por identificadores, o que abre grandes oportunidades para ataques no nível de controle de acesso. As verificações de autorização no nível do objeto devem ser implementadas em todas as funções que aceitam entrada do usuário.
A2 Autenticação inválida
Os mecanismos de autenticação geralmente são implementados incorretamente, o que permite que os invasores comprometam tokens de autenticação ou explorem erros na implementação, a fim de representar outro usuário temporariamente ou permanentemente. Comprometer a capacidade do sistema de identificar o cliente / usuário compromete a segurança de toda a API.
A3 Emissão de informações redundantes
Em busca da padronização, os desenvolvedores podem divulgar todos os parâmetros do objeto, sem levar em consideração a criticidade de cada um deles, esperando que o cliente filtre os dados antes de mostrá-los ao usuário.
A4 Falta de limites de recursos e solicitações
Frequentemente, as APIs não impõem restrições ao tamanho ou quantidade de recursos solicitados pelo usuário. Isso pode levar não apenas à degradação do desempenho e até DoS, mas também a ataques de autenticação - por exemplo, força bruta.
A5 Autorização incorreta de funções
Políticas de acesso complexas com diferentes hierarquias, grupos e funções, bem como uma separação opaca entre funções administrativas e normais, geralmente levam a vulnerabilidades de autorização. Ao explorar essas vulnerabilidades, os invasores obtêm acesso aos recursos de outros usuários ou à funcionalidade do administrador.
A6 Reatribuição de parâmetros
A ligação de dados recebidos do cliente (por exemplo, em JSON) a modelos de dados sem filtragem geralmente leva a uma reatribuição de parâmetros. Os invasores, explorando a API, lendo a documentação ou simplesmente adivinhando, podem adicionar parâmetros "extras" às solicitações, alterando objetos aos quais eles não têm acesso.
Erros de configurações de segurança A7
Os erros nas configurações de segurança geralmente são o resultado de configurações padrão, "muletas", armazenamento nas nuvens, configuração incorreta de cabeçalhos HTTP, métodos HTTP desnecessários, configurações CORS excessivamente amplas e saída de erro ativada.
Injeção A8
Vulnerabilidades de injeção, como SQL, NoSQL, injeção de código / comando etc. acontece quando dados não confiáveis são enviados ao manipulador como parte de uma solicitação ou comando. Os dados incorporados pelo atacante podem "enganar" o manipulador e executar um comando arbitrário ou receber dados sem a devida autorização.
A9 Gerenciamento incorreto de recursos
As APIs geralmente fornecem mais recursos do que os aplicativos Web tradicionais, por isso é especialmente importante que a documentação esteja completa e atualizada. As APIs corretamente instaladas e configuradas desempenham um papel importante na proteção contra problemas como acesso aberto a versões mais antigas da API e funcionalidade de depuração.
A10 Registro e monitoramento inadequados
O registro e o monitoramento inadequados, juntamente com a falta ou a falta de integração nos processos de resposta, permitem que os invasores desenvolvam seus ataques, ganhem uma posição na rede, capturem novos alvos, baixem ou destruam dados. A maioria das investigações de hackers mostra que o tempo médio de detecção excede 200 dias e o fato de hackers é detectado por contratados externos, em vez de sistemas de monitoramento interno.
Top 10 de segurança da API da OWASP em 2019
Capítulo OWASP Rússia : OWASP RússiaBate-papo da OWASP na Rússia: https://t.me/OWASP_RussiaCanal da OWASP na Rússia: https://t.me/OWASP_RU