DNS, czyli Domain Name System, jest jednym z podstawowym elementem w funkcjonowaniu całego Internetu. Jego rolę można porównać do książki telefonicznej z numerami używanymi przez komputery i serwery do komunikacji. Te numery to adresy IP.
Takie katalogi nazw i adresów IP przechowywane są na serwerach hostujących usługę DNS na całym Świecie. Istnieją zarówno serwery prywatne, do użytku wewnętrznego w organizacji, jak i publiczne przechowujące informacje o witrynach i aplikacjach webowych rozsianych po całym Internecie

DNS niemal od samego początku Internetu był celem ataków. W ostatnich latach mocno zwiększyła się ich liczba, co sprawia, że odpowiednie zabezpieczenia tej krytycznej usługi są tak ważne. Jak podaje raport IDC, w ubiegłym roku ataków na DNS doświadczyło 82% odpytanych firm, a liczba tych ataków przekroczyła 1500. Koszty związane z tymi incydentami wzrosły (w porównaniu z 2018) o 49% i wynosiły przeciętnie 1,27 miliona dolarów. 48% firm zadeklarowało, że na skutek ataków utraciło ponad 500 tys. dolarów, a 10% – ponad 5 milionów. Skąd takie kwoty? Otóż na skutek ataków dochodzi do uszkodzeń i zakłócenia działania zarówno aplikacji chmurowych, jak i znajdujących w wewnętrznej sieci. Konieczność naprawy infrastruktury wiąże się również z koniecznością wyłączenia świadczonych online usług.

Właściwe zabezpieczenie usługi DNS nie jest dzisiaj oczywiste i wiąże się z tym parę wyzwań. Współczesne cyberataki (które opisaliśmy w innych artykułach) wykorzystują protokół DNS do rozprzestrzeniania się w organizacji, pobrania malware czy nawet przejęcia kontroli nad hostem.
Poniżej przedstawiliśmy główne aspekty ochrony DNS, które warto wdrożyć w rozległej infrastrukturze narażonej na nowe zagrożenia.


DNS Compliance

Obowiązują tutaj wszystkie podstawowe zasady wpływające na poziom bezpieczeństwa usługi. Chodzi między innymi o utrzymywanie bezpieczeństwa systemu operacyjnego serwerów DNS, aktualizowanie oprogramowania, zapewnienie redundancji usługi, zarządzanie uprawnieniami i dostępem, czyli upewnienie się, że tylko odpowiednie osoby mogą modyfikować wpisy w DNS. Ta podstawowa (a czasami nudna) warstwa obrony jest często pomijana przy rozważaniu „bezpieczeństwa DNS”.

Na początku 2019 roku Amerykański Departament Bezpieczeństwa Wewnętrznego (DHS) wydał pilne ostrzeżenie informujące o potencjalnym „przejęciu” DNS. W raporcie wyszczególniono próby hackerskie przeprowadzone przez grupę działającą z Iranu, która manipulowała rekordami DNS w domenach prywatnych firm i agencji rządowych. Ostrzeżenie podkreślało, że podstawową luką w zabezpieczeniach DNS był brak monitorowania i kontroli operacji modyfikacji rekordów. Z tego powodu, napastnicy mogli uzyskać dostęp do danych serwera DNS i podmieniać wartości rekordów, aby prowadzić użytkowników do niewłaściwych adresów IP.
To wydarzenie wskazało również potrzebę dbania o właściwą konfigurację samych serwerów DNS. Podejmowanie działań, takich jak wyłączanie otwartej rekurencji i wdrażanie limitów odpowiedzi na sekundę, jest pomocne w zmniejszeniu, np. skuteczności ataków DDoS.


Protokół DNS

Od 2010 roku istnieje pewne ulepszenie standardowego protokołu DNS, którym jest DNSSEC. Jest to rozszerzenie standardowego protokołu zapewniające uwierzytelnienie serwerów DNS za pomocą kryptografii asymetrycznej oraz podpisów cyfrowych. Jego zaletą jest łatwa implementacja do istniejącej infrastruktury. DNSSEC dodaje więc ochronę, która ma zagwarantować, że użytkownik łączy się z adresem przypisanym do konkretnej domeny.
Implementacja protokołu DNSSEC chroni przed wieloma atakami na DNS, jednak nie rozwiązuje wszystkich problemów związanych z jego bezpieczeństwem. Co ciekawe, nie jest to w cale popularna dobra praktyka. Szacuje się, że z DNSSEC korzysta mniej niż 20% serwerów DNS na Świecie. Przyczyna jest prosta – wciąż jest to tylko dodatkowa funkcjonalność, a nie standard.

Istnieją inne możliwości rozszerzenia protokołu DNS, takie jak DNS over TLS oraz DNS over HTTPS, które zwiększają samą prywatność komunikacji. Ta druga opcja jest dostępna przy większości popularnych przeglądarek Internetowych i obsługiwana przez znaczną część popularnych domen w Internecie.


Threat Intelligence

Gdy mówimy o Threat Intelligence w bezpieczeństwie DNS, to mamy na myśli przede wszystkim funkcję Response Policy Zone (RPZ). Dzięki temu mechanizmowi lokalny serwer DNS może zadecydować czy wysyłać dalej zapytanie o określoną domenę czy po prostu je odrzucić, jeśli uzna, że dana domena jest złośliwa.

RPZ umożliwia administratorom tworzenie zestawów reguł blokujących określone nazwy domen, jednak jego moc wynika z możliwości korzystania z listy domen opublikowanych przez inne podmioty, chociażby organizacje zajmujące się badaniem złośliwych witryn i publikowaniem list znanych serwerów C2. Takie podejście, korzystania z zewnętrznej bazy o zagrożeniach, tzw. „feed’u”, nazwane jest właśnie Threat Intelligence.
Dobre źródło zasilające RPZ zawiera aktualne i dokładne informacje o tym czy z daną domeną można się bezpiecznie połączyć.

Ale znowu, nie jest to metoda na wszystko. W ochronie DNS należy dziś zajmować bardziej aktywne stanowisko i analizować wychodzące i przychodzące zapytania DNS, nie tylko je blokować. Pozwoli to wykryć zaawansowane ataki i próby ataków na podstawie śledzenia anomalii. Zagrożenia takie jak na przykład tunelowanie DNS są trudne do wykrycia i mogą wymagać zaawansowanej technologii do analizy zapytań wychodzących w czasie rzeczywistym.


Automatyzacja

Jako podsumowanie, dodajemy czynnik, który powinien być istotny w każdym obszarze bezpieczeństwa. Minęły już czasy, kiedy bezpieczeństwo w organizacji obsłużyć mogła jedna osoba. Wtedy można było pomyśleć o firewall’u jako panaceum na całe zło. W nowoczesnym środowisku korporacyjnym urządzenia do bezpieczeństwa muszą reagować szybko, automatycznie i współpracować ze sobą.
Automatyzacja i integracja ochrony DNS z innymi systemami bezpieczeństwa jest niezwykle ważna, ponieważ praktycznie każdy atak, na którymś z etapów infekcji, będzie próbował skorzystać z serwera DNS i skomunikować się z C2, co powinno zostać zauważone, zdiagnozowane jako zagrożenie i zablokowane w sposób automatyczny.