O termo negação de serviço (Denial of Service, em inglês) se refere a uma categoria de ataques cujo objetivo é tornar um sistema (serviço) indisponível (negado). Em termos simples, um ataque de negação de serviço pode tirar um site de internet do ar temporariamente, por exemplo.

Também recebe o nome de “negação de serviço” a consequência de exploração de uma brecha que trave um software ou sistema. Ou seja, se um software possui uma falha que o faz travar, esta falha é uma “falha de negação de serviço”.

Uma falha do gênero que ficou popularmente conhecida foi o “ping da morte”. Sistemas operacionais antigos tinham um erro de processamento no recebimento de dados do ICMP Echo. O ICMP Echo é um recurso de rede que questiona outro sistema se ele está “vivo” e, por isso, é usado para monitorar se um sistema está on-line ou não. O envio é chamado de ping, enquanto a resposta é o “pong”.

O Ping da Morte era um ping irregular que, quando recebido pelos sistemas vulneráveis, fazia o computador travar. Hoje essas vulnerabilidades foram corrigidas, mas ainda existem problemas que travam sistemas pela internet.

Na internet, um tipo de ataque de negação de serviço muito comum é o out-of-band denial of service, ou seja, o ataque de negação de serviço por esgotamento de banda (conexão). Para realizar esse ataque, basta sobrecarregar a conexão de um computador até que ele fique indisponível.

Distributed Denial of Service (DDoS)

A negação de serviço distribuída é um tipo de ataque por esgotamento de banda que é realizado a partir de diversos computadores — por isso o “distribuído”.

Na prática, os sistemas participantes do ataque foram muitas vezes infectados por uma praga digital e instruídos a tomar parte da atividade maliciosa. Ou seja, são computadores legítimos.

Reflected Denial of Service (RDoS)

Este também é um tipo de ataque de esgotamento de banda. No entanto, nesse caso o atacante não envia os dados diretamente ao alvo. Ele envia os dados a outro computador que, quando tenta responder a solicitação, envia esses dados ao alvo.

O ataque de negação de serviço refletida é normalmente feito com o uso do User Datagram Protocol (UDP). O UDP não realiza verificação de origem, ou seja, um computador pode enviar dados como se fosse outro.

Na concepção mais simples, o atacante envia dados como se fosse o alvo para um computador qualquer. Esse computador tentará enviar os dados gerados pela resposta ao alvo, já que acredita que a conexão foi iniciada por ele.

O atacante pode tirar proveitos de protocolos que geram requisições pequenas e respostas grandes. Ou seja, ele envia poucos dados (falsos) para um computador, que responderá com vários dados (grandes) para o alvo. Com isso, o atacante gera um ataque maior do que sua capacidade de tráfego de rede.

O ataque refletido também pode ser distribuído, gerando o Distributed Reflected Denial of Service (DRDoS).


Texto reformulado em 21/04/2012

Escrito por Altieres Rohr

Editor da Linha Defensiva.