Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

Biznes botnetowy


Vitaly Kamluk
Starszy analityk wirusów, Kaspersky Lab

W artykule omówiono sieci zombie lub botnety: jak są tworzone, kto ich używa w celu zarabiania pieniędzy i w jaki sposób. Informacje o najnowszych trendach w ewolucji botnetów przeznaczone są dla użytkowników, którzy posiadają już pewną wiedzę na ten temat.

Jest to pierwszy z serii artykułów dotyczących botnetów.

Botnety istnieją już od mniej więcej 10 lat; również od około dekady eksperci ostrzegają o zagrożeniu z ich strony. Mimo to skala problemu, jaki stanowią botnety, nadal jest lekceważona i wielu użytkowników tak naprawdę nie zdaje sobie sprawy z rzeczywistego zagrożenia stwarzanego przez sieci zombie (tzn. do czasu gdy zostaną odłączeni przez swojego dostawcę usług internetowych od Internetu, z ich kart kredytowych zostaną skradzione pieniądze lub ktoś porwie ich konto komunikatora internetowego lub poczty elektronicznej).

Co to jest botnet?

Na początek należy wyjaśnić, czym jest botnet lub sieć zombie.

Botnet to sieć komputerów złożona z maszyn zainfekowanych szkodliwym backdoorem. Backdoor umożliwia cyberprzestępcom zdalną kontrolę nad zainfekowanymi komputerami (może to oznaczać kontrolowanie pojedynczej maszyny, niektórych komputerów tworzących sieć lub całą sieć).

Botami nazywamy szkodliwe backdoory stworzone po to, aby mogły zostać użyte do budowania botnetów.

Botnety posiadają potężną moc obliczeniową. Stanowią potężną cyberbroń i skuteczne narzędzie do nielegalnego zarabiania pieniędzy. Właściciel botnetu może kontrolować komputery tworzące sieć z dowolnego miejsca na świecie - z innego miasta, państwa, a nawet kontynentu. Internet jest skonstruowany w taki sposób, że możliwe jest kontrolowanie botnetu anonimowo.

Komputery zainfekowane botem mogą być kontrolowane bezpośrednio albo pośrednio. W przypadku pośredniej kontroli, cyberprzestępca ustanawia połączenie z zainfekowaną maszyną i zarządza nią za pomocą wbudowanych do programu bota poleceń. W przypadku bezpośredniej kontroli, bot łączy się z centrum kontroli lub z innymi maszynami w sieci, wysyła żądanie, a następnie wykonuje zwrócone polecenie.

Właściciel zainfekowanej maszyny zwykle nawet nie podejrzewa, że komputer jest wykorzystywany przez cyberprzestępców. To dlatego komputery zainfekowane botem i potajemnie kontrolowane przez cyberprzestępców nazywane są również zombie. Sieci złożone z zainfekowanych maszyn określane są jako sieci zombie. Większość maszyn zombie to komputery PC użytkowników domowych.

W jaki sposób wykorzystywane są botnety?

Botnety mogą być wykorzystywane przez cyberprzestępców do przeprowadzania szeregu różnych działań przestępczych, od wysyłania spamu do atakowania sieci rządowych.

Wysyłanie spamu. Jest to najpowszechniejszy, a zarazem najprostszy sposób wykorzystywania botnetów. Eksperci szacują, że ponad 80% spamu wysyłają komputery zombie. Należy zauważyć, że spam nie zawsze jest wysyłany przez właścicieli botnetów: spamerzy często wypożyczają botnety.

Spamerzy znają prawdziwą wartość botnetów. Według naszych danych, przeciętny spamer zarabia 50 000 - 100 000 dolarów rocznie. Botnety złożone z tysięcy komputerów pozwalają spamerom w ciągu bardzo krótkiego czasu wysłać z zainfekowanych maszyn miliony wiadomości. Oprócz prędkości i ilości spamu, jaki może zostać wysłany, botnety dają spamerom jeszcze jedną korzyść. Adresy wykorzystywane do wysyłania spamu często zamieszczane są na czarnych listach, a wiadomości przychodzące z tych adresów są blokowane lub automatycznie oflagowywane przez serwery pocztowe jako spam. Jednak spamerzy mogą obejść ten problem wysyłając spam z setek tysięcy adresów e-mail ("pożyczonych" od właścicieli maszyn zombie).

Kolejną korzyścią, jaką dają botnety spamerom, jest możliwość przechwycenia adresów e-mail z zainfekowanych komputerów. Skradzione adresy są sprzedawane spamerom lub wykorzystywane przez właścicieli botnetów do rozsyłania spamu. Rosnący botnet będzie dodawał coraz więcej nowych adresów do swojego zbioru.

Szantaż. Drugą pod względem popularności metodą zarabiania pieniędzy za pośrednictwem botnetów jest wykorzystywanie dziesiątek lub nawet setek tysięcy komputerów do przeprowadzania ataków DDoS (Distributed Denial of Service). Polega to na wysyłaniu strumienia fałszywych żądań z maszyn zainfekowanych botem na atakowany serwer sieciowy. W rezultacie, serwer zostanie przeciążony i będzie niedostępny. W zamian za powstrzymania ataku cyberprzestępcy żądają zwykle pieniędzy od właściciela serwera.

Obecnie wiele firm pracuje wyłącznie z wykorzystaniem Internetu. Wyłączone serwery powodują przestoje w biznesie, przynosząc straty finansowe. Aby możliwe najszybciej przywrócić stabilność serwerom, takie firmy będą wolały ulec szantażowi niż poprosić o pomoc policję. Dokładnie na to liczą cyberprzestępcy. Z tego powodu również ataki DDoS stają się coraz bardziej rozpowszechnione.

