Skip to main content

Guia de segurança de APIs

Escrito por
feature research

25 de abril de 2023

0 minutos de leitura

O WordPress está presente em mais de 40% da internet, o que tornou ainda mais alarmante a notícia recente sobre uma falha de segurança em uma API exposta.

Em janeiro de 2022, um pesquisador de segurança descobriu que mais de 20 mil sites WordPress estavam vulneráveis à injeção de código malicioso, a golpes de phishing e à tomada de controle dos sites devido a uma API REST configurada incorretamente em um plugin do WordPress. A API REST tinha como objetivo permitir que os usuários atualizassem os modelos dos sites e alterassem configurações, mas o endpoint da API REST não tinha autenticação, o que permitia que invasores o utilizassem.

Falhas de segurança em APIs como essa não são raras. Recentemente, a Gartner previu que os ataques a APIs se tornariam o vetor de ataque mais frequente. Neste artigo, explicamos por que a segurança de APIs é essencial e quais práticas recomendadas as empresas podem adotar para proteger melhor suas APIs.

O que é segurança de API?

A segurança de API é uma área importante da segurança de aplicações que se concentra em proteger serviços de API para evitar violações de dados ou uso indevido. Uma API é uma interface de programação de aplicações que permite que diferentes componentes de software se comuniquem entre si, seguindo a lógica e as regras de negócio às quais uma pessoa usuária também estaria sujeita na interface do usuário. As APIs abstraem a complexidade da interação com o software, facilitando a integração entre diferentes aplicações e a navegação das pessoas usuárias por essas interações. Assim como qualquer outra interface, as APIs podem representar um risco à segurança. A solução, porém, é protegê-las, não evitá-las.

Por que a segurança de APIs é importante?

A segurança de APIs é importante porque, se invasores obtiverem acesso e controle sobre uma API, poderão controlar os serviços aos quais ela se conecta e até roubar os dados que ela utiliza. As APIs são a infraestrutura básica do mundo do software. Por isso, ter acesso a uma API significa, inevitavelmente, ter acesso aos dados que ela transfere de um produto para outro ou de um serviço para outro. Tipos comuns de API, como GraphQL e REST, precisam ser protegidos para evitar acessos maliciosos. Confira nosso guia para criar uma API GraphQL segura.

Comece a participar de desafios de Capture the Flag

Aprenda a resolver desafios de Capture the Flag assistindo sob demanda ao nosso workshop virtual introdutório.

Como a segurança de APIs se encaixa na segurança de aplicações?

Tradicionalmente, os engenheiros de segurança são responsáveis pela segurança de APIs. Nos últimos anos, porém, à medida que as empresas adotam a abordagem shift left e implementam práticas de DevSecOps, os desenvolvedores têm assumido cada vez mais essa responsabilidade. Uma pesquisa da 42Crunch, uma plataforma de segurança de APIs, mostrou que, em 44% das empresas, a equipe de desenvolvimento era a principal responsável pela segurança de APIs.

Embora a segurança de APIs seja um desafio específico, o trabalho para protegê-las se encaixa bem na segurança moderna de aplicações. Como as aplicações costumam incluir muitas APIs, qualquer iniciativa para proteger uma aplicação também precisa proteger as APIs das quais ela depende.

Ameaças comuns a APIs

Os riscos comuns para APIs vão de erros de implementação à falta de limitação de taxa. A OWASP destaca as dez ameaças mais comuns à segurança de APIs:

  1. Falhas na autorização em nível de objeto

  2. Falhas na autenticação de usuários

  3. Exposição excessiva de dados

  4. Falta de recursos e de limitação de taxa

  5. Falhas na autorização em nível de função

  6. Atribuição em massa

  7. Configuração incorreta de segurança

  8. Injeção

  9. Gerenciamento inadequado de ativos

  10. Registro e monitoramento insuficientes

Analisamos essa lista em mais detalhes neste artigo sobre os 10 principais riscos de APIs segundo a OWASP.

10 práticas recomendadas de segurança de APIs

1. Use gateways de API

Um gateway de API ajuda as empresas a encaminhar solicitações de API, organizar respostas e gerenciar acordos de nível de serviço (SLAs). Os gateways facilitam o uso das APIs e também são essenciais para a segurança, pois oferecem criptografia e controle de acesso.

2. Use a autenticação corretamente em todos os níveis

Um elemento fundamental da segurança de APIs é garantir que a aplicação certa faça a solicitação certa. Três dos métodos mais comuns de autenticação de APIs são a autenticação básica HTTP, a autenticação OAuth e a autenticação por chave de API. O ideal é autenticar as APIs em todos os níveis e ter cuidado com a forma como você armazena suas chaves de API.

