4. Distributed Denial of Service - Ataque Distribuído de Negação de Serviço (DDoS)

4.1. Um caso particular de negação de serviços

Ataques Distribuídos de Negação de Serviços (DDoS) são uma vertente dos Ataques de Negação de Serviço (DoS) que se utilizam de uma rede de máquinas escravas para realizar um ataque conjunto e coordenado contra um alvo, tendo os mesmos objetivos dos ataques DoS: comprometer um indivíduo ou organização através de ataques que sobrecarregam seus servidores e/ou sistemas para negar o serviço que o mesmo oferece para seus clientes.

O fato de utilizar diversas máquinas em conjunto realizando ataques de negação de serviço torna esse método bastante difícil de defender e capaz de afetar sistemas maiores, mais velozes e mais protegidos do que um simples ataque de DoS poderia.

Os ataques DDoS possuem duas fases principais:

Na primeira o responsável pelo ataque precisa recrutar máquinas para realizar o ataque (também conhecidas como máquinas zumbi ou agentes), geralmente escaneando a rede e encontrando máquinas vulneráveis que possam ser infectadas com o código de ataque.

Na segunda o ataque é executado quando o atacante (attacker, como na literatura, ou cliente) envia um comando de ataque para as máquinas zumbis através de um canal seguro a fim de iniciar o ataque conjunto contra o alvo, ou simplesmente devido à data programada para o ataque no código malicioso dos agentes.

4.2. Classificação

Em [9] é proposta uma taxonomia para a classificação de ataques DDoS baseada nos meios utilizados tanto para a preparação quanto para a execução do ataque, as características do mesmo e o efeito causado na vitima. Apresentaremos, a seguir uma classificação simplificada baseada tanto no artigo anteriormente citado, quanto em [10] e [11].

4.2.1. Quanto à preparação

Como descrevemos anteriormente, a primeira fase de um ataque DDoS requer o recrutamento de máquinas vulneráveis para executar o ataque. Nas primeiras versões dos ataques distribuídos, essa contaminação das máquinas zumbi era feita de maneira manual, com o atacante buscando máquinas vulneráveis, invadindo as mesmas e as infectando. Com o passar do tempo essa fase foi automatizada com o uso de scripts para escanear a rede, detectar e infectar máquinas, que por sua vez propagam a infecção pela rede, tema que será explorado na Seção 5.

O comando de ataque pode ser automático, pré-programado no código de ataque instalado nas agentes ou pode haver uma conexão entre as agentes e máquinas administradoras (na literatura, handlers), que são controladas pelo atacante e utilizadas para definir o endereço e as instruções do ataque a ser realizado.

4.2.2. Quanto ao tipo ataque
  • Consumo de banda e recursos:

    É o tipo de ataque mais simples, baseado em direcionar tráfego o bastante para o alvo com o intuito de congestionar sua banda disponível ou esgotar recursos da vítima, tendo como exemplos principais as técnicas de packet-flooding - por exemplo, Smurf e Fraggle citados na Seção 3 - que cumprem a tarefa devido ao grande volume de pacotes enviados.

  • Exploração de protocolos ou aplicações:

    São ataques que buscam afetar a vítima através da exploração de uma característica ou bug de um protocolo ou aplicação específica para consumir seus recursos. Um ataque de protocolo simples, que apresenta também características de ataque de consumo de recursos, é o SYN Flooding (Seção 3) que se aproveita de falhas no protocolo TCP. Ataques de CGI request e authentication server também são citados como exemplo em [9].

    Ataques de aplicação são, por exemplo, aqueles que miram em falhas específicas de servidores e sistemas operacionais ou os chamados ataques Zero-day, que são ataques desconhecidos ou ainda não executados que podem ser executados através da exploração de falhas para as quais ainda não foi feita correção.

Ataques exploração de protocolo ou aplicações precisam de menos recursos para serem realizados do que aqueles que focam em banda e recursos. Porém, os mesmos são mais facilmente evitados através da modificação de protocolos da vítima.

Anterior Próxima