Ataque de negação de serviço (DoS)
O que é Ataque de negação de serviço (DoS)?
Ataque de negação de serviço (DoS)Ataque que esgota largura de banda, capacidade de cálculo, memória ou recursos aplicacionais de um sistema, impedindo o acesso de utilizadores legítimos.
Um ataque de negação de serviço sobrecarrega um alvo único — servidor, aplicação, ligação ou dispositivo — a partir de uma ou poucas fontes, com o objetivo de degradar ou interromper o serviço. Distingue-se do DDoS, que mobiliza muitos hosts distribuídos; um DoS simples assenta na assimetria: pouco esforço do atacante obriga a muito trabalho da vítima.
As técnicas percorrem toda a pilha. As inundações volumétricas saturam a largura de banda. O abuso de protocolo esgota estado finito: um SYN flood enche a fila de conexões com handshakes semiabertos, razão pela qual se inventaram as SYN cookies. Os ataques lentos exploram a paciência em vez do volume: o Slowloris (Robert Hansen, 2009) envia cabeçalhos HTTP parciais a conta-gotas para prender cada thread de um servidor multithread como o Apache, quase sem largura de banda. O esgotamento de recursos na camada de aplicação transforma um pedido em custo desproporcional: consultas dispendiosas, descompressão de uma bomba zip/XML ou ReDoS, onde uma expressão regular com retrocesso catastrófico sobre entrada do atacante consome CPU durante segundos por pedido. Os ataques de complexidade algorítmica, como a divulgação de hash-flooding de 2011 (28C3), forçaram o pior caso O(n²) nas tabelas hash de muitos frameworks web. Os crashes clássicos por pacotes malformados — Ping of Death, Teardrop, LAND — e as fork bombs locais completam a família.
As defesas combinam-se: limitação de débito e timeouts de conexão, SYN cookies, orçamentos de tamanho e tempo por pedido, planeamento de capacidade e autoscaling, filtragem upstream/anycast, regras WAF, sementes hash aleatórias e robustecimento do código face a entradas que disparam trabalho superlinear.
flowchart TD
A[Atacante: 1 ou poucos hosts] --> B{Que recurso esgotar?}
B -->|Largura de banda| C[Inundação volumétrica]
B -->|Estado de conexão| D[SYN flood - sockets semiabertos]
B -->|Threads de trabalho| E[Slowloris - pedidos lentos parciais]
B -->|CPU / memória| F[ReDoS, bomba zip,<br/>hash-flooding, consulta dispendiosa]
B -->|Bug de crash| G[Ping of Death / Teardrop / LAND]
C --> H[Serviço indisponível para<br/>utilizadores legítimos]
D --> H
E --> H
F --> H
G --> H
H --> I[Defesas: rate limiting, SYN cookies,<br/>timeouts, WAF, autoscaling, código robusto]● Exemplos
- 01
Um atacante usa uma única máquina para enviar conexões Slowloris que ocupam os threads do servidor web até este deixar de aceitar novos clientes.
- 02
Uma vulnerabilidade permite que um único pedido HTTP consuma gigabytes de memória e provoque crash do serviço.
● Perguntas frequentes
O que é Ataque de negação de serviço (DoS)?
Ataque que esgota largura de banda, capacidade de cálculo, memória ou recursos aplicacionais de um sistema, impedindo o acesso de utilizadores legítimos. Pertence à categoria Ataques e ameaças da cibersegurança.
O que significa Ataque de negação de serviço (DoS)?
Ataque que esgota largura de banda, capacidade de cálculo, memória ou recursos aplicacionais de um sistema, impedindo o acesso de utilizadores legítimos.
Como se defender contra Ataque de negação de serviço (DoS)?
As defesas contra Ataque de negação de serviço (DoS) costumam combinar controles técnicos e práticas operacionais, conforme detalhado na definição acima.