Światowa pajęczyna wcale nie jest bezpiecznym miejscem. Lista zagrożeń jest długa i stale rośnie. Obok takich niebezpieczeństw jak wirusy czy włamania do systemów coraz powszechniejsze stają się ostatnio ataki blokujące dostęp do zasobów i usług sieciowych.
Ataki typu odmowa usługi (ang. Denial of Service, DoS) są skierowane przeciwko sieciom i systemom komputerowym. Ich celem jest uniemożliwienie firmie lub organizacji dostarczania usług swoim użytkownikom i klientom. Serwery WWW przestają udostępniać strony, serwery pocztowe nie odbierają i nie wysyłają wiadomości, a zablokowane rutery odcinają dostęp do Internetu.
Użytkownicy domowi oraz biurowi generalnie nie są zagrożeni, chociaż ich komputery mogą zostać wykorzystane do przeprowadzenia ataku. Do ofiar ataków DoS można zaliczyć także klientów zaatakowanych serwisów, którzy nie mogą korzystać z zablokowanych usług.
Rozróżniamy ataki destrukcyjne oraz ataki obniżające sprawność systemu. Celem ataku destrukcyjnego jest całkowite odcięcie klientów od atakowanego serwisu. W przypadku ataków obniżających poziom konsumowana jest tylko pewna część zasobów ofiary.
Ataki DoS można również podzielić na skierowane przeciwko sieci oraz przeciwko systemom komputerowym. Ataki z pierwszej kategorii wykorzystują słabość ofiary wynikającą z ograniczonej przepustowości połączenia z Internetem. Łącza poszkodowanego są zalewane dużą ilością danych, przez co właściwa komunikacja zostaje bardzo utrudniona lub jest w ogóle niemożliwa.
W przypadku ataku skierowanego przeciwko systemowi, agresor może mieć na celu całkowite unieruchomienie serwera bądź też zablokowanie jednej z jego usług. Innym sposobem ataku na system komputerowy jest zajęcie jego zasobów. Ponieważ każdy komputer ma ograniczoną ilość zasobów potrzebnych do działania (pamięć operacyjną, moc obliczeniową procesora, przestrzeń dyskową itp.), atakujący może podjąć działania zmierzające do ich wyczerpania.
Ataki DoS mogą być przeprowadzane ze stałym lub zmiennym natężeniem. W większości przypadków mamy do czynienia ze stałym poziomem natężenia, kiedy to atakujący przez cały czas generuje ruch pakietów z maksymalną siłą. Taki atak z jednej strony bardzo szybko blokuje dostęp do usługi, z drugiej jest natychmiast wykrywany.
Ataki zmienne są trudniejsze do rozpoznania, ponieważ natężenie zmienia się przez cały okres ich trwania. Jeśli siła ataku zwiększa się powoli, prowadzi to do stopniowego wyczerpywania zasobów ofiary. W efekcie zagrożenie może zostać wykryte dopiero po dłuższym czasie.
Ataki pojedyncze
Pierwsze ataki typu DoS były atakami pojedynczymi (point-to-point), w których komunikacja przebiegała bezpośrednio pomiędzy komputerem atakującego a maszyną ofiary. Do tej grupy należy flooding, który polega na zalewaniu ofiary dużą ilością pakietów, co prowadzi do zapchania łącza. Celem ataku typu flood może stać się również serwer IRC. Podczas ataku IRC Flood wybrany kanał IRC jest zalewany dużą ilością tekstu, co znacznie utrudnia rozmowę prowadzoną przez użytkowników kanału.
Jednym z pierwszych ataków DoS był SYN Flood, który polega na zalewaniu ofiary dużą ilością pakietów inicjujących połączenie. Serwer odpowiada na taki strumień odpowiednimi pakietami, jednak nie otrzymuje od klienta potwierdzenia. Okres przez jaki serwer będzie próbował skontaktować się z klientem różni się w zależności od systemu operacyjnego i może dochodzić do kilku minut.
W tym czasie połączenie jest w połowie otwarte, a po wygaśnięciu limitu czasu zostaje zamknięte. Każdemu częściowo otwartemu połączeniu zostaje przydzielony w pamięci operacyjnej bufor przechowujący przychodzące pakiety oraz numer IP i port źródłowy klienta. Celem ataku SYN Flood jest zajęcie wszystkich dostępnych slotów, w wyniku czego system przestaje akceptować przychodzące połączenia.
Aby wyeliminować niebezpieczeństwo ataku, należy dokonać zmiany w obsłudze nawiązywania połączenia TCP. Jednym z takich rozwiązań jest SYN Cookies. Metoda ta polega na tym, że do każdego pakietu wysyłanego przez serwer zostaje dołączona informacja (cookie), która następnie wraca do serwera wraz z odpowiedzią klienta. Ponieważ cookie zawiera wszystkie dane potrzebne do odtworzenia połączenia, serwer nie musi przechowywać informacji na temat niekompletnych połączeń.
Inne rozwiązanie to SYN Defender. W tym przypadku, kiedy serwer wyśle pakiet do klienta, chroniący go firewall sam wygeneruje odpowiedź. Trzecią powszechnie stosowaną techniką obrony jest SYN Proxy. Metoda ta opiera się na buforowaniu przez zaporę ogniową całego procesu nawiązywania połączenia. Po otrzymaniu ostatecznej odpowiedzi od klienta firewall \”powtarza\” sekwencję nawiązywania połączenia z serwerem.
Ping of Death jest atakiem, który wykorzystuje błędną obsługę protokołu IP przez system operacyjny. Podczas ataku do ofiary jest wysyłany pofragmentowany pakiet IP. Poszczególne fragmenty zostają tak spreparowane, aby po ich złożeniu przez odbiorcę powstał pakiet o długości przekraczającej maksymalny rozmiar pakietów IP.
Odebranie takich nieprawidłowych danych często powodowało zawieszenie się lub restart serwera. Obecnie w większości systemów operacyjnych poprawiono obsługę defragmentacji pakietów, przez co ataki tego typu nie stanowią już zagrożenia.
Innym atakiem wykorzystującym problemy ze składaniem nieprawidłowych fragmentów danych przez system operacyjny jest Teardrop. Stosując tę technikę atakujący generuje pofragmentowany pakiet IP w ten sposób, aby poszczególne jego części nachodziły na siebie. Podobnie jak w przypadku Ping of Death, zmiana w algorytmie składania pakietów wyeliminowała zagrożenie ze strony ataków tego typu.
IP Spoofing
Adres źródłowy pakietu przesyłanego przez Internet jest normalnie adresem komputera, z którego wysłano dane. Jednak użytkownik, który kontroluje system, może wymusić zastąpienie prawdziwego adresu innym. Fałszowanie adresu nadawcy jest określane jako IP Spoofing i służy ukryciu prawdziwego źródła ataku.
Podstawową metodą obrony przed techniką IP Spoofing jest uniemożliwienie wysyłania pakietów z nieprawdziwymi adresami IP. Taka funkcja może być jednak realizowana tylko w sieci, z której wysyłane są pakiety. Niestety, wielu administratorów nie filtruje wychodzących z ich sieci danych pod kątem fałszywych adresów źródłowych.
Opracowano również techniki służące lokalizacji atakującego pomimo sfałszowania adresu. Jedna z nich polega na tym, że rutery znajdujące się na trasie pakietów dołączają do nich mocno skompresowaną informację, która pozwoli odbiorcy określić trasę przebytą przez pakiet. Inne rozwiązanie polega na wysyłaniu przez każdy ruter wiadomości ICMP do adresata pakietów, które właśnie przesłał.
Zmieniony adres źródłowy może zostać również wykorzystany do stworzenia pętli komunikacyjnej. Przykładem może być atak Land, będący odmianą SYN Flood. W tym przypadku pakiety SYN wysyłane przez atakującego mają identyczny adres nadawcy i odbiorcy, który jest jednocześnie adresem ofiary. W efekcie atakowana maszyna próbuje nawiązać połączenie z samą sobą, co prowadzi do powstania nieskończonej pętli i blokady stosu TCP.
Efektem ataku Land było zazwyczaj zawieszenie się systemu operacyjnego. Obecnie nie stanowi już zagrożenia, ponieważ w najnowszych wersjach systemów operacyjnych poprawiono implementację stosu TCP, a ponadto atak tego typu może być skutecznie blokowany za pomocą zapór ogniowych.
Ataki ze wzmacniaczami
Najczęstszym problemem z jakim styka się intruz, który chce przeprowadzić atak DoS, jest zbyt mała przepustowość posiadanego łącza z Internetem w porównaniu z łączem atakowanego. Rozwiązaniem tego problemu może być wykorzystanie innych komputerów do wzmocnienia (powielenia) ataku. Jako powielacza można użyć jednej maszyny, jak również całej sieci.
Jednym z ataków stosujących efekt wzmocnienia jest Smurf, który wykorzystuje sieć komputerową do zwielokrotnienia transmisji pakietów. Atak Smurf polega na tym, że na adres rozgłoszeniowy wybranej sieci zostaje wysłana duża liczba pakietów ICMP echo request, w których jako adres źródłowy podano adres atakowanego komputera. Każda z maszyn w sieci odpowiada na to żądanie, wysyłając na adres ofiary komunikat ICMP echo reply.
W efekcie komputer będący celem ataku jest zalewany pakietami zwielokrotnionymi tyle razy, ile komputerów odpowiedziało na komunikat. Podstawową metodą uniemożliwiającą przeprowadzenie ataku Smurf jest ignorowanie przez ruter brzegowy (łączący sieć z resztą Internetu) żądań ICMP echo wysyłanych na adres rozgłoszeniowy sieci.
Jako powielacze mogą być również użyte serwisy działające na bazie protokołu UDP. W tym celu najczęściej korzysta się z usługi chargen. Chargen (Character Generator) jest to serwis, który w odpowiedzi na dowolny pakiet wysłany na port 19 generuje wiadomość zawierającą ciąg znaków o losowej długości. Ataki z wykorzystaniem tej usługi mogą przybierać dwie formy.
W pierwszym przypadku atakujący wysyła na port chargen pakiety UDP o jak najmniejszej wielkości. W odpowiedzi serwer wysyła do ofiary pakiety zawierające dane o długości od 0 do 512 znaków.
Drugi rodzaj ataku wymaga znalezienia dwóch komputerów z działającą usługą chargen. Agresor wysyła na adres pierwszej ofiary pakiet UDP, podając jako nadawcę drugą maszynę. Komputer odpowiada na pakiet UDP, wysyłając ciąg znaków na port chargen drugiego serwera. Ten z kolei także generuje odpowiedź, co prowadzi do powstania nieskończonej pętli, która pochłania całą przepustowość łącza pomiędzy zaatakowanymi maszynami. Aby uniemożliwić przeprowadzenie ataku z wykorzystaniem serwisu Chargen, wystarczy wyłączyć tę usługę na serwerze.
DDoS
Mimo zastosowania wzmacniaczy agresor może nie uzyskać wystarczającej siły potrzebnej do przeprowadzenia skutecznego ataku DoS. Już samo znalezienie odpowiedniej liczby komputerów umożliwiających wzmocnienie strumienia pakietów może być dość trudne. Siłę dowolnego ataku DoS (pojedynczego lub powielonego) można jednak wielokrotnie zwiększyć, jeśli zostanie on przeprowadzony jednocześnie z wielu maszyn. Taki atak, mogący wykorzystywać nawet tysiące komputerów, nosi miano DDoS – rozproszonego ataku DoS (Distributed Denial of Service).
W celu przeprowadzania ataku DDoS hakerzy włamują się do komputerów podłączonych do Internetu, a następnie przejmują nad nimi kontrolę. Proces ten jest określany jako tworzenie sieci DDoS i przebiega w kilku etapach.
Budowa sieci rozpoczyna się z komputera atakującego (klienta), który skanuje Internet w poszukiwaniu odpowiedniej liczby słabo zabezpieczonych maszyn. Haker wykorzystuje błędy w konfiguracji oraz znane powszechnie dziury w bezpieczeństwie systemów, aby się do nich włamać. Po przejęciu kontroli nad maszyną atakujący instaluje program przekształcający system w węzeł sieci DDoS. Węzeł prowadzi dalsze poszukiwania dających się przejąć maszyn, na których instaluje moduł agenta, który będzie przeprowadzać właściwy atak DoS.
Ponieważ proces pozyskiwania agentów odbywa się automatycznie, atakujący jest w stanie stworzyć w ciągu godziny sieć DDoS składającą się z kilku tysięcy maszyn. Gotowa sieć tworzy hierarchiczną strukturę, w której klient kontroluje pewną liczbą węzłów, a te z kolei zarządzają podległymi im agentami.
Atak rozpoczyna się z komputera klienta, który wysyła odpowiedni rozkaz do węzłów. Te z kolei przesyłają go dalej do agentów, którzy przeprowadzają wybrany typ ataku DoS. Agresor wysyłając sygnał do ataku podaje godzinę jego rozpoczęcia, czas trwania, cel oraz technikę ataku.
Sieć DDoS zapewnia swojemu twórcy wysoki poziom bezpieczeństwa. Ponieważ intruz włamuje się bezpośrednio tylko do kilku komputerów, a następne maszyny są już przejmowane automatycznie przez wcześniej zarażone komputery, spada ryzyko, że haker zostanie wykryty podczas tworzenia sieci DDoS. Również podczas ataku komputer agresora pozostaje anonimowy, gdyż nie występuje przeciwko atakowanemu serwerowi bezpośrednio.
Najsłynniejsza seria ataków DDoS miała miejsce w lutym 2000 r. Jako pierwszy został zaatakowany serwis Yahoo. W efekcie zalewu strumieniem pakietów o wielkości 1 GB serwis był niedostępny przez 3 godziny. Następnego dnia celem ataków stały się serwisy CNN.com, eBay.com, Buy.com oraz Amazon.com. Każdy z tych ataków trwał od jednej do czterech godzin. Z kolei 9 lutego zaatakowano serwery należące do ETrade oraz ZDNet. Sprawcą ataków okazał się 16-letni uczeń z Kanady o pseudonimie Mafiaboy.
Konsekwencje prawne ataków DoS
W USA ataki DoS, zgodnie z ustawą \”National Information Infrastructure Protection Act\” z 1996 r., są przestępstwem federalnym zagrożonym karą od 5 do 10 lat więzienia oraz grzywną w wysokości 250 tys. USD. Z kolei w Wielkiej Brytanii sprawców ataków Denial of Service pozwala pociągnąć do odpowiedzialności znowelizowana w 2002 roku ustawa \”Computer Misuse Act\”. W polskim prawie odpowiedzialność karną osób przeprowadzających ataki DoS regulują trzy artykuły Kodeksu Karnego:
Art. 268 [Niszczenie informacji]
§ 1. Kto, nie będąc do tego uprawnionym, niszczy, uszkadza, usuwa lub zmienia zapis istotnej informacji albo w inny sposób udaremnia lub znacznie utrudnia osobie uprawnionej zapoznanie się z nią, podlega grzywnie, karze ograniczenia wolności albo pozbawienia wolności do lat 2.
§ 2. Jeżeli czyn określony w § 1 dotyczy zapisu na komputerowym nośniku informacji, sprawca podlega karze pozbawienia wolności do lat 3.
§ 3. Kto, dopuszczając się czynu określonego w § 1 lub 2, wyrządza znaczną szkodę majątkową, podlega karze pozbawienia wolności od 3 miesięcy do lat 5.
§ 4. Ściganie przestępstwa określonego w § 1-3 następuje na wniosek pokrzywdzonego.
Art. 269 [Sabotaż komputerowy]
§ 1. Kto na komputerowym nośniku informacji niszczy, uszkadza, usuwa lub zmienia zapis o szczególnym znaczeniu dla obronności kraju, bezpieczeństwa w komunikacji, funkcjonowania administracji rządowej, innego organu państwowego lub administracji samorządowej albo zakłóca lub uniemożliwia automatyczne gromadzenie lub przekazywanie takich informacji, podlega karze pozbawienia wolności od 6 miesięcy do lat 8.
§ 2. Tej samej karze podlega, kto dopuszcza się czynu określonego w § 1, niszcząc albo wymieniając nośnik informacji lub niszcząc albo uszkadzając urządzenie służące automatycznemu przetwarzaniu, gromadzeniu lub przesyłaniu informacji.
Art. 287 [Oszustwo komputerowe]
§ 1. Kto, w celu osiągnięcia korzyści majątkowej lub wyrządzenia innej osobie szkody, bez upoważnienia wpływa na automatyczne przetwarzanie, gromadzenie lub przesyłanie informacji lub zmienia, usuwa albo wprowadza nowy zapis na komputerowym nośniku informacji, podlega karze pozbawienia wolności od 3 miesięcy do lat 5.
§ 2. W wypadku mniejszej wagi sprawca podlega grzywnie, karze ograniczenia wolności albo pozbawienia wolności do roku.
§ 3. Jeżeli oszustwo popełniono na szkodę osoby najbliższej, ściganie następuje na wniosek pokrzywdzonego.
Zakończenie
Chociaż ataki Denial of Service nie prowadzą do uzyskania przez intruza dostępu do systemu, jak również nie powodują utraty lub kradzieży danych, mogą w znacznym stopniu ograniczyć lub nawet całkowicie zablokować zdolność organizacji do prowadzenia działalności w Internecie. Brak możliwości świadczenia usług może kosztować firmę sporo czasu i pieniędzy. Atak DoS może też prowadzić do utraty klientów, którzy zniechęceni przedłużającą się niemożliwością skorzystania z serwisu pójdą gdzie indziej.
Największe niebezpieczeństwo stanowią rozproszone ataki DoS, które potrafią zablokować serwisy dysponujące bardzo wydajnymi łączami z Internetem. Szacuje się, że miesięcznie przeprowadza się ok. 15 tys. ataków tego typu.
Narzędzia przeznaczone do tworzenia sieci DDoS są obecnie powszechnie dostępne i pozwalają osobom posiadającym podstawową wiedzę z zakresu komputerów na przeprowadzenie zmasowanych ataków na największe serwisy internetowe. Aby móc skutecznie chronić się przed tym zagrożeniem, nie wystarczy już stosowanie zabezpieczeń na poziomie pojedynczej sieci, lecz trzeba wprowadzić odpowiednie rozwiązania w skali całego Internetu.