Em um mundo marcado pelo digital e pela quantidade de dados que cada programa acumula, as APIs fundamentais, e estão presentes em cada vez mais aplicações – o que também significa que elas têm se tornado alvos de ataques cibernéticos.
O problema é que, por estarem embutidas em uma aplicação (como aplicações web), existe uma ideia de que apenas testes ligados a essa aplicação seriam o suficiente para garantir a segurança do sistema. Mas não é.
O que é API?
A sigla API representa Application Programming Interface, Interface de Programação de Aplicações em português.
Ela é fundamental no cenário atual, pois é utilizada para integrar softwares e sistemas, permitindo que eles se comuniquem e transmitam dados de um para o outro, melhorando a usabilidade e experiência tanto interna quanto externa.
As APIs podem ser utilizadas em praticamente qualquer tipo de aplicação, desde mobile até a nuvem, web, dispositivos IoT e outros. Por conta disso, elas são complexas e podem se apresentar de diferentes formas em cada uma.
É por isso que testar apenas a aplicação em si não é o suficiente para garantir que as APIs não serão uma porta de entrada para criminosos cibernéticos.
Por que Pentest para APIs?
Vamos pensar em um exemplo. Muitas organizações utilizam o pentest para web como uma forma de também testar as APIs ali existentes.
No que diz respeito a vulnerabilidades ligadas a aplicações web, geralmente observamos falhas na injeção, cross-site scripting, softwares desatualizados e outros, ao passo que, para as APIs, os riscos estão relacionados a problemas com autorização e autenticação.
Segundo a OWASP, algumas das principais ameaças encontradas em pentests para APIs são:
- Desatualização ou mal-gerenciamento de estrutura
- Configurações de segurança
- Exposição excessiva de dados
- Falta de autorização de acesso
- Falta ou ineficiência de registro e monitoramento.
Portanto, a realização do pentest para web pode não ser o suficiente para identificar possíveis falhas existentes na API, deixando-a exposta – e, consequentemente, também colocando em risco todo o sistema.
Como funciona o Pentest para APIs?
A OWASP também possui uma metodologia relacionada ao pentest para APIs, conhecida como Application Security Verification Standard (ASVS) Project¹, que podemos traduzir como Padrões de Verificação de Segurança de Aplicações, além da API Security Tools² e do API Security Project³.
Todas elas servem como base para a realização do pentest, fornecendo importantes parâmetros para a realização dos testes.
A partir disso, o teste de intrusão de APIs é realizado com os passos abaixo, sendo que não necessariamente todos eles acontecem em ordem, mas alguns ocorrem simultaneamente – como a entrega dos resultados, que acontece em tempo real durante todo o projeto.
Imagem: Escopo do projeto de pentest para APIs.
1. Reconhecimento
É feito o levantamento de informações necessárias, como a documentação e URL das APIs.
2. Mapeamento da lógica do negócio e da aplicação
Aqui, são coletadas informações sobre o funcionamento propriamente dito da API, como os processos ligados a ela e suas funções.
3. Verificação automatizada e manual
Também são realizadas algumas verificações, tanto manuais quanto automatizadas, principalmente para garantir que o pentest seja realizado com o máximo de eficácia.
4. Teste e exploração das APIs
Aqui, é verificada a existência das vulnerabilidades conhecidas, como as citadas pela OWASP, além de testar as medidas de cibersegurança já existentes e procurar outras possíveis falhas.
5. Entrega dos resultados
Após a realização das etapas anteriores, os resultados do teste são entregues.
No caso da Vantico, graças à nossa plataforma própria, nossos pentesters atualizam, em tempo real, o progresso do teste. Como o cliente tem acesso a isso, essa entrega é constante – e, ao final do projeto, é possível baixar todos os dados.
6. Remediação
Como o próprio nome indica, é a etapa em que a equipe de cibersegurança da empresa inicia a correção das vulnerabilidades encontradas.
Com os relatórios da plataforma da Vantico, a maioria dos nossos clientes começa esse processo antes mesmo do fim do teste, de acordo com os resultados parciais.
7. Reteste
Após a remediação, é realizado o reteste, em que será verificada a eficácia das correções.
Portanto, a integridade das APIs de uma aplicação deve ser verificada de forma separada, com ela sendo o principal foco dos testes.
Clique aqui e conheça a plataforma da Vantico e nosso pentest para APIs.