DNS / DATA PUBLICZNEGO OGŁOSZENIA
Błąd Kaminsky’ego: zatruwanie pamięci DNS
Fałszywa odpowiedź zapisana przez resolver DNS mogła skierować użytkownika do niewłaściwej usługi mimo wpisania poprawnej domeny.
Co się wydarzyło?
8 lipca 2008 roku opublikowano skoordynowane komunikaty o możliwości zatruwania pamięci resolverów DNS. Problem kojarzony z badaniami Dana Kaminsky’ego otrzymał identyfikator CVE-2008-1447. Dotyczył sposobu dopasowywania odpowiedzi do zapytań i przewidywalności części ich parametrów.
Napastnik mógł próbować skłonić resolver do przyjęcia fałszywych informacji. Gdy takie dane trafiały do pamięci podręcznej, korzystający z niej użytkownicy otrzymywali błędne wskazania dotyczące usług. Wpisanie prawidłowej nazwy domeny nie gwarantowało wtedy prawidłowej odpowiedzi DNS.
Dlaczego to ważne dla domen i hostingu?
DNS jest punktem wyjścia do odnalezienia strony, poczty i wielu innych usług. Naruszenie resolvera może wpływać na sposób kierowania ruchu bez zmiany plików właściwej aplikacji. Znaczenie ma jednak rola serwera: opisany problem dotyczył pamięci odpowiedzi resolverów, a nie dowolnego wpisu w strefie domeny.
Jak zwiększano odporność?
Aktualizacje rozszerzały losowość parametrów zapytań, w tym portów źródłowych UDP. Utrudniało to podszywanie się pod poprawną odpowiedź. ISC wskazywało również DNSSEC jako mechanizm weryfikacji podpisanych danych DNS.
Zabezpieczenia musiały być zgodne z konfiguracją sieci. Ograniczenie zakresu portów przez urządzenie pośredniczące mogło osłabić korzyść z wprowadzonych zmian. Historia pokazała znaczenie współpracy administratora DNS, systemu i sieci.
Co to oznacza dla administratora?
Warto rozróżniać serwery autorytatywne i resolvery, aktualizować używane oprogramowanie oraz sprawdzać poprawność walidacji DNSSEC. Ochrona domeny obejmuje także drogę, którą użytkownik otrzymuje odpowiedź o jej adresie. Podstawy tych zależności wyjaśniamy w poradniku o DNS.