Ataki DDoS mogą być również wykorzystywane jako narzędzie polityczne. Celem tych ataków są zwykle serwery organizacji rządowych. Są one szczególnie niebezpieczne, ponieważ mogą być wykorzystywane do prowokacji. Cyberatak na jedno państwo przeprowadzany jest z serwerów zlokalizowanych w drugim państwie, natomiast kontrolowany jest z trzeciego państwa.

Anonimowy dostęp do Internetu. Przy pomocy maszyn zombie cyberprzestępcy mogą uzyskać dostęp do serwerów sieciowych i popełniać takie cyberprzestępstwa, jak włamania na strony internetowe lub przelewanie skradzionych pieniędzy.

Sprzedaż i wydzierżawianie botnetów. Jedną z możliwości nielegalnego zarabiania pieniędzy na botnetach jest wydzierżawianie ich lub sprzedawanie całych sieci. Tworzenie botnetów na sprzedaż to również lukratywny nielegalny biznes.

Phishing. Adresy stron phishingowych często trafiają na czarne listy natychmiast po pojawieniu się. Za pomocą botnetu phisherzy mogą często zmieniać adresy stron phishingowych, wykorzystując zainfekowane komputery jako serwery proxy. W ten sposób mogą ukrywać prawdziwy adres serwera sieciowego.

Kradzież poufnych danych. Ten rodzaj przestępczości prawdopodobnie nigdy nie przestanie być atrakcyjny dla cyberprzestępców. Botnety mogą tysiąckrotnie zwiększyć kolekcję haseł (hasła do kont poczty elektronicznej i ICQ, zasobów FTP, serwisów sieciowych itd.) i innych poufnych danych użytkownika. Bot wykorzystywany do tworzenia sieci zombie może pobierać inny szkodliwy program, na przykład trojana kradnącego hasła, i infekować nim wszystkie komputery w botnecie, dostarczając cyberprzestępcom hasła zebrane ze wszystkich zainfekowanych komputerów. Skradzione hasła są sprzedawane lub wykorzystywane do masowych infekcji stron internetowych (w przypadku haseł do konta FTP) w celu dalszego rozprzestrzeniania programu bota i powiększania sieci zombie.

Polecenia botów

Boty mogą wykonywać szereg różnych poleceń, z których najpowszechniejsze zostały wymienione poniżej. Nazwy poleceń mogą różnić się w zależności od implementacji bota, jednak funkcje, jakie wykonują, są takie same.

Aktualizacja: pobierz i uruchom wyznaczony plik wykonywalny lub moduł z określonego serwera. Jest to podstawowe polecenie, pierwsze, które jest wykonywane. Służy do aktualizacji pliku wykonywalnego bota na polecenie właściciela sieci zombie, w przypadku gdy chce on zainstalować na komputerze nową wersję bota. Przy pomocy tego polecenia można w tym samym czasie zainstalować trojany kradnące hasła na wszystkich komputerach tworzących botnet w celu znalezienia wszystkich haseł, które kiedykolwiek zostały wprowadzone do każdego z komputerów i są przechowywane w pamięci. Hasła zostaną wysłane na serwer za pośrednictwem Internetu.

Przepełnienie: rozpocznij tworzenie strumienia fałszywych żądań do określonego serwera internetowego w celu spowodowania jego awarii lub przeciążenia kanałów w określonym segmencie Internetu. Strumienie te mogą spowodować niewłaściwe działanie serwerów, sprawiając, że będą one niedostępne dla zwykłych użytkowników. Tego typu ataki z wykorzystaniem botnetów określane są jako ataki DDoS (distributed denial of service). Istnieje wiele metod wykorzystywanych do tworzenia fałszywych żądań sieciowych, jednak ich szczegółowy opis leży poza zakresem tego artykułu.

Spam: pobierz szablon wiadomości spamowej i zacznij wysyłać spam na wyznaczone adresy (każdemu botowi przydzielany jest zestaw adresów).

Proxy: wykorzystuj komputer jako serwer proxy. Funkcja ta często nie jest implementowana jako oddzielne polecenie, ale wchodzi w zakres podstawowej funkcjonalności botów. Z jej pomocą komputer, który stanowi część botnetu, można wykorzystać jako serwer proxy w celu ukrycia prawdziwego adresu cyberprzestępcy kontrolującego botnet.

Inne plecenia - mniej popularne niż te opisane wyżej - implementowane są tylko w pewnej części botów. Te dodatkowe polecenia, łącznie z wykonywaniem zrzutów ekranu, rejestrowaniem uderzeń klawiszy, żądaniem pliku dziennika aktywności sieciowej użytkownika (wykorzystywanego do kradzieży kont i poufnych danych), wysyłaniem tego pliku z komputera użytkownika, identyfikowaniem numeru seryjnego oprogramowania zainstalowanego na komputerze użytkownika, uzyskiwaniem szczegółowych informacji o systemie użytkownika oraz otoczeniu sieciowym, żądaniem listy komputerów wchodzących w skład botnetu itd.

Typy botnetów

Obecnie klasyfikacja botnetów jest stosunkowo prosta i opiera się na architekturze botnetów wykorzystywanych przez protokoły do kontrolowania botów.

Klasyfikacja botnetów ze względu na architekturę

