O que é um ataque "low and slow"?

Um ataque "low and slow" é um ataque DDoS que visa interromper um serviço web usando tráfego HTTP ou TCP extremamente lento.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Define a low and slow attack
  • Describe how low and slow attacks work
  • Entenda como mitigar ataques "low and slow"

Copiar o link do artigo

O que é um ataque "low and slow"?

Um ataque "low and slow" é um tipo de ataque DoS ou DDoS que depende de um pequeno streaming de tráfego muito lento visando recursos de aplicativos ou servidores. Ao contrário dos ataques mais tradicionais de força bruta, os ataques "low and slow" necessitam de muito pouca largura de banda e podem ser difíceis de mitigar, pois geram um tráfego que é muito difícil de distinguir do tráfego normal. Enquanto os ataques DDoS em grande escala provavelmente sejam notados rapidamente, os ataques "low and slow" podem continuar sem serem detectados por longos períodos de tempo, ao mesmo tempo em que negam ou deixam lento o serviço para os usuários reais.

Por não exigirem muitos recursos para terem êxito, os ataques "low and slow" podem ser lançados com sucesso usando um único computador, ao contrário de ataques mais distribuídos que podem exigir uma botnet. Duas das ferramentas mais populares para lançar um ataque de botnet são chamadas Slowloris e R.U.D.Y.

Como funciona um ataque "low and slow"?

Os ataques "low and slow" visam servidores web baseados em threads com o objetivo de congestionar cada thread com solicitações lentas, evitando assim que usuários verdadeiros acessem o serviço. Isso é feito transmitindo-se dados muito lentamente, mas com rapidez suficiente para evitar que o tempo de resposta do servidor expire.

Imagine uma ponte de 4 pistas com um pedágio para cada pista. Os motoristas param no pedágio, entregam uma nota ou um punhado de moedas e, em seguida, dirigem pela ponte, liberando a pista para o próximo motorista. Agora imagine quatro motoristas aparecendo ao mesmo tempo e ocupando cada pista aberta enquanto cada um deles entrega lentamente alguns centavos para o operador da cabine de pedágio, uma moeda de cada vez, obstruindo todas as pistas disponíveis por horas e evitando que outros motoristas passem. Esse cenário incrivelmente frustrante é muito semelhante à forma como um ataque "low and slow" funciona.

Os invasores podem usar cabeçalhos HTTP, solicitações HTTP POST, ou tráfego TCP para realizar ataques "low and slow". Aqui estão três exemplos de ataques comuns:

  • A ferramenta Slowloris se conecta a um servidor e em seguida, lentamente envia cabeçalhos HTTP parciais. Isso faz com que o servidor mantenha a conexão aberta para que possa receber o restante dos cabeçalhos, congestionando a linha.
  • Outra ferramenta chamada R.U.D.Y. (R-U-DEAD-YET?) gera solicitações HTTP POST para preencher campos de formulário. A ferramenta informa aos servidores quantos dados esperar, mas depois envia esses dados muito lentamente. O servidor mantém a conexão aberta porque está esperando mais dados.
  • Outro tipo de ataque "low and slow" é o ataque Sockstress, que explora uma vulnerabilidade no handshake TCP/IP de três vias, criando uma conexão indefinida.

Como os serviços web detectam um ataque "low and slow"?

As técnicas de detecção de taxa utilizadas para identificar e deter os ataques DDoS tradicionais não irão captar um ataque "low and slow", pois eles se parecem com o tráfego normal. A melhor maneira de detectá-los é por meio de monitoramento cuidadoso e de registro do uso dos recursos do servidor combinado à análise comportamental. Compare o tráfego e o comportamento do usuário durante os períodos normais com o tráfego e o comportamento do usuário durante o possível período de ataque.

Se os servidores estiverem funcionando lentamente ou falhando e houver suspeita de um ataque "low and slow", um sinal desse ataque é que os processos normais do usuário levam muito mais tempo. Se uma ação do usuário (como o preenchimento de um formulário) normalmente leva alguns segundos, mas em vez disso leva minutos ou horas, ocupando muito mais recursos do servidor do que o normal, pode ser que a causa seja um ataque "low and slow".

Depois que um ataque "low and slow" for detectado, a mitigação é uma outra questão.

Como deter um ataque "low and slow"

Uma maneira de mitigar um ataque "low and slow" é atualizar a disponibilidade do seu servidor; quanto mais conexões seu servidor puder manter simultaneamente, mais difícil será para um ataque obstruí-lo. O problema com essa abordagem é que um invasor pode tentar expandir seu ataque para atender à disponibilidade de seu servidor.

Outra solução é uma proteção baseada em proxy reverso que irá mitigar ataques "low and slow" antes mesmo que eles cheguem ao seu servidor de origem. Saiba como a proteção contra DDoS baseada em nuvem da Cloudflare pode mitigar ataques "low and slow".