Quem é responsável pela segurança da API?

Interface de Programação de Aplicação (API) são interfaces de software que permitem que os aplicativos se comuniquem. Por exemplo, você utiliza uma API toda vez que usa o Google ou o Twitter, envia uma mensagem instantânea ou verifica a previsão do tempo no seu telefone. Uma interface gráfica de usuário não é necessária para que o software se comunique. Em vez disso, as APIs são interfaces legíveis por máquina que permitem que os produtos de software compartilhem dados e funcionalidades com facilidade.

A dependência do desenvolvedor em APIs aumentou no ano passado em meio à pandemia global. Uma pesquisa do RapidAPI revela que essa dependência continuará a se expandir. Organizações de todos os tamanhos de uma ampla variedade de setores planejam ingressar na economia da API este ano, e o teste e a segurança da API foram as principais preocupações entre os entrevistados.

As APIs, como qualquer outro recurso disponível na internet, possuem vulnerabilidades. Portanto, manter a segurança é fundamental porque as APIs podem ser acessadas pela Internet, incluindo Uniform Resource Identifiers (URIs) com dados confidenciais anexados.

Riscos da API

As APIs dão a terceiros acesso aos seus dados por design. Cada API inclui um endpoint que responde a solicitações de API.

Existem falhas em todos os sistemas. Uma fraqueza em um sistema (hardware ou software) que um invasor pode explorar é conhecida como vulnerabilidade. Um endpoint de API é semelhante a um servidor da Web acessível pela Internet. Quanto maior o acesso livre e aberto do público a um recurso, maior a ameaça potencial dos abusadores. As APIs fornecem apenas controle de acesso mínimo, se houver. A superfície de ataque cresceu à medida que as APIs se tornaram uma parte essencial do desenvolvimento de aplicativos modernos. Por outro lado, muitos sites empregam controle de acesso e exigem que usuários autorizados façam login.

Um ataque de API ocorre quando um invasor usa uma API de forma maliciosa ou tenta violá-la. Os ataques de API afetam uma variedade de verticais e negócios. Ameaças perigosas estão se tornando mais comuns e aprimorando o direcionamento de aplicativos da web específicos.

O aumento de ameaças de segurança relacionadas à API nos últimos anos levou o Open Web Application Security Project (OWASP) a lançar o API Security Top 10, que ajuda a aumentar a conscientização sobre os problemas de segurança de API mais sérios que afetam as organizações.

Aplicação

À medida que as APIs se tornam mais centrais para os negócios modernos, a falta de clareza sobre quem é responsável pela segurança da API coloca organizações e usuários em perigo. Embora os riscos sejam conhecidos, quase um terço das APIs são aprovadas sem revisão pela equipe de segurança de TI de uma empresa.

Quem é responsável por proteger as APIs? Alguns acreditam que é trabalho dos desenvolvedores, enquanto outros pensam que é responsabilidade da equipe da API. Sem surpresa, as equipes de API culpam o DevOps, e o DevOps joga a bola de volta para o departamento de TI. Infelizmente, toda essa confusão leva a lacunas de segurança significativas, que hackers talentosos ficam felizes em explorar.

Quando tantas equipes lidam com o desenvolvimento da API, é difícil atribuir a responsabilidade pela sua segurança. Cada organização tem a sua própria estrutura e método de distribuição de responsabilidade, que muitas vezes é mal planejado e mal compreendido. As vulnerabilidades de segurança da API continuarão a ser exploradas por abusadores até que uma estrutura de propriedade definida esteja em vigor. No entanto, à medida que as APIs evoluem e se tornam mais amplamente utilizadas, as vulnerabilidades de segurança só aumentam.

Além disso, como as APIs operam em um ciclo constante de criação e atualizações, loops de feedback iterativo entre os estágios de desenvolvimento, teste e produção conectam as equipes de segurança e desenvolvimento e permitem um modelo de melhoria contínua da segurança.

O que você pode fazer

O software moderno é vulnerável a uma ampla gama de ameaças. Manter-se atualizado com as mais recentes explorações e problemas de segurança é uma prática inteligente, mas desafiadora. Ter benchmarks para esses problemas ajuda a garantir a segurança do aplicativo antes que ocorra um ataque.

Como as APIs criam tantos pontos de entrada na arquitetura de uma rede, colocar um firewall na frente de um servidor não é mais suficiente para proteger todos os pontos de entrada. Além disso, uma solução tradicional baseada em WAF não pode distinguir chamadas de API maliciosas e legítimas.

A única maneira de proteger totalmente as suas APIs é proteger e cobrir todas as APIs durante todo o ciclo de vida de desenvolvimento de software da API, pois várias equipes as desenvolvem. Como resultado, algumas vulnerabilidades só podem ser identificadas no nível do código em desenvolvimento. Algumas podem ser capturadas por testes com simulações inteligentes. Outras só podem ser descobertas monitorando APIs em tempo real na produção, definindo uma linha de base do comportamento esperado e detectando anomalias.