A validação de entrada é uma medida de segurança essencial que ajuda a evitar ataques comuns a APIs, como injeção de SQL. Ao validar e limpar os dados recebidos de usuários e outras APIs, você pode evitar que entradas mal-intencionadas comprometam sua aplicação, protegendo dados confidenciais e mantendo a integridade de suas APIs.
Esta lista de verificação de segurança de APIs vai além de uma simples coleção de práticas recomendadas de segurança de APIs e é baseada no ciclo de vida da API. Ela começa com o planejamento, prossegue com o desenvolvimento e os testes e termina com a operação e a proteção. É, essencialmente, um guia para criar um processo de gerenciamento de SDLC (ciclo de vida de desenvolvimento de software) seguro para suas APIs.
À medida que as organizações se tornam cada vez mais centradas na nuvem e digitais, suas APIs crescem em escopo e escala, aumentando seu valor. Agora, as APIs:
- Operam no núcleo de aplicativos e serviços que atendem seus clientes e parceiros, incluindo as mais recentes inovações de IA
- São incorporadas em ambientes de nuvem, desde os serviços que seus desenvolvedores usam até as cargas de trabalho que seus engenheiros migram
- Representam os fluxos de receita, ajudando a expandir seus negócios e a construir um ecossistema de desenvolvedores
No entanto, se você é como os 84% dos profissionais de TI e segurança que experimentaram incidentes de segurança de APIs, você também viu em primeira mão que as APIs são um risco crescente. APIs expostas ou mal configuradas são predominantes, desprotegidas e fáceis de violar. Além disso, as APIs contêm instruções sobre como acessá-las e obter os dados que elas contém. Este é o sonho de um hacker. Não há "segurança pela obscuridade". Além disso, as APIs quase sempre reúnem grupos diferentes na organização. Esses grupos podem não conseguir coordenar facilmente a segurança, mesmo que quisessem. O número de APIs "por aí" complica ainda mais a segurança. Em muitos casos, as organizações sequer têm conhecimento de todas as suas APIs, deixando-as sem gerenciamento. Essas APIs adormecidas, ou zumbis, são importantes vetores de ataque.
Os riscos da segurança de APIs são altos. Os ataques às APIs podem comprometer a receita, a resiliência e a conformidade regulatória de uma empresa. A maioria das organizações ainda não tem os controles e recursos certos para evitar ataques às APIs. Certamente, muitas empresas têm ferramentas de API em sua pilha existente, incluindo gateways de API e firewalls de aplicações web. No entanto, embora essas ferramentas possam oferecer alguma proteção, elas não são projetadas para fornecer o grau de visibilidade, segurança em tempo real e testes contínuos para defender contra ataques modernos a APIs.
Por esses motivos, desenvolvemos esta lista de verificação de segurança de APIs como uma abordagem mais rigorosa e metódica para proteger as APIs. Em cada estágio do ciclo de vida, quatro controles recomendados permitem uma postura de segurança robusta para APIs. As etapas desse processo de gerenciamento seguro de SDLC são representadas no gráfico a seguir:
Plano |
|
Desenvolver |
|
Teste |
|
Operar |
|
Proteger |
|
Plano
A segurança de APIs começa bem antes de qualquer pessoa começar a escrever código. No estágio de planejamento, é essencial pensar em questões de governança, como funções, responsabilidades e políticas. O planejamento também é o melhor momento para determinar métricas de segurança, juntamente com os processos de gerenciamento do ciclo de vida.
Lista de verificação de segurança de planejamento de APIs:
- Governança, funções e responsabilidades. Você definiu claramente funções e responsabilidades para proteger seu patrimônio de APIs? Isso inclui responsabilidades no nível de execução para desenvolvedores e engenheiros de segurança, bem como responsabilidades de supervisão de gerenciamento que lidam com decisões de risco e supervisão de políticas.
- Políticas, padrões e especificações. Você desenvolveu uma biblioteca de políticas, padrões e especificações de API que descrevem as expectativas mínimas necessárias para o projeto, o desenvolvimento, os testes e as operações seguras de suas APIs?
- Métricas de segurança. Você configurou uma série definida de métricas de risco de segurança de APIs para poder medir e gerenciar os riscos relacionados a APIs? As partes interessadas podem usar essas métricas de risco de API como um loop de feedback para a melhoria contínua do gerenciamento de riscos de segurança de APIs.
- Gerenciamento do ciclo de vida. Sua organização está gerenciando APIs como ativos de software com propriedade definida durante todo o ciclo de vida útil? É uma prática recomendada prestar atenção especial à implantação inicial, ao gerenciamento contínuo de alterações e ao descomissionamento de ativos.
Desenvolver
Em desenvolvimento, as políticas estabelecidas na fase de planejamento ganham vida. Os desenvolvedores são responsáveis por criar APIs seguras, trabalhando em parceria com outros grupos de partes interessadas.
Lista de verificação de segurança de desenvolvimento de APIs:
- Treinamento. Você treinou seus desenvolvedores de API e outros funcionários com responsabilidades de gerenciamento de API (por exemplo, gateway, operações de segurança) sobre aspectos de segurança de APIs relevantes para suas funções?
- Ambiente do desenvolvedor (por exemplo, IDE, Repos). O código-fonte da API é desenvolvido e gerenciado em repositórios de código-fonte aprovados e gerenciados? Os desenvolvedores estão utilizando ambientes de desenvolvedor gerenciados ou aprovados?
- Documentação. Suas APIs são documentadas e avaliadas com precisão quanto à conformidade com especificações/padrões? A documentação da API é atualizada quando os esquemas de API são alterados? A documentação está disponível para revisão independente e testes/verificação?
- Rastreamento e resolução de defeitos. Os defeitos ou vulnerabilidades de código relacionados à segurança são priorizados e rastreados para resolução?
Teste
Uma vez desenvolvidas, as APIs devem passar por um ciclo completo de testes. Da mesma forma que a lista de verificação de testes de segurança de aplicações, a seguinte descreve os controles de segurança a serem implementados em seu programa de teste de API.
Lista de verificação de testes de segurança de APIs:
- Testes de código-fonte. Você está realizando testes estáticos de segurança de aplicações (SAST) e testes dinâmicos de segurança de aplicações (DAST) em seu código-fonte de API antes de promovê-lo para a produção?
- Testes de penetração. Seus pontos de extremidade de API são testados antes da migração para a produção em condições replicando o gerenciamento de API do ambiente de produção, a rede e as variáveis de política, sempre que possível?
- Revisão de conformidade. Suas APIs são avaliadas quanto à conformidade com padrões e especificações antes da migração para a produção (por exemplo, conformidade com a GDPR [Lei de proteção à informação], PCI)? Esse processo deve incluir a conformidade com o posicionamento e a configuração de arquitetura/rede (por exemplo, proteção de WAF, posicionamento de rede).
- Gerenciamento de alterações e lançamentos. Você implanta ou altera APIs de acordo com uma política de alteração de software ou TI bem definida? O ideal é que as alterações sejam refletidas com precisão no inventário de ativos de software.
Medidas de segurança de APIs em desenvolvimento e teste
Controle de acesso e autenticação: implemente mecanismos de autenticação robustos, como OAuth e chaves de API, para proteger pontos de extremidade de API durante desenvolvimento e testes. Verifique se as políticas de controle de acesso estão sendo aplicadas para impedir o acesso não autorizado a dados confidenciais.
Limitação de taxa: durante a fase de testes, implemente a limitação de taxa para proteger as APIs contra violações e possíveis ataques de DDoS. A limitação de taxa ajuda a evitar solicitações excessivas que podem sobrecarregar o sistema e levar à negação de serviço.
Injeção e validação de SQL: teste ataques comuns a APIs, como injeção de SQL. Implemente uma validação de entrada rigorosa para evitar que entradas mal-intencionadas comprometam suas APIs. Certifique-se de que os dados que passam por APIs sejam limpos e validados para proteger contra ataques de injeção.
Operar
A segurança de APIs deve permanecer em vigor à medida que as APIs entram em produção. Na verdade, é aí que as APIs tendem a se perder e acabar como pontos de vulnerabilidade.
Lista de verificação de segurança operacional de APIs:
- Inventário de APIs. Você está mantendo um inventário preciso e atual de todos os pontos de extremidade de API, incluindo a documentação da API?
- Inventário de dados confidenciais. Sua organização mantém um inventário preciso e atual ou um mapeamento dos dados confidenciais tratados por pontos de extremidade de API? Mais importante, você sabe quais usuários estão acessando os dados confidenciais? O gerenciamento de acesso é um componente essencial da segurança e da conformidade.
- Identificação de vulnerabilidades. Você está identificando vulnerabilidades e áreas de exposição a riscos de APIs em seu ambiente de produção?
- Gerenciamento da configuração. Você identifica vulnerabilidades e exposição de componentes de rede, gateway e firewall que interrompem e protegem o tráfego de APIs?
Proteger
As proteções de API devem permanecer em vigor durante todo o ciclo de vida da API. Essa workload abrange a coleta de registros e tráfego, detecção de ameaças, alertas e muito mais.
Lista de verificação para proteção de APIs:
- Coleta de registros ou tráfego. Você está registrando em log a atividade da API e armazenando os dados para dar suporte à inspeção operacional e de segurança?
- Detecção e alerta a ameaças. Você está analisando a atividade de API para detectar atividades anômalas? Seu processo deve incluir alertas/sinalizações associados de eventos anômalos ou de uso indevido para as equipes operacionais e de segurança aplicáveis.
- Movimentação de dados confidenciais. Você está monitorando a movimentação de dados confidenciais contidos no tráfego de APIs? Esse processo deve incluir a análise de fluxos de dados para detectar uso não autorizado ou anômalo, com alertas/sinalizações de movimentação de dados confidenciais para as equipes de segurança e operações aplicáveis.
- Bloqueio e correção. Você está bloqueando e corrigindo a movimentação não autorizada de dados confidenciais por meio de APIs ou outros usos indevidos suspeitos de APIs?
Proteção de APIs contra ameaças à cibersegurança
O cenário de ameaças de hoje exige uma solução completa de segurança de API que fornece descoberta de APIs, gerenciamento de postura, proteção de tempo de execução e testes de segurança de API.
1. Descoberta de APIs. É comum ter APIs que ninguém conhece. A maioria das organizações tem pouca ou nenhuma visibilidade sobre uma grande porcentagem do tráfego de API, muitas vezes porque elas pressupõem que todas as APIs são roteadas por meio de um gateway de API. Mas esse não é o caso. Sua empresa está exposta a uma série de riscos sem um inventário completo e preciso. Recursos essenciais necessários:
- Localizar e inventariar todas as suas APIs, independentemente da configuração ou tipo
- Detectar APIs inativas, legadas e zumbis
- Identificar domínios esquecidos, negligenciados ou de sombra desconhecidos
- Eliminar pontos cegos e revelar possíveis caminhos de ataque
2. Gerenciamento de postura de APIs. Com um inventário de API completo, é fundamental entender quais tipos de dados fluem através de suas APIs e como isso afeta sua capacidade de cumprir os requisitos regulamentares. O gerenciamento de postura da API fornece uma visão abrangente do tráfego, código e configurações para avaliar a postura de segurança da API da sua organização. Recursos essenciais necessários:
- Verificar automaticamente a infraestrutura para descobrir configurações incorretas e riscos ocultos
- Criar fluxos de trabalho personalizados para notificar as principais partes interessadas sobre vulnerabilidades
- Identificar quais APIs e usuários internos podem acessar dados confidenciais
- Atribuir classificações de gravidade aos problemas detectados para priorizar a correção
3. Segurança de tempo de execução da API. Sem dúvida, você está familiarizado com o conceito de "presumir violações". Violações e ataques específicos de API estão atingindo esse mesmo grau de inevitabilidade. Para todas as APIs que estão em produção, você precisa ser capaz de detectar e bloquear ataques em tempo real. Recursos essenciais necessários:
- Monitorar a violação e o vazamento de dados, violações de políticas, comportamento suspeito e ataques a APIs
- Analisar o tráfego de APIs sem alterações de rede adicionais ou agentes de difícil instalação
- Integrar fluxos de trabalho existentes (emissão de tickets, SIEMs etc.) para alertar equipes de segurança/operações
- Evitar ataques e uso indevido em tempo real com correção parcial ou totalmente automatizada
4. Testes de segurança de APIs. As equipes de desenvolvimento de API estão sob pressão para trabalhar o mais rápido possível. A velocidade é essencial para cada aplicativo desenvolvido, tornando mais fácil para uma vulnerabilidade ou falha de design acontecer e não ser detectada. Testar APIs em desenvolvimento antes de serem lançadas na produção reduz muito o risco e o custo de corrigir uma API vulnerável. Recursos essenciais necessários:
- Executar uma ampla gama de testes automatizados que simulam tráfego malicioso
- Descobrir vulnerabilidades antes que as APIs entrem em produção para reduzir o risco de um ataque bem-sucedido
- Inspecionar as especificações de API em relação às políticas e regras de governança estabelecidas
- Executar testes de segurança com foco em API sob demanda ou como parte de um pipeline de CI/CD
Essa abordagem abrangente funciona como um complemento aos recursos existentes de proteção de APIs de uma empresa, incluindo:
- Detecção de ameaças e prevenção contra DDoS: utilize ferramentas de cibersegurança para detectar possíveis ataques a APIs em tempo real. Implemente estratégias para evitar ataques de DDoS, como limitação de taxa e balanceamento de carga, para garantir que seus pontos de extremidade de API permaneçam disponíveis e seguros.
- Bloqueio e correção: implemente medidas automatizadas de bloqueio e correção para proteção contra tentativas de acesso não autorizadas e exposição de dados confidenciais. Use uma combinação de políticas de WAF, autenticação e controle de acesso para impor a segurança no nível do gateway de API.
Esses são controles sugeridos. É muito para absorver e, na realidade, nem todas as organizações estarão cobrindo inadequadamente todos esses aspectos. No entanto, a lista de verificação é uma maneira valiosa de estabelecer práticas recomendadas e identificar áreas para melhoria na segurança de APIs. Ele fornece uma linha de base útil para uma operação de segurança de APIs bem executada.
Perguntas frequentes
A limitação de taxa é crucial para evitar ataques de DDoS e proteger os pontos de extremidade de APIs contra sobrecarga de solicitações excessivas. Ao limitar o número de solicitações que um usuário ou cliente pode fazer dentro de um período especificado, a limitação de taxa ajuda a garantir que suas APIs permaneçam disponíveis e responsivas, mesmo em sobrecarga.
O OAuth é um protocolo de autenticação amplamente usado que fornece acesso seguro a APIs, permitindo que os usuários concedam acesso aos dados sem compartilhar suas credenciais. A implementação do OAuth ajuda a garantir que apenas usuários e aplicações autorizados possam acessar seus pontos de extremidade de API, reduzindo o risco de acesso não autorizado e violações de dados.
Um WAF (firewall de aplicações web) fornece uma camada adicional de proteção para suas APIs, filtrando e monitorando solicitações HTTP. Um WAF pode bloquear tráfego mal-intencionado, proteger contra ameaças comuns, como injeção de SQL e XSS (cross-site scripting), e aplicar políticas de controle de acesso no nível do gateway de API, ajudando a proteger suas APIs contra várias ameaças de cibersegurança.
Por que os clientes escolhem a Akamai
A Akamai é a empresa de cibersegurança e computação em nuvem que potencializa e protege negócios online. Nossas soluções de segurança líderes de mercado, inteligência avançada contra ameaças e equipe de operações globais oferecem defesa em profundidade para garantir a segurança de dados e aplicações empresariais em todos os lugares. As abrangentes soluções de computação em nuvem da Akamai oferecem desempenho e acessibilidade na plataforma mais distribuída do mundo. Empresa globais confiam na Akamai para obter a confiabilidade, escala e experiência líderes do setor necessárias para expandir seus negócios com confiança.