Configuração da proteção BOLA (IDOR)¶
Ataques comportamentais como Autorização em Nível de Objeto Quebrado (BOLA) exploram a vulnerabilidade de mesmo nome. Esta vulnerabilidade possibilita que um invasor acesse um objeto através de sua identificação via uma solicitação de API e leia ou modifique seus dados, contornando um mecanismo de autorização. Este artigo orienta você sobre como proteger suas aplicações contra ataques BOLA.
Por padrão, a Wallarm descobre automaticamente apenas as vulnerabilidades do tipo BOLA (também conhecida como IDOR), mas não detecta tentativas de exploração.
Com a Wallarm, você tem as seguintes opções para detectar e bloquear ataques BOLA:
Restrições de proteção BOLA
Apenas o nó Wallarm 4.2 e superior suporta a detecção de ataques BOLA.
O nó Wallarm 4.2 e superior analisa apenas as seguintes solicitações em busca de sinais de ataque BOLA:
- Solicitações enviadas via protocolo HTTP.
-
Solicitações que não contêm sinais de outros tipos de ataque, por exemplo, as solicitações não são consideradas como um ataque BOLA se:
- Essas solicitações contêm sinais de ataques de validação de entrada.
- Essas solicitações coincidem com a expressão regular especificada na regra Criar indicador de ataque baseado em expressão regular.
Requisitos¶
Para proteger os recursos contra ataques BOLA, certifique-se de que o seu ambiente cumpre os seguintes requisitos:
-
Você tem o nó Wallarm 4.2 ou superior.
-
Se o nó de filtragem estiver implantado atrás de um servidor proxy ou balanceador de carga, configure a exibição dos endereços IP reais dos clientes.
Criação manual do gatilho BOLA¶
Para o nó Wallarm identificar os ataques BOLA:
-
Abra o console Wallarm → Gatilhos e proceda à configuração do gatilho BOLA.
-
Defina as condições para definir as solicitações como um ataque BOLA:
- O número de Solicitações do mesmo IP para um determinado período de tempo.
-
URI para ser protegido contra ataques BOLA e receber o número especificado de solicitações. O valor deve ser um endpoint da API apontando para um objeto por seu identificador, pois este tipo de endpoint é potencialmente vulnerável a ataques BOLA.
Para especificar o parâmetro PATH que identifica um objeto, utilize o símbolo
*
, exemplo:O URI pode ser configurado através do construtor de URI ou formulário de edição avançada na janela de criação de gatilho.
-
(Opcional) Aplicação para ser protegida contra ataques BOLA e receber o número especificado de solicitações.
Se você usa o mesmo nome para vários domínios, este filtro é recomendado para apontar para a aplicação a qual o domínio no filtro URI está atribuído.
-
(Opcional) Um ou mais IPs originando as solicitações.
-
Selecione reações aos gatilhos:
- Marcar como BOLA. Solicitações que ultrapassam o limite são marcadas como um ataque BOLA e exibidas na seção Eventos do console Wallarm. O nó Wallarm NÃO bloqueia estas solicitações maliciosas.
-
Bloquear endereço de IP originando solicitações maliciosas e o período de bloqueio.
O nó Wallarm bloqueará as solicitações tanto legítimas quanto maliciosas (inclusive ataques BOLA) originadas do IP bloqueado.
-
Lista de IPs em estado de alerta originando solicitações maliciosas e o período de bloqueio.
O nó Wallarm bloqueará solicitações originadas de IPs em estado de alerta somente se contiverem indícios de validação de entrada, o
vpatch
ou sinais de ataque personalizados.Ataques BOLA originados de IPs em estado de alerta
Ataques BOLA originados de IPs em estado de alerta não são bloqueados.
-
Salve o gatilho e aguarde a conclusão da sincronização entre o Cloud e o nó (geralmente leva de 2 a 4 minutos).
Exemplo do gatilho para detectar e bloquear ataques BOLA direcionados aos dados financeiros da loja (o endpoint da API é https://example.com/lojas/{id_loja}/informacoes_financeiras
):
Você pode configurar vários gatilhos com diferentes filtros para a proteção BOLA.
Proteção automática BOLA para endpoints descobertos pelo recurso de Descoberta de API
¶
A proteção automática BOLA está disponível se você utilizar o módulo Descoberta de API.
Para habilitar a autoproteção, vá para o console Wallarm → Proteção BOLA e ative a opção:
Uma vez habilitada a proteção BOLA, a Wallarm:
-
Identifica os endpoints da API que são mais prováveis de serem alvo de ataques BOLA, por exemplo, aqueles com variabilidade nos parâmetros do caminho:
domain.com/path1/path2/path3/{variative_path4}
.Esta etapa leva um período de tempo
A identificação de endpoints vulneráveis da API leva um período de tempo necessário para uma profunda observação do inventário da API descoberta e das tendências de tráfego de entrada.
Apenas os endpoints da API explorados pelo módulo API Discovery são protegidos contra ataques BOLA de maneira automatizada. Os endpoints protegidos são destacados com o ícone correspondente.
-
Protege os endpoints vulneráveis da API contra ataques BOLA. A lógica de proteção padrão é a seguinte:
- Solicitações a um endpoint vulnerável que excedam o limite de 180 solicitações do mesmo IP por minuto são consideradas ataques BOLA.
-
Apenas registra ataques BOLA na lista de eventos quando o limite de solicitações do mesmo IP é atingido. A Wallarm não bloqueia ataques BOLA. As solicitações vão continuar chegando às suas aplicações.
A reação correspondente no modelo de autoproteção é Apenas registrar ataques.
-
Reage às alterações na API protegendo novos endpoints vulneráveis e desabilitando a proteção para endpoints removidos.
A seção Proteção BOLA da interface do usuário permite que você ajuste o comportamento padrão da Wallarm (incluindo o bloqueio de ataques BOLA) editando o modelo de autodetecção BOLA.
Testando a configuração da proteção BOLA¶
-
Envie o número de solicitações que excede o limite configurado para o URI protegido. Por exemplo, 50 solicitações com diferentes valores de
{id_loja}
para o endpointhttps://example.com/lojas/{id_loja}/informacoes_financeiras
: -
Se a reação ao gatilho for Bloquear o endereço de IP, abra Wallarm Console → Listas de IPs → Lista de bloqueios e verifique se o endereço de IP fonte está bloqueado.
Se a reação ao gatilho for Lista de IPs em estado de alerta, verifique a seção Listas de IPs → Lista de Alerta do Console Wallarm.
-
Abra a seção Eventos e verifique se as solicitações estão exibidas na lista como um ataque BOLA.
O número de solicitações exibidas corresponde ao número de solicitações enviadas após ter excedido o limite do gatilho (mais detalhes sobre a detecção de ataques comportamentais). Se este número for superior a 5, a amostragem de solicitações é aplicada e os detalhes da solicitação são exibidos apenas para os 5 primeiros hits (mais detalhes sobre a amostragem das solicitações).
Para buscar ataques BOLA, você pode utilizar a tag de busca
bola
. Todos os filtros estão descritos nas instruções sobre o uso de pesquisa.