Warda-DNS Warda : de l’anglais ward — protéger, gardien
v0.9.10

Article

Exfiltration DNS : comment Warda la détecte

Le DNS passe presque partout, même là où tout le reste est fermé. C’est pourquoi des logiciels malveillants s’en servent pour sortir des données ou recevoir leurs ordres, cachés dans les noms qu’ils demandent. Ce que Warda vérifie sur les noms de votre réseau, ce qu’il fait, et où il s’arrête.

Publié le · faits vérifiés le

01Ce qu’est l’exfiltration DNS

Un programme découpe un fichier en morceaux, code chaque morceau en lettres et en chiffres, et demande des noms comme 4a6f686e20446f652c207061737377.x.example.com. Les serveurs de noms de ce domaine appartiennent à l’attaquant : ils reçoivent les morceaux, et leurs réponses peuvent rapporter des ordres. Des outils comme iodine ou dnscat2 construisent ainsi un tunnel complet.

MITRE ATT&CK, le catalogue de référence des techniques des attaquants, la range sous trois techniques : T1048 (exfiltration par un protocole alternatif), T1071.004 (commande et contrôle par le DNS) et T1572 (tunnel de protocole).

02Ce que Warda vérifie

Sur la carte Fuites de données par le DNS des Réglages de protection (gratuite, active par défaut), Warda lit les noms demandés, sur le boîtier, et rien d’autre : rien n’est déchiffré, et les noms (les données) ne sont jamais gardés.

  • Les noms codés : la partie sous le domaine est très longue (100 caractères ou plus), ou son plus long segment fait 20 caractères ou plus et semble aléatoire : une forte entropie avec des chiffres mêlés, ou presque pas de voyelles.
  • En nombre : quand un appareil demande 40 noms codés différents sous un même domaine en 10 minutes, ce domaine est bloqué pour cet appareil pendant 24 heures, et les administrateurs reçoivent une alerte.
  • Depuis Warda 0.9.10, un second signal : quand un appareil demande, en 10 minutes, 30 noms différents sous un même domaine avec un type d’enregistrement inhabituel (TXT, NULL, MX, CNAME, ANY…), le domaine est bloqué aussi pour cet appareil. Les noms courts (moins de 8 caractères sous le domaine) et les segments qui commencent par « _ » — ce que les serveurs de courrier et les services demandent toute la journée : _dmarc, _domainkey, _spf — sont écartés. Warda 0.9.10 liste aussi les appareils qui interrogent un autre serveur DNS que Warda.
  • Les services qui codent exprès (les listes de blocage des serveurs de courrier, les vérifications des antivirus, les noms partagés des clouds) sont écartés ; Autoriser ce domaine lève un blocage pour un service de confiance.

03Ce qui aide autour

Un tunnel a besoin d’un domaine à lui, souvent récent. D’autres protections de Warda ferment les détours :

  • la catégorie des domaines récents, à bloquer par profil, et la réputation des domaines, qui demande l’avis du service d’analyse de Warda sur un domaine que le foyer connaît mal (seul le domaine quitte le boîtier) ;
  • la catégorie des contournements du filtre : les services connus de DNS over HTTPS, de VPN et de proxy, bloqués pour les enfants et les ados, et le Relais privé iCloud pour leurs appareils à la maison ;
  • le nom de test de Firefox, use-application-dns.net, auquel Warda répond « n’existe pas » : Firefox garde alors le DNS du réseau au lieu du sien.

04Les limites, dites franchement

  • Une requête envoyée directement à 8.8.8.8 n’arrive jamais à Warda : fermer les ports du DNS aux autres appareils est le travail du routeur.
  • Une fuite lente n’est pas vue : moins d’environ 4 noms codés par minute (40 en 10 minutes), ou 3 noms de types inhabituels par minute (30 en 10 minutes), reste sous les seuils.
  • Un tunnel dans une connexion chiffrée vers un résolveur public (DNS over HTTPS sur le port 443) ne montre rien à Warda, sauf si le service est connu et bloqué.
  • Une alerte dit qu’un appareil se comporte comme un tunnel, pas quel programme le fait : vérifiez l’appareil, et mettez-le en quarantaine le temps de le faire.

05Sources

  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, « Domaine canari – use-application-dns.net »

Tout le site d’assistance

Gratuit pour la maison, sur votre propre réseau

La détection des fuites de données par le DNS fait partie de l’offre gratuite de Warda, sur un Raspberry Pi, avec Docker ou sous Debian.

Télécharger WardaCe que Warda bloque