3. Criptografe solicitações e respostas

As APIs costumam ser vulneráveis a ataques do tipo man-in-the-middle, nos quais os invasores interceptam o tráfego da API para observá-lo ou redirecioná-lo. A prática recomendada é criptografar toda transferência de dados entre um usuário e um servidor de API, nos dois sentidos. Com a criptografia, mesmo que invasores interceptem solicitações ou respostas, não conseguirão entender os dados roubados. Ao configurar APIs, use HTTPS em todos os lugares para garantir que os dados sejam criptografados.

4. Não inclua informações desnecessárias em uma API

A segurança de APIs segue o “princípio da segurança mínima”: ao criar uma API, você deve incluir apenas as informações necessárias — nada além disso. Quanto menos informações forem enviadas, menor será o impacto de uma eventual violação de dados.

5. Faça testes de segurança regularmente e busque vulnerabilidades em APIs

Mesmo com outras práticas recomendadas de segurança de APIs em vigor, as empresas precisam realizar testes de segurança regulares e verificar se há vulnerabilidades nas APIs. Testes e verificações regulares também beneficiam empresas que já adotaram com sucesso a abordagem shift left.

6. Colete dados de logs de APIs

A segurança eficaz de aplicações depende, em parte, de processos eficientes de coleta e análise de logs. Com um sistema de registro eficaz, você pode registrar cada operação de API e acompanhar todos os eventos. Esses dados detalhados ajudam a detectar ataques maliciosos antes que aconteçam e a analisar como um ataque pode ter ocorrido. Saiba quais dados seus logs coletam para não armazenar informações confidenciais, como dados pessoais identificáveis (PII) e dados de segurança.

7. Defina cotas e limite as solicitações à API

Um dos ataques de cibersegurança mais antigos, a negação de serviço distribuída (DDoS), também pode atingir APIs. Quando um ataque DDoS tem uma API como alvo, muitas vezes atinge tanto o servidor em que ela está hospedada quanto todos os seus endpoints. Para evitar ataques DDoS, defina cotas de tráfego e limites de taxa para a API e restrinja o fluxo de solicitações.

8. Informe sua equipe sobre as 10 principais ameaças à segurança de APIs da OWASP

A cibersegurança depende muito mais da repetição do que da inovação: a maioria dos ataques bem-sucedidos não resulta de técnicas inovadoras, mas da exploração de erros conhecidos. Reserve um tempo para informar sua equipe sobre as dez principais ameaças à segurança de APIs da OWASP, uma lista que apresenta os riscos mais comuns para APIs. O Snyk Learn também oferece aulas gratuitas de segurança para ajudar sua equipe a aprender mais sobre conceitos de cibersegurança.

9. Valide e higienize os dados da API

Validar e higienizar os dados da API garante que os dados recebidos sejam os esperados. A validação verifica se os dados recebidos têm o tipo e o formato esperados. A higienização remove dos dados recebidos todos os caracteres inseguros.

10. Atualize os serviços e a documentação da API

Manter tudo atualizado é outra prática fundamental de cibersegurança que também se aplica à segurança de APIs. Isso inclui garantir que as APIs estejam atualizadas e que a documentação delas esteja em dia.

Como a Snyk pode ajudar na segurança de APIs

O poder das APIs também as torna perigosas. Por isso, é essencial que todas as empresas adotem práticas recomendadas de segurança e usem as ferramentas disponíveis para proteger suas APIs.

A Snyk pode ajudar você a manter a segurança das APIs de quatro maneiras:

  • Muitos serviços de API de backend são criados com bibliotecas de código aberto. Use a Snyk para verificar se há versões vulneráveis.

  • Os desenvolvedores usam e criam APIs com frequência. Por isso, você pode usar o Snyk Code para fazer testes estáticos de segurança de aplicações.

  • Os contêineres costumam ser usados para implantar serviços de API. Use a verificação do Snyk Container para encontrar vulnerabilidades no sistema operacional e no ambiente de execução.

  • Os serviços de API de backend costumam ser implantados na nuvem por meio de infraestrutura como código. Use a Snyk para garantir que sua configuração de infraestrutura como código não exponha problemas de segurança.

As APIs são poderosas, então não deixe que caiam nas mãos erradas. Use estas práticas recomendadas e ferramentas de verificação para proteger suas APIs e todos os dados a que elas têm acesso.

Comece a jogar Capture the Flag

Aprenda a resolver desafios de Capture the Flag assistindo sob demanda ao nosso workshop virtual introdutório.