À medida que a importância das APIs (Application Programming Interfaces, interfaces de programação de aplicativos) continua a crescer e o tráfego de API acelera, há uma necessidade crescente de garantir que ele complete suas tarefas com segurança.
Os controles de segurança de aplicativos tradicionais ainda são necessários, mas não conseguem enfrentar os desafios da segurança da API.
Para selecionar uma solução de segurança de API adequada, você precisa pensar em uma variedade de fatores. Conversamos com vários profissionais do setor para obter sua visão sobre o tema.

Lebin Cheng, Diretor de Segurança da API, Imperva

Uma solução eficaz de segurança de API deve ser flexível o suficiente para proteger as APIs públicas e de backend sem retardar as equipes de desenvolvimento. Os CISOs devem levar em conta três considerações ao fazer uma seleção:
Primeiro, a solução precisa descobrir APIs automaticamente. Ele deve atualizar automaticamente o inventário de APIs continuamente para que, por exemplo, quando as APIs mudem na produção, elas sejam contabilizadas. Ele deve descobrir apis de sombra ou preteridos. Isso alivia o fardo sobre os líderes de segurança e permite que eles acompanhem as equipes do DevOps.
Em segundo lugar, a solução deve oferecer proteção entre aplicativos legados e nativos da nuvem sem exigir um componente de infraestrutura pesado que degrada o desempenho da aplicação ou reduz o ritmo de desenvolvimento.
Em terceiro lugar, é essencial que a solução possa identificar, classificar e relatar dados que fluem através de qualquer API. Proteger as APIs é, de fato, uma extensão direta da estratégia de uma organização para gerenciar a conformidade e proteger dados. As APIs acessam grandes quantidades de dados confidenciais, por isso ter visibilidade sobre os dados que fluem através de cada um é fundamental. Juntas, essas capacidades fornecem o contexto necessário para impor a governança de dados e reduzir riscos potenciais.

Doug Dooley, Diretor de Operações, Teorema de Dados

Ao construir um programa de segurança API eficaz, existem três recursos principais: inspeção, descoberta, proteção necessária para o sucesso. O primeiro recebe o maior investimento em segurança de API hoje, que é (A) inspeção/análise.
Embora as técnicas de ataque da API tenham evoluído ao longo da última década, de SOAP para REST e GraphQL, os conceitos principais permanecem os mesmos. Inspeção e análise de vulnerabilidades exploráveis em autenticação, autorização, validação de entrada, lógica de negócios e criptografia. Nossa indústria faz um bom trabalho com inspeção e análise de API. O grande desafio aqui é que a maioria das abordagens permanecem manuais. A inspeção de API precisa ser automatizada nos processos DevSecOps e CI/CD.
Os próximos dois recursos de segurança da API são a descoberta (B) e a proteção (C) que carecem de investimentos da maioria das organizações. Não encontrar APIs continua a ser uma deficiência em todo o setor em lidar com as crescentes superfícies de ataque de API do software moderno. Não podemos proteger as APIs se nem sabemos que elas fazem parte da nossa pilha dinâmica de software.
Software supply chain breaches highlight the challenge of first and third-party APIs. Lastly, selecting vendors that have active protection tools for modern APIs with no dependency on legacy network tools like WAFs and gateways is an important selection criteria for building effective API security.

Tom Hickman, Chief Product Officer, ThreatX

API security is a hot topic in the industry today, but choosing the right API security solution is proving difficult for many organizations. However, the nice thing about modern APIs is that, in most cases, they can be protected the same way we protect regular web applications.
To effectively choose an API security solution, organizations need to not only know what features they want, but also have an understanding of their existing API endpoints that need to be protected. Therefore, before making any purchasing decisions, organizations need to ask if they can detect and discover all of their API endpoints.
Muitas vezes, as empresas descobrirão que têm muito mais pontos finais de API recebendo tráfego do que pensavam inicialmente, e para obter proteção completa da API, estas precisam ser contabilizadas. Se isso não puder ser feito antes de fazer uma compra, as empresas devem investir em soluções que sigam as melhores práticas do setor, como a análise em tempo real dos pontos finais da API. As soluções que fornecem isso permitirão que as organizações vejam com cuidado o que realmente está implantado e exposto dentro de seu ecossistema para que possam comparar a superfície de ataque real com seu inventário teórico de API.

Faizel Lakhani, CEO da APIsec

