Nos últimos anos, os eventos Distribuídos de Negação de Serviço (DDoS) se tornaram uma ameaça sempre presente, com o tráfego de ataque chegando a níveis medidos em terabits por segundo (Tbps). Uma das principais ferramentas nas mãos dos cibercriminosos que buscam aumentar a largura de banda de seus ataques é a reflexão baseada em UDP (protocolo de diagrama de usuário). Por exemplo, o ataque de DDoS de 2018 na GitHub usou um serviço na camada de aplicações chamado Memcached para dirigir, no pico, 1,35 Tbps de tráfego UDP refletido aos servidores da GitHub. Em 2020, a indústria ficou sabendo de um ataque de DDoS de 2017, que usou um pacote de serviços UDP com refletores (CLDAP, DNS, e SMTP) para obter taxas de velocidade com fio de até 2,5 Tbps.

No Black Lotus Labs, aproveitamos a visibilidade de nossa rede global para identificar os serviços que estão sendo potencialmente manipulados para lançar ataques, tais como as instâncias de Memcached, CLDAP e DNS, e depois trabalhar para confirmar se estão abertos para serem usados como refletores. Baseados em nossos dados do primeiro trimestre de 2021, vemos cada um destes serviços sendo ativamente usados para lançar significativos ataques de DDoS hoje.

Memcached, o grande refletor BAF

O interesse do Black Lotus Labs em Memcached deve-se a seu Fator de Amplificação de Largura de Banda (BAF) admiravelmente alto. Um BAF é a relação de bytes de resposta refletidos no alvo para solicitar os bytes enviados para o refletor pelo atacante; um BAF de 5 significa que para cada byte enviado ao refletor, ele direciona 5 bytes para o alvo. De dia, Memcached é um serviço de caching distribuído trabalhando arduamente, desenhado para ajudar a carregar sua página web mais rapidamente.  Mais comumente implementado como apoio a grupos de servidores web para eliminar chamadas desnecessárias para o banco de dados ao fazer o caching de dados, não há razão pela qual o Memcached precise ser exposto à internet pública. Se você não exporia seu banco de dados de retaguarda à internet pública, por que iria expor seu serviço de caching de retaguarda? Embora nem todas as instâncias Memcached voltadas à internet sejam abertas para o uso em ataques de reflexão, percebemos que grande quantidade poderia ser utilizada para a reflexão em um ataque de DDoS.

Determinar se uma dada instância Memcached constitui um refletor aberto é uma matemática simples: ela responde a comandos de protocolo sobre UDP? Memcached suporta seu serviço de caching com um protocolo que pode ser acessado através de TCP ou UDP e apenas UDP pode ser usado para este tipo de ataque. Como é de se esperar de um serviço de caching, este protocolo apresenta comandos como Set e Get. Set lhe permite armazenar blocos arbitrários de dados sob uma chave específica.  Get, ao contrário, lhe permite recuperar os dados por chave. Eles podem ser bem pequenos, enquanto os dados armazenados sob a chave podem ser de até 1MB com configurações prontas para usar. Isto significa que um pacote de solicitação bem pequeno, medido em dezenas de bytes, pode gerar uma resposta significativamente maior. No caso de Memcached, o BAF é de 10.000 a 51.000x. Esta é uma amplificação de largura de banda ao extremo: uma conexão de 100 Mbps de internet poderia produzir um volume de ataque na faixa de 125 Gbps até mais de 630 Gbps.  Há alguns anos, após uma série de notáveis ataques Memcached, a comunidade da internet adotou um esforço conjunto para mitigar  mais do que 35.000 servidores Memcached disponíveis publicamente. No entanto, como mostra o seguinte mapa de calor, ainda há mais de 1.500 serviços Memcached expostos na internet, sendo que a China e os Estados Unidos, geograficamente, hospedam grande parte deles.

Distribuição global dos serviços Memcached expostos à internet

Como funciona a Reflexão de UDP

Embora outros serviços de reflexão de UDP não tenham o mesmo BAF que Memcached, a reflexão trabalha da mesma forma para todos os serviços de UDP.  Vejamos a estrutura de um ataque de Reflexão de UDP. Na figura seguinte, temos três componentes: o iniciador do ataque, o serviço de reflexão e o sistema alvo.

Reflexão de UDP com spoofing de IP

Como mostra a figura acima, a reflexão depende de enganar o serviço de reflexão para enviar a carga essencial de resposta ao sistema alvo, ao invés de enviá-la de volta ao sistema iniciador do ataque. Este ato de reflexão depende de spoofing de IP; a maior fraqueza do UDP é que permite que o spoofing ocorra.  Para realizar o spoofing (imitar) um endereço IP na comunicação de UDP, você precisa apenas colocar o endereço IP do sistema de origem como endereço de origem no cabeçalho do pacote IP. Com UDP, não há nada inerente ao protocolo que evite isto.

Por que UDP permite o spoofing enquanto o TCP não o permite? Considere isto: Se o serviço Memcached fosse aberto apenas para comunicações TCP, você ainda poderia emitir o mesmo comando de Get para buscar a grande bomba de dados, mas não seria capaz de imitar o endereço de retorno. Isto é porque você teria que ter concluído com sucesso o handshake de três vias do TCP para estabelecer uma conexão, antes de enviar qualquer pacote com comandos Memcached de fato. TCP requer que diversos pacotes administrativos sejam trocados para estabelecer a conexão antes de qualquer comunicação real; esta é o verdadeiro handshake de três vias.  Quando este handshake estiver completo, ambos os lados da comunicação sabem precisamente quem está do outro lado da comunicação. Quando um pacote TCP contendo um comando Get aparece na instância Memcached, se seu endereço de origem não estiver alinhado ao estado da conexão, ele não receberá serviço.