Obecnie istnieją tylko dwa znane typy architektury botnetów.

  1. Scentralizowane botnety. W tego typu botnecie wszystkie komputery są podłączone do jednego centrum kontroli, zwanego C&C. C&C czeka na połączenie się nowych botów, rejestruje je w swojej bazie danych, śledzi ich status i wysyła im polecenia wybrane przez właściciela botnetu (Master) z listy poleceń bota. Wszystkie komputery zombie w botnecie są widoczne dla C&C. W celu zarządzania scentralizowanym botnetem właściciel sieci zombie musi mieć dostęp do centrum kontroli.

    vk_bb_0508_pic01.png

    Rysunek 1. Scentralizowana topologia (C&C)

    Scentralizowane botnety stanowią najbardziej rozpowszechniony typ sieci zombie. Takie botnety są łatwiejsze w tworzeniu, łatwiejsze w zarządzaniu i znacznie szybciej odpowiadają na polecenia. Z drugiej strony, scentralizowane botnety można łatwiej zwalczać, ponieważ wystarczy rozbroić C&C, aby zneutralizować całą sieć zombie.

  2. Zdecentralizowane botnety lub botnety P2P (peer-to-peer). W zdecentralizowanym botnecie boty łączą się nie z centrum kontroli, a z kilkoma zainfekowanymi maszynami w sieci botów. Polecenia są przekazywane z botu do botu: każdy bot posiada listę kilku "sąsiadów" i po otrzymaniu od jednego z nich dowolnego polecenie wysyła je innym. W ten sposób polecenie zostanie rozprzestrzenione w całej sieci zombie. W takim przypadku, aby móc kontrolować cały botnet, cyberprzestępca musi posiadać dostęp do co najmniej jednego komputera w sieci zombie.

    vk_bb_0508_pic02.png

    Rysunek 2. Zdecentralizowana topologia (P2P)

    W praktyce tworzenie zdecentralizowanych botnetów nie jest łatwe, ponieważ każdemu nowo zainfekowanemu komputerowi należy dostarczyć listę botów, z którymi połączy się w sieci zombie. O wiele łatwiej jest skierować najpierw bota do centralnego serwera, gdzie otrzyma listę "sąsiednich" botów, a dopiero później przełączyć go na połączenia P2P. Tę mieszaną topologię również kategoryzujemy jako P2P, mimo że na pewnym etapie boty będą wykorzystywały C&C. Zwalczanie zdecentralizowanych botnetów jest znacznie trudniejsze niż zwalczanie scentralizowanych sieci, ponieważ aktywny botnet P2P nie posiada żadnego centrum kontroli.

Klasyfikacja botnetów ze względu na protokoły sieciowe

Aby właściciel botnetu mógł wysyłać polecenia do botu, niezbędne jest ustanowienie połączenia sieciowego pomiędzy maszyną zombie a komputerem przekazującym jej polecenia. Wszystkie połączenia sieciowe opierają się na protokołach, które określają reguły interakcji pomiędzy komputerami w sieci. Z tego względu można sklasyfikować botnety na podstawie wykorzystywanych protokołów sieciowych.

Ze względu na protokoły sieciowe wyróżnia się następujące klasy botnetów:

  1. Zorientowane na IRC. Jest to jeden z pierwszych typów botnetów: na początku boty były kontrolowane za pomocą kanałów IRC (Internet Relay Chat). Każdy zainfekowany komputer łączył się z serwerem IRC wskazanym w ciele tego bota i czekał na polecenia od osoby, która go kontrolowała, na określonym kanale.
  2. Zorientowane na IM. Ten typ botnetu nie jest szczególnie rozpowszechniony. Od botnetów zorientowanych na IRC różni się tylko tym, że wykorzystuje kanały komunikacyjne zapewniane przez usługi IM (komunikatory internetowe) takie jak AOL, MSN, ICQ itd. Stosunkowo niewielka popularność takich botnetów wynika z tego, że trudno jest stworzyć indywidualne konta IM dla każdego botu. Boty powinny być połączone z siecią i pozostawać przez cały czas online. Ponieważ większość usług IM nie zezwala na logowanie się do systemu z więcej niż jednego komputera przy użyciu tego samego konta, każdy bot musi posiadać własne konto IM. Jednak serwisy IM próbują uniemożliwiać wszelką automatyczną rejestrację kont. W rezultacie właściciele botnetów zorientowanych na IM mają do swojej dyspozycji jedynie ograniczoną liczbę zarejestrowanych kont IM, co zmniejsza liczbę botów, które w danym czasie mogą być online. Naturalnie właściciele botnetów mogą tak to zorganizować, żeby różne boty posiadały to samo konto, były online w predefiniowanych okresach czasu, wysyłały dane na numer właściciela i przez określony czas czekały na odpowiedź, jednak takie podejście jest nieskuteczne - odpowiedź sieci na polecenia kontrolującej ją osoby zajmuje zbyt wiele czasu.
  3. Zorientowane na Sieć WWW. Jest to stosunkowo nowy i szybko rozwijający się typ botnetów, którego celem jest kontrolowanie sieci zombie w całej Sieci WWW. Bot łączy się z predefiniowanym serwerem sieciowym, otrzymuje od niego polecenia i w odpowiedzi przesyła do niego dane. Duża popularność takich sieci zombie wynika z tego, że ich stworzenie jest stosunkowo łatwe, w Internecie istnieje mnóstwo serwerów sieciowych i można wykorzystać interfejs sieciowy w celu łatwego zarządzania.
  4. Inne. Oprócz wymienionych wyżej rodzajów istnieją też inne typy botnetów, które komunikują się za pośrednictwem własnego protokołu opartego tylko na stosie TCP/IP, tj. wykorzystują tylko protokoły warstwy transportowej, takie jak TCP, ICMP oraz UDP.

Ewolucja botnetów

Historia botnetów rozpoczęła się w latach 1998 - 1999, gdy pojawiły się pierwsze backdoory - niesławny NetBus oraz BackOrifice2000. Były to trojany typu "proof-of-concept", tj. programy, które implementowały całkowicie nowe technologie. NetBus i BackOrifice2000 jako pierwsze zawierały pełny zestaw funkcji, które umożliwiają zdalne zarządzanie zainfekowanymi komputerami, pozwalając cyberprzestępcom na wykonanie operacji plikowych na zdalnych maszynach, uruchomienie nowych programów, wykonanie zrzutów ekranu, otwieranie lub zamykanie napędów CD-ROM itd.

