Ponowne wiązanie DNS
Ponowne wiązanie DNS to metoda manipulowania rozpoznawaniem nazw domen, która jest powszechnie stosowana jako forma ataku komputerowego . W tym ataku złośliwa strona internetowa powoduje, że odwiedzający uruchamiają skrypt po stronie klienta , który atakuje maszyny w innym miejscu w sieci. Teoretycznie polityka tego samego pochodzenia zapobiega temu: skrypty po stronie klienta mogą uzyskiwać dostęp do treści tylko na tym samym hoście, który obsługiwał skrypt. Porównywanie nazw domen jest istotną częścią egzekwowania tej zasady, więc ponowne wiązanie DNS omija tę ochronę, nadużywając systemu nazw domen (DNS).
Atak ten może zostać wykorzystany do włamania do sieci prywatnej poprzez spowodowanie, że przeglądarka internetowa ofiary uzyska dostęp do komputerów pod prywatnymi adresami IP i zwróci wyniki atakującemu. Może być również wykorzystany do wykorzystania maszyny ofiary do spamowania , rozproszonych ataków typu „odmowa usługi” lub innych złośliwych działań.
Jak działa ponowne wiązanie DNS
Atakujący rejestruje domenę (taką jak atakujący.com) i deleguje ją do serwera DNS , który jest pod jego kontrolą. Serwer jest skonfigurowany tak, aby odpowiadał rekordem o bardzo krótkim czasie wygaśnięcia (TTL) , co zapobiega zapisywaniu odpowiedzi DNS w pamięci podręcznej . Kiedy ofiara przegląda złośliwą domenę, serwer DNS atakującego najpierw odpowiada adresem IP serwera, na którym znajduje się złośliwy kod po stronie klienta. Na przykład mogą skierować przeglądarkę ofiary na stronę internetową zawierającą złośliwe JavaScript lub Flash , które mają zostać wykonane na komputerze ofiary.
Złośliwy kod po stronie klienta zapewnia dodatkowe dostępy do oryginalnej nazwy domeny (takiej jak attacker.com). Są one dozwolone przez zasady tego samego pochodzenia. Jednak gdy przeglądarka ofiary uruchamia skrypt, wysyła nowe żądanie DNS dla domeny, a atakujący odpowiada nowym adresem IP. Na przykład mogą odpowiedzieć, podając wewnętrzny adres IP lub adres IP celu w innym miejscu w Internecie.
Ochrona
Następujące techniki mają na celu zapobieganie atakom związanym z ponownym wiązaniem DNS:
- Serwery DNS w łańcuchu mogą odfiltrowywać prywatne adresy IP i zwrotne adresy IP :
- Zewnętrzne publiczne serwery DNS (np. OpenDNS ) mogą implementować filtrowanie DNS.
- Lokalni administratorzy systemu mogą skonfigurować lokalne serwery nazw w organizacji, aby blokować rozpoznawanie nazw zewnętrznych na wewnętrzne adresy IP. (Ma to tę wadę, że umożliwia atakującemu mapowanie używanych zakresów adresów wewnętrznych).
- Zapora ogniowa (np. dnswall) w bramie lub na komputerze lokalnym może filtrować przechodzące przez nią odpowiedzi DNS, odrzucając adresy lokalne.
- Przeglądarki internetowe mogą oprzeć się ponownemu wiązaniu DNS:
- Przeglądarki internetowe mogą implementować przypinanie DNS: adres IP jest blokowany na wartość otrzymaną w pierwszej odpowiedzi DNS. Ta technika może blokować niektóre uzasadnione zastosowania dynamicznego DNS i może nie działać przeciwko wszystkim atakom. Jednak ważne jest, aby zabezpieczyć się przed awarią (zatrzymać renderowanie), jeśli adres IP się zmieni, ponieważ użycie adresu IP po wygaśnięciu TTL może otworzyć przeciwną lukę w zabezpieczeniach, gdy adres IP został legalnie zmieniony, a wygasły adres IP może być teraz kontrolowany przez napastnika.
- Rozszerzenie NoScript dla Firefoksa zawiera ABE , funkcję przypominającą zaporę ogniową w przeglądarce, która w domyślnej konfiguracji zapobiega atakom na sieć lokalną, uniemożliwiając stronom zewnętrznym dostęp do lokalnych adresów IP.
- Serwery WWW mogą odrzucać żądania HTTP z nierozpoznanym nagłówkiem hosta .