# Ataque de negação de serviço

O ataque de negação de serviço (também conhecido como DoS-Attack, acrônimo em inglês de Denial of Service), é um ataque virtual que tenta tornar os recursos de um sistema indisponíveis para os seus utilizadores. Alvos típicos são servidores web e websites, estes possuem um limite de solicitações de utilizadores que serão respondidas simultaneamente, o ataque DDos envia um excesso de solicitações que leva os alvos à sobrecarga, tentando tornar as páginas hospedadas indisponíveis na rede. Não é uma invasão do sistema, mas sim a invalidação por sobrecarga. Os ataques de negação de serviço são feitos geralmente de duas formas:
* forçar o sistema vítima a reinicializar ou consumir todos os recursos (como memória ou processamento, por exemplo) de forma que ele não possa mais fornecer seu serviço;
* obstruir a mídia de comunicação entre os utilizadores e o sistema vítima de forma a não se comunicarem adequadamente.

## Ataque distribuído

No ataque distribuído de negação de serviço (também conhecido como DDoS-Attack, um acrônimo em inglês para Distributed Denial of Service), um computador mestre denominado master pode ter sob seu comando até milhares de computadores zombies (são literalmente zumbis, escravizados). Nesse caso, as tarefas de ataque de negação de serviço são feitas por um "exército" de máquinas escravizadas (ataque distribuído).
O ataque consiste em fazer com que os zombies (máquinas infectadas e sob comando do mestre) se preparem para aceder a um determinado recurso num determinado servidor numa mesma hora de uma mesma data. Passada essa fase, na determinada hora, todos os zombies (ligados e conectados à rede) acedem ao mesmo recurso do mesmo servidor. Como servidores web possuem um número limitado de utilizadores que pode atender simultaneamente (slots), o grande e repentino número de requisições de acesso esgota esse número, fazendo com que o servidor não seja capaz de atender a mais nenhum pedido.
Dependendo do recurso atacado, o servidor pode chegar a reiniciar ou até mesmo ficar travado.
Vírus conhecidos criados para a distribuição de rotinas de ataque de negação de serviço incluem "Codered", "Slammer", "MyDoom", que escravizam o infectado. Ferramentas conhecidas de ataques DDos incluem "Fabi" (1998), "Blitznet", "Trin00" (jun/1999), "TFN" (ago/1999), "Stacheldraht" (set/1999), "Shaft", "TFN2K" (dez/1999), "Trank".
Uma outra estratégia de ataque seria por meio dos botnets praticando ataques de negação de serviço contra alvos remotos.

## Tipos

O principal objetivo de um ataque de negação de serviço é deixar um recurso computacional inacessível aos seus utilizadores legítimos. As duas classes principais de métodos de ataque são diminuição de largura de banda e esgotamento de recursos. Ataques de diminuição de largura de banda são caracterizados pelos ataques por inundação e amplificação. Ataques de esgotamento de recursos são ataques que fazem uso indevido dos protocolos de comunicação de rede ou enviam pacotes de rede malformados.

### Ataques por inundação

Ataques por inundação se caracterizam por enviarem um grande volume de tráfego ao sistema da vítima primária de modo a congestionar a sua banda. O impacto deste ataque pode variar entre deixar o sistema lento, derrubá-lo ou sobrecarregar a banda da rede da vítima. Ataques por inundação podem usar pacotes UDP (User Datagram Protocol) ou ICMP (Internet Control Message Protocol). Um dos grandes problemas desse ataque é que qualquer tipo de pacote pode ser usado, bastando ele ter permissão de andar pelos enlaces até o sistema visado, e dessa forma, consumindo toda a capacidade do servidor.

### Ataques por amplificação

Ataques por amplificação se caracterizam por enviarem requisições forjadas para uma grande quantidade de computadores ou para um endereço IP de broadcast, que por sua vez responderão às requisições. Forjando o endereço IP de origem das requisições para o endereço IP da vítima primária fará com que todas as respostas sejam direcionadas para o alvo do ataque. O endereço IP de broadcast é um recurso encontrado em roteadores. Quando uma requisição possui um endereço IP de broadcast como endereço de destino, o roteador replica o pacote e o envia para todos os endereços IP dentro do intervalo de broadcast. Em ataques por amplificação, endereços de broadcast são usados para amplificar e refletir o tráfego de ataque, reduzindo então a banda da vítima primária.

### Ataques por exploração de protocolos

Ataques por exploração de protocolos se caracterizam por consumir excessivamente os recursos da vítima primária explorando alguma característica específica ou falha de implementação de algum protocolo instalado no sistema da vítima.
Os principais ataques por exploração de protocolos são por uso indevido de pacotes TCP SYN (Transfer Control Protocol Synchronize) ou de pacotes TCP PUSHACK.