Backdoory, które są programami trojańskimi, zostały stworzone w celu wykonywania swoich funkcji bez wiedzy czy zgody użytkownika. W celu kontrolowania zainfekowanej maszyny cyberprzestępca musi ustanowić indywidualne połączenie z każdą zainfekowaną maszyną. Pierwsze backdoory działały w lokalnych sieciach w oparciu o stos protokołów TCP/IP i demonstrowały możliwości wykorzystania Windows API w celu kontrolowania zdalnej maszyny.

Już w pierwszych latach 21. wieku programy klienckie służące do zdalnej administracji potrafiły kontrolować kilka maszyn jednocześnie. Jednak w przeciwieństwie do dzisiejszych backdoorów NetBus i BackOrifice2000 działały jak serwery sieciowe: otwierały predefiniowany port i biernie czekały na połączenie się osoby kontrolującej (dzisiejsze backdoory, które są wykorzystywane do tworzenia botnetów, same ustanawiają połączenie).

Później szkodliwy użytkownik wpadł na pomysł, żeby komputery zainfekowane backdoorem same ustanawiały połączenia i żeby zawsze były widoczne online (pod warunkiem, że maszyna była włączona i działała). Osoba ta z pewnością była hakerem, ponieważ boty nowej generacji wykorzystywały kanał komunikacyjny tradycyjnie używany przez hakerów - IRC (Internet Relay Chat). Rozwój nowych botów ułatwił z pewnością fakt, że boty działające w systemie IRC były typu open source (nawet jeżeli nie zostały stworzone w celu zdalnej administracji, ale w odpowiedzi na żądania użytkownika, takie jak pytania o pogodę czy o to, kiedy inny użytkownik ostatnio pojawił się na czacie).

Podczas infekowania komputera nowe boty łączyły się z serwerami IRC na predefiniowanym kanale IRC jako goście i czekały na wiadomości od właściciela botnetu. Właściciel mógł pojawić się online w dowolnym czasie, przejrzeć listę botów, jednocześnie wysłać polecenia do wszystkich zainfekowanych komputerów lub wysyłać prywatną wiadomość do zainfekowanej maszyny. Był to oryginalny mechanizm implementowania scentralizowanego botnetu, który później określono jako C&C (Command & Control Center).

Tworzenie takich botów nie było trudne, ponieważ protokół IRC posiada prostą składnię. W celu wykorzystywania serwera IRC nie jest wymagany wyspecjalizowany program kliencki - wystarczy uniwersalny klient sieciowy, taki jak Netcat lub Telnet.

Informacje o nowych botnetach IRC rozprzestrzeniały się błyskawicznie. Gdy tylko w magazynach dla hakerów zaczęły pojawiać się artykuły poświęcone takim botnetom, powstała nowa grupa szkodliwych użytkowników: "porywacze" botnetów. Pod względem wiedzy osoby te dorównywały właścicielom botnetów, chciały jednak zarobić szybkie pieniądze. Porywacze szukali kanałów IRC z podejrzanie dużą liczbą odwiedzających, wchodzili na te kanały, badali botnet i "porywali" go. W tym celu przechwytywali kontrolę nad siecią, przekierowywali boty na inne, chronione hasłem kanały IRC i w efekcie przejmowali pełną kontrolę nad czyjąś siecią zainfekowanych maszyn.

Kolejny etap ewolucji botnetów charakteryzował się przeniesieniem centrów kontroli do Sieci WWW. Najpierw hakerzy opracowali narzędzia do zdalnej kontroli serwerów oparte na takich popularnych silnikach skryptowych jak Perl oraz PHP, lub rzadziej ASP, JSP i kilku innych. Następnie powstała metoda, dzięki której komputer znajdujący się w sieci lokalnej mógł połączyć się z serwerem w Internecie; pozwoliło to na kontrolowanie komputera z dowolnego miejsca na świecie. Opisy metody zdalnej kontroli nad komputerami w sieci lokalnej, która pozwalała na obejście takich środków ochrony jak serwery proxy oraz NAT, zostały opublikowane w Internecie, zyskując popularność w pewnych kręgach. Zdalna administracja opierała się na ustanawianiu połączenia HTTP z serwerem administracyjnym przy użyciu ustawień lokalnych komputera klienckiego. Po skonfigurowaniu przez użytkownika adresu, portu, loginu i hasła dla serwera proxy w bibliotece DLL automatycznie aktywował się mechanizm autoryzacji, zapewniając obsługę HTTP (Wininet.dll). Dla programisty było to proste i dostępne rozwiązanie.

Rozwój półlegalnych narzędzi zdalnej administracji, które mogły być wykorzystywane do obchodzenia ochrony zainstalowanej na maszynach w sieciach lokalnych oraz uzyskiwania zdalnego dostępu do takich komputerów, dał początek botnetom zorientowanym na sieć. Nieco później opracowano prosty skrypt służący do kontrolowania niewielkich sieci komputerów, a cyberprzestępcy znaleźli sposób na wykorzystanie takich kontrolowanych sieci do zarabiania pieniędzy.

Botnety zorientowane na sieć okazały się bardzo wygodnym rozwiązaniem, które do dzisiaj cieszy się dużą popularnością. Przy użyciu dowolnego narzędzia z dostępem do Internetu można zarządzać dużą liczbą komputerów, łącznie z telefonem komórkowym obsługującym WAP/GPRS. Nawet dziecko potrafi nauczyć się wykorzystywać interfejs sieciowy. Dalszy rozwój Internetu i ulepszone technologie rozwoju sieci również sprzyjały wykorzystywaniu botnetów zorientowanych na sieć.

