A inundação SYN explora uma vulnerabilidade do handshake TCP/IP na tentativa de interromper um serviço da Web.
Após ler este artigo, você será capaz de:
Conteúdo relacionado
Ataque de inundação de DNS
ataque de inundação de HTTP
Ataque de inundação de protocolo UDP
Malware
Ataque de inundação de Ping (ICMP)
Assine o theNET, uma recapitulação mensal feita pela Cloudflare dos insights mais populares da internet.
Copiar o link do artigo
A inundação SYN (ataque de porta entreaberta) é um tipo de ataque de negação de serviço (DDoS) com a intenção de deixar um servidor indisponível para o tráfego legítimo ao consumir todos os seus recursos disponíveis. Ao enviar pacotes de solicitação de conexão inicial (SYN) repetidamente, o invasor consegue sobrecarregar todas as portas disponíveis na máquina do servidor visado, fazendo com que o dispositivo atingido responda lentamente ou pare totalmente de responder ao tráfego legítimo.
Os ataques de inundação SYN funcionam explorando o processo de handshake de uma conexão TCP. Em condições normais, uma conexão TCP utiliza três processos distintos para estabelecer uma conexão.
Para criar uma negação de serviço, o invasor se aproveita do fato de que, após ter recebido o pacote inicial SYN, o servidor irá responder com um ou mais pacotes SYN/ACK e esperar a etapa final do handshake. Veja como isso funciona:
Em termos de rede, quando um servidor deixa uma conexão aberta mas a máquina do outro lado não, a conexão é considerada entreaberta. Nesse tipo de ataque de DDoS, o servidor visado fica continuamente deixando conexões abertas e esperando que cada conexão chegue ao tempo limite antes que as portas fiquem disponíveis novamente. O resultado, então, é que esse tipo de ataque pode ser considerado um “ataque de porta entreaberta”.
Ao usar um ataque de inundação SYN, um agente mal-intencionado pode tentar criar uma negação de serviço nos dispositivos ou serviços visados com um tráfego substancialmente menor que o de outros ataques de DDoS. Ao invés de ataques volumétricos, que visam a saturar a infraestrutura de rede ao redor do alvo, os ataques SYN precisam apenas ser maiores do que os registros acumulados disponíveis no sistema operacional do alvo. Se conseguir determinar o tamanho do registro acumulado e quanto tempo cada conexão ficará aberta antes de atingir o tempo limite, o invasor conseguirá atingir com exatidão os parâmetros necessários para desabilitar o sistema e, assim, reduzir o tráfego total ao volume mínimo necessário para criar a negação de serviço.
A vulnerabilidade da inundação SYN já é conhecida há algum tempo e diversas estratégias de mitigação têm sido utilizadas. Seguem algumas abordagens:
Cada sistema operacional no dispositivo visado tem um número determinado de conexões entreabertas permitidas. Uma possível resposta a altos volumes de pacotes SYN é aumentar o número máximo de conexões entreabertas que o sistema operacional irá permitir. Para aumentar com sucesso o máximo de registros acumulados, o sistema precisa reservar recursos de memória para lidar com todas as novas solicitações. Se o sistema não tiver memória suficiente para lidar com o aumento de tamanho da fila de registros acumulados, seu desempenho será afetado negativamente, mas isso ainda pode ser menos pior do que uma negação de serviço.
Outra estratégia de mitigação envolve substituir a conexão entreaberta mais antiga assim que o registro acumulado estiver cheio. Essa estratégia requer que as conexões legítimas possam ser totalmente estabelecidas em menos tempo do que o necessário para atingir o máximo de registros acumulados com pacotes SYN mal-intencionados. Essa defesa em particular não funciona quando o volume do ataque é maior ou se a fila de registros acumulados for pequena demais para ser funcional.
Essa estratégia envolve a criação de um cookie pelo servidor. Para evitar o risco de interromper as conexões quando o máximo de registros acumulados for atingido, o servidor responde a cada solicitação de conexão com um pacote SYN-ACK, mas elimina as solicitações SYN dos registros acumulados e remove as solicitações da memória, deixando a porta aberta e pronta para estabelecer uma nova conexão. Se a conexão for uma solicitação legítima e o pacote ACK final for enviado da máquina cliente para o servidor, o servidor irá reconstruir (com limitações) a entrada SYN na fila de registros acumulados. Embora esse esforço de mitigação faça com que algumas informações sobre a conexão TCP sejam perdidas, isso ainda é preferível a permitir que a negação de serviço ocorra para usuários legítimos como resultado de um ataque.
A Cloudflare mitiga esse tipo de ataque, em parte, se posicionando entre o servidor visado e a inundação SYN. Quando a solicitação SYN inicial é realizada, a Cloudflare lida com o processo de handshake na nuvem e retém a conexão com o servidor visado até que o handshake do TCP seja concluído. Essa estratégia elimina o custo em recursos do servidor visado necessário para manter as conexões com os pacotes SYN falsos e o transfere para a rede Anycast da Cloudflare. Saiba mais sobre como funciona a proteção contra DDoS da Cloudflare.