Ataques da camada de aplicação - Práticas recomendadas para resiliência contra DDoS da AWS

Ataques da camada de aplicação

Um invasor pode direcionar a própria aplicação usando um ataque de camada 7 ou camada de aplicação. Nesses ataques, semelhantes aos ataques de infraestrutura de inundação SYN, o invasor tenta sobrecarregar funções específicas de uma aplicação para tornar a aplicação indisponível ou não responde a usuários legítimos. Às vezes, isso pode ser alcançado com volumes de solicitações muito baixos que geram apenas um pequeno volume de tráfego de rede. Isso pode tornar o ataque difícil de detectar e mitigar. Exemplos de ataques de camada de aplicação incluem inundações HTTP, ataques de quebra de cache e inundações WordPress XML-RPC.

Em um ataque de inundação HTTP, um invasor envia solicitações HTTP que parecem ser de um usuário válido da aplicação Web. Algumas inundações HTTP têm como alvo um recurso específico, enquanto inundações HTTP mais complexas tentam emular a interação humana com a aplicação. Isso pode aumentar a dificuldade de usar técnicas comuns de mitigação, como limitação da taxa de solicitação.

Os ataques de quebra de cache são um tipo de inundação HTTP que usa variações na string de consulta para contornar o armazenamento em cache da rede de entrega de conteúdo (CDN). Em vez de poder retornar resultados armazenados em cache, o CDN deve entrar em contato com o servidor de origem para cada solicitação de página, e esses downloads da origem causam tensão adicional no servidor da web da aplicação.

Com um ataque de inundação WordPress XML-RPC, também conhecido como inundação de pingback do WordPress, um invasor tem como destino um site hospedado no software de gerenciamento de conteúdo do WordPress. O invasor usa indevidamente a função da API XML-RPC para gerar uma inundação de solicitações HTTP. O recurso de pingback permite que um site hospedado no WordPress (Site A) notifique um site do WordPress diferente (Site B) por meio de um link que o Site A criou para o Site B. O Site B tenta buscar o Site A para verificar a existência do link. Em uma inundação de pingback, o invasor usa indevidamente esse recurso para fazer com que o Site B ataque o Site A. Esse tipo de ataque tem uma assinatura clara: o WordPress geralmente está presente no User-Agent do cabeçalho de solicitação HTTP.

Existem outras formas de tráfego malicioso que podem afetar a disponibilidade de uma aplicação. Os bots do Scraper automatizam as tentativas de acessar uma aplicação Web para roubar conteúdo ou registrar informações competitivas, como preços. Ataques de força bruta e preenchimento de credenciais são esforços programados para obter acesso não autorizado a áreas seguras de uma aplicação. Esses ataques não são estritamente de DDoS; mas sua natureza automatizada pode ser semelhante a um ataque de DDoS e eles podem ser mitigados implementando algumas das mesmas práticas recomendadas a serem abordadas neste documento.

Os ataques da camada de aplicação também podem ter como alvo serviços de Sistema de Nomes de Domínio (DNS). O mais comum desses ataques é uma inundação de consultas DNS em que um invasor usa muitas consultas de DNS bem formadas para esgotar os recursos de um servidor DNS. Esses ataques também podem incluir um componente de eliminação de cache em que o invasor randomiza a string de subdomínio para ignorar o cache DNS local de qualquer resolvedor. Como resultado, o resolvedor não pode tirar proveito das consultas de domínio em cache e deve entrar em contato repetidamente com o servidor DNS autoritativo, o que amplifica o ataque.

Se uma aplicação Web for entregue por meio do Transport Layer Security (TLS), um invasor também poderá optar por atacar o processo de negociação de TLS. O TLS é computacionalmente caro, portanto, um invasor, ao gerar workload extra no servidor para processar dados ilegíveis (ou ininteligíveis (texto cifrado)) como um handshake legítimo, pode reduzir a disponibilidade do servidor. Em uma variação desse ataque, um invasor conclui o handshake TLS, mas renegocia perpetuamente o método de criptografia. Como alternativa, um invasor pode tentar esgotar os recursos do servidor abrindo e fechando muitas sessões TLS.