Warda-DNS Warda: do inglês ward — proteger, guardião
v0.9.10

Artigo

Exfiltração DNS: como o Warda a deteta

O DNS passa quase em todo o lado, mesmo onde tudo o resto está fechado. Por isso há software malicioso que o usa para enviar dados para fora ou receber ordens, escondidos nos nomes que pede. O que o Warda verifica nos nomes da sua rede, o que faz e onde para.

Publicado em · factos verificados em

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.

05Fontes

  1. MITRE ATT&CK, T1048 «Exfiltration Over Alternative Protocol»
  2. MITRE ATT&CK, T1071.004 «Application Layer Protocol: DNS»
  3. MITRE ATT&CK, T1572 «Protocol Tunneling»
  4. Mozilla, «Domínio canário – use-application-dns.net»

Todo o centro de ajuda

Gratuito para casa, na sua própria rede

A deteção das fugas de dados por DNS está no plano Gratuito do Warda, num Raspberry Pi, com Docker ou em Debian.

Transferir o WardaO que o Warda bloqueia