DNS Spoofing
Co to jest DNS (domain name system) spoofing
Domain Name Server (DNS) spoofing (a.k.a. DNS cache poisoning) jest atakiem, w którym zmienione rekordy DNS są wykorzystywane do przekierowania ruchu online na fałszywą stronę internetową, która przypomina miejsce docelowe.
Na tej stronie użytkownicy są proszeni o zalogowanie się na (jak im się wydaje) swoje konto, co daje sprawcy możliwość kradzieży danych dostępowych i innych poufnych informacji. Ponadto, złośliwa strona jest często wykorzystywana do instalowania robaków lub wirusów na komputerze użytkownika, co daje sprawcy długotrwały dostęp do niego i przechowywanych na nim danych.
Metody przeprowadzania ataku DNS spoofing obejmują:
- Man in the middle (MITM) – przechwytywanie komunikacji pomiędzy użytkownikami a serwerem DNS w celu przekierowania użytkowników na inny/złośliwy adres IP.
- Ekspromitacja serwera DNS – bezpośrednie przejęcie serwera DNS, który jest skonfigurowany do zwracania złośliwego adresu IP.
Atak DNS server compromise.
Przykład DNS cache poisoning
Następujący przykład ilustruje atak DNS cache poisoning, w którym atakujący (IP 192.168.3.300) przechwytuje kanał komunikacyjny pomiędzy klientem (IP 192.168.1.100) a komputerem-serwerem należącym do witryny www.estores.com (IP 192.168.2.200).
W tym scenariuszu narzędzie (np., arpspoof) jest używane do zduplikowania klienta, aby myślał, że IP serwera to 192.168.3.300. W tym samym czasie serwer myśli, że IP klienta to również 192.168.3.300.
Taki scenariusz przebiegałby następująco:
- Atakujący używa arpspoof do wydania polecenia: arpspoof 192.168.1.100 192.168.2.200. Modyfikuje to adresy MAC w tablicy ARP serwera, powodując, że myśli on, iż komputer atakującego należy do klienta.
- Atakujący ponownie używa arpspoof, aby wydać polecenie: arpspoof 192.168.2.200 192.168.1.100, która mówi klientowi, że komputer sprawcy jest serwerem.
- Atakujący wydaje w systemie Linux polecenie: echo 1> /proc/sys/net/ipv4/ip_forward. W rezultacie pakiety IP wysyłane między klientem a serwerem są przekierowywane do komputera sprawcy.
- Na lokalnym komputerze atakującego tworzony jest plik hosta 192.168.3.300 estores.com, który mapuje stronę www.estores.com na jego lokalny adres IP.
- Sprawca zakłada serwer WWW na adres IP lokalnego komputera i tworzy fałszywą stronę internetową, która ma przypominać www.estores.com.
- Na koniec wykorzystywane jest narzędzie (np, dnsspoof) jest wykorzystywane do kierowania wszystkich żądań DNS do lokalnego pliku hosta sprawcy. W rezultacie użytkownikom wyświetlana jest fałszywa strona internetowa, a tylko poprzez interakcję z nią na ich komputerach instalowane jest złośliwe oprogramowanie.
Zobacz, jak Imperva DDoS Protection może pomóc w przypadku ataków DNS spoofing.
Łagodzenie spoofingu DNS przy użyciu zabezpieczeń serwerów nazw domen (DNSSEC)
DNS jest protokołem niezaszyfrowanym, co ułatwia przechwytywanie ruchu za pomocą spoofingu. Co więcej, serwery DNS nie weryfikują adresów IP, na które przekierowują ruch.
DNSSEC jest protokołem zaprojektowanym w celu zabezpieczenia DNS poprzez dodanie dodatkowych metod weryfikacji. Protokół ten tworzy unikalny podpis kryptograficzny przechowywany obok innych rekordów DNS, np. rekordów A i CNAME. A i CNAME. Podpis ten jest następnie wykorzystywany przez resolwer DNS do uwierzytelnienia odpowiedzi DNS, zapewniając, że rekord nie został naruszony.
Pomimo, że DNSSEC może pomóc w ochronie przed spoofingiem DNS, posiada on szereg potencjalnych wad, w tym:
- Brak poufności danych – DNSSEC uwierzytelnia, ale nie koduje odpowiedzi DNS. W rezultacie, sprawcy nadal mogą podsłuchiwać ruch w sieci i wykorzystywać dane do bardziej wyrafinowanych ataków.
- Skomplikowane wdrożenie – DNSSEC jest często źle skonfigurowany, co może spowodować, że serwery stracą korzyści z zabezpieczeń lub nawet całkowicie odmówią dostępu do strony.
- Wyliczanie stref – DNSSEC wykorzystuje dodatkowe rekordy zasobów, aby umożliwić weryfikację podpisu. Jeden z takich rekordów, NSEC, jest w stanie zweryfikować nieistnienie strefy DNS. Może on być również użyty do przejścia przez strefę DNS w celu zebrania wszystkich istniejących rekordów DNS – podatność ta nazywana jest enumeracją strefy (zone enumeration). Nowsze wersje NSEC, zwane NSEC3 i NSEC5, publikują zaszyfrowane rekordy nazw hostów, tym samym je szyfrując i zapobiegając enumeracji stref.