O que é segurança de API?
Explore a solução de segurança de API da IBM Inscreva-se para receber atualizações sobre tópicos de IA
Ilustração representando a segurança de API

Publicado: 20 de novembro de 2023
Contribuidores: Chrystal China, Michael Goodwin

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 proliferam, o mesmo acontece com os problemas de segurança que geralmente as acompanham.  

As APIs se encontram entre os recursos de TI de uma organização e desenvolvedores de software terceiros ou entre os recursos de TI e os indivíduos, fornecendo dados e informações nos endpoints do processo. Como os endpoints são mostrados ao mundo externo, eles podem tornar as APIs um alvo lucrativo para vários tipos de ataques. 

Inteligência artificial mais inteligente para operações de TI (AIOps)

Aprenda como tanto o APM quanto o ARM podem habilitar decisões e aplicação de recursos mais rápidas.

Conteúdo relacionado

Cadastre-se para receber o guia sobre observabilidade

A evolução da segurança da API  

A evolução do gerenciamento de API e da segurança de API está intrinsecamente vinculada à evolução das próprias APIs. As primeiras APIs se concentravam principalmente na comunicação entre processos em um único sistema. Dessa forma, a segurança (ou a falta dela) era menos preocupante porque a comunicação estava restrita a uma única máquina. 

No entanto, com o advento da internet das coisas (IoT) e arquiteturas de microsserviços nativas da nuvem, as APIs se expandiram para permitir a comunicação e o roteamento de chamadas sem interrupções entre aplicações e em ambientes DevOps. Uma API moderna e de alta qualidade – por exemplo, a representational state transfer (REST) e a simple object access protocol (SOAP) – é responsável por orquestrar a integração de aplicações, especificar formatos de dados e ditar tipos de chamadas, procedimentos e convenções. 

As APIs da web — GraphQL, REST API e SOAP API , em particular — mudaram o cenário expandindo os recursos para incluir recursos de integração de amplo alcance em inúmeras redes complexas. 

Mas, como as tecnologias avançadas dependem muito dos endpoints da API para a funcionalidade, as empresas e as equipes de segurança devem implementar medidas de segurança robustas para proteger dados e serviços da web e, por fim, aproveitar ao máximo os recursos de TI. 

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.Ataques BOLA são especialmente comuns, pois implementar verificações de autorização adequadas no nível do objeto pode ser difícil e demorado.

 

Práticas recomendadas 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 das APIs, refere-se ao uso de protocolos de autenticação de usuário – como OAuth 2,0, chaves de API e especificações JWT – para garantir que um solicitante seja quem ele 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, o texto simples e outros tipos de dados são convertidos de uma forma legível para uma versão codificada que só pode ser decodificada por uma entidade com uma chave de decodificação. Usando tecnologias de criptografia, como segurança da camada de transporte (TLS), conexão SSL e protocolos de criptografia TLS, as equipes podem garantir que o tráfego de API não seja interceptado ou alterado por agentes mal-intencionados ou usuários não autorizados. 

Validação de entrada

Os protocolos de validação de inputs protegem APIs contra dados maliciosos, como ataques de injeção de SQL e scripting entre sites, garantindo que os inputs atendam a certos critérios (comprimento, tipo, formato, intervalo etc.) antes de serem processadas. O uso de firewalls de aplicações da web (WAFs) e a validação de esquema XML ou JSON pode ajudar as equipes de segurança a automatizar processos de validação, analisando antecipadamente solicitações recebidas e bloqueando tráfego malicioso antes que ele alcance o servidor.

Limitação de taxa

A limitação de taxa protege os recursos da API contra ataques de força bruta e DoS, restringindo o número de chamadas que um usuário ou endereço IP pode fazer dentro de um determinado período. Os limites de taxa garantem que todas as solicitações de API sejam processadas imediatamente e que nenhum usuário possa sobrecarregar o sistema com solicitações prejudiciais.

Cotas e limitação

Assim como o limite de taxa, a limitação 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, a limitação funciona no nível do servidor/rede. Limites e cotas de limitação protegem a largura de banda do sistema de backend de API, limitando a API a um certo número de chamadas, mensagens ou ambos, por segundo.

Cabeçalhos de segurança

