Publicado: 20 de novembro de 2023
Contribuidores: Chrystal China, Michael Goodwin
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 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.
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:
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:
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Maximize o valor de API para impulsionar negócios digitais com uma solução abrangente de gerenciamento de APIs.
Esses tutoriais fornecem instruções práticas que ajudam os desenvolvedores a aprender como usar as tecnologias em seus projetos.
Venha buscar respostas. Fique para conhecer as melhores práticas. Tudo o que nos falta é você.
1 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.