Como sabemos, o mundo digital é propenso a ataques, burlas, etc. No que diz respeito a ataques, há várias técnicas conhecias e hoje explicamos como funciona o TCP SYN Flood que é um ataque de negação de serviço.
O TCP SYN Flood é um tipo de ataque de negação de serviço (DoS) que explora o processo de estabelecimento de uma ligação TCP, conhecido como o “Three-Way Handshake“. Para entender como funciona o TCP SYN Flood, é importante primeiro entender como funciona o Three-Way Handshake”.
Processo: Three-Way Handshake…
No estabelecimento de ligação entre emissor e recetor existe um “pré-acordo” denominado de Three Way Handshake (SYN, SYN-ACK, ACK).
- A sessão entre um cliente e um servidor é sempre iniciada pelo cliente, que envia um pedido de ligação pacote com a flag SYN ativada.
- O cliente envia também um número sequencial aleatório
- O servidor responde com um pacote SYN, ACK com o seu próprio número sequencial aleatório e um número de confirmação (igual ao número sequencial do cliente +1)
- Para finalizar o cliente responde com um pacote ACK com o número de confirmação (igual ao número de sequência do servidor +1)
Para saber mais sobre o Three-Way Handshake, aceda aqui.
TCP SYN Flood: Como é explorado o processo Three-Way Handshake
Num ataque TCP SYN Flood, o atacante envia uma grande quantidade de pacotes SYN para o servidor, mas nunca completa o handshake. O servidor responde a cada pacote SYN com um pacote SYN-ACK. O atacante não envia o pacote ACK final necessário para finalizar o handshake. Como resultado, o servidor mantém esses estados de ligação semi-abertos (half-open connections) na tabela de ligações.
Com o número de ligações semi-estabelecidas a aumentar, a tabela de ligações começa a encher e o servidor começa a ficar sem capacidade para aceitar novas ligações, resultando numa negação de serviço para utilizadores que apenas pretendem ter acesso ao serviço.
O TCP SYN Flood é um ataque simples de operacionalizar. No entanto, com as técnicas e ferramentas de mitigação apropriadas, é possível proteger servidores contra esses ataques e manter a disponibilidade dos serviços.
Como exemplo de técnicas de mitigação, podemos indicar o SYN Cookies – uma técnica que permite ao servidor responder com um SYN-ACK sem reservar espaço na tabela de conexões até que a resposta ACK final seja recebida – redução de Timeout das ligações, ajuste dos limites de ligação, etc.