01O que é a exfiltração DNS
Um programa corta um ficheiro em pedaços, codifica cada pedaço em letras e algarismos, e pede nomes como 4a6f686e20446f652c207061737377.x.example.com. Os servidores de nomes desse domínio pertencem ao atacante: recebem os pedaços, e as suas respostas podem trazer ordens. Ferramentas como o iodine ou o dnscat2 constroem assim um túnel completo.
O MITRE ATT&CK, o catálogo de referência das técnicas dos atacantes, classifica-a em três técnicas: T1048 (exfiltração por um protocolo alternativo), T1071.004 (comando e controlo por DNS) e T1572 (túnel de protocolo).
02O que o Warda verifica
No cartão Fugas de dados por DNS das Definições de proteção (gratuito, ativo por predefinição), o Warda lê os nomes pedidos, na caixa, e mais nada: nada é decifrado, e os nomes (os dados) nunca são guardados.
- Nomes codificados: a parte sob o domínio é muito longa (100 caracteres ou mais), ou o seu segmento mais longo tem 20 caracteres ou mais e parece aleatório: uma entropia alta com algarismos misturados, ou quase sem vogais.
- Em quantidade: quando um dispositivo pede 40 nomes codificados diferentes sob o mesmo domínio em 10 minutos, esse domínio é bloqueado para esse dispositivo durante 24 horas, e os administradores recebem um alerta.
- A partir do Warda 0.9.10, um segundo sinal: quando um dispositivo pede, em 10 minutos, 30 nomes diferentes sob um mesmo domínio com um tipo de registo invulgar (TXT, NULL, MX, CNAME, ANY…), o domínio é bloqueado também para esse dispositivo. Ficam de fora os nomes curtos (menos de 8 caracteres sob o domínio) e os segmentos que começam por «_» — o que os servidores de correio e os serviços pedem o dia todo: _dmarc, _domainkey, _spf. O Warda 0.9.10 também lista os dispositivos que consultam outro servidor DNS que não o Warda.
- Os serviços que codificam de propósito (as listas de bloqueio dos servidores de correio, as consultas dos antivírus, os nomes partilhados das clouds) ficam de fora; Permitir este domínio levanta um bloqueio para um serviço de confiança.
03O que ajuda à volta
Um túnel precisa de um domínio próprio, muitas vezes recente. Outras proteções do Warda fecham os atalhos:
- a categoria dos domínios novos, a bloquear por perfil, e a reputação dos domínios, que pede a opinião do serviço de análise do Warda sobre um domínio que o agregado conhece mal (só o domínio sai da caixa);
- a categoria das formas de contornar o filtro: os serviços conhecidos de DNS over HTTPS, VPN e proxy, bloqueados para crianças e adolescentes, e o Reencaminhamento privado do iCloud para os seus dispositivos em casa;
- o nome de teste do Firefox, use-application-dns.net, a que o Warda responde «não existe»: o Firefox mantém então o DNS da rede em vez do seu.
04Os limites, ditos com franqueza
- Um pedido enviado diretamente a 8.8.8.8 nunca chega ao Warda: fechar as portas do DNS aos outros dispositivos é trabalho do router.
- Uma fuga lenta não é vista: menos de cerca de 4 nomes codificados por minuto (40 em 10 minutos), ou 3 nomes de tipos invulgares por minuto (30 em 10 minutos), fica abaixo dos limiares.
- Um túnel dentro de uma ligação cifrada para um resolvedor público (DNS over HTTPS na porta 443) não mostra nada ao Warda, a não ser que o serviço seja conhecido e esteja bloqueado.
- Um alerta diz que um dispositivo se comporta como um túnel, não qual programa o faz: verifique o dispositivo, e coloque-o em quarentena entretanto.