O que é segurança de API?

20 de novembro de 2023 

Autores

Chrystal R. China

Writer, automation & ITOps

Michael Goodwin

Editorial lead, Automation & ITOps

O que é segurança de API?

A segurança de API refere-se às práticas e aos procedimentos que protegem as interface de programação de aplicativos (APIs) contra o uso indevido, ataques maliciosos de bot e outras ameaças de segurança cibernética. Funciona como um subconjunto de segurança na web, mas com um foco específico nas APIs, que são cada vez mais vitais para o gerenciamento de TI da empresa.1

As APIs agora servem como alicerces da transformação digital, permitindo que as empresas ofereçam serviços a desenvolvedores e parceiros externos. Como as APIs orquestram a comunicação e a troca de dados entre aplicações, elas podem facilitar experiências de usuário mais conectadas, ampliar o alcance geral dos negócios e promover a inovação tecnológica de ponta a ponta. As APIs também simplificam a integração de serviços para que as empresas possam se adaptar rapidamente às mudanças do mercado e às demandas dos clientes. 

Mas à medida que as APIs se proliferam, também aumentam os problemas de segurança que geralmente as acompanham.

As APIs ficam entre os recursos de TI de uma organização e desenvolvedores de software terceirizados, ou entre recursos de TI e indivíduos, entregando dados e informações em endpoints de processos. Como esses endpoints são expostos ao mundo externo, eles podem se tornar alvos lucrativos para diversos tipos de ataques.

Vista aérea de rodovias

Fique por dentro da nuvem 


Receba o boletim informativo semanal do Think para ver orientações especializadas sobre a otimização das configurações multinuvem na era da IA.

A evolução da segurança de APIs

A evolução do gerenciamento e da segurança de APIs está intrinsecamente ligada à própria evolução das APIs. As primeiras APIs focavam principalmente na comunicação entre processos dentro de um único sistema. Como tal, a segurança (ou a falta dela) era menos preocupante, pois a comunicação estava confinada a uma única máquina.

Contudo, com o surgimento da Internet das Coisas (IoT) e das arquiteturas de microsserviços nativas da nuvem, as APIs se expandiram para permitir comunicação fluida e roteamento de chamadas entre aplicações e em ambientes DevOps. Uma API moderna e de alta qualidade, como REST (Representational State Transfer) ou SOAP (Simple Object Access Protocol), organiza a integração de aplicações, especifica formatos de dados e dita tipos de chamadas, procedimentos e convenções.

APIs da web, especialmente GraphQL, API REST e API SOAP, mudaram o cenário ao expandirem os recursos para incluir amplos recursos de integração em uma infinidade de redes complexas.

Mas como as tecnologias avançadas dependem fortemente dos endpoints das APIs para funcionar, empresas e equipes de segurança devem implementar medidas robustas para proteger dados e serviços web, e, assim, extrair o máximo valor de seus recursos de TI.

AI Academy

Preparando-se para a IA com a nuvem híbrida

Guiado pelos principais líderes da IBM, o conteúdo foi desenvolvido para ajudar líderes empresariais a terem o conhecimento necessário para priorizar os investimentos em IA que podem estimular o crescimento.

Vulnerabilidades da API

Se não forem devidamente protegidos, os endpoints de API podem permitir que atores mal-intencionados obtenham acesso não autorizado a dados sensíveis, interrompam operações de serviço ou ambos, com consequências potencialmente devastadoras.Ameaças comuns incluem:

  • Ataques baseados em autenticação – quando os hackers tentam adivinhar ou roubar senhas dos usuários ou usar mecanismos 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 ou respostas da API.

  • Ataques de injeção de código/injeção – quando o hacker transmite um script nocivo (para inserir informações falsas, excluir ou revelar dados ou interromper a funcionalidade da aplicação) por meio de uma solicitação de API, exibindo os pontos fracos nos intérpretes de API que leem e traduzem os dados.

  • Configuração incorreta da segurança – quando informações confidenciais do usuário ou detalhes do sistema são expostos devido a configurações padrão inadequadas, compartilhamento de recursos entre origens (CORS) com permissão excessiva ou cabeçalhos HTTP incorretos.

  • Ataque denial-of-service (DoS) – esses ataques enviam dezenas de solicitações de API para travar ou tornar o servidor mais lento. Os ataques DDoS podem muitas vezes vir de múltiplos atacantes simultaneamente, no chamado ataque distributed denial-of-service(DDoS)

  • Ataques de broken object level authorization (BOLA)— ocorrem quando os criminosos cibernéticos manipulam identificadores de objeto nos endpoints da API para ampliar a superfície de ataque e obter acesso não autorizado a dados de usuários.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.