Quando se trata de proteger ASI, existem realmente duas abordagens fundamentais para manter as APIs seguras – monitoramento e testes. O monitoramento envolve a análise contínua do tráfego que entra e sai das APIs para identificar ataques em tempo real. Essa abordagem normalmente requer identificar como é o tráfego “normal” e, em seguida, tentar identificar tráfego malicioso procurando anomalias.
Essa abordagem pode ser eficaz, especialmente para ataques mais óbvios, como grandes volumes ou pedidos ou ataques de injeção, mas provavelmente perderá ataques mais sofisticados – já que atacantes inteligentes farão o possível para ficar sob o radar. Além disso, essa abordagem é fundamentalmente reativa, exigindo que as APIs sejam publicadas em produção e sob ataque ativo antes de alertar as organizações sobre quaisquer problemas com suas APIs.
Em contraste, a abordagem de teste para a segurança da API envolve uma avaliação regular e rigorosa da API para identificar qualquer fraqueza ou vulnerabilidade que possa inadvertidamente levar à perda de dados. Os testes são normalmente realizados em um ambiente de pré-produção, de modo que quaisquer problemas são descobertos antes que possam causar danos. Esta abordagem preventiva simula ataques e efetivamente “testa pressão” a API para ver se algum dado vaza. Os testes podem ser totalmente automatizados e integrados em um modelo shift-left, de modo que cada nova versão seja totalmente vetada.

Tony Lauro, Diretor de Tecnologia e Estratégia de Segurança, Akamai

Os defensores com foco na segurança da API devem considerar a função comercial das APIs que estão protegendo. O lançamento do iPhone em junho de 2007 desencadeou o crescimento exponencial das APIs. Esta nova plataforma inaugurou a era da API, exigindo uma linguagem eficiente e leve de comunicação de aplicativos. Infelizmente, pouco depois disso, os agressores começaram a abusar deles.
As áreas de defesa contra o abuso da API:
Nível de protocolo: Validar a API não está sendo abusada em termos de superutilização ou abuso de cotas geralmente requer uma inspeção proxied de solicitações de API e potencialmente usando um gateway de API para gerenciar os requisitos de negócios de API.
Nível de aplicação: Isso gira em torno da validação da carga útil da API. Usando um WAF (Web Application Firewall, firewall de aplicativos da Web), a quebra e inspeção da chamada de API, o ponto final da API em uso e os parâmetros do que essa solicitação deve parecer podem ser validados como parte de um modelo de segurança positivo, incluindo a defesa contra ataques tradicionais de camada de aplicativos.
Nível de lógica de negócios: as APIs são usadas extensivamente para levar os usuários do ponto A ao Z dentro de um fluxo de trabalho de aplicativos. A capacidade de detectar quando uma solicitação do usuário salta direto para o ponto D ignorando A-C pode resultar de um ataque roteirizado e não de uma interação genuína do usuário.

Chris Mayers, Engenheiro de Segurança Principal, Citrix

As APIs são os ativos mais valiosos e vulneráveis de qualquer negócio digital, e protegê-las tornou-se uma tarefa complexa e desafiadora.
Ao identificar soluções que possam ajudar a enfrentar esse desafio crescente, a TI deve considerar o seguinte:
- Quase todos os negócios têm APIs desconhecidas, esquecidas e sombrias. E se você não pode vê-los, você não pode protegê-los. Uma boa solução de proteção de API é capaz de descobrir, catalogar e trazer todas as API sob governança.
- A autenticação, autorização e limitação de taxas da API, juntamente com análises para uso e desempenho de API são fundamentais para a proteção da API. Procure uma solução com técnicas inteligentes de aprendizado de máquina que lhe permitam aprender o uso da linha de base e detectar mais facilmente o abuso da API.
- As arquiteturas de aplicativos estão evoluindo de monolíticos para micro-serviços, que são fortemente baseados em API e muitas vezes usam malha de serviço. As soluções devem ser capazes de proteger ambos os tipos.
- Os aplicativos estão em rápida transição para várias nuvens, e as soluções devem protegê-las onde quer que estejam hospedadas – on-prem, em público privado, híbrido ou multi-nuvem.
Embora não seja fácil, a proteção da API pode ser muito simplificada usando plataformas entregues na nuvem que unificam o firewall de aplicativos web, o gerenciamento de bots e a proteção de API em uma única solução para simplificar e reduzir a fragmentação da postura de segurança.

Ziv Oren, CEO, Reblaze

À medida que as APIs proliferam, defendê-las contra o abuso tornou-se vitalmente importante. Hoje, uma série de soluções afirmam oferecer segurança à API. No entanto, muitos deles não fornecem proteção completa.
Muitas soluções foram originalmente projetadas para proteger sites e aplicativos web, e elas dependem de técnicas mais antigas que não funcionam bem para APIs.
Por exemplo, as soluções de segurança precisam bloquear bots hostis. Muitos tentam verificar os ambientes do navegador dos usuários, ou eles desafiam os usuários com quebra-cabeças CAPTCHA. Mas nenhuma técnica funcionará para uma chamada de API porque não há navegador para verificar, e CAPTCHAs também não são aplicáveis.
Muitas vezes há outras deficiências também. Por exemplo, muitas soluções não oferecem limitação de tarifas robusta para o tráfego de API. Isso significa que os atacantes são livres para travar ataques de enumeração, inserção de inserção, recheio de credenciais, raspagem, e assim por diante.
Por isso, é fundamental escolher uma solução de segurança que reconheça os desafios únicos colocados pelas APIs e ofereça proteção específica para elas. Todas as tecnologias de segurança aplicáveis devem ser implementadas, e recursos adicionais específicos da API também devem ser oferecidos. Por exemplo, um SDK para aplicativos móveis pode permitir que os desenvolvedores endureçam toda a comunicação entre dispositivos clientes e o ponto final da API móvel, tornando extremamente difícil para os invasores obter acesso.

