01Czym jest eksfiltracja DNS
Program tnie plik na kawałki, koduje każdy kawałek literami i cyframi i pyta o nazwy w rodzaju 4a6f686e20446f652c207061737377.x.example.com. Serwery nazw tej domeny należą do atakującego: odbierają kawałki, a ich odpowiedzi mogą przynosić polecenia. Narzędzia takie jak iodine czy dnscat2 budują w ten sposób cały tunel.
MITRE ATT&CK, referencyjny katalog technik atakujących, opisuje to w trzech technikach: T1048 (eksfiltracja alternatywnym protokołem), T1071.004 (dowodzenie i kontrola przez DNS) i T1572 (tunelowanie protokołu).
02Co sprawdza Warda
Na karcie Data leaks through DNS w Protection settings (bezpłatnie, domyślnie włączone) Warda czyta pytane nazwy, na skrzynce, i nic więcej: nic nie jest odszyfrowywane, a nazwy (dane) nigdy nie są przechowywane.
- Nazwy zakodowane: część pod domeną jest bardzo długa (100 znaków lub więcej) albo jej najdłuższy segment ma 20 znaków lub więcej i wygląda losowo: wysoka entropia z wplecionymi cyframi albo prawie brak samogłosek.
- W dużej liczbie: gdy jedno urządzenie zapyta w ciągu 10 minut o 40 różnych zakodowanych nazw w tej samej domenie, domena zostaje zablokowana dla tego urządzenia na 24 godziny, a administratorzy dostają alert.
- Od Wardy 0.9.10 drugi sygnał: gdy jedno urządzenie zapyta w ciągu 10 minut o 30 różnych nazw w jednej domenie z nietypowym typem rekordu (TXT, NULL, MX, CNAME, ANY…), domena również zostaje zablokowana dla tego urządzenia. Pomijane są krótkie nazwy (poniżej 8 znaków pod domeną) i segmenty zaczynające się od „_” — o to, co serwery pocztowe i usługi pytają cały dzień: _dmarc, _domainkey, _spf. Warda 0.9.10 pokazuje też urządzenia, które pytają inny serwer DNS niż Warda.
- Usługi, które kodują celowo (listy blokad serwerów pocztowych, zapytania programów antywirusowych, wspólne nazwy chmur), są wyłączone; Allow this domain zdejmuje blokadę dla zaufanej usługi.
03Co pomaga dookoła
Tunel potrzebuje własnej domeny, często nowej. Inne zabezpieczenia Wardy zamykają objazdy:
- kategoria nowych domen, do blokowania według profilu, i reputacja domen, która pyta usługę analiz Wardy o domenę słabo znaną domownikom (skrzynkę opuszcza tylko domena);
- kategoria obejść filtra: znane usługi DNS over HTTPS, VPN i proxy, blokowane dla dzieci i nastolatków, oraz Przekazywanie prywatne iCloud dla ich urządzeń w domu;
- nazwa testowa Firefoksa, use-application-dns.net, na którą Warda odpowiada „nie istnieje”: Firefox zachowuje wtedy DNS sieci zamiast własnego.
04Granice, powiedziane wprost
- Zapytanie wysłane prosto do 8.8.8.8 nigdy nie dociera do Wardy: zamknięcie portów DNS dla pozostałych urządzeń to zadanie routera.
- Powolny wyciek nie jest widoczny: mniej niż około 4 zakodowane nazwy na minutę (40 w 10 minut) albo 3 nazwy nietypowych typów na minutę (30 w 10 minut) zostaje poniżej progów.
- Tunel wewnątrz szyfrowanego połączenia z publicznym resolverem (DNS over HTTPS na porcie 443) nie pokazuje Wardzie niczego, chyba że usługa jest znana i zablokowana.
- Alert mówi, że urządzenie zachowuje się jak tunel, a nie który program to robi: sprawdź urządzenie, a w międzyczasie umieść je w kwarantannie.