W czasach, gdy Internet stał się najważniejszym medium na świecie, wiele osób nietechnicznych usłyszało o atakach za pomocą sieci botnet czy atakach DDoS. Jednak bardzo niewielu ludzi mówi o sinkholingu, czyli jednej z ważniejszych technik obrony przed takimi rodzajami ataków.


Co to jest Sinkhole?


Sinkhole (zwany też Blackhole DNS) to serwer lub segment sieci, do którego celowo kierowany jest złośliwy ruch. Jest podobny do honeypot’a, jednak jest to aktywna technika stosowana do obrony przeciwko złośliwym działaniom, a nie tylko „pułapka na malware”. Gdy ruch zostanie odizolowany w „czarnej dziurze”, nie jest w stanie więcej zagrozić atakowanemu środowisku. Dodatkowo, może być analizowany w celu ujawnienia źródła ataku, a także informacji o stosowanych technikach.

Dla przykładu, gdy zostanie wykryty atak DDos na serwer hostujący witrynę internetową, cały złośliwy ruch może zostać skierowany do serwera typu Sinkhole. Serwery te są zaprojektowane w taki sposób, aby zapisywać cały przychodzący ruch i zabraniać zwracaniu jakichkolwiek pakietów.

Często są wyposażone w narzędzia do analizy umożliwiające przeprowadzenie rozpoznania, takiego jak packet sniffing czy traceroute do atakujących.


Zasada działania


Koncepcję DNS Sinkhole najprościej wytłumaczyć na popularnym przykładzie zainfekowania stacji roboczej w organizacji przez złośliwe oprogramowanie. Stacja taka, prędzej czy później wykona próbę połączenia się ze złośliwą domeną kontrolowaną przez atakującego lub zawierającą dalsze fazy malware. Do serwera DNS trafi więc zapytanie o złośliwą domenę. Uzbrojony w listę złośliwych adresów IP serwer DNS nie wskaże prawdziwego adresu złośliwej strony, tylko adres Sinkhole, który w zapytaniu zwrotnym otrzyma stacja robocza. W następstwie tego, stacja połączy się z serwerem Sinkhole i tam prześle pakiety, które miały być dostarczone do serwera kontrolowanego przez atakującego.

Schemat działania mechanizmu DNS Sinkhole

Takie działanie pozwala na blokowanie podejrzanych zapytań DNS wewnątrz organizacji, a dodatkowo pozwala na analizę przesłanego do Sinkhole złośliwego ruchu.


Kilka z wielu zastosowań Sinkhole w bezpieczeństwie


Rozproszone czarne dziury DNS są standardową funkcją infrastruktury wszystkich głównych dostawców usług internetowych (Internet Service Providers). Są rozmieszczone w całej sieci i skonfigurowane jako anycast, dzięki czemu złośliwy ruch jest kierowany do najbliższego Sinkhole’a. Dostawcy usług internetowych wykorzystują wewnętrzne serwery DNS z listami znanych szkodliwych adresów, które automatycznie kierują każdy ruch przychodzący z tych adresów do czarnych dziur. Automatycznie przekierowują też wszystko, co ma rzekomo pochodzić z małej pozostałej puli nieprzydzielonej przestrzeni IP, co z definicji jest złośliwe lub przynajmniej błędne.

Dobrą praktyką dla każdej organizacji jest używanie wewnętrznych serwerów DNS w celu przekierowania podejrzanej komunikacji wychodzącej do Sinkhole do analizy. Na własnym serwerze DNS konfigurowana jest wtedy czarna lista złośliwych oraz niechcianych adresów IP oraz ograniczenie komunikacji wychodzącej tylko do zapytań DNS (port 53). Wszystko inne przekierowywane jest do posiadanych lub zewnętrznych serwerów/domen Sinkhole. Dzienniki zdarzeń z ruchu, który trafia do czarnej dziury dostarczają często nieocenionych wskazówek i informacji na temat zainfekowanych w organizacji hostów.

Sinkholing to także potężna technika neutralizacji botnetów. Po wykryciu botnetu można przeanalizować ruch przychodzący z botów i określić, jaki serwer je kontroluje. Po wykryciu tak zwanego serwera Command and Control (C&C), jego adres publiczny może zostać zmieniony na odpowiednich serwerach DNS, przekierowując ruch, który normalnie odbierał do Sinkhole.


Neutralizowanie serwerów C&C


Jak wspomniano powyżej, ogromne botnety można skutecznie zneutralizować, zmieniając ich wpisy DNS. Oczywiście mówimy teraz o zmianie wpisów na publicznych serwerach DNS. Ogólnie rzecz biorąc, organizacje hostujące usługi DNS chętnie modyfikują swoje listy w celu usuwania botnetów. Istnieją również przykłady organów ścigania uzyskujących nakazy sądowe zmiany publicznych list DNS.

Zmieniając ten jeden adres, gigantyczne botnety nawet setek tysięcy zainfekowanych hostów są skutecznie neutralizowane. Ponadto, ruch zainfekowanych hostów (zombie) można analizować, aby odkryć metody stosowane przez atakujących, a nawet tożsamość hakerów. Szczególnie przebiegłą taktyką jest naśladowanie interfejsu kontrolnego prawdziwego serwera C&C i czekanie, aż właściciel botnetu spróbuje się zalogować, ujawniając się w ten sposób.


Podsumowanie


Sinkholem nazywamy więc miejsce, do którego przekierowywane są złośliwe zapytania DNS, natomiast cała ta technika w obszarze bezpieczeństwa nazywana jest sinkholingiem. Wdrożenie jej na serwerach DNS pozwala skutecznie chronić się przed znanymi atakami z sieci botnet oraz analizować podejrzane zapytania DNS wysyłane przez urządzenia w sieci organizacji.