Melhores práticas de segurança de API

Em uma economia digital dinâmica, as APIs são críticas para a agilidade dos negócios, mas sua natureza aberta pode representar riscos significativos à segurança de dados. As violações de segurança de API levaram a vazamentos enormes de dados, mesmo nas grandes empresas de boa reputação, como John Deere, Experian e Peloton.2

E em um ambiente tecnológico tão global, as vulnerabilidades de segurança ameaçam todos os principais provedores de serviços, independentemente do setor ou da localização geográfica. Como exemplo, um ataque de API de 2022 contra a empresa australiana de telecomunicações Optus expôs os nomes, números de telefone, dados do passaporte e informações da carteira de motorista de quase 10 milhões de clientes.3

Esses incidentes ressaltam a importância da proteção de API e aceleraram o desenvolvimento de ferramentas e estratégias abrangentes de segurança de API.

A implementação de protocolos de segurança de API rigorosos protege os dados, as aplicações e os serviços que os endpoints de API mostram e, ao mesmo tempo, protege sua disponibilidade para usuários legítimos. No entanto, a segurança de API não se resume à proteção de endpoints. Ela também prioriza a segurança das interações de rede, como transmissões de dados, solicitações de usuários e comunicações entre aplicativos ao longo do ciclo de vida da API.

Algumas das soluções de segurança de API mais comuns para proteger infraestruturas de TI incluem:

Protocolos de autenticação e autorização

Autenticação é o processo de verificação da identidade de um usuário, sistema ou processo. No contexto de APIs, isso envolve o uso de protocolos como OAuth 2.0, chaves de API (API keys) e JWT (JSON Web Tokens) para garantir que quem faz a requisição é realmente quem afirma ser.

Por outro lado, a autorização é o processo de verificação do que um usuário autenticado tem acesso. Depois que um usuário é autenticado, os controles de acesso baseados em funções devem limitar estritamente o acesso do usuário aos recursos necessários ou solicitados.

Criptografia

Com a criptografia, dados em texto simples ou em outros formatos legíveis são convertidos para versões codificadas que só podem ser decodificadas por quem tiver a chave de descriptografia. Tecnologias como TLS (Transport Layer Security), conexões SSL e protocolos de criptografia TLS garantem que o tráfego da API não seja interceptado nem alterado por agentes mal-intencionados ou usuários não autorizados.

Validação de entrada

Protocolos de validação de input protegem APIs contra dados maliciosos, como ataques de injeção SQL e cross-site scripting (XSS), garantindo que os inputs atendam a critérios como comprimento, tipo, formato e intervalo antes de serem processados. O uso de firewalls de aplicações web (WAFs) e validação de esquemas XML ou JSON ajuda as equipes de segurança a automatizar esse processo, analisando requisições e bloqueando tráfego malicioso antes que chegue ao servidor.

Limitação de taxa

A limitação de taxa protege os recursos das APIs contra ataques de força bruta e ataques de negação de serviço (DoS), restringindo o número de chamadas que um usuário ou endereço IP pode fazer em um determinado período. Esses limites garantem que todas as requisições sejam processadas de forma oportuna e que nenhum usuário possa sobrecarregar o sistema com solicitações maliciosas.

Cotas e limitação

Assim como o limitação de taxa (rate limiting), o throttling restringe o número de chamadas de API que um sistema recebe. No entanto, em vez de operar no nível do usuário/cliente, o throttling funciona no nível do servidor/rede. Os limites e cotas de throttling protegem a largura de banda do sistema de back-end da API, limitando a API a um determinado número de chamadas, mensagens ou ambos por segundo.

Cabeçalhos de segurança

