Conteúdos da cadeira

Segurança de redes e negação de serviço

Ataques ao nível da rede, SYN flood e a leitura de um registo que revela um DoS simples.

Markdown

Perguntar sobre esta página

ChatGPTClaudePerplexityGeminiCopiar e abrir

Envia o link e pede à IA para ler a página. No Gemini, cola a pergunta copiada.

Ver pergunta para copiar
Nesta página

A rede é o único componente do sistema que o atacante pode tocar sem conta nem convite. Esta página passa pelos ataques ao nível da rede, explica a negação de serviço mais instrutiva e termina a ler um registo que denuncia um ataque em curso.

O que a rede expõe

Quem partilha o caminho dos pacotes pode escutar (sniffing): numa rede sem fios aberta ou num segmento comprometido, o tráfego não cifrado lê-se como um postal. A resposta é cifrar o transporte, com TLS na Web e redes privadas virtuais onde for preciso, porque a escuta passiva não deixa marcas.

Pode também falsificar (spoofing): mentir sobre a origem dos pacotes ou sobre quem responde a cada endereço. O exemplo clássico é o envenenamento ARP, em que o atacante diz à rede local “eu sou o router” e recebe o tráfego alheio para escutar ou alterar. A defesa combina segmentação da rede, deteção destas mentiras e, outra vez, cifragem com autenticação: mesmo recebendo os pacotes, o atacante não os lê nem os forja sem as chaves.

A negação de serviço (DoS, denial of service) ataca o terceiro pilar da tríade, a disponibilidade: em vez de roubar ou alterar, esgota um recurso até o serviço deixar de responder. A variante distribuída (DDoS) usa milhares de origens em simultâneo, muitas vezes aparelhos infetados, o que torna inútil bloquear um endereço.

O SYN flood, passo a passo

O aperto de mão do TCP tem três passos: o cliente envia SYN, o servidor reserva recursos e responde SYN-ACK, o cliente confirma com ACK. No SYN flood, o atacante envia vagas de SYN com endereços de origem falsos e nunca responde ao SYN-ACK. Cada meio-aberto ocupa um lugar na fila do servidor durante dezenas de segundos, e a fila enche-se de fantasmas. Os clientes legítimos passam a receber recusas: o servidor está ocupado com ligações que nunca vão existir.

Repara por que funciona: explora um comportamento legítimo do protocolo, não um erro de código, e custa pouco a cada pacote falso. As contramedidas atuam em camadas: aumentar e gerir a fila, responder com cookies SYN sem reservar recursos, filtrar origens impossíveis na firewall e absorver o volume a montante, no fornecedor ou numa rede de distribuição de conteúdo.

Do lado da defesa permanente, a receita é a mesma de sempre: firewall com regras mínimas, segmentação entre serviços, apenas as portas necessárias expostas e registos que permitam perceber o que aconteceu. Sem registos, um ataque é só “o site esteve lento”.

Exemplo: o registo que denuncia um DoS simples

A loja queixa-se de lentidão na pesquisa. O ritmo normal ronda 2 pedidos por segundo, de endereços variados e a páginas diversas. Um excerto do registo de acessos mostra outra história:

10:31:02  198.51.100.23  GET /pesquisa?q=telemovel
10:31:02  203.0.113.7    GET /pesquisa?q=a
10:31:02  203.0.113.7    GET /pesquisa?q=ab
10:31:02  203.0.113.7    GET /pesquisa?q=abc
10:31:02  203.0.113.7    GET /pesquisa?q=abcd
10:31:03  198.51.100.23  GET /contactos
10:31:03  203.0.113.7    GET /pesquisa?q=abcde

Um só endereço a martelar o endpoint mais pesado, dezenas de vezes por segundo, enquanto o resto do tráfego segue normal. Conta e confirma: grep -c '203.0.113.7' acessos.log devolve 1843 linhas num minuto, cerca de 30 por segundo, contra uma média de 2 dos restantes. Uma origem, um alvo caro, volume anómalo: é uma negação de serviço simples, não um pico de clientes.

A contramedida justifica-se pela leitura: como há uma só origem, basta limitar o débito desse endereço na firewall ou bloqueá-lo temporariamente, e o serviço recupera. Se em vez de um endereço fossem milhares, cada um com débito modesto, o bloqueio pontual não chegaria e seria preciso filtrar a montante. O diagnóstico decide a defesa: primeiro lê, depois bloqueia.

Ver o ficheiro no GitHub

À tua maneira

Escolhe como preferes ler.

Aparência
Ajustar cores e largura
Cor de destaque do tema FEUP
Tipo de letra

Álgebra, lógica e uma ideia de cada vez.

As tuas escolhas ficam guardadas neste navegador.

Pesquisar

Escreve para pesquisar em todo o site.

para escolher · Enter para abrir · Esc para fechar

Atalhos de teclado

Clica numa tecla para a mudar. Esc cancela. Backspace desativa.

PesquisarCtrl / Cmd K

Os atalhos não interferem enquanto escreves. Tab e Enter funcionam sempre.