O que acontece se um servidor nunca receber o pacote RST?

3

Alguém recentemente decidiu me mostrar um POC de um novo método de Negação de Serviço usando o SYN / TCP que ele descobriu. Eu pensei que era um absurdo completo, mas depois de explicar a ele sobre SYN-SYN / ACK-RST, ele me deixou sem palavras. Ele me disse "e se o servidor que você está usando para enviar os pacotes SYN / ACK não puder receber o pacote RST?"

Eu não tenho ideia. Ele alega que o servidor continuará tentando enviar pacotes SYN / ACK e que o pacote continuará a se acumular.

Existe alguma verdade nisso? Alguém pode elaborar?

Aparentemente, a maneira como funciona é isso:

Ele falsifica o IP do pacote SYN para o IP do alvo. Ele então envia o pacote SYN para um punhado de servidores aleatórios. Todos eles respondem com o seu pacote SYN / ACK para o IP alvo, é claro, O alvo responde com RST, como sabemos que MAS de alguma forma ele impede que o alvo envie o RST ou impede que servidores aleatórios o processem | Com isso, aparentemente, os servidores continuarão tentando enviar os pacotes SYN / ACK, produzindo um efeito um tanto "bola de neve".

    
por Rob 03.09.2012 / 04:20

2 respostas

8

Como você sabe, o fluxo de pacotes "tentando abrir uma porta" deve funcionar assim:

  1. SYN - >
  2. < - SYN / ACK
  3. ACK - >

A versão "porta fechada" é simples:

  1. SYN - >
  2. < - RST

E se o extremo remoto não retornar pacotes RST, o que é uma configuração de firewall extremamente comum:

  1. SYN - >
  2. [o tempo passa]
  3. SYN - >
  4. [o tempo passa]
  5. SYN - >
  6. [o tempo passa]

E por extremamente comum eu quero dizer extremamente comum . Todas as pilhas TCP precisam lidar com este caso, já que é muito comum.

A variante que o seu alguém propôs:

  1. [origem falsificada] SYN - >
  2. < - SYN / ACK
  3. [o tempo passa]
  4. < - SYN / ACK
  5. [o tempo passa]
  6. < - SYN / ACK

O 'ataque' que ele inteligentemente descobriu é o ataque SYN Flood , e é conhecido desde o início dos anos 90. Graças aos firewalls que bloqueiam pacotes RST, esses servidores não saberão fechar a conexão, portanto, eles realmente retransmitirão o pacote SYN / ACK com base nos tempos normais de repetição TCP. No entanto, todas as pilhas TCP modernas incluem alguma medida configurável de proteção contra inundação SYN incorporada a elas.

Este ainda é um método de ataque um pouco eficaz, embora o principal dano causado seja a sobrecarga do dispositivo de segurança de perímetro com muitos pacotes para rastrear. SYN / ACKs sem um SYN devem ser largados no chão de forma muito barata, mas se eles entrarem em número suficiente, ele pode sobrecarregar um firewall.

    
por 03.09.2012 / 04:43
0

Os Syn Cookies efetivamente param esse ataque. O servidor responde com um SYN / ACK e esquece-o. Se um ACK for recebido, ele reinicializa o fluxo com base no número de sequência do TCP. No linux, ele é ativado adicionando:

net.ipv4.tcp_syncookies = 1

para /etc/sysctl.conf

Mas quando ao ser martelado por 10k + máquinas, o servidor ainda será levado para baixo, eu acho.

    
por 03.09.2012 / 20:08

Tags