Entendendo ataques SYN Flooding.
O “ataque SYN” (chamado igualmente “TCP/SYN Flooding”) é um ataque rede por saturação (recusa de serviço) que explora o mecanismo de aperto de mão em três tempos (em inglês Three-ways handshake) do protocolo TCP.
O mecanismo em três tempos é a maneira segundo a qual qualquer conexão “fiável” à Internet (que utiliza o protocolo TCP) se efetua.
Quando um cliente estabelece uma conexão com um servidor, o cliente envia um pedido SYN, o servidor responde então por um pacote SYN/ACK e, por último, o cliente valida a conexão por um pacote ACK (acknowledgement, que significa acordo ou agradecimento).
Uma conexão TCP só se pode estabelecer quando estas 3 etapas tiverem sido efetuadas. O ataque SYN consiste em enviar um grande número de pedidos SYN a um hóspede com um endereço IP fonte inexistente ou inválida. Assim, é impossível que a máquina alvo receba um pacote ACK.
As máquinas vulneráveis aos ataques SYN põem em fila de espera, numa estrutura de dados em memória, as conexões assim abertas, e esperam receber um pacote ACK. Existe um mecanismo de expiração que permite rejeitar os pacotes ao fim de um certo tempo. No entanto, com um número de pacotes SYN considerável, se os recursos utilizados pela máquina alvo para armazenar os pedidos em espera são esgotados, ela corre o risco de entrar num estado instável que pode conduzir a um desfuncionamento ou a um reinício (queda do serviço ou máquina).