Como controlar os principais riscos de segurança da API

As APIs estão sendo cada vez mais usadas para alimentar aplicativos de clientes, conectar-se a parceiros e impulsionar ambientes de micros serviços. Quer você perceba ou não, estão por toda parte e trocam dados confidenciais constantemente, tornando-os um alvo rico para os invasores, o que explica por que vimos um aumento significativo nos ataques direcionados às APIs nos últimos anos.

Os invasores sofisticados foram além da execução do script entre sites e dos ataques de injeção de SQL para se concentrarem em encontrar vulnerabilidades exclusivas nas APIs. Soluções tradicionais como WAFs e RASPs, que dependem de assinaturas e padrões comuns, não podem detectar ou impedir esses novos ataques visando a natureza exclusiva das APIs. Eles simplesmente não têm o entendimento granular de cada API exclusiva para realizar um trabalho eficaz de proteção.

Como em todas as coisas relacionadas à segurança, não existe uma bala de prata para protegê-lo dos riscos de segurança da API. É uma combinação de esforços no final do dia que precisam fazer parte da sua pilha de segurança.

Aqui estão algumas coisas a considerar ao planejar sua estratégia de segurança da API para garantir sua proteção.

Autenticação

Se você não possui autenticação, está basicamente deixando a porta aberta para os invasores e convidando-os a entrar.

Embora a autenticação seja uma aposta da segurança da API, ela pode dar uma falsa sensação de ser verdadeiramente seguro. Para muitos aplicativos, especialmente aqueles voltados para o público, é trivial se inscrever e obter credenciais legítimas. Em questão de minutos (em alguns casos, menos tempo), o invasor pode ter um nome de usuário e senha legítimos e começar a bisbilhotar sua API. Para APIs públicas, é como trancar uma porta e depois entregar as chaves a quem pedir. A barreira de entrada para APIs voltadas para desenvolvedores não é muito maior e não podemos descartar o quão trivial pode ser para um invasor determinado obter um conjunto de credenciais por meio de phishing ou outros meios.

Autorização

Após a autenticação, você pode controlar o que pode ser feito via API através de autorização. Por exemplo, esse usuário ou entidade tem permissão para fazer uma chamada de API específica para fazer algo como solicitar dados de um banco de dados. Enquanto isso parece ser o fim, tudo é tudo o que é mais fácil dizer do que fazer. As APIs criam uma rede complexa de lógica exclusiva para cada aplicativo.

SaltA lógica de um único aplicativo é suficiente para fazer girar a cabeça de um administrador de segurança, mas pense em como essa complexidade aumenta à medida que você conecta vários aplicativos via API. Acrescente a isso as várias funções e requisitos de autorização de usuários, administradores, desenvolvedores, etc. … e essa Web fica ainda mais complexa. Garantindo que você tenha políticas abrangentes de autorização em vigor que não quebrem seu aplicativo, especialmente em um ambiente em constante mudança.

Limitação e limitação de taxa

Outra abordagem para a segurança da API é limitar a quantidade de atividade que pode ser executada na API por um usuário ou entidade. Isso pode ser útil para interromper ataques baseados em volume com a intenção de executar uma negação de serviço (DoS) ou para aqueles direcionados por bots com o objetivo de raspar sites de dados. Embora essas sejam preocupações legítimas, elas não são aplicáveis ​​a todos os aplicativos, pois visam principalmente organizações de alto perfil que têm muito a perder, caso o site seja desativado ou se seus produtos / serviços podem ser replicados por outro site (pense em varejistas, companhias aéreas, viagens sites etc.)

Deslocando para a esquerda

Com um esforço para garantir que tudo o que sai pela porta seja o mais seguro possível, as organizações adotaram várias opções que incluem varredura de código, teste de penetração e até mesmo tornando os desenvolvedores mais preocupados com a segurança por meio de treinamento em segurança. Enquanto tudo ajuda na segurança, essas soluções podem ser complexas, demoradas e caras, exigindo muita experiência e muitas vezes deixando lacunas. Por exemplo, devido às despesas com testes de penetração, as organizações podem focar os testes apenas em uma área específica de um aplicativo, deixando o restante não testado. Considerando a varredura de código, essas soluções geralmente geram muito ruído, fornecendo uma lista de vulnerabilidades de segurança da API que podem não ser exploráveis ​​e, portanto, têm menor prioridade.

Classificar essas vulnerabilidades de prioridade mais alta para corrigi-las com recursos limitados de desenvolvimento pode ser um desafio. Finalmente, quando se trata de desenvolvedores, qualquer coisa que os torne mais inteligentes sobre segurança é ótimo, mas eles nunca pensam como atacantes que procuram maneiras desonestas de usar mal as APIs para obter resultados. Isso não quer dizer que esses esforços sejam desperdiçados, mas não são suficientes, especialmente considerando os tipos de ataques que estão se tornando a norma.

Você ainda está em risco

Embora todas essas abordagens forneçam camadas de segurança, cada uma delas pode deixar um espaço para os invasores que geralmente usam métodos sutis para obter resultados significativos. Por exemplo, um único invasor com uma chamada de API cuidadosamente criada pode sobrecarregar um aplicativo a ponto de uma interrupção. Esse tipo de DoS não requer o tempo ou o conhecimento necessário para orquestrar um ataque distribuído e pode ser feito de tal maneira que voe sob o radar de outras soluções de segurança em sua pilha.

Outra ameaça é a da exfiltração de dados. Como no DoS, a chamada de API correta pode fazer com que um aplicativo armazene um grande número de informações confidenciais de identificação pessoal (PII). Isso não apenas tem implicações de RP, mas também pode afetar seu bolso. Novamente, essas chamadas ficam sob o radar das soluções atuais em sua pilha e esses dois exemplos apenas arranham a superfície do que os invasores buscam quando direcionam suas APIs.

Como permanecer protegido e controlar os principais riscos de segurança da API

Como mencionado, não existe uma bala de prata para protegê-lo dos riscos de segurança da API. Com os invasores usando métodos sutis para investigar APIs em busca de falhas, é necessária uma solução que possa entender suas APIs em um nível muito granular, entender como é o comportamento normal e identificar desvios maliciosos desse comportamento normal. Identificar e interromper os invasores à medida que eles bisbilhotam durante o reconnasense é essencial para evitar ameaças imediatas, mas igualmente importante é corrigir vulnerabilidades nas próprias APIs para evitar futuros ataques à API. Ser capaz de identificar e eliminar as vulnerabilidades que têm potencial para serem exploradas e têm a maior prioridade é essencial para garantir que você esteja aproveitando ao máximo seus recursos de desenvolvedor.

Fonte: https://salt.security/blog/how-to-control-top-api-security-risks/