ATAK Ataki na serwery DNS
Transkrypt
ATAK Ataki na serwery DNS
ATAK PAWEŁ BASZKOWSKI Ataki na serwery DNS Stopień trudności Rozróżniamy ataki na serwery DNS różnego rodzaju. Wszystkie mają na celu dokonanie jak największych utrudnień w ruchu sieciowym np. poprzez zablokowanie czy przeciążenie go. P Z ARTYKUŁU DOWIESZ SIĘ o protokole DNS, o typach ataków na serwery DNS, o tym jak ograniczyć niebezpieczeństwo ataku. CO POWINIENEŚ WIEDZIEĆ znać technologie sieciowe, na czym polega rozwiązywanie adresów sieciowych. 20 HAKIN9 5/2010 oniżej prezentuję kilka typów ataków na serwery DNS. Dodatkowe opisy pojęć w sekcji Terminy. Zatruwanie DNS (ang. cache poisoning) to technika phishingu polegająca na wysłaniu do serwera DNS fałszywego rekordu kojarzącego nazwę domeny z adresem IP. Serwer DNS zapamiętuje go na pewien czas (do kilku godzin) i zwraca klientom zapamiętany adres IP, czego skutkiem jest przeniesienie na fałszywą stronę. Cache poisoning może być zastosowany do uzyskania danych dotyczących np. logowania do serwisu aukcyjnego czy banku. Poprzez przekierowanie na identycznie wyglądającą stronę po wpisaniu nazwy użytkownika i hasła nic się nie dzieje, tak to odbieramy. W rzeczywistości dane te zostają zapisane na komputerze sprawcy, który może ich użyć na prawdziwej stronie i dokonać transakcji (np. przelew internetowy) w naszym imieniu. DNS spoofing – jest to atak na serwer DNS, który posiada bazę danych przechowującą numery IP dla poszczególnych adresów mnemonicznych. Atak DNS spoofing polega na ingerencji w tablicę DNS i modyfikacji poszczególnych wpisów tak, aby klient zamiast do komputera docelowego kierowany był do komputera atakującego. Głównie wyróżnia się trzy ataki związane z fałszowaniem DNS: • • • Atakujący włamuje się do serwera DNS, podmieniając odwzorowanie nazw URL na adresy IP. Zapytanie o dany adres URL zostaje odesłane do maszyny, która będzie kontrolowana przez atakującego. Atakujący może fałszować odpowiedź z serwera DNS przez kontrolę pomiędzy klientem, a serwerem nazw. Umożliwia to bezpołączeniowy charakter protokołu UDP. Numery sekwencyjne są zwiększane o jeden, co pozwala bardzo łatwo przewidzieć ich kolejność. Jeżeli atakujący potrafi odczytać wymianę pakietów z serwerem DNS, może przewidzieć numerowanie sekwencji. DNS cache może zostać zatruty, jak opisane wyżej, poprzez przesłanie fałszywej strefy z dużą wartością pola TTL. Atak jest wykonywalny przy założeniu, że zdalny serwer nazw jest kontrolowany przez atakującego. DNS Amplification to odmiana ataku DDoS, polegająca na wysłaniu zapytań do serwerów DNS ze sfałszowanym adresem zwrotnym (spoofing). Najczęściej wykorzystuje się do tego sieć przejętych przez agresora komputerów (np. duży botnet). Serwery DNS, w odpowiedzi na dziesiątki lub nawet setki tysięcy zapytań kierowanych z komputerów agresora, wysyłają odpowiedzi na jeden komputer, cel ataku włamywacza, zapychając jego łącze, pamięć i ATAKI NA SERWERY DNS moc obliczeniową do granic możliwości. Atakowany ma małe możliwości obrony przed takim atakiem, gdyż odfiltrowanie odpowiedzi od DNS na odpowiedzi na zadane i na niezadane pytanie jest praktycznie niemożliwe. W maju 2006 w ten właśnie sposób zostało zaatakowane i doprowadzone do upadku przedsiębiorstwo Blue Security, które walczyło ze spamem. DRDoS (ang. Distributed Reflection Denial of Service) – jedna z nowszych odmian ataku odmowy dostępu DoS. Powstała w wyniku połączenia metody zalewania żądaniami synchronizacji pakietów SYN (SYN flood) i metod wykorzystywanych przy rozproszonych atakach odmowy dostępu DDoS. Polega na generowaniu specjalnych pakietów SYN, których adres źródłowy jest fałszywy – jest nim adres ofiary. Następnie duża liczba takich pakietów jest wysyłana do sieci. Komputery, do których one docierają, odpowiadają pakietami SYN/ACK kierowanymi na adres pochodzący z fałszywego nagłówka. W wyniku czego ofiara jest zalewana olbrzymią ilością pakietów z wielu hostów. W porównaniu do tradycyjnego ataku typu DDoS utrudnia to wykrycie rzeczywistego źródła ataku. SYN flood to jeden z popularnych ataków w sieciach komputerowych. Jego celem jest głównie zablokowanie usług danego serwera (DoS). Do przeprowadzenia ataku wykorzystywany jest protokół TCP. Luka w protokole DNS Luka wykryta przez specjalistę ds. bezpieczeństwa sieciowego Dana Kaminsky'ego, umożliwia przejęcie kontroli nad serwerami nazw. Problem dotyczy protokołu DNS, na atak podatne są wszystkie serwery niezależnie od platformy. Atakujący dzięki wykorzystaniu luki może przejąć kontrolę i przekierować ruch w inne miejsce. Okazało się, że wysłanie do serwera DNS serii odpowiednio przygotowanych zapytań może spowodować automatyczne przekierowanie ofiary z bezpiecznej witryny na niebezpieczną. Co ważne, cała operacja będzie dla atakowanego internauty zupełnie niezauważalna. Taka technika przestępcza nazywana jest zatruwaniem DNS (DNS poisoning) – do tej pory przestępcy korzystali jednak z niej raczej dzięki różnym lukom w aplikacjach instalowanych na komputerze. Tym razem problem jest znacznie poważniejszy, ponieważ luka dotyczy oprogramowania odpowiedzialnego za funkcjonowanie sieci WWW. Atakujący mogą bez użycia phishingu przekierować ofiary na oszukańcze witryny. Przy lepszym przygotowaniu nie tylko strony, ale znaczna część ruchu może zostać przekierowana, co spowoduje uzyskanie dostępu do wielu poufnych danych. Luka wykryta przez Kaminsky'ego dotyczy sposobu jak serwery uzyskują informacji od siebie nawzajem. Gdy serwer DNS nie posiada informacji, próbuje ją uzyskać od innego serwera. Luka pozwala wysłać tak spreparowane dane, że serwer DNS uznaje je za prawidłowe. Metodologia dokonanych ataków Ataki bazują na 2 głównych kwestiach. Po pierwsze mimo wykrycia luki w systemie informatycznym administratorzy i tak nie aktualizują systemów. Jak informuje NASK, który dokonał takiego sprawdzianu analizy ponad 150 mln zapytań DNS do serwerów domeny .pl okazało się, że blisko 70% resolverów (znajdujących się w polskich klasach adresowych) jest nadal podatna na atak typu cache poisoning. Po drugie, ataki bazujące na tym fakcie wykorzystują znane mechanizmy ataku. I tak atak SYN flood polega na wysyłaniu dużej ilości pakietów z ustawioną w nagłówku flagą synchronizacji (SYN) i najczęściej ze sfałszowanym adresem IP nadawcy (IP spoofing). Pakiety TCP z ustawioną flagą SYN służą do informowania zdalnego komputera o chęci nawiązania z nim połączenia. Podczas takiego ataku serwer, który otrzymał pakiet z flagą SYN na port, który jest otwarty, odpowiada na każdy pakiet zgodnie z zasadami protokołu TCP wysyłając pakiet z ustawionymi flagami synchronizacji (SYN) i potwierdzenia (ACK) do komputera, który w tym wypadku nie istnieje, istnieje, ale nie zamierzał nawiązywać połączenia z atakowanym hostem lub jest to komputer atakowanego, który specjalnie nie odpowiada. Powoduje to przesyłanie dużych ilość danych i obciąża łącze sieciowe. Oprócz odpowiedzi na pakiety SYN atakowany komputer zapisuje w tablicy stanów połączeń informację, że nastąpiła próba połączenia i wysłano potwierdzenie (pakiet z flagami SYN i ACK). Tablice te są przechowywane w pamięci RAM, a ich wielkość jest ograniczona. Jeżeli taki atak będzie powtarzany a liczba takich pakietów będzie bardzo duża, w pewnym momencie nastąpi przepełnienie tablicy połączeń atakowanej maszyny co spowoduje, że ów komputer nie będzie akceptował następnych przychodzących połączeń. Serwer wówczas będzie cały czas w stanie oczekiwania na pakiety ACK, które nigdy nie nadejdą. Listing 1. Określenie pola TTL domena.com: type A, class inet, addr 212.77.100.102 Name: domena.com Type: Host address Class: inet Time to live: 15 minutes Data length: 4 Addr: 212.77.100.102 domena.net: type A, class inet, addr 192.168.1.5 Name: domena.net Type: Host address Class: inet Time to live: 1 day, 15 hours, 38 minutes, 29 seconds Data length: 4 Addr: 192.168.1.5 5/2010 HAKIN9 21 ATAK Ciągły atak SYN flooding powoduje zaprzestanie odpowiadania na nowe zapytania. Jak również spowalnia obsługiwanie otwartych połączeń poprzez znaczny wzrost zapotrzebowania na zasoby komputera (przede wszystkim pamięć). W skrajnym przypadku może spowodować zawieszenie systemu. Atak z wykorzystaniem DNS spoofing polegać będzie na podszyciu się pod stronę np. banku, co w efekcie doprowadzi do uzyskania dostępu do konta ofiary. Może być dokonany też na stronę WWW dużej korporacji, czego efektem będzie przejęcie klientów. Dla serwera FTP podszycie spowoduje przejęcie danych wysłanych na serwer przez ofiarę lub podstawienie własnych w przypadku, gdy pobierane są jakieś pliki. Ciekawy sposób to podszywanie się pod systemy automatycznego sprawdzania najnowszej wersji oprogramowania. Gdy intruz podszyje się pod serwer, z którego korzysta ofiara może spowodować instalowanie oprogramowania podstawionego i obejście zabezpieczeń opartych na dostępie z wybranych komputerów, puli adresowej lub poprzez inne obostrzenia. Przykład ataku na serwer DNS Przykładowy atak przy użyciu DNS spoofing. Spróbujemy dokonać ingerencji w tablicę DNS i modyfikację poszczególnych wpisów tak, aby klient zamiast do komputera docelowego skierowany był do komputera atakującego. Każdy serwer DNS posiada swoją własną pamięć podręczną, gdzie przechowuje informacje na temat ostatnio przeprowadzonych mapowań. Czas przechowywania informacji określa pole TTL danego komunikatu DNS. Oznacza to, że jeśli intruzowi udałoby się przesłać serwerowi spreparowaną przez siebie informację to zostałaby ona zapamiętana i użyta przy każdym następnym zapytaniu. Wiadomo też, że każdy serwer DNS nasłuchuje na porcie 53 i jest gotowy przyjąć jakiekolwiek zapytanie pochodzące od dowolnego komputera w Internecie. Intruz może więc wykorzystać te dwie cechy serwerów DNS na potrzeby ataku, gdyż dzięki nim sam może zadać serwerowi DNS dowolne zapytanie i w odpowiedzi, którą na nie wyśle w polu TTL wpisać maksymalną wartość. Po tym zabiegu każdy, kto zada serwerowi DNS takie samo pytanie, otrzyma odpowiedź Tabela 1. Przykładowy scenariusz ataku Etapy Opis Czas od rozpoczęcia 1 Odpytywany jest serwer o domenę domena.com. Informacje zostają zapamiętane w pamięci podręcznej. ok. 5 sekund 2 Rozpoczęcie ataku DoS przeciw serwerowi autoryzacji. To spowoduje zapchanie go, nie będzie w stanie odpowiadać na żadne zapytanie. 10 – 15 sekund 3 Intruz zadaje serwerowi zapytanie o IP komputera domena.com 15 minut 4 Zaczyna się wysyłanie serwerowi podstawionych odpowiedzi z adresem źródłowym komputera autoryzacji z ustawioną maksymalną wartością TTL, która zawiera informację o komputerze domena.com jako hack.int.pl. Jest to łącznie 65535 pakietów, każdy z identyfikatorem odpowiedzi. 15 minut i 5 sekund 5 Zakończenie wysyłania podstawionych pakietów. Teraz serwer ma w swojej pamięci podręcznej podstawione dane dotyczące komputera domena.com 15 minut i 25 sekund 6 Nieświadomy użytkownik wydaje polecenie telnet domena.com i zostaje połączony z hack.int.pl 30 minut 22 HAKIN9 5/2010 pochodzącą z pamięci podręcznej, czyli z informacji podstawionych przez intruza. W ten sposób intruz nie musi znać dokładnego czasu, w którym atakowany serwer DNS będzie zadawał pytanie. A co z identyfikatorem odpowiedzi? Jeśli używane jest oprogramowanie BIND, identyfikator odpowiedzi jest liczbą losową i określenie jej jest praktycznie niemożliwe. Musiałby wysyłać pakiety wraz ze wszystkimi możliwymi wartościami. Jeśli serwer DNS będzie działał na platformie Windows (NT lub nowszej Server 2003 i wzwyż) to okazuje się że generowane są identyfikatory pytań (przewidywalne, bo każde kolejne zapytanie ma identyfikator większy o jeden w porównaniu do poprzedniego). Przewidzenie więc prawidłowego identyfikatora nie będzie skomplikowane. Potrzebny jeszcze adres źródłowy. Wydając odpowiednie polecenie dowiemy się ile serwerów nazw obsługuje daną domenę. To, z którego skorzystać atakowanym serwerem DNS, można określić przez pole TTL. Na Listingu 1 prezentowany jest tego przykład. Pole TTL (Time to live:) zawiera informację na temat przechowywania danych w pamięci podręcznej. Oznacza to, że po 15 minutach informacja dotycząca serwera domena.com zostanie usunięta z pamięci podręcznej. Dla porównania informacja o domena.net będzie przechowywana znacznie dłużej, bo ponad 1 dzień. Przykładowy scenariusz ataku czy przetestowania próby ataku na serwer DNS wykonamy przy użyciu komputera intruza (hack.int.pl). Celem będzie spowodowanie, by po wydaniu polecenia telnet domena.com komputer użytkownika połączył się z komputerem intruza. Szczegółowy scenariusz postępowania znajduje się w Tabeli 1. Taki atak ma duże szanse na powodzenie. Kilkanaście sekund między rozpoczęciem a zakończeniem wysyłania podstawionych pakietów (punkty 4 i 5) to czas wystarczający na przesłanie do atakowanego serwera 65535 pakietów. Stwierdzone jest, że długość każdego z tych pakietów wynosi około 100 bajtów. ATAKI NA SERWERY DNS W opisywanym scenariuszu zakładamy intruza w tej samej podsieci i łączem 10 Mbps. Wystarczyłoby nam kilka sekund, ale dla pewności wykonujemy to w kilkanaście. Ze względu na wydajność urządzeń aktywnych i gotowość do przyjęcia ilości pakietów. Te kilka sekund wyliczamy ze wzoru: (iP*dP)*8/1024*1024/S=T T – czas potrzebny na wysłanie pakietów (sek), IP – ilość danych (pakietów) do wysłania, DP – długość każdego pakietu, S – prędkość łacza (Mbps), (65535*100)*8/1024*1024/10 = 5 sek. Jak się obronić przed atakami? Jednym ze sposobów na zapobieganie atakom (np. typu SYN flood) jest Terminy BIND (Berkeley Internet Name Domain, poprzednio: Berkeley Internet Name Daemon) jest popularnym serwerem (demonem) DNS. Został stworzony przez Paula Vixie w roku 1988 podczas jego pracy w DEC. BIND jest jednym z najpopularniejszych serwerów DNS wykorzystywanym w systemach Linux i Unix. BIND stanowi niezmiernie ważny składnik, zapewniający poprawne działanie systemu nazw w Internecie. Wielu użytkowników globalnej sieci bezwiednie korzysta z serwera BIND, kiedy ich przeglądarka WWW odpytuje o adres IP komputer udostępniający żądaną stronę. Nowa wersja BIND 9 została napisana od zera, aby rozwiązać część problemów z architekturą poprzednich wydań tego programu, gdzie każda była kontynuacją poprzedniej i ulepszając ją zawierała również jej słabości. W wersji 9 zapewniono obsługę rozszerzeń bezpieczeństwa (DNS Security Extensions), dodano obsługę rekordów TSIG (uwierzytelnianie kryptograficzne), powiadomień DNS, nsupdate (ułatwiona aktualizacja rekordów DNS), IPv6, czyszczenie rekordów rndc (rndc flush), widoków, pracy wieloprocesorowej oraz poprawiono poziom przenośności kodu między różnymi platformami. BIND był rozwijany od wczesnych lat 80-tych XX wieku w ramach projektów DARPA. W połowie dekady prace nad serwerem przejęła korporacja DEC. Jednym z jej pracowników biorących udział w projektowaniu BIND-a był Paul Vixie, który kontynuował swoją pracę po opuszczeniu tej firmy. Potem stał się jednym z założycieli ISC (Internet Software Consortium), organizacji zarządzającej standardami Internetu, która przejęła prace nad dalszym rozwojem BIND-a. BIND 9 powstał podczas realizacji kilku komercyjnych oraz wojskowych projektów. Firmy wykorzystujące Unix chciały zapewnić, by BIND był ciągle konkurencyjny (bezpieczniejszy) względem serwerów DNS oferowanych przez Microsoft. Rozwój protokołu DNSSEC był wspierany przez wojsko USA, które chciało zwiększyć bezpieczeństwo systemu nazw. DNS (Domain Name Service) to hierarchiczny system nazw domenowych dla urządzeń zainstalowanych w Internecie. Pozwala na rozwiązywanie nazw konkretnych hostów na ich adresy IP. Podstawowa zasada DNS to fakt nie posiadania jednego centralnego serwera, a przynajmniej kilku, przechowujących nazwy domen i ich adresów IP. Jest to zabezpieczenie przed awarią jednego, tak by drugi z serwerów mógł przejąć jego rolę jako zapasowy serwer DNS. Kilkanaście głównych serwerów (root) nie utrzymuje pełnej listy adresów, które możemy znaleźć w Internecie, a listę innych serwerów DNS, które znają drogę do danego adresu. DoS (Denial of Service) to atak na system komputerowy lub usługę sieciową w celu uniemożliwienia działania poprzez zajęcie wszystkich wolnych zasobów. DDOS (Distributed Denial of Service) – atak na system komputerowy lub usługę sieciową w celu uniemożliwienia działania poprzez zajęcie wszystkich wolnych zasobów, przeprowadzany równocześnie z wielu komputerów (np. Zombie). DNSBL jest to oparta na DNS, usługa wykorzystywana do publikowania czarnych list adresów IP nadawców spamu. Jest wykorzystywana w wielu programach antyspamowych. Phishing – w branży komputerowej, oszukańcze pozyskanie poufnej informacji osobistej, jak hasła czy szczegóły karty kredytowej, przez udawanie osoby godnej zaufania, której te informacje są pilnie potrzebne. Jest to rodzaj ataku opartego na inżynierii społecznej. Termin został ukuty w połowie lat 90. przez crackerów próbujących wykraść konta w serwisie AOL (America On Line). Atakujący udawał członka zespołu AOL i wysłał wiadomość do potencjalnej ofiary. Wiadomość zawierała prośbę o ujawnienie hasła, np. dla zweryfikowania konta lub potwierdzenia informacji w rachunku. Gdy ofiara podawała hasło, napastnik uzyskiwał dostęp do konta i wykorzystywał je w przestępczym celu, np. do wysyłania spamu. Termin phishing jest niekiedy tłumaczony jako password harvesting fishing (łowienie haseł). Inni utrzymują, że termin pochodzi od nazwiska Briana Phisha, który miał być pierwszą osobą stosującą techniki psychologiczne do wykradania numerów kart kredytowych, jeszcze w latach 80. Jeszcze inni uważają, że Brian Phish był jedynie fikcyjną postacią, za pomocą której spamerzy wzajemnie się rozpoznawali. Dzisiaj przestępcy sieciowi wykorzystują techniki phishingu w celach zarobkowych. Popularnym celem są banki czy aukcje internetowe. Phisher wysyła zazwyczaj spam do wielkiej liczby potencjalnych ofiar, kierując je na stronę w Sieci, która udaje rzeczywisty bank internetowy, a w rzeczywistości przechwytuje wpisywane tam przez ofiary ataku informacje. Typowym sposobem jest informacja o rzekomym zdezaktywowaniu konta i konieczności ponownego reaktywowania, z podaniem wszelkich poufnych informacji. Strona przechwytująca informacje – adres do niej był podawany jako klikalny odsyłacz w poczcie phishera – jest łudząco podobna do prawdziwej, a zamieszanie było często potęgowane przez błąd w przeglądarkach, który pozwalał zamaskować także rzeczywisty adres fałszywej strony. Innym sposobem było tworzenie fałszywych stron pod adresami bardzo przypominającymi oryginalny, a więc łatwymi do przeoczenia dla niedoświadczonych osób – np. www.alegro.pl, zamiast www.allegro.pl. Spoofing polega na podszywaniu się pod inny autoryzowany komputer. Cel pozostaje ten sam, oszukanie systemów zabezpieczających. Tradycyjnie, podszywanie oznaczało działanie atakującego, polegające na przeprowadzeniu procesu autoryzacji z jednego komputera do drugiego poprzez sfałszowanie pakietów z zaufanego hosta. Ostatnio podszywaniem określa się dowolną metodę łamania zabezpieczeń autoryzacyjnych opartych na adresie lub nazwie hosta. Rodzajami spoofingu jest: ARP spoofing, DNS spoofing, IP spoofing, Route spoofing, Non-blind i Blind spoofing. 5/2010 HAKIN9 23 ATAK wdrożenie do systemu firewalli, które limitują ilość pakietów SYN przesyłanych do danego serwera lub implementują mechanizm SYN cookies. Kolejny ze sposobów to sprawdzenie, czy serwer DNS, z którego korzystamy, jest podatny na atak, można użyć w tym celu narzędzia DNS Checker. Na uwagę zasługuje także zróżnicowany test, który sprawdza przypadkowość portów źródłowych i identyfikatorów transakcji, stworzony przez DNS-OARC. Przed DNS spoofing ochronić może wyłączenie obsługi pamięci podręcznej przez serwery DNS. W ten sposób intruz nie będzie mógł wprowadzić do pamięci nieprawdziwych danych. Nie wyeliminuje w pełni, ale zmusi do przewidzenia, kiedy ofiara zleci serwerowi DNS zmapowanie danego adresu IP czy nazwy komputera. Wprowadzi to do scenariusza ataku dodatkowe przeszkody i zwiększy prawdopodobieństwo nieudanego ataku. Rozwiązanie nie jest idealne, ostatnio używane dane nie będą w pamięci podręcznej, więc zwiększony będzie nieco ruch sieciowy. Mimo to, jest to skuteczna metoda zwiększenia poziomu bezpieczeństwa protokołu. Czynnikiem powodującym tak duże zagrożenia przy korzystaniu z DNS jest fakt wykorzystywania przez niego bezpołączeniowego protokołu UDP. Najrozsądniejszym wyjściem z sytuacji wydaje się więc zastosowanie w jego miejsce protokołu TCP. Oprogramowanie BIND używa w pewnych warunkach TCP – dzieje się tak np. wtedy, gdy komunikat DNS ma długość większą niż 512 bajtów. Gdyby przerobić oprogramowanie BIND w taki sposób, aby cały czas korzystało ono z TCP, problem podrabiania odpowiedzi DNS zostałby rozwiązany. Obecnie trwają prace związane z wdrożeniem w Internecie protokołu DNSSEC. Jest on zaprojektowanym praktycznie od początku odpowiednikiem DNS, jednak w trakcie jego projektowania główny nacisk położono na bezpieczeństwo. Podczas mapowania adresów wykorzystuje on infrastrukturę klucza publicznego serwerów oraz odpowiednie certyfikaty 24 HAKIN9 5/2010 potwierdzające autentyczność odpowiedzi. Jest to oczywiście bardzo bezpieczne rozwiązanie, posiadające jednak pewną istotną wadę – nie jest kompatybilne ze starszą wersją DNS. Wymaga, aby wszystkie serwery DNS w Internecie korzystały z DNSSEC, co oczywiście znacznie utrudni szybkie jego upowszechnienie. Bardzo ważnym krokiem, poczynionym przez twórców BIND-a, było zaimplementowanie obsługi DNSSEC w najnowszej wersji ich oprogramowania. Oznacza to, że poszczególne serwery DNS mogą pracować jednocześnie ze starszą i nowszą wersją protokołu. Na pewno przyspieszy to upowszechnienie się DNSSEC, jednak stopień skomplikowania konfiguracji potrzebnej do prawidłowego działania nowego protokołu nie wróży mu w najbliższej przyszłości lawinowego przypływu nowych użytkowników. Wielorakość usług świadczonych w Internecie uniemożliwia sporządzenie szczegółowego wykazu wszystkich sytuacji, w których bierne korzystanie z protokołu DNS jest niebezpieczne. Są też niestety usługi, które do swojego działania wymagają DNS-u, nie może więc próbować obejść tego i wpisywać np. bezpośrednio adresu IP. W takim przypadku nie ma oczywiście możliwości rezygnacji z tego protokołu. Jednym z najważniejszych przykładów jest tu usługa poczty internetowej, która swoje działanie opiera w dużym stopniu na DNS. Jeśli mówimy o DdoS, to nie ma takiego łącza, którego nie da się zapchać ruchem – ataki powyżej 20 GB/s czy 20 mln pakietów na sekundę już się zdarzają. W świecie połączeń internetowych o przepływnościach 2, 10, 34, 100, 155, 622 czy nawet 1000 MB/s taka wartość robi wrażenie. Dostawcy usług oraz dostawcy sprzętu tworzą filtry ruchowe. Wydzielają adresację IP urządzeń przenoszących ruch. Pozwala to na łatwe odfiltrowanie na brzegu własnej sieci ruchu kierowanego do urządzeń sieciowych, a tzw. tranzytowego do lub z hostów wewnątrz sieci. Realizuje się to, wydzielając interfejsy osobno do ruchu zewnętrznego i wewnętrznego. Kolejny krok to MPLS do ukrycia własnej sieci przed zewnętrznymi atakami z Internetu i przenoszenie ruchu w sposób niepozwalający na odkrycie wewnętrznej struktury połączeń. Wdrażane są też konkretne mechanizmy, jak zalecenia związane z ograniczaniem ruchu do serwerów głównych systemu DNS i nakłanianiu albo przekierowywaniu zapytań do serwerów własnych. By stwierdzić i zatrzymać atak DdoS, warto obserwować ruch sieciowy na interfejsach urządzeń. Obciążenia procesorów sprawdzimy za pomocą protokołu SNMP. Przydatne są wszelkie urządzenia IPS (Intruder Prevention System) znanych firm specjalizujących się w zabezpieczaniu ruchu sieciowego. Są tam wdrożone algorytmy i dzięki temu urządzenia te są w stanie wykryć anomalie. Dodatkowo wszelkie zmiany używanych standardowych portów na inne są również skuteczne. Dla przykładu DNS jednej z popularnych przeglądarek nie używa standardowego numeru portu odpowiedzi 53 (UDP), lecz dla każdego zapytania losuje inny numer portu (używając 15 bitów, które pozwalają na wykorzystanie około 32 000 losowych numerów portów). System radzi sobie też z usuwaniem zduplikowanych zapytań, nie pozwalając na więcej niż jedno żądanie dla tej samej nazwy, typu oraz docelowego IP. Podsumowanie Zawsze należy systemy informatyczne łatać i aktualizować by były zabezpieczone oraz kierować się także zdrowym rozsądkiem, szczególnie w przypadku wszelkich operacji dokonywanych w Internecie. Pamiętajmy, że w Internecie nie jesteśmy anonimowi, wszelkie działania elektroniczne są rejestrowane. Paweł Baszkowski Właściciel i założyciel IT Studio, inżynier informatyk z wieloletnim doświadczeniem w branży IT. Zarzadzał i zarządza sieciami i telekomunikacją (m.in. w logistyce, bankach, automatyce przemysłowej). Kierowal i uczestniczył w wielu wdrożeniach i projektach informatycznych. Jest absolwentem MBA, uwielbia pracę techniczną. Kontakt z autorem: [email protected], (www.it-studio.pl ).