01Wat DNS-exfiltratie is
Een programma knipt een bestand in stukken, codeert elk stuk in letters en cijfers, en vraagt namen als 4a6f686e20446f652c207061737377.x.example.com. De naamservers van dat domein zijn van de aanvaller: ze ontvangen de stukken, en hun antwoorden kunnen opdrachten terugbrengen. Hulpmiddelen als iodine of dnscat2 bouwen zo een hele tunnel.
MITRE ATT&CK, de referentiecatalogus van de technieken van aanvallers, rekent het tot drie technieken: T1048 (exfiltratie via een alternatief protocol), T1071.004 (command and control via DNS) en T1572 (protocoltunneling).
02Wat Warda controleert
Op de kaart Datalekken via DNS van Beschermingsinstellingen (gratis, standaard aan) leest Warda de gevraagde namen, op het kastje, en verder niets: er wordt niets ontsleuteld, en de namen (de gegevens) worden nooit bewaard.
- Gecodeerde namen: het deel onder het domein is erg lang (100 tekens of meer), of het langste label heeft 20 tekens of meer en lijkt willekeurig: een hoge entropie met cijfers ertussen, of bijna geen klinkers.
- Veel ervan: als één apparaat binnen 10 minuten 40 verschillende gecodeerde namen onder hetzelfde domein vraagt, wordt dat domein voor dat apparaat 24 uur geblokkeerd, en krijgen de beheerders een melding.
- Vanaf Warda 0.9.10 een tweede signaal: als één apparaat binnen 10 minuten 30 verschillende namen onder één domein vraagt met een ongebruikelijk recordtype (TXT, NULL, MX, CNAME, ANY…), wordt het domein ook voor dat apparaat geblokkeerd. Korte namen (minder dan 8 tekens onder het domein) en labels die met “_” beginnen — wat mailservers en diensten de hele dag vragen: _dmarc, _domainkey, _spf — vallen erbuiten. Warda 0.9.10 somt ook de apparaten op die een andere DNS-server dan Warda vragen.
- Diensten die met opzet coderen (de blokkeerlijsten van mailservers, de opvragingen van antivirusprogramma's, de gedeelde namen van de clouds) vallen erbuiten; Dit domein toestaan heft een blokkade op voor een dienst die je vertrouwt.
03Wat er rondom helpt
Een tunnel heeft een eigen domein nodig, vaak een nieuw. Andere beschermingen van Warda sluiten de omwegen:
- de categorie van de nieuwe domeinen, te blokkeren per profiel, en de reputatie van de domeinen, die de analysedienst van Warda vraagt naar een domein dat het huishouden slecht kent (alleen het domein verlaat het kastje);
- de categorie van de omzeilingen van het filter: de bekende diensten voor DNS over HTTPS, VPN en proxy, geblokkeerd voor kinderen en tieners, en iCloud Privédoorgifte voor hun apparaten thuis;
- de testnaam van Firefox, use-application-dns.net, die Warda beantwoordt met “bestaat niet”: Firefox houdt dan de DNS van het netwerk in plaats van zijn eigen.
04De grenzen, eerlijk gezegd
- Een verzoek dat rechtstreeks naar 8.8.8.8 gaat, bereikt Warda nooit: de DNS-poorten sluiten voor de andere apparaten is de taak van de router.
- Een langzaam lek wordt niet gezien: minder dan zo'n 4 gecodeerde namen per minuut (40 in 10 minuten), of 3 namen van ongebruikelijke types per minuut (30 in 10 minuten), blijft onder de drempels.
- Een tunnel in een versleutelde verbinding met een openbare resolver (DNS over HTTPS op poort 443) laat Warda niets zien, tenzij de dienst bekend en geblokkeerd is.
- Een melding zegt dat een apparaat zich als een tunnel gedraagt, niet welk programma het doet: controleer het apparaat, en zet het intussen in quarantaine.