Ankur Singla, SVP & GM, Security Products Group, F5

A natureza dinâmica e o grande volume de APIs tornam impraticável que as organizações acompanhem e alimentem as definições de API para sistemas que protegem os pontos finais da API.
As soluções precisam incluir recursos baseados em aprendizado de máquina (ML), permitindo a descoberta automática e o mapeamento de uma APIs de aplicativos. Permitir que a solução aprenda o escopo e a natureza da comunicação de API ao longo do tempo – ajudando a identificar APIs de sombra ou não documentadas que podem estar levando a falhas de segurança e vulnerabilidades persistentes. É por isso que a descoberta da API juntamente com a capacidade de importar esquema de API conhecido para aplicação é importante.
Boas soluções oferecem observabilidade contínua do comportamento de aplicativos e API, monitorando ao longo do tempo para construir linhas de base comportamentais ricas. Este deve ser um processo contínuo, permitindo que os controles sejam aplicados da forma mais significativa. É aí que o argumento e a necessidade de soluções baseadas em ML é muito fácil de entender, uma vez que o perfil de comportamento e calibração é o mais em tempo real possível.
Os dois primeiros recursos nos permitem aprender e acompanhar o comportamento da API “normal e aceitável” com base. A capacidade final necessária é a aplicação, identificando com precisão os padrões de comportamento que estão fora desse intervalo com a capacidade de agir forçando o esquema, limitando a taxa e bloqueando.

Tushar Tambay, VP de Produto, DPS HyTrust, Entrust

Todos os analistas e fornecedores dirão que o controle de acesso (autenticação e autorização de APIs) é o aspecto mais importante da Segurança da API. Embora isso seja verdade, vale a pena cavar um pouco mais fundo. Pergunte a si mesmo:
Quão flexível a solução permite definir políticas de controle de acesso? Limita-se ao Controle de Acesso Baseado em Função (RBAC – que pode fazer o quê) ou habilita o Controle de Acesso Baseado em Atributos (ABAC – quem pode fazer o que, para o que, em quais condições)?
A solução permite configurar políticas de controle de acesso de grãos finos? As regras de autorização podem ser especificadas para cada API individual?
A política de controle de acesso pode ser versão? As mudanças nessa política são auditáveis? Ao solucionar um incidente, você pode voltar no tempo e determinar com precisão qual política estava em vigor no momento do incidente?
A solução suporta todos os protocolos de identidade e acesso baseados em padrões (OAuth, OIDC etc.) em uso em sua empresa por serviços internos, bem como serviços acessíveis externamente?
A solução suporta aplicativos legados que não têm uma opção de autorização baseada em padrões?
A solução permite validar a integridade das solicitações de API recebidas e garantir a confidencialidade das respostas de saída?
Finalmente, preste atenção à capacidade da solução de coletar logs detalhados que tornam possível análises mais profundas e solução de problemas.

Stan Wisseman, estrategista-chefe de segurança para a América do Norte, CyberRes

As APIs são um facilitador essencial da inovação no mundo digitalmente orientado. Aplicativos (ou componentes de aplicativos) podem aproveitar as APIs para se conectar a outros aplicativos e se comunicar de forma autônoma. As APIs também têm o potencial de expor a lógica e os dados do aplicativo, fornecendo, portanto, acesso a múltiplas fontes de dados potencialmente sensíveis e serviços de missão crítica. Isso, por sua vez, amplia exponencialmente a superfície de ataque.
Dada a maior importância das APIs, ao considerar as ferramentas de segurança da API, é vital ter melhor visibilidade sobre quais APIs existem, quem as possui, qual porta estão ouvindo, etc. No entanto, sem alguma forma de adquirir programáticamente essas informações, a descoberta da API é difícil de automatizar.
O uso de ferramentas como o software de colaboração Apigee e API do Google, como o Swaggerhub ou o Postman, está em ascensão e pode fornecer uma imagem completa de uma API e todas as suas interações. Algumas ferramentas dinâmicas de teste de segurança de aplicativos (DAST) podem ingerir dados dessas ferramentas de colaboração e também estão fornecendo recursos de descoberta para detectar qualquer esquema Swagger ou OpenAPI e adicionar pontos finais de API a uma varredura de vulnerabilidade existente.
Algumas organizações também estão começando a colocar em camadas proativas em controles e aproveitar as ferramentas de API para governá-las melhor. Os Gateways ou gerentes de segurança da API podem criar, gerenciar, proteger e medir as APIs em uso.
FONTE: HELPNET SECURITY