Warda-DNS Warda: od angielskiego ward — chronić, strażnik
v0.9.10

Artykuł

Eksfiltracja DNS: jak wykrywa ją Warda

DNS przechodzi niemal wszędzie, nawet tam, gdzie wszystko inne jest zamknięte. Dlatego złośliwe oprogramowanie używa go, by wysyłać dane albo odbierać polecenia, ukryte w nazwach, o które pyta. Co Warda sprawdza w nazwach Twojej sieci, co robi i gdzie się zatrzymuje.

Opublikowano · fakty sprawdzono

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.

05Źródła

  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, „Domena kanarkowa – use-application-dns.net”

Całe centrum pomocy

Bezpłatnie dla domu, w Twojej własnej sieci

Wykrywanie wycieków danych przez DNS jest w bezpłatnym planie Wardy, na Raspberry Pi, w Dockerze lub na Debianie.

Pobierz WardęCo blokuje Warda