Como você sabe, o fluxo de pacotes "tentando abrir uma porta" deve funcionar assim:
- SYN - >
- < - SYN / ACK
- ACK - >
A versão "porta fechada" é simples:
- SYN - >
- < - RST
E se o extremo remoto não retornar pacotes RST, o que é uma configuração de firewall extremamente comum:
- SYN - >
- [o tempo passa]
- SYN - >
- [o tempo passa]
- SYN - >
- [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:
- [origem falsificada] SYN - >
- < - SYN / ACK
- [o tempo passa]
- < - SYN / ACK
- [o tempo passa]
- < - 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.