Próbowano również stworzyć botnety kontrolowane za pomocą usług IM. Jednak botnety IM nigdy nie stały się szeroko rozpowszechnione, głównie dlatego, że wymagają utworzenia kont IM. Trudno jest automatycznie zarejestrować dużą liczbę kont, ponieważ systemy chroniące przed automatyczną rejestracją są nieustannie modyfikowane.

Nie był to jednak koniec ewolucji botnetów: po wypróbowaniu wszystkich dostępnych protokołów osoby tworzące botnety zainteresowały się architekturą sieciową. Okazało się, że botnety o klasycznej architekturze (tj. z dużą liczbą botów i jednym centrum kontroli) są bardzo podatne na ataki, ponieważ opierają się na krytycznym węźle - centrum kontroli. Po wyłączeniu takiego centrum kontrola nad całą siecią zostanie utracona. Modele oparte na jednoczesnym infekowaniu komputerów różnymi botami połączonymi z różnymi centrami kontroli czasami działają - jednak takie botnety są znacznie trudniejsze w utrzymaniu, ponieważ trzeba jednocześnie kontrolować dwa lub trzy centra C&C.

Według ekspertów, botnety P2P, które nie posiadają centrum kontroli, mogą stać się niezwykle skuteczne i stanowić poważne zagrożenie. Właściciel sieci zombie musi jedynie wysłać polecenie do jednego z komputerów w sieci, a boty automatycznie roześlą je do innych komputerów w botnecie. Z reguły każdy komputer w botnecie może połączyć się z dowolnym innym komputerem w sieci zombie. Przez pewien czas prowadzono eksperymenty związane z tworzeniem takich sieci, jednak dopiero w 2007 roku pojawił się pierwszy duży botnet oparty na architekturze P2P. Botnety P2P przyciągnęły największą uwagę i stanowią najpoważniejszy problem w branży bezpieczeństwa.

Botnety P2P

Botnet robaka Storm

W 2007 roku uwagę ekspertów z zakresu bezpieczeństwa przyciągnął botnet P2P stworzony przy użyciu szkodliwego programu znanego jako robak Storm. Autorzy robaka Storm rozprzestrzeniali swój twór tak błyskawicznie, że wydawało się, że stworzyli specjalną taśmę do produkcji nowych wersji tego szkodnika. Od stycznia 2007 roku wykrywaliśmy od trzech do pięciu nowych wariantów robaka Storm (Kaspersky Lab klasyfikuje go jako Email-Worm.Win32.Zhelatin) dziennie.

Niektórzy eksperci uważają, że robak Storm jest szkodliwym programem stworzonym w celu zbudowania sieci zombie nowej generacji. Najwyraźniej bot jest tworzony i dystrybuowany przez profesjonalistów i zarówno architektura sieci zombie, jak i jej ochrona jest dobrze zaprojektowana. Świadczą o tym następujące fakty:

  • Kod bota mutuje się, przez co upodabnia się do wirusów polimorficznych. Jednak w przeciwieństwie do wirusów polimorficznych kod, który wykonuje mutację, nie działa w obrębie samego programu, ale na wyspecjalizowanym komputerze w Internecie. Mechanizm ten nosi nazwę polimorfizmu po stronie serwera.
  • Mutacja odbywa się w stosunkowo dużym tempie (nawet w ciągu godziny) i co ważniejsze po stronie serwera, przez co aktualizacje antywirusowych baz danych są w przypadku wielu użytkowników nieskuteczne.
  • Botnet robaka Storm został zabezpieczony przed ciekawością analityków bezpieczeństwa. Wiele firm antywirusowych regularnie pobiera nowe kopie robaka z serwera wykorzystywanego do rozprzestrzeniania tego szkodliwego programu. Po wykryciu częstych żądań pochodzących z tego samego adresu boty otrzymują polecenie przeprowadzenia ataku DDoS na ten adres.
  • Bot próbuje pozostać jak najmniej widoczny na zainfekowanych maszynach. Oczywiście szkodliwe programy, które nieustannie przeprowadzają ataki, są łatwiejsze do wykrycia zarówno przez użytkowników jaki i administratorów systemu. Dlatego kontrolowana aktywność, która nie wykorzystuje dużej ilości zasobów systemowych, jest najbezpieczniejsza z punktu widzenia szkodliwego programu.
  • Zamiast komunikować się z centralnym serwerem robak Storm łączy się z niewielką liczbą "sąsiednich" komputerów w zainfekowanej sieci. Przez to zidentyfikowanie wszystkich maszyn zombie w sieci P2P jest praktycznie niemożliwe. Tę samą zasadę wykorzystuje się podczas tworzenia grup oporu: każdy członek grupy zna tylko kilku innych członków, w związku z czym niepowodzenie jednego agenta nie oznacza niepowodzenia całej operacji.
  • Autorzy robaka Storm nieustannie zmieniają metody rozprzestrzeniania go. Pierwotnie szkodliwy program był rozprzestrzeniany jako załącznik do wiadomości spamowych (głównie załącznik, który wyglądał jak pliki PDF). Później załączniki zastąpiono odsyłaczami do zainfekowanych plików, które zawarte były w wiadomościach spamowych. Próbowano również automatycznie umieszczać komentarze w blogach zawierające odsyłacze do zainfekowanych stron internetowych. Niezależnie od metody wykorzystywanej do rozprzestrzeniania szkodliwego programu jego autorzy stosowali zaawansowane sztuczki socjotechniczne.