Os cabeçalhos de segurança podem ser particularmente eficazes na prevenção de ataques de clickjacking. O cabeçalho "content-security-policy", por exemplo, informa ao navegador quais recursos ele pode solicitar do servidor. O cabeçalho "x-content-type-option" impede que os navegadores tentem detectar tipos de conteúdo MIME e o cabeçalho "strict-transport-security" impõe 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 frequentemente – permite que as organizações rastreiem o acesso e o uso de dados e registrem cada solicitação de API. Dada a complexidade dos ecossistemas de API, manter-se atualizado sobre a atividade das APIs pode ser bastante trabalhoso, mas os procedimentos de auditoria e registro podem economizar tempo quando as equipes precisam refazer seus passos após uma violação de dados ou falha de conformidade. 

Tratamento de erros

O tratamento proativo de erros em ambientes de API pode impedir que cibercriminosos revelem informações confidenciais sobre processos de API. Idealmente, qualquer erro de API retornará códigos de status HTTP que indicam amplamente a natureza do erro, fornecendo contexto suficiente para que as equipes entendam e resolvam o problema sem arriscar exposição excessiva aos 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 descobre uma falha de segurança na v1 de uma API, eles podem corrigi-la na v2. E com o versionamento, as equipes de segurança podem incentivar os usuários a migrar da v1 para a v2 no seu próprio ritmo, enquanto deixam claro na documentação da versão que a v1 possui uma vulnerabilidade de segurança conhecida. 

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. Realizar testes de segurança regulares para identificar e lidar com lacunas de segurança ajuda as equipes a corrigir vulnerabilidades de API antes que os invasores tenham a chance de explorá-los. 

Soluções relacionadas
IBM API Connect

O IBM API Connect é uma solução completa de gerenciamento de APIs que utiliza uma experiência intuitiva para ajudar a criar, gerenciar, proteger, socializar e monetizar APIs de forma consistente, ajudando a impulsionar a transformação digital no local e na nuvem. 

Explore o API Connect

IBM API Connect - Caso de uso de segurança de API

O IBM API Connect oferece uma variedade de recursos para proteger, controlar e mediar o acesso às suas APIs. Controle o acesso às APIs por meio de autenticação e autorização que usam OAuth, OpenID Connect e serviços de terceiros. Implemente em qualquer lugar, de uma DMZ a colocalização com suas aplicações e microsserviços nativos de nuvem, protegendo o acesso no tempo de execução, em qualquer lugar.

Explore o caso de uso de segurança de API

Noname Advanced API Security for IBM

Aumente a segurança de API em toda a sua empresa com recursos avançados impulsionados por IA. A IBM, líder em gerenciamento de API e gateways de aplicações, está colaborando com a líder em segurança de APIs, Noname Security, para fornecer recursos avançados de segurança de APIs. Essa solução conjunta ajuda você a alcançar novos níveis de confiança na segurança.

Explore o Noname Advanced API Security for IBM
Recursos Visão geral de página única do IBM API Connect

Maximize o valor de API para impulsionar negócios digitais com uma solução abrangente de gerenciamento de APIs.

Tutoriais do IBM API Connect

Esses tutoriais fornecem instruções práticas que ajudam os desenvolvedores a aprender como usar as tecnologias em seus projetos.

Hub comunitário de integração da IBM

Venha buscar respostas. Fique para conhecer as melhores práticas. Tudo o que nos falta é você.

Dê o próximo passo

Use o IBM API Connect para proteger e gerenciar APIs corporativas ao longo de seus ciclos de vida. Ele ajuda você e seus clientes a criar, gerenciar, proteger, divulgar e monetizar consistentemente APIs corporativas, e também está disponível como uma plataforma de gerenciamento de API altamente escalável no IBM Marketplace and AWS.

Explore o API Connect Agende uma demonstração em tempo real
Notas de rodapé

 Resumo da pesquisa: A urgência de abordar a segurança de API em um programa de segurança de aplicações (link fora de ibm.com),Enterprise Strategy Group, 16 de outubro de 2023.

2  No radar: Wib protege APIs ao longo de seus ciclos de vida completos (link reside fora de ibm.com),Omdia, 1 de setembro de 2023.

3 A próxima grande violação de segurança de API se aproxima: veja como se preparar (link fora de ibm.com),SC Magazine, 19 de outubro de 2023.