Jump to content

DNS cache poisoning


Renoirdaniel
 Share

Recommended Posts

DNS cache poisoning (zatruwanie bufora cache DNS) stało się w ostatnim czasie bardzo popularne. Co umożliwia ta technika? Rozważmy pewna hipotetyczna sytuacje:

Pan X chce wejść na stronę swojego banku aby dokonać przelewu. W tym celu musi wejść na stronę np.: www.bank.pl. 2 min przed nim pewien pan Y wykonał pewna sztuczkę. Wysłał do serwera DNS, z którego także korzysta pan X zapytanie o adres IP domeny bank.pl -> serwer DNS wysłał zapytanie do jednego z głównych serwerów i oczekuje na odpowiedz. Zanim jednak ja otrzyma pan Y wysyła do tego serwera DNS spreparowana odpowiedz o adres bank.pl -> podając przy tym adres IP swojego własnego komputera. Wcześniej pan Y przygotował stronę wyglądającą zupełnie tak jak strona bank.pl i umieścił ja na swoim komputerze. Serwer DNS akceptuje ta odpowiedz i wysyła panu Y odpowiedz, ze adresem bank.pl jest adres jego własnego komputera. Pana Y bardzo to ucieszyło, ponieważ było to tym co chciał. Serwer DNS w celu przyspieszenia wyszukiwania dodał taki wpis do swojej pamięci bufora. W tej chwili według serwera DNS adresem bank.pl jest adres komputera pana Y. Kiedy nadeszła poprawna odpowiedz na zapytanie które wysłał serwer DNS, została ona zignorowana ponieważ informacja o tym znajdowała się juz w pamięci. Pan X otwiera przeglądarkę i wpisuje adres www.bank.pl. Jego komputer wysyła zapytanie do serwera DNS o adres bank.pl. Niestety serwer utrzymuje w pamięci cache odpowiedz, której udzielił przed chwila panu Y (ta sfałszowana). Pan X nieświadomy niczego wchodzi na stronę banku, którą wygląda identycznie jak prawdziwa. Niczego nie podejrzewając wpisuje swój login oraz hasło, które przechwytuje pan Y. Błyskawicznie łączy się z prawdziwym bankiem, wpisuje login i hasło pana X a zleca przelew na swoje konto.

W przytoczonym powyżej przykładzie pan X padł ofiara ataku zwanego DNS cache poisoning i w zasadzie nie miał nawet najmniejszej szansy aby się przed nim obronić. Wprawdzie pan Y nie miał możliwości spreparowania certyfikatu, którym legitymuje się bank, jednak mógł wstawić inny, fałszywy, o którym poinformowała by przeglądarka u pana X. Jednak większość ludzi widząc ostrzeżenia o tym, ze certyfikat może być sfałszowany nie widzi w tym najmniejszego problemu i klika po prostu "Zaakceptuj" po czym nie widzi żadnego problemu. Sęk w tym, ze problem jest i to jest bardzo poważny. Wymieniony wyżej przykład jest jednym z bardziej czarnych scenariuszy ale ofiara takiego ataku może paść w zasadzie każda domena. Do zadań administratora należy dbałość o to, ażeby takie ataki nie miały miejsca.

 

Co możemy zrobić jako administratorzy usług DNS ? Po pierwsze używać DJBDNS, który jest zdecydowanie mniej podatny na ataki DNS cache poisoning. Dobrym rozwiązaniem jest wyłączenie zapytań rekurencyjnych i używanie zapytań iteracyjnych. Czym się one różnią ? Otóż model zapytań rekurencyjnych opiera się na tym, iż serwer DNS jeżeli nie zna odpowiedzi na nasze zapytanie sam pyta dalej oraz szuka tej odpowiedzi, po czym ja umieszcza w cache, a wynik zwraca do pytającego. W modelu iteracyjnym jeżeli serwer DNS nie zna odpowiedzi sam nie wysyła innych zapytań, zwraca natomiast pytającemu adres innego serwera DNS, który jego zdaniem będzie w stanie obsłużyć zapytanie. Niezbyt zalecanym choć najbezpieczniejszym rozwiązaniem jest wyłączenie pamięci cache serwera nazw, jednak na pewno spowoduje to opóźnienie w działaniu usług korzystających z DNS. Ponownie najlepszym rozwiązaniem o którym juz wcześniej wspominałem jest użycie DNSSEC.

 

Zabezpieczenie się przed atakami DNS cache poisoning jest najskuteczniejsze wtedy gdy współdziałają ze sobą administratorzy DNS, twórcy WWW oraz sami użytkownicy. O ile metody zabezpieczenia się adminów DNS opisałem powyżej o tyle twórcy WWW i użytkownicy dysponują mniejszym orężem w walce z tym procederem. Twórcy WWW mogą zastosować SSL do uwierzytelniania ich stron, aczkolwiek jest to możliwe do obejścia poprzez technikę zwana IDN. Najlepszym wyjściem byłoby gdyby użytkownicy nie używali nazw domenowych, a adresów IP jednak z racji tego iż jest to ekstremalnie niewygodne raczej nie ma na to co liczyć :).

 

Użycie zatruwania DNS do walki z piractwem. Organizacja antypiracka GEMA zażądała od 42 niemieckich dostawców usług internetowych 'zatrucia' serwerów DNS, tak, by ich klienci nie mogli korzystać ze stron udostępniających odnośniki do nielegalnych plików, dostępnych w sieci eDonkey. Od firm, które nie wywiążą się z tego obowiązku, GEMA będzie domagała się nawet 100 tys. euro odszkodowania.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

Terms of Use