Por outro lado, UDP não perde tempo rastreando conexões. É mais ou menos como atender o telefone antes da era da identificação de chamadas; a não ser que você quisesse arriscar-se a perder a chamada de um amigo, era obrigado a atender todas as vezes em que tocava, deixando-o vulnerável, portanto, a todas as formas de trotes e ligações predatórias de vendas. Da mesma forma, cada pacote UDP que chega deve ser considerado pelo que parece. UDP simplesmente não tem a capacidade de examinar o endereço de origem e dizer: “Ei, eu não estava conversando com esta pessoa. De onde vem isto”?

Como estas deficiências pertencem ao próprio UDP, qualquer serviço implementado sobre ele pode ser usado com um refletor aberto. Para confirmar que um serviço UDP pode ser usado como um refletor, é necessário apenas testar que o serviço responde às consultas, assim como vimos com Memcached.

Principais serviços UDP lançando ataques

Embora tenhamos observado mais de 1.500 servidores Memcached abertos para o uso em ataques de reflexão, Memcached não é o único protocolo de reflexão ideal para o abuso. Protocolos sem conexão como LDAP (CLDAP), NTP, SSDP, DNS e muitos outros, podem ser aproveitados para a reflexão. Olhando para os últimos diversos meses de nossos dados, alguns deles se classificam muito mais acima do que Memcached em tamanho dos maiores ataques observados. Isto é esperado devido à tendência geral de declínio de refletores Memcached que estão disponíveis para o abuso.

Distribuição dos maiores ataques de UDP observados no primeiro trimestre de 2021

LDAP sem conexão

LDAP sem conexão, em particular, apresenta uma ameaça significativa, dada a combinação de um fator de amplificação de largura de banda de 50-70x e uma disponibilidade ampla, devido a seu uso associado no Diretório Ativo. Olhamos os endereços IP observados recebendo uma potencial solicitação de reflexão de 67 bytes na porta 389 de UDP e tendo respondido com dados na porta 389 de UDP em algum momento durante o trimestre. Usando esta metodologia, o Black Lotus Labs descobriu mais de 281.000 endereços IP únicos que parecem estar respondendo às solicitações de reflexão de CLDAP.

Adicionalmente, CLDAP tem sido aproveitado em diversos ataques recentes de grande escala, tais como o ataque de 2.3 Tbps contra a Amazon em 2020 ou, como descobrimos mais recentemente o ataque de 4 de maio de 2021 contra um dos ISPs do governo da Bélgica, a Belnet.

Durante o período do ataque da Belnet, o Black Lotus Labs observou que mais de 78% do tráfego destinado à Belnet mudou da norma esperada de HTTP/HTTPS para quase que totalmente CLDAP. Embora tenhamos observado um aumento em outros protocolos de reflexão, nenhum parece ter gerado tanto tráfego de ataque por largura de banda quanto CLDAP.

Percentual de tráfego da Belnet por protocolo

DNS como um vetor de reflexão por si só

Além do abuso com CLDAP, DNS é outro protocolo que frequentemente é aproveitado através de UDP e que pode ser potencialmente abusado para ataques de reflexão.  Embora alguns resolvedores de DNS abertos limitem a taxa de tipos de consultas que são frequentemente abusadas para a reflexão, esta metodologia não é uma solução perfeita para impedir todos os tipos de ataque de reflexão de DNS.

Quando os atacantes estão procurando lançar um ataque de reflexão com DNS, eles precisam de um domínio e tipo de registro que retorne uma grande resposta. Alguns dos tipos de registro mais comuns que retornam grandes valores são ANY, SRV e TXT. Após remover A/AAAA, que é o maior volume de consultas DNS que vemos com frequência, as consultas ANY são uma grande parte das consultas restantes observadas na internet.

Percentual de consultas DNS do tipo ANY

O que mais podemos fazer?

Limpar fontes DDoS refletoras na internet é uma questão complicada que exige um esforço comunitário contínuo. As organizações que expõe serviços na internet precisam estar cientes de como eles podem ser usados para participar de ataques de DDoS de reflexão e precisam evitar expô-los ou implementar medidas para mitigá-los.  Os provedores de serviços de internet, provedores de serviços gerenciados e pesquisadores de segurança também podem ajudar ao informar seus clientes quando virem serviços de reflexão sendo expostos e manipulados. Tais esforços têm sido efetivos para reduzir significativamente o número de instâncias Memcached expostas nos últimos anos.

De nossa parte na Lumen, quando encontramos refletores abertos hospedados dentro das redes de nossos clientes que estão sendo abusados para causar danos  substanciais na internet, os avisamos proativamente para que entendam melhor a intenção do serviço e para compartilhar orientações sobre como remediar o perigo.

Se quiser colaborar com uma pesquisa similar a esta, por favor contate-nos no twitter @BlackLotusLabs.

Para saber mais sobre as tendências de ameaças e ataques de DDoS, consulte o Relatório Trimestral de DDoS da Lumen para o 1º trimestre de 2021. Saiba mais

Esta informação é fornecida “como está”, sem qualquer garantia ou condição de qualquer tipo, seja expressa ou implícita. A utilização desta informação se dá por conta e risco do usuário final. 

Leia o post original em inglês > https://blog.lumen.com/tracking-udp-reflectors-for-a-safer-internet/

Jon Paul "JP" McLeary

Autor:
Black Lotus Labs
A missão do Black Lotus Labs é a de aproveitar nossa visibilidade de rede para ajudar a proteger os clientes e manter a internet limpa.

Disponible en Español (Espanhol)