DNS rebinding

DNS rebinding – technika ataku komputerowego polegająca na takim manipulowaniu odwzorowaniem nazwy domenowej na adres IP, aby obejść mechanizm same-origin policy (SOP, reguła tego samego pochodzenia) stosowany przez przeglądarki internetowe. Skrypt wczytany ze strony napastnika uzyskuje w ten sposób możliwość odczytywania odpowiedzi z serwerów, do których w normalnych warunkach nie miałby dostępu – w szczególności z maszyn w sieci lokalnej ofiary, chronionych zaporą sieciową.

Atak nie wymaga przejęcia cudzej domeny ani zatrucia pamięci podręcznej serwera nazw. Napastnik rejestruje własną domenę i udziela na nią prawidłowych, autorytatywnych odpowiedzi, dlatego DNSSEC nie stanowi przed nim zabezpieczenia – wszystkie rekordy mogą być poprawnie podpisane. Technika figuruje w prowadzonym przez MITRE katalogu wzorców ataków CAPEC pod numerem 275, w grupie opartych na fałszowaniu źródła danych.

Mechanizm

Reguła same-origin policy pozwala skryptowi odczytywać zasoby wyłącznie z tego samego pochodzenia (origin), określanego przez schemat, nazwę hosta i numer portu. Kluczowe jest to, że przeglądarka porównuje nazwy hostów, a nie adresy IP, na które te nazwy się rozwiązują.

W podstawowej odmianie ataku napastnik konfiguruje własny serwer nazw tak, by odpowiadał na zapytania o jego domenę adresem jego serwera, z bardzo krótkim czasem życia rekordu (time to live, TTL). Przeglądarka wczytuje z tego adresu złośliwy skrypt. Po wygaśnięciu rekordu napastnik zmienia odpowiedź na adres atakowanej maszyny; kolejne żądanie skryptu do tej samej nazwy trafia już pod nowy adres, a przeglądarka – uznając oba serwery za to samo pochodzenie – pozwala odczytać odpowiedź.

Po stronie napastnika sprowadza się to do serwera nazw z logiką dynamiczną, zwracającego kolejne pary adres–TTL z przygotowanej wcześniej listy zamiast statycznej zawartości strefy.

Zamiast adresu IP napastnik może wskazać rekord CNAME prowadzący do wewnętrznej nazwy hosta w sieci ofiary, na przykład odgadniętej nazwy serwera firmowego; rozwiązaniem takiej nazwy zajmuje się wówczas serwer nazw używany przez ofiarę, co wymaga, by nazwa ta była mu znana.

Warunkiem powodzenia jest skłonienie przeglądarki ofiary do pobrania treści z domeny kontrolowanej przez napastnika – co osiąga się m.in. za pośrednictwem reklam internetowych – oraz respektowanie przez nią czasu życia rekordu.

Historia

Pierwszy atak wykorzystujący tę technikę opisano w 1996 roku w pracy o bezpieczeństwie Javy; odmianę opartą na zmiennym w czasie odwzorowaniu nazwy przedstawiono w 2001 roku.

W 2007 roku badacze z Uniwersytetu Stanforda wykazali, że stosowana wówczas obrona jest nieskuteczna, ponieważ wtyczki przeglądarek – takie jak Flash Player i Java – prowadziły własne, odrębne pamięci przypięć nazw do adresów. W eksperymencie z kwietnia tego roku, opartym na wykupionej reklamie internetowej, atak powiódł się w około 60 procentach z ponad 50 tysięcy wyświetleń, bez potrzeby klikania przez użytkownika w cokolwiek; autorzy oszacowali, że za mniej niż 100 dolarów można w ten sposób czasowo przejąć 100 tysięcy adresów IP.

Zastosowania

Autorzy pracy z 2007 roku wyróżnili dwie zasadnicze kategorie zastosowań:

Technika bywa też wykorzystywana do obejścia zabezpieczeń przed atakami typu cross-site request forgery (CSRF): skoro skrypt może odczytać zawartość strony, może pobrać z niej token zabezpieczający i wysłać poprawne żądanie.

Obrona

Klasyczną obroną jest DNS pinning – zapamiętywanie przez przeglądarkę odwzorowania nazwy na adres przez ustalony czas, niezależnie od TTL.

Mechanizm ten bywa jednak obchodzony. Napastnik może zwrócić w jednej odpowiedzi kilka rekordów A – własny adres oraz adres celu – a następnie doprowadzić do niepowodzenia połączenia z pierwszym z nich, na przykład odrzucając je pakietem TCP RST. Przeglądarka, uznając serwer za niedostępny, sięga wówczas po kolejny adres z odpowiedzi, co w niektórych programach następowało już po sekundzie, bez czekania na wygaśnięcie przypięcia. Inną metodą jest ponawianie żądań aż do wygaśnięcia pamięci podręcznej.

Do pozostałych zabezpieczeń należą:

Od 2025 roku w przeglądarkach opartych na silniku Chromium wdrażany jest mechanizm Local Network Access, ograniczający możliwość wysyłania przez strony internetowe żądań do adresów zarezerwowanych do użytku lokalnego, w tym do pętli zwrotnej. Wymaga on uzyskania zgody użytkownika, o którą przeglądarka pyta osobnym komunikatem. Zastąpił on wcześniejszą propozycję Private Network Access, opartą na zapytaniach wstępnych CORS i zgodzie urządzenia docelowego, której nie udało się wdrożyć.

Zobacz też

Przypisy

  1. 1 2 3 4 5 6 7 8 9 10 11 Collin Jackson, Adam Barth, Andrew Bortz, Weidong Shao, Dan Boneh, Protecting Browsers from DNS Rebinding Attacks, „Proceedings of the 14th ACM Conference on Computer and Communications Security (CCS '07)”, 2007 [dostęp 2026-09-17] (ang.).
  2. 1 2 CAPEC-275: DNS Rebinding. Common Attack Pattern Enumeration and Classification, MITRE. [dostęp 2026-09-17]. (ang.).
  3. ↑ DNS for red team purposes. REDTEAM.PL, 2020-03. [dostęp 2026-09-17]. (ang.).
  4. 1 2 3 4 DNS Rebinding Attack: How Malicious Websites Exploit Private Networks. Unit 42, Palo Alto Networks. [dostęp 2026-09-17]. (ang.).
  5. ↑ New permission prompt for Local Network Access. Chrome for Developers. [dostęp 2026-09-17]. (ang.).