17 grudnia 2009

Czy Google DNS jest rzeczywiście bezpieczny?



Firma Google udostępniła niedawno wszystkim zainteresowanym własne publiczne serwery DNS. Google Public DNS, bo tak została nazwana nowa usługa giganta, miała zapewnić internautom z całego świata szybkość, bezpieczeństwo oraz niezawodność.

Niestety, polscy internauci nie odczują raczej wzrostu prędkości. Wszakże w usłudze DNS oprócz szybkości samego serwera równie ważna jest szybkość z jaką przebiega komunikacja na drodze pomiędzy klientem i serwerem. Biorąc pod uwagę za punkt wyjścia sieć Telekomunikacji Polskiej, pakiety wędrujące do serwerów DNS Google’a muszą pokonać trasę zawierającą kilkanaście węzłów i składającą się z około 8 podsieci należących do kilku różnych operatorów. W związku z tym z pewnością nie uzyskamy przyspieszenia w stosunku do serwerów DNS rodzimego operatora.

Czy jednak chociaż zwiększone bezpieczeństwo usługi DNS Google’a jest faktem? W ostatnim czasie poznaliśmy pierwsze wyniki testów odporności Google Public DNS na ataki zatruwania DNS (ang. DNS cache poisoning).

Zatruwanie DNS polega na wysłaniu do serwera DNS fałszywego skojarzenia nazwy domenowej z adresem IP. Nieprawidłowo skonfigurowany serwer DNS zapamiętuje taki rekord i przez pewien czas zwraca klientom fałszywy adres IP dla danej domeny. Poprawnie działający serwer powinien zapamiętywać tylko odpowiedzi na zadane przez siebie pytania, co zaś kontrolowane jest między innymi przy pomocy pseudolosowych numerów identyfikacyjnych transakcji. Niestety, jeśli intruz jest w stanie w prosty sposób przewidzieć kolejne numery zapytań, nadal będzie w stanie zatruwać pamięć podręczną serwera.

H D Moore, znany specjalista od bezpieczeństwa informatycznego, przeprowadził badania rozkładu portów oraz numerów identyfikacyjnych transakcji dla usługi Google DNS. Wyniki dla próbki składająca się z 10000 zapytań zostały zaprezentowana w postaci dwóch wykresów:





Jak widać, wyniki testu pozytywnie zaskakują. Niemożliwe jest określenie prostego wzorca generowania numerów portów oraz numerów identyfikacyjnych transakcji. Wobec tego, usługa Google DNS powinna być odporna na ataki zatruwania pamięci podręcznej i w konsekwencji oferować końcowym użytkownikom zwiększone bezpieczeństwo w stosunku do innych popularnych rozwiązań DNS.