O que é segurança de API?
Explore as soluções de segurança de API da IBM Veja como o CIO da IBM reduziu os custos de API
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 se tornaram os blocos de construção da transformação digital, permitindo que as empresas ofereçam serviços a desenvolvedores e parceiros externos. Como as APIs orquestram comunicação e troca de dados entre aplicativos, 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.  

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

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. APIs iniciais focadas principalmente na comunicação entre processos em um único sistema. Como tal, a segurança (ou a falta dela) era menos preocupante, porque a comunicação estava confinada a uma única máquina. 

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

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 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 - quandoos hackers tentam adivinhar ou roubar senhas de usuários ou explorar mecanismos de autenticação fracos para obter acesso aos servidores de API.

  • Ataques man-in-the-middle— em que um agente malicioso rouba ou modifica dados (por exemplo, credenciais de login ou informações de pagamento) interceptando solicitações ou respostas de 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 do aplicativo) por meio de uma solicitação de API, explorando pontos fracos nos intérpretes de API que leem e traduzem dados.

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

  • Ataque denial-of-service (DoS)— enxurrada de solicitações de API para travar ou desacelerar o servidor.Os ataques DoS podem muitas vezes vir de múltiplos atacantes simultaneamente, em algo conhecido como 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 maciços de dados, até mesmo para grandes corporações de boa reputação, como John Deere, Experian e Peloton.2

E em um ambiente tecnológico tão globalizado, 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, detalhes 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 rigorosos de segurança de API protege os dados, aplicativos e serviços que os pontos de extremidade de API expõem, garantindo ao mesmo tempo sua disponibilidade para usuários legítimos. A segurança de API, no entanto, não se trata apenas de proteger 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. Uma vez 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 força bruta e ataques 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

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 procedimentos de auditoria e registro podem economizar tempo quando as equipes precisam retraçar 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 com OAuth, OpenID Connect e serviços de terceiros. Implemente em qualquer lugar, de uma DMZ a co-localização com seus aplicativos 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 APIs e gateways de aplicações, está fazendo uma parceria com a Noname Security, líder em segurança de APIs, para oferecer recursos avançados de segurança de APIs. Essa solução conjunta ajudará você a alcançar novos níveis de confiança em 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

O IBM API Connect é uma solução segura 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.Isso significa que você e seus clientes podem potencializar aplicações digitais e estimular a inovação em tempo real.O IBM API Connect também está disponível com outras capacidades como parte do IBM Cloud Pak for Integration, que pode ajudar você a automatizar a modernização de aplicações e o gerenciamento de APIs como parte da sua jornada para a nuvem.

Explore o IBM API Connect
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.