Os cabeçalhos de segurança podem ser particularmente eficazes para evitar ataques de clickjacking. O cabeçalho “content-security-policy”, por exemplo, informa ao navegador quais recursos ele pode solicitar ao servidor. O cabeçalho “x-content-type-option” impede que os navegadores tentem fazer a detecção de tipo MIME, e o cabeçalho “strict-transport-security” aplica conexões seguras (HTTP sobre SSL/TLS) com o servidor.

Gateways de API

Instalar gateways de API é uma das maneiras mais fáceis de restringir o acesso à API e adicionar uma camada adicional de segurança de rede, especialmente no caso de APIs abertas. Um gateway de API atua como um único ponto de entrada para todas as solicitações de API que um sistema recebe, padronizando interações de API e oferecendo recursos de segurança como caching, análise de dados, composição de API, limitação de taxa, criptografia, registro e controle de acesso.

Auditoria e registro

Manter registros de auditoria abrangentes e atualizados (e revisá-los com frequência) permite que as organizações acompanhem o acesso e uso de dados e registrem todas as requisições de API. Dada a complexidade dos ecossistemas de API, acompanhar a atividade pode ser bastante trabalhoso, mas os procedimentos de auditoria e registro podem economizar tempo quando as equipes precisam refazer etapas após uma violação de dados ou falha de conformidade.

Tratamento de erros

O tratamento proativo de erros em ambientes de API pode evitar que cibercriminosos revelem informações confidenciais sobre os processos da API. Idealmente, qualquer erro de API deve retornar códigos de status HTTP que indiquem amplamente a natureza do erro, fornecendo contexto suficiente para que as equipes compreendam e resolvam o problema sem risco de exposição excessiva de dados.

Monitoramento e aplicação de patches de API

Assim como em qualquer aplicação ou sistema de software, o monitoramento e a manutenção em tempo real são essenciais para manter a segurança de 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.

As organizações também devem adotar padrões de segurança oportunos como as recomendações de segurança de API do Open Web Application Security Project (OWASP). A lista Top 10 de Segurança de API do OWASP, por exemplo, oferece uma estrutura para entender e mitigar as ameaças de segurança de API mais críticas e comuns, como autenticação quebrada, atribuição em massa e falsificação de solicitação do lado do servidor.

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. Mas sem práticas adequadas de versionamento, os usuários podem acidentalmente (ou intencionalmente) implementar uma versão desatualizada de API e colocar dados sensíveis em risco. Práticas atentas de versionamento e documentação permitem que as empresas acelerem o desenvolvimento de API e eliminem versões antigas de API sem interromper os serviços, direcionando os usuários para iterações mais novas e seguras.

Por exemplo, se uma equipe descobrir uma falha de segurança na v1 de uma API, ela pode corrigi-la na v2. E com versionamento, as equipes de segurança podem incentivar os usuários a migrar da v1 para a v2 no seu próprio ritmo, deixando claro na documentação da versão que a v1 possui uma vulnerabilidade de segurança conhecida.

Teste de segurança

Os testes de segurança exigem que os desenvolvedores enviem requisições padrão usando um cliente de API para avaliar a qualidade e a correção das respostas do sistema. Conduzir testes de segurança regulares para identificar e corrigir lacunas de segurança ajuda as equipes a corrigir vulnerabilidades da API antes que invasores tenham a chance de explorá-las.

Soluções relacionadas
IBM webMethods Hybrid Integration

A automação impulsionada por IA escala a agilidade em APIs, aplicações, eventos, arquivos e B2B/EDI.

Explore o IBM webMethods Hybrid Integration
Softwares e soluções de integração

Libere o potencial dos negócios com as soluções de integração da IBM, que conectam aplicações e sistemas para acessar dados críticos de forma rápida e segura.

Explore soluções de cloud integration
Serviços de consultoria em nuvem 

Libere novos recursos e aumente a agilidade dos negócios com os serviços de consultoria em nuvem da IBM. Descubra como cocriar soluções, acelerar a transformação digital e otimizar o desempenho por meio de estratégias de nuvem híbrida e parcerias com especialistas.

Explore os serviços de nuvem
Dê o próximo passo

 

O IBM webMethods Hybrid Integration oferece uma interface e um plano de controle unificados para padrões de integração, aplicações, APIs, B2B e arquivos, além de escalar a agilidade entre diferentes locais, ambientes e equipes.

 

 

Explore o IBM webMethods Hybrid Integration Veja em ação
Notas de rodapé