Minha IBM Efetue login Inscreva-se

Otimize APIs com as melhores práticas de segurança de API

6 de novembro de 2023

5 min de leitura

As empresas continuam migrando para infraestruturas de TI digitalizadas e baseadas na nuvem. Os sistemas digitais permitem flexibilidade, escalabilidade e velocidade sem precedentes quando comparados aos seus equivalentes mais tradicionais locais.

No entanto, as infraestruturas digitais são altamente dependentes de interfaces de programação de aplicações – ou APIs – para facilitar as transferências de dados entre aplicações de software e entre aplicações e usuários finais. Como estrutura de back-end para a maioria das aplicações web e móveis, as APIs são voltadas para a internet e, portanto, vulneráveis a ataques. E como muitas APIs armazenam e transferem dados confidenciais, elas requerem protocolos de segurança robustos e práticas de monitoramento atentas para evitar que as informações caiam nas mãos erradas.

Explicação sobre a segurança de API

A segurança de APIs refere-se ao conjunto de práticas e produtos que uma organização usa para evitar ataques mal-intencionados e o uso indevido de APIs. Dada a complexidade dos ecossistemas de API, o crescimento das plataformas de IoT e o grande volume de APIs que as organizações utilizam (cerca de 20.000 em média (link externo ao site ibm.com), controlar a segurança da API é cada vez mais desafiador e cada vez mais necessário.

As APIs ficam entre os recursos de TI de uma organização e desenvolvedores de software de terceiros, bem como entre os recursos de TI e os indivíduos, fornecendo dados e informações nos endpoints do processo. É nesses endpoints que os dados da empresa e dos usuários ficam vulneráveis a vários tipos de ataques e riscos de segurança, incluindo:

  • Ataques baseados em autenticação: quando os hackers tentam adivinhar ou roubar as senhas dos usuários ou explorar processos de autenticação fracos para obter acesso aos servidores de API.
  • Ataques intermediários: quando um agente mal-intencionado rouba ou modifica dados (por exemplo, credenciais de login ou informações de pagamento) interceptando solicitações e/ou respostas entre a API.
  • Injeções de código/ataques de injeção: quando o hacker transmite um script prejudicial (para inserir informações falsas, excluir ou revelar dados ou interromper a funcionalidade da aplicação) por meio de uma solicitação de API, explorando pontos fracos nos intérpretes de API que leem e traduzem dados.
  • Ataque denial-of-service (DoS): esses ataques enviam dezenas de solicitações de API para travar ou tornar o servidor mais lento. Os ataques DoS podem muitas vezes vir de múltiplos atacantes simultaneamente, algo conhecido como distributed denial-of-service (DDoS).
  • Ataques de autorização de nível de objeto quebrado (BOLA): ocorrem quando os cibercriminosos manipulam identificadores de objeto nos endpoints da API para obter acesso não autorizado aos dados do usuário. Esse problema surge quando um endpoint da API permite que um usuário acesse os registros que normalmente não deveriam. Os ataques BOLA são especialmente frequentes, pois a implementação de verificações de autorização apropriadas no nível do objeto pode ser difícil e demorada.

Esses e outros tipos de ataques cibernéticos são praticamente inevitáveis no dinâmico cenário de TI atual. E com os cibercriminosos se proliferando e ganhando acesso a tecnologias de hacking mais sofisticadas, a implementação de protocolos de segurança de API se tornará cada vez mais crucial para a segurança de dados corporativos.

Melhores práticas de segurança de API

As APIs permitem que as empresas simplifiquem a integração entre sistemas e o compartilhamento de dados, mas com essa interconectividade vem uma maior exposição a ciberataques. De fato, a maioria dos hacks de aplicações móveis e da web ataca APIs para obter acesso aos dados da empresa ou do usuário. APIs hackeadas ou comprometidas podem levar a violações de dados catastróficas e interrupções de serviço que colocam em risco dados pessoais, financeiros e médicos confidenciais.

Felizmente, os avanços na segurança de API possibilitam prevenir ou mitigar o impacto de ciberataques por agentes maliciosos. Veja a seguir 11 práticas e programas comuns de segurança de API que as organizações podem aproveitar para proteger os recursos de computação e os dados do usuário:

  1. API Gateways. Instalar um API gateway é uma das maneiras mais fáceis de restringir o acesso à API. Os gateways criam um ponto único de entrada para todas as solicitações de API e atuam como uma camada de segurança aplicando políticas de segurança, ajudando a padronizar as interações da API e oferecendo recursos como transformação da solicitação/resposta, armazenamento em cache e registro.
  2. Autenticação e autorização robustas. O uso de protocolos de autenticação padrão do setor, como OAuth 2,0, chaves de API, JWT, OpenID Connect, entre outros, garante que somente usuários autenticados possam acessar as APIs corporativas. Além disso, a implementação de controles de acesso baseados em funções impede que os usuários acessem recursos os quais não estão autorizados a usar.
  3. Protocolos de criptografia. Protocolos de conexão SSL ou criptografia TLS – como HTTP Secure (HTTPS) – ajudam as equipes a proteger a comunicação entre a API e as aplicações dos clientes. O HTTPS criptografa todas as transmissões de dados da rede, impedindo acesso não autorizado e adulteração. Criptografar dados em repouso, como senhas armazenadas, pode proteger ainda mais os dados confidenciais enquanto eles estão armazenados.
  4. Firewalls de aplicações web (WAFs). Os WAFs fornecem uma camada extra de proteção para APIs corporativas, especialmente contra ataques comuns de aplicações web, como ataques de injeção, scripts entre sites (XSS) e falsificação de solicitações entre sites (CSRF). O software de segurança WAF pode analisar as solicitações de API recebidas e bloquear o tráfego malicioso antes que ele chegue ao servidor.
  5. Validação de dados. Da mesma forma que as pessoas rastreiam as chamadas telefônicas e evitam abrir anexos de remetentes desconhecidos, as organizações devem rastrear tudo o que seus servidores aceitam e rejeitar qualquer transmissão grande de dados ou conteúdo (incluindo as de consumidores). O uso da validação de esquema XML ou JSON e a confirmação dos parâmetros também podem ser úteis na prevenção de ataques.
  6. Limitação de taxa. Isso protege os recursos contra ataques de força bruta e DoS, restringindo o número de solicitações que um usuário ou endereço IP pode fazer em um determinado intervalo de tempo. Os limites de taxa garantem que as solicitações sejam processadas rapidamente e que nenhum usuário possa sobrecarregar o sistema com solicitações prejudiciais.
  7. Teste de segurança. O teste de segurança exige que os desenvolvedores enviem solicitações padrão usando um cliente API para avaliar a qualidade e a exatidão das respostas do sistema. A realização de testes regulares de segurança de API – por exemplo, testes de penetração, testes de injeção, testes de autenticação de usuário, testes de adulteração de parâmetros, entre outros – para identificar e lidar com vulnerabilidades ajuda as equipes a corrigir vulnerabilidades antes que os invasores as explorem.
  8. Monitoramento e aplicação de patches de APIs. Como acontece com qualquer aplicação ou sistema de software, o monitoramento e a manutenção regulares são essenciais para manter a segurança da API. Mantenha um olhar atento para qualquer atividade de rede incomum e atualize as APIs com as últimas correções de segurança, correções de bugs e novas funcionalidades. O monitoramento também deve incluir a conscientização e a preparação para vulnerabilidades comuns de API, como as incluídas na lista das 10 principais do Open Web Application Security Project (OWASP).
  9. Auditoria e registro. Manter registros de auditoria abrangentes e atualizados – e revisá-los com frequência – permite que as organizações rastreiem todos os acessos e usos de dados do usuário e registrem todas as solicitações de API. Manter-se atualizado sobre as atividades da API pode ser desafiador, mas implementar procedimentos de auditoria e registro pode economizar tempo quando as equipes precisam refazer seus passos após uma violação de dados ou falha na conformidade. E como eles fornecem um registro do comportamento normal da rede, os registros de auditoria também podem facilitar a detecção de anomalias.
  10. Cotas e limitação. Assim como o limite de taxa, a limitação restringe o número de solicitações que seu sistema recebe. No entanto, em vez de operar no nível do usuário ou do cliente, a limitação funciona no nível do servidor/rede. Os limites e cotas de limitação protegem a largura de banda do sistema de backend da API, limitando a API a um determinado número de chamadas ou mensagens por segundo. Independentemente das cotas, é importante avaliar o volume de chamadas do sistema ao longo do tempo, pois o aumento do volume pode indicar abuso e/ou erros de programação.
  11. Controle de versão e documentação. Cada nova versão do software de API vem com atualizações de segurança e correções de bugs que reforçam as lacunas de segurança em versões anteriores. E sem práticas adequadas de documentação, os usuários podem acidentalmente implementar uma versão desatualizada ou vulnerável da API. A documentação deve ser completa e consistente, incluindo parâmetros de entrada, respostas esperadas e requisitos de segurança claramente definidos.

IA e Segurança de API

Entre as medidas de segurança de API existentes, a IA surgiu como uma ferramenta nova, e possivelmente poderosa, para fortalecer as APIs. Por exemplo, as empresas podem aproveitar a IA para detecção de anomalias em ecossistemas de API. Depois que uma equipe tiver estabelecido uma referência de comportamento normal da API, ela poderá usar a IA para identificar desvios do sistema (como padrões de acesso incomuns ou solicitações de alta frequência), sinalizar possíveis ameaças e responder imediatamente aos ataques.

As tecnologias de IA também podem permitir a modelagem automatizada de ameaças. Usando dados históricos da API, a IA pode criar modelos de ameaças para prever vulnerabilidades e ameaças antes que agentes mal-intencionados possam explorá-las. Se uma organização estiver lidando com um alto volume de ataques baseados em autenticação, ela poderá usar a IA para instalar métodos avançados de autenticação de usuário (como reconhecimento biométrico), dificultando o acesso não autorizado dos invasores.

Além disso, as ferramentas impulsionadas por IA podem automatizar os protocolos de teste de segurança de API, identificando lacunas e riscos de segurança de forma mais eficiente e eficaz do que os testes manuais. E à medida que os ecossistemas de API crescem, também podem crescer os protocolos de segurança baseados em IA. A IA permite que as empresas monitorem e protejam muitas APIs simultaneamente, tornando a segurança de API tão escalável quanto as próprias APIs.

Fique por dentro da segurança de API com a IBM

A importância da segurança de API não pode ser subestimada. À medida que avançamos na era da transformação digital, a dependência de APIs só continuará crescendo, com ameaças à segurança e agentes mal-intencionados evoluindo na mesma proporção. No entanto, com ferramentas de API management como a IBM API Connect, as organizações podem garantir que suas APIs sejam gerenciadas, seguras e compatíveis durante todo o ciclo de vida.

A proteção das APIs nunca será uma tarefa de uma única vez; em vez disso, as empresas devem encará-la como um processo contínuo e dinâmico que exige vigilância, destreza e abertura para novas tecnologias e soluções. Ao usar uma combinação de práticas tradicionais de segurança de API e novas abordagens baseadas em IA, como o Noname Advanced API Security for IBM, as empresas podem garantir que os recursos de TI permaneçam tão seguros quanto possível, protegendo tanto o consumidor quanto a empresa.

 

Autor

Chrystal R. China

Writer, automation & ITOps