Botnet robaka Storm spowodował liczne problemy. Przypuszcza się, że oprócz masowego rozsyłania spamu botnet ten został użyty w wielu przeprowadzonych na dużą skalę globalnych atakach DDoS. Według niektórych ekspertów, botnet Storm został wykorzystany w cyberataku na Estonię w 2007 roku. Szkoda, jaką mogłaby wyrządzić taka sieć, niepokoi zarówno dostawców usług internetowych, jaki i dostawców hostingu internetowego. Niepewność zwiększa dodatkowo fakt, że rozmiar botnetu robaka Storm pozostaje nieznany. O ile inne sieci zombie, w pełni lub częściowo zależne od C&C, mogą być całkowicie widoczne (ponieważ C&C widzi każdy komputer zombie połączony z botnetem), żaden ekspert nie widział listy zainfekowanych maszyn, które tworzą botnet robaka Storm. Szacunki dotyczące rozmiaru botnetu wahają się od 50 000 do 10 000 000 komputerów zombie.

Pod koniec 2007 roku zaczęło wydawać się, że botnet robaka Storm topnieje. Mimo to każdego dnia wciąż wykrywamy kilka nowych wersji tego bota. Niektórzy eksperci uważają, że sieć zombie została rozbita na części i sprzedana, inni natomiast podejrzewają, że botnet okazał się niedochodowy; dochody, jakie generował, nie pokrywały znaczących kosztów jego rozwoju i wsparcia.

Mayday

Innym interesującym botnetem jest Mayday, który technicznie trochę różni się od swoich poprzedników.

Mayday jest botnetem opartym na architekturze P2P. Po uruchomieniu bot łączy się z serwerem internetowym określonym w ciele programu, rejestruje się w bazie serwera i otrzymuje listę wszystkich botów w zainfekowanej sieci komputerowej (w przypadku robaka Storm, każdy bot otrzymał tylko częściową listę). Następnie bot nawiązuje połączenia peer-to-peer z innymi botami w sieci zombie.

Na całym świecie wykryliśmy sześć różnych serwerów (w Wielkiej Brytanii, Stanach Zjednoczonych, Holandii i Niemczech), z którymi łączyły się boty podczas tworzenia botnetu. Na początku marca 2008 roku działał tylko jeden serwer, na którym zarejestrowanych było około 3 000 botów (dla porównania, botnet robaka Storm, według najbardziej konserwatywnych szacunków składał się z dziesiątek tysięcy zainfekowanych komputerów). Mayday ustępuje swojemu "dużemu bratu" Storm nie tylko pod względem rozmiaru: botnet Mayday wykorzystuje niezaszyfrowany protokół komunikacji sieciowej, szkodliwy kod nie został ulepszony, tak aby utrudnić analizowanie go przez oprogramowanie antywirusowe i, co najważniejsze, nowe warianty botów nie pojawiają się z tak dużą częstotliwością jak nowe warianty robaka Storm. Backdoor.Win32.Mayday został wykryty przez firmę Kaspersky Lab pod koniec listopada 2007 roku i od tego czasu nasza kolekcja zawiera ponad 20 różnych wariantów tego szkodliwego programu.

Jeżeli chodzi o nowe technologie, warto wspomnieć o dwóch niestandardowych podejściach zaimplementowanych w tym botnecie.

Po pierwsze, sieć Mayday wykorzystuje komunikację peer-to-peer (P2P) opartą na wiadomościach ICMP zawierających 32-bajtową szkodliwą funkcję.

Protokół ICMP (Internet Control Message Protocol) znany jest większości użytkowników, ponieważ jest on wykorzystywany przez narzędzie PING do sprawdzania dostępności hosta sieciowego. Jednak protokół ten oferuje znacznie szerszy zakres funkcji. W Wikipedii możemy znaleźć następującą definicję ICMP: "Internet Control Message Protocol (ICMP) jest jednym z podstawowych protokołów zestawu protokołów internetowych. Wykorzystywany jest głównie przez systemy operacyjne sieci komputerowych w celu wysłania wiadomości o błędzie, które wskazują na przykład, że żądana usługa nie jest dostępna lub że nie można było uzyskać połączenia z hostem lub routerem".

Rysunek 3 pokazuje zrzut ekranu programu przechwytującego pakiety, który zarejestrował transmisję pakietów ICMP z bota Mayday. Żaden ze znanych nam botów nie wykorzystywał protokołu ICMP w celu transmisji danych.

vk_bb_0508_pic03.png

Rysunek 3. Pakiety ICMP wysyłane przez bota Mayday.

ICMP jest wykorzystywany do sprawdzania dostępności bota w sieci zainfekowanych komputerów oraz w celu identyfikacji bota. Ponieważ boty Mayday zostały tak zaprojektowane, aby działały pod kontrolą systemu Windows XP SP2, po uruchomieniu programy te modyfikują reguły zapory sieciowej Windows w celu otrzymywania pakietów ICMP.

Druga i prawdopodobnie najważniejsza rzecz, która wyróżnia botnet Mayday, to centrum C&C.

Centra C&C botnetów zorientowanych na sieć wykorzystują mechanizm określany jako CGI (Common Gateway Interface). Zgodnie z pierwotnym projektem, technologia serwera sieciowego pozwalała na wykorzystywanie plików wykonywalnych jako implementacji CGI. Później pojawiły się również różne silniki skryptowe. Aplikacja CGI generuje zawartość żądanej przez użytkownika strony internetowej w czasie rzeczywistym, dzięki czemu możliwe jest wykonanie programu i wyświetlenie wyników tej operacji zamiast statycznych danych z serwera sieciowego. Skrypt CGI działa w podobny sposób, potrzebuje jednak interpretera (silnika skryptowego) w celu wyświetlania wyników swojej operacji. Z reguły, centra C&C dla botnetów zorientowanych na sieć opierają się na silnikach skryptowych.

