UDP flood é um tipo de ataque Denial of Service (DoS) no qual o atacante sobrecarrega portas aleatórias no host alvo com pacotes IP contendo datagramas UDP.

O host alvo checa por aplicações associadas a esses datagramas, e não os encontrando, retorna um pacote Destination Unreachable[1]. Com mais e mais pacotes UDP sendo recebidos e respondidos, o sistema sobrecarrega e não responde outros clientes.

No framework do ataque UDP flood, o atacante pode também mascarar (spoof) o endereço de IP dos pacotes, ambos para ter certeza que o retorno dos pacotes ICMP não cheguem nos seus hosts e deixar o ataque anônimo. Existem inúmeros tipos de pacotes de softwares disponíveis comercialmente que podem ser usados para realizar um ataque de UDP flood (e.g., UDP unicorn).

Descrição do Ataque editar

User Datagram Protocol (UDP) é um protocolo de rede sem serviço de conexão e sem serviço de sessão. Como o tráfego UDP não necessita de um aperto de mão de três vias como o protocolo TCP (Transmission Control Protocol), ele roda com um baixo overhead e é ideal para tráfego que não necessita de checagem e rechecagem, como por exemplo, um chat ou VoIP.

No entanto, essas mesmas propriedades podem fazer o UDP mais vulnerável à abusos. Na ausência de um aperto de mão inicial para estabelecer uma conexão válida, um alto volume de tráfego de "melhor esforço" pode ser enviado pelos canais UDP para qualquer host, com nenhuma proteção interna para limitar a taxa de UDP DoS flood. Isso significa que não somente os ataques UDP flood são altamente efetivos como também eles podem ser executados com poucos recursos.

Alguns ataques UDP Flood podem tomar a forma de ataques DNS amplification[2], também conhecidos como Ataques da sopa de letras. O protocolo UDP também não define formatos específicos de pacotes e portanto atacantes podem criar pacotes de tamanho grandes (às vezes contendo mais de 8KB), preenchendo-os com textos e números aleatórios (por isso sopa de letras) e mandá-los para o host sob ataque.

Quando o host sendo atacado recebe os pacotes UDP "danificados" para a dada porta, ele checa por aplicações escutando aquela porta que são associadas com o conteúdo do pacote. Quando ele vê não existe uma aplicação associada aos pacotes escutando, ele envia um pacote ICMP Destination Unreachable em resposta.

Observa-se que tanto o UDP flood não-amplificado quanto o amplificado podem ser originados por um Cluster botnet de vários tamanhos. O uso de múltiplas máquinas vai classificar o ataque como Distributed Denial of Service (DDoS). Com tal ataque, o objetivo do atacante é superar os firewalls e outros componentes mais resilientes da infraestrutura de rede.

Métodos de suavização editar

No nível mais básico, a maioria dos sistemas operacionais tentam suavizar ataques UDP flood limitando a taxa de respostas ICMP. No entanto, um filtro tão indiscriminado vai ter um impacto notável no tráfego. Tradicionalmente, métodos de filtragem UDP dependem de firewalls que filtrem ou bloqueiem pacotes UDP maliciosos. Porém, tais métodos estão se tornando obsoletos, pois os ataques em grande volume estão conseguindo superar os firewalls que não são designados para alocar tanto espaço de memória.

Uma possível solução para esse tipo de ataque é o uso de proteção DDoS usando encaminhamento Anycast para balancear a quantidade de ataques sobre um processo de Deep Packet Inspection (DIP).

Existem softwares para essa solução que são especialmente designados para processamento de tráfego inline, identificando e filtrando os pacotes DDoS maliciosos, baseados na combinação de fatores como reputação do IP, atributos anormais e comportamento suspeito.

Referências