We współpracy z organami ścigania zdołaliśmy uzyskać kopię programu wykorzystywanego w centrum C&C botnetu Mayday. Oprogramowanie po stronie serwera botnetu Mayday to samodzielny plik ELF o rozmiarze 1,2 MB (plik wykonywalny Linuksa będący odpowiednikiem plików EXE systemu Windows) bez żadnych modułów. Oprogramowanie to nie wymaga, aby system posiadał silnik skryptowy. Na pierwszy rzut oka nie widać nic podejrzanego w tym, że autorzy Maydaya opracowali aplikację CGI zamiast skryptu CGI. Rodzi się jednak kilka pytań.

O wiele trudniej jest rozwinąć aplikację CGI niż napisać skrypt CGI, ponieważ uzyskanie stabilnego i niezawodnego kodu wymaga dodatkowego wysiłku. Obecnie w 99% rozwój sieci opiera się na silnikach skryptowych, podczas gdy monolityczne pliki wykonywalne CGI rozwijane są tylko wtedy, gdy niezbędna jest optymalizacja wszystkiego do najdrobniejszego szczegółu. Podejście to stosuje wiele dużych korporacji podczas rozwoju projektów, które muszą działać pod dużymi obciążeniami. Na przykład, monolityczne programy CGI są wykorzystywane w takich systemach sieciowych, jak eBay, Paypal, Yahoo! itd.

Dlaczego konieczne było stworzenie monolitycznego pliku wykonywalnego dla botnetu Mayday? Jednym z możliwych powodów może być to, że jego twórcy chcieli utrudnić "osobom z zewnątrz" edycję, rekonfigurację i odsprzedaż centrum C&C. Niezależnie od przyczyny, nasza analiza struktury serwera oprogramowania serwerowego wykorzystywanego przez botnet Mayday pokazuje, że był to poważny projekt rozwojowy (kod jest porządny, dla aplikacji został stworzony uniwersalny system klas), który wymagał dobrze zorganizowanego zespołu programistów. Co więcej, aby stworzyć oprogramowanie dla botnetu Mayday, cyberprzestępcy musieliby pracować nad dwoma projektami, a nie nad jednym, rozwijając oprogramowanie zarówno dla systemu Windows, jak i Linux.

Kaspersky Lab nie wykrył żadnych nowych wariantów bota Mayday wiosną 2008 roku. Być może autorzy szkodliwego programu zrobili sobie przerwę i botnet Mayday powróci w najbliższej przyszłości.

Biznes botnetowy

Odpowiedzi na pytanie, dlaczego botnety nadal ewoluują i dlaczego zaczynają stanowić coraz poważniejsze zagrożenie, należy szukać na czarnym rynku, który powstał dla takich programów. Obecnie aby zdobyć botnet, cyberprzestępcy nie potrzebują ani specjalistycznej wiedzy, ani dużych pieniędzy. Każdy, kto chce wykorzystywać botnet, może po niskich cenach zaopatrzyć się na czarnym rynku botnetów we wszystko, czego potrzebuje, łącznie z oprogramowaniem, gotowymi sieciami zombie i anonimowymi usługami hostingowymi.

Przyjrzyjmy się "ciemnej stronie" Internetu i zobaczmy, w jaki sposób właściciele sieci zombie zarabiają na przemyśle botnetowym.

Pierwszą rzeczą, jaka jest potrzebna do stworzenia botnetu, jest bot, tj. program, który bez wiedzy użytkownika potrafi zdalnie wykonywać pewne czynności na jego komputerze. Oprogramowanie do tworzenia botnetów można bez trudu zakupić w Internecie. Wystarczy tylko znaleźć odpowiednie głoszenie i skontaktować się z ogłoszeniodawcą.

vk_bb_0508_pic04.png

Rysunek 4. Oferta sprzedaży bota i panelu administracyjnego (przetłumaczona z języka rosyjskiego na angielski)

Ceny botów wahają się od 5 do 1000 dolarów w zależności od skali botnetu, od tego, czy jest wykrywany przez produkty antywirusowe, jakie polecenia obsługuje itd.

Prosty botnet zorientowany na sieć wymaga strony hostingowej, na której może być zlokalizowane centrum C&C. Takie strony są łatwo dostępne, zapewniają wsparcie oraz anonimowy dostęp do serwera (dostawcy anonimowych usług hostingowych zwykle gwarantują, że do plików dziennika nikt nie uzyska dostępu, łącznie z organami ścigania). Ogłoszenia takie jak to przedstawione poniżej są powszechne w Internecie.

vk_bb_0508_pic05s.png

Rysunek 5. Reklama usług hostingowych dla potencjalnych właścicieli botnetów.

Po stworzeniu strony C&C potrzebne są komputery zainfekowane przez bota. Można zakupić gotową sieć, w której zainstalowany jest bot jakiejś innej osoby. Ponieważ kradzież botnetów jest powszechną praktyką, większość kupujących woli wymienić zarówno szkodliwe programy, jak i centra C&C na swoje własne, dzięki czemu przejmują gwarantowaną kontrolę nad botnetem. Następnie wysłane jest polecenie do bota w nowo zakupionej sieci, aby pobrał i zainstalował nowego bota (z nowym adresem C&C), a potem zniszczył samego siebie. W ten sposób zastępowane są "niewłaściwe" boty i botnet zaczyna komunikować się z nowym centrum C&C. Takie "odnowienie" botnetów pomaga zabezpieczyć je i zapewnić im anonimowość, ponieważ do tego czasu eksperci z zakresu bezpieczeństwa IT mogą już dowiedzieć się o "starym" C&C i "starym" bocie.

Niestety stworzenie nowego botnetu również nie jest trudne: dostępne są narzędzia ułatwiające to zadanie. Najpopularniejsze z nich to pakiety oprogramowania, takie jak Mpack, Icepack i WebAttacker. Infekują one systemy użytkowników, którzy odwiedzają zainfekowaną stronę internetową, za pośrednictwem luk w zabezpieczeniach przeglądarek lub wtyczek do przeglądarek. Takie pakiety oprogramowania znane są jako systemy masowej infekcji internetowej lub po prostu ExploitPacks. Po tym, jak exploit wykona swoją funkcję, przeglądarka pobiera plik wykonywalny z Internetu i uruchamia go. Plik ten jest programem typu bot, który dodaje do botnetu nowy komputer zombie i przekazuje kontrolę cyberprzestępcy.

Niestety, narzędzia te są tak łatwo dostępne, że nawet nieletni mogą je łatwo znaleźć i nawet próbują zarabiać pieniądze na ich odsprzedaży.

vk_bb_0508_pic06s.png

Rysunek 6. Szesnastolatek sprzedający Mpacka

Interesujące jest to, że ExploitPack został pierwotnie opracowany przez rosyjskich hakerów, później jednak znalazł odbiorców również w innych państwach. Szkodniki te zostały zlokalizowane (co świadczy o ich sukcesie komercyjnym na czarnych rynkach) i obecnie są aktywnie wykorzystywane między innymi w Chinach.

vk_bb_0508_pic07s.png

Rysunek 7. Oryginalna rosyjska wersja IcePack

vk_bb_0508_pic08s.png

Rysunek 8. zlokalizowana chińska wersja Icepacka

Im system łatwiejszy w użyciu, tym większą popularnością cieszy się wśród cyberprzestępców. Twórcy takich systemów, jak oprogramowanie C&C lub ExploitPack zdają sobie z tego sprawę i rozwijają przyjazne dla użytkownika mechanizmy instalacji i konfiguracji dla swoich produktów, aby zwiększyć ich popularność i zapotrzebowanie na nie.

Na przykład instalacja centrum C&C sprowadza się zwykle do skopiowania plików na serwer sieciowy i uruchomienia skryptu install.php przy użyciu przeglądarki. Interfejs sieciowy znacznie ułatwia instalację: aby skonfigurować i uruchomić centrum C&C, cyberprzestępca musi tylko poprawnie wypełnić wszystkie pola formularza internetowego.

vk_bb_0508_pic09.png

Rysunek 9. Instalator sieciowy C&C

W świecie cyberprzestępczym nikt nie ma wątpliwości, że wcześniej czy później produkty antywirusowe zaczną wykrywać wszystkie boty. Gdy to nastąpi, cyberprzestępcy utracą zainfekowane maszyny, na których zostanie zainstalowany produkt antywirusowy. Właściciele botnetów wykorzystują szereg różnych metod w celu zachowania kontroli nad swoimi sieciami, z których najbardziej skuteczną jest ochrona szkodliwych programów przed wykryciem poprzez przetwarzanie szkodliwego kodu. Czarny rynek oferuje szereg różnych usług związanych z szyfrowaniem, pakowaniem i zaciemnianiem szkodliwego kodu.

vk_bb_0508_pic10s.png
Rysunek 10. Reklama oferująca pomoc w ukrywaniu kodu przed produktami antywirusowymi

W Internecie można znaleźć wszystko, co jest potrzebne, aby skutecznie prowadzić botnet. Powstrzymanie rozwoju przemysłu botnetowego nie jest możliwe w tym momencie.

Wnioski

Obecnie botnety stanowią jedno z głównych źródeł nielegalnych dochodów uzyskiwanych za pośrednictwem Internetu i potężną broń w rękach cyberprzestępców. Zupełnie nierealistyczne jest oczekiwanie, że cyberprzestępcy zrezygnują z tak skutecznego narzędzia. Eksperci z zakresu bezpieczeństwa z niepokojem patrzą w przyszłość, przewidując dalszy rozwój technologii botnetowych.

Botnety stają się coraz bardziej niebezpieczne, ponieważ są coraz łatwiejsze w użyciu. W najbliższej przyszłości będą mogły nimi zarządzać nawet dzieci. Możliwość uzyskania dostępu do sieci zainfekowanych komputerów zależy bardziej od kwoty, jaką mają do dyspozycji cyberprzestępcy, niż od posiadania specjalistycznej wiedzy. Ponadto, ceny na dobrze rozwiniętym rynku botnetów są dość niskie.

Nie tylko cyberprzestępcy mogą być zainteresowani tworzeniem międzynarodowych botnetów. Botnety mogą wykorzystywać również rządy i osoby prywatne w celu wywarcia presji politycznej w napiętych sytuacjach. Ponadto anonimowa kontrola zainfekowanych maszyn, która nie zależy od ich lokalizacji geograficznej, może zostać użyta do sprowokowania cyberkonfliktów. Wystarczy tylko przeprowadzić cyberatak na serwery jednego państwa z komputerów zlokalizowanych w innym państwie.

Sieci łączące zasoby dziesiątek lub setek tysięcy, czy nawet milionów zainfekowanych komputerów mogą okazać się bardzo niebezpieczne. Na szczęście potencjał ten nie został jeszcze w pełni wykorzystany. Praktycznie cała ta moc cybernetyczna pochodzi z zainfekowanych komputerów domowych, które stanowią przeważającą większość maszyn zombie wykorzystywanych przez cyberprzestępców.

Pomyśl o dziesięciu swoich przyjaciołach lub znajomych, którzy mają komputer - maszyna jednego z nich może być częścią sieci zombie. Tą osobą możesz być również ty.

Źródło:
Kaspersky Lab