Artykuł opublikowany pod tytułem „How Hackers Break In… And How They Are Caught” w Scientific American, October 1998, pp. 98-105
CAROLYN P. MEINEL
Tłumaczył Andrzej Kadlof
Oryginał został opublikowany około 10 lat temu, pozwoliłem sobie go nieco uwspółcześnić, ponieważ techniki opisane w oryginale wyszły już z użycia.
Bogdan Mizerski
Informacje o autorce
CAROLYN P. MEINEL pasjonuje się najnowszymi technologiami informatycznymi. Jest autorką książki The Happy Hacker: A Guide to (Mostly) Harmless Computer Hacking (Szczęśliwy haker: podręcznik nieszkodliwego (najczęściej) hakerstwa; American Eagle Publications, 1998) i prezesem organizacji nonprofit Happy Hacker, Inc., zajmującej się uczeniem odpowiedzialnego i niezłośliwego hakerstwa. Grupa prezentuje swoje cele i osiągnięcia na własnej witrynie WWW (http://www.happyhacker.org). Meinel uzyskała stopień magistra na Wydziale Inżynierii University of Arizona. Obecnie razem z Jasonem Chapmanem pracuje nad książką poświęconą swoim licznym akcjom zwalczania hakerów. Autorka składa podziękowania Michaelowi i Dianie Neumanom, Damianowi Batesowi, Emilio Gomezowi, Mahboud Zabetianowi i Markowi Schmitzowi za pomoc w przygotowaniu tego artykułu.
Testowanie portów, zrzuty pamięci i przepełnianie buforów to zaledwie kilka metod z bogatego arsenału każdego doświadczonego hakera.
Jednak żaden z nich nie jest nieuchwytny
Carolyn P. Meinel
Od redakcji Scientific American: Poniższa fabularyzowana historia powstała na podstawie wielu incydentów, które przytrafiły się gdzieś kiedyś w cyberprzestrzeni. Imiona i nazwiska ludzi, adresy i inne detale zostały zmienione, ale opisywane techniki i programy istnieją. Z wieloma z przytoczonych przypadków autorka zetknęła się osobiście. Zarówno w komputerowym podziemiu, jak i wśród ekspertów od bezpieczeństwa znana jest ze swoich zdolności hakerskich i niezliczonych potyczek z innymi hakerami. Scientific American dziękuje internaucie Rt66 oraz dostawcy usług internetowych z Albuquerque (Nowy Meksyk), którzy przetestowali większość programów i sprzętu opisanych w tym artykule oraz sprawdzili skuteczność wspomnianych technik.
Którejś nocy, siedząc przy domowym komputerze, Abdenago włącza się do IRC, cyberprzestrzennego odpowiednika radia CB, na kanale poświęconym potężnemu systemowi operacyjnemu Unix. Obserwuje na bieżąco, jak fani nawiązują kontakty, tworzą sojusze i wymieniają doświadczenia. Przypomina to wszystko kantynę z Gwiezdnych Wojen.
Paląc się do nawiązania konwersacji – i zadziwienia innych – Abdenago czeka, aż ktoś zada prościutkie pytanie; umożliwi to rozpoczęcie „wojny obelg”, w czasie której wszyscy obrzucają się zniewagami. Akurat rozmówca przedstawiający się jako Dogberry zadaje pytanie dotyczące pisania programu obsługującego domową stację meteorologiczną. Abdenago dostrzega szansę dla siebie. Rzuca: „RTFM”. (Gdyby w Internecie używano polskich akronimów, byłoby to „PPP” – „przeczytaj pieprz**y podręcznik” – przyp. tłum.). Pozostali uczestnicy dyskusji reagują stekiem obelg, ale nie pod adresem Dogberry’ego. Pytanie okazuje się znacznie trudniejsze, niż przypuszczał Abdenago. Dogberry zwięźle i spokojnie go podsumowuje: „żółtodziób”. Upokorzony Abdenago poprzysięga zemstę.
Korzystając z dostępnej w Internet Relay Chat komendy „finger”, Abdenago uzyskuje adres adwersarza: Dogberry@refrigerus.com. Zakłada, że skoro Dogberry jest takim ekspertem od Unixa, to być może pełni funkcję administratora komputerów w refrigerus.com. Aby potwierdzić swoje wysyła zapytanie do bazy whois i stąd dowiaduje się, żeDogberry jest administratorem sieci.
To tylko pobudza jego ciekawość. Uruchamia Strobe, program usiłujący się połączyć z każdym z tysięcy wirtualnych portów w refrigerus.com. Skaner ma skrupulatnie rejestrować wszelkie odpowiedzi od demonów, czyli zainstalowanych użytkowych programów systemowych, na przykład odpowiedzialnych za obsługę poczty elektronicznej. Abdenago wie, że każdy port może stanowić tylne drzwi – lub drzwi, które jemu uda się sforsować – jeśli zdoła wykorzystać pewne niedoskonałości demona tego portu.
KOMPUTEROWEGO WŁAMANIA można dokonać na wiele rozmaitych sposobów…
Strobe trafia na przeszkodę, a dokładniej na zaporę ogniową (firewall) Dogberry’ego. Ten znakomity program obronny przechwytuje każdy nadchodzący pakiet danych, odczytuje jego nagłówek TCP/IP (transmission control protocol/Internet Protocol) i ustala, z którym portem ma nastąpić połączenie. Następnie sprawdza otrzymane żądanie dostępu, posługując się precyzyjnie określonymi zasadami dopuszczania użytkowników z zewnątrz do systemu. W tym przypadku refrigerus.com decyduje, że skaner Abdenago zasługuje tylko na jedną odpowiedź.
W chwilę potem program zainstalowany na refrigerus.com zaczyna wysyłać do komputera Abdenago flood’a, czyli bezsensowne dane, włącznie z losowymi ciągami znaków alfanumerycznych, skutecznie zapychając jego łącze i dyski. W międzyczasie inny demon wysyła pocztą elektroniczną list do dostawcy usług internetowych (Internet Service Provider – ISP) Abdenago z informacją, że ktoś próbuje się włamać do refrigerus.com. Następnie firewall odcina całkowicie połączenia przychodzące z komputera Abdenago. Po kilku minutach konto Abdenago zostaje zamknięte, ponieważ jego właściciel jest podejrzany o próbę popełnienia przestępstwa komputerowego.
Mimo że Abdenago został niemal błyskawicznie zablokowany – wielu administratorów ISP nie podjęłoby równie szybko tak zdecydowanych kroków – nie ma to większego znaczenia. Konto jest tylko jednym z kilku, które sam sobie założył po włamaniu się do wspomnianego ISP. Jednak zamknięcie go powoduje, że Abdenago zostaje odłączony od kanału IRC w chwili, gdy obrzucano go obelgami. Dla uczestników dyskusji wygląda to tak, jakby Abdenago bezceremonialnie wyrzucono z sieci lub, co gorsza, sam uciekł.
Abdenago pała żądzą odwetu. Jego kolejnym posunięciem jest wypróbowanie niewidzialnego skanera FIN. Programy takie wykorzystują zasady działania IP.
Abdenago wie, że niewidzialny skaner może wykorzystać subtelności tego protokołu, wysyłając tylko końcowy pakiet z flagą FIN do każdego portu badanego komputera. Zazwyczaj gdy port jest otwarty, obsługujący go demon ignoruje taki pakiet. Jeśli jest zamknięty, komputer odbiorcy wysyła pakiet z flagą RST (ponów). Ponieważ nie zostaje nawiązana oficjalna komunikacja (nie doszło do trzystopniowego potwierdzenia), odebranie pakietu nie jest notowane w raportach aktywności systemu. Dzięki temu skanery FIN mogą w miarę dyskretnie testować porty komputera. (Mimo to jak dowie się wkrótce Abdenago, informacje zawarte nawet w jednym pakiecie FIN wystarczają do identyfikacji nadawcy).
Abdenago wcześniej już przygotował się do tego typu działań. Zdążył opanować kilka komputerów, na których pozakładał swoje ukryte konta. Najczęściej są to komputery należące do różnych uczelni, których administratorami są studenci traktujący swoją funkcję jak pańszczyznę. W związku z tym komputery uczelniane są łatwym łupem dla hakerów.
Abdenago przemierza Internet w poszukiwaniu zaawansowanego niewidzialnego skanera portów i znajduje jeden w podziemnej witrynie sieci WWW. Program ten, jak wiele innych narzędzi hakerskich, jest napisany w języku C. Abdenago musi jeszcze pokonać problemy z jego modyfikacją i kompilacją, tak by działał na domowym PC pracującym pod kontrolą Linuxa, jednego z wielu wariantów Unixa.
Takie kłopoty nie są niczym niezwykłym i wynikają z osobliwości poszczególnych odmian systemu Unix. Abdenago, podobnie jak większość hakerów, nie odebrał wykształcenia informatycznego. W rzeczywistości nigdy nie uczył się programowania, bo nie musiał. Niemal każdy program, o jakim zamarzy komputerowy kryminalista, jest osiągalny gdzieś w Internecie, już napisany i gotowy do darmowego pobrania i wykorzystania – jeśli tylko haker potrafi go skompilować.
Młody Dogberry wybrał inną drogę. Zaprzyjaźnił się z informatykiem pracującym u lokalnego dostawcy usług internetowych i nauczył administrować siecią. Wiele czasu spędził, bawiąc się z przyjacielem w komputerowych włamywaczy i obrońców. Korzystając ze swoich doświadczeń, pomogli administratorowi ISP podnieść poziom bezpieczeństwa systemu. Dzięki temu sukcesowi Dogberry został u niego zatrudniony na część etatu jeszcze podczas studiowania informatyki.
Pierwszym błędem Abdenago jest więc porwanie się akurat na Dogberry’ego. Ten jest bowiem również hakerem (ale pozytywnym) i weteranem wielu batalii w cyberprzestrzeni.
Pierwsze starcie
TRANSMISJE DANYCH w Internecie podlegają ustalonym protokołom. Zwykle nadawca najpierw wysyła powitalny pakiet zawierający flagę SYN, prosząc o dane umożliwiające synchronizację mających nadejść pakietów. Odbiorca odsyła pakiet z flagą ACK, potwierdzającą przyjęcie wezwania do nawiązania łączności, oraz z flagą SYN i liczbą synchronizacyjną. Nadawca pakietu z flagą ACK potwierdza, że jest gotów do transmisji danych, kończąc w ten sposób procedurę trzystopniowego potwierdzania. Dopiero teraz może wysłać właściwe wiadomości. Wreszcie przesyła pakiet z flagą FIN sygnalizującą koniec połączenia. Odbiorca odsyła pakiet z flagą ACK, co ostatecznie zamyka transmisję. Hakerzy omijają tę procedurę, od razu wysyłając pakiety z flagą FIN. Pechowy odbiorca może na to odpowiedzieć pakietem z flagą RST (ponów) (na dole). Odpowiedź – lub jej brak – dostarcza pewnych informacji o badanym systemie, a ponieważ nie zostało nawiązane oficjalne połączenie, przybycie pakietu FIN nie jest odnotowane w raportach odbiorcy. Pozwala to hakerom w miarę niepostrzeżenie i bezpiecznie testować upatrzone komputery.
Nad ranem Abdenago ostatecznie radzi sobie z kompilacją programu i jest gotów do działania. W ciągu kilku minut FIN skaner dostarcza mu listę usług oferowanych przez refrigerus.com jedynie użytkownikom o akceptowanych adresach IP. Szczególną uwagę Abdenago przykuwa demon odpowiadający za bezpieczeństwo systemu (konkretnie za metody szyfrowania połączeń w Internecie) oraz serwer WWW. Abdenago nie wie, że firewall Dogberry’ego jest już uodporniony na tą sztuczkę i pokazuje tylko to, co administrator zdecydował się ujawnić.
Nagle serce Abdenago zaczyna bić mocniej. Dostrzega on bowiem na liście sporządzonej przez skaner port o nietypowym numerze 31 659. Czyżby został uprzedzony przez innego włamywacza, który zostawił uchylone tylne drzwi – tajne przejście pozwalające wkraść się do systemu?
Sygnał komórki wyrywa Dogberry’ego z głębokiego snu. EtherPeek, monitor zainstalowany w refrigerus.com, wykrył skanowanie portów. Dogberry pędzi do biura, by z konsoli administratora śledzić dalsze próby ataku. Jego najlepsze programy obronne mogą być uruchamiane tylko z tej maszyny i wymagają fizycznej obecności człowieka, dzięki czemu są odporne na zdalny atak.
Tymczasem mimo silnej pokusy zbadania demona obsługującego port 31 659 Abdenago wstrzymuje dalsze działania. Coś – może hakerska intuicja – podpowiada mu, że powinien je odłożyć na kiedy indziej. Tak więc tym razem Dogberry przychodzi do pracy niepotrzebnie – nie odkrywa dalszych prób wtargnięcia do systemu.
Zaintrygowany nietypowym atakiem przegląda jednak raporty i udaje mu się ustalić adres nadawcy pakietów z flagą FIN. Wysyła e-mail do właściciela komputera, który po sprawdzeniu logów odcina dostęp Abdenago do swojej maszyny.
Trzy wieczory później Abdenago ponawia atak. Gdy jednak łączy się ze swoim kontem na uniwersytecie X, okazuje się, że konta już nie ma. Taki rozwój wypadków ani trochę go nie zniechęca. Przeciwnie, zabiera się do pracy z jeszcze większą determinacją.
Strata jednej opanowanej maszyny nieco go zmartwiła, ale sięgnął po następną. Tym razem jednak zachowuje większą ostrożność. Z nowego konta loguje się na koncie, które kiedyś otworzył sobie u jeszcze innego ISP (oczywiście nielegalnie). Po uzyskaniu połączenia wydaje polecenie „whois refrigerus.com”. Dowiaduje się, że nazwa domeny należy do Refrigerators R Us – krajowej sieci sklepów detalicznych.
Następnie próbuje zalogować się na refrigerus.com za pomocą komendy „telnet refrigerus.com 31 659”. Odpowiedź jest natychmiastowa: „Ty pętaku! Czy naprawdę myślisz, że to są tylne drzwi?!” Jednocześnie demon obsługujący port 31 659 przystępuje do próby zawieszenia komputera Abdenago, przesyłając mu serie celowo uszkodzonych pakietów, a pocztą elektroniczną wysyła list do ISP, na którym Abdenago nielegalnie założył konto, informujący o próbie popełnienia przestępstwa komputerowego. Przed upływem paru minut połączenie Abdenago zostaje przerwane.
Haker nie rezygnuje i zamiast atakować zaporę ogniową usiłuje ją teraz po cichu obejść. Korzystając z jeszcze jednego ze swoich licznych nielegalnych kont próbuje skatalogować komputery należące do refrigerus.com. Używa do tego celu komendy „nslook-up”, przeszukującej Internetową bazę danych w celu odnalezienia katalogów w komputerze o podanym adresie.
Ale „nslookup” nie dostarcza żadnych użytecznych informacji. Dogberry tak skonfigurował swoją sieć, że każde pytanie skierowane do któregokolwiek z komputerów wewnętrznej sieci jest najpierw przesyłane do serwera nazw, który kieruje je do odpowiednich maszyn. Dzięki temu nikt z zewnątrz nie może się niczego dowiedzieć o komputerach otoczonych zaporą ogniową.
Kolejnym krokiem Abdenago jest wykorzystanie skanera adresów IP. Za pomocą „nslookup” dokonuje konwersji refrigerus.com na adres numeryczny, po czym skanerem IP bada numery większe i mniejsze. Po chwili ma około 50 rzeczywistych adresów węzłów Internetu o zbliżonych numerach. Zdaje sobie sprawę, że wcale nie muszą należeć do refrigerus.com, ale z dużym prawdopodobieństwem należą.
Następnie używając komendy „whois”, pyta, czy Refrigerators R Us podlegają jakieś inne komputery. Wykrywa jeszcze jeden komputer, którego adres refrigeratorz.com jest numerycznie odległy od refrigerus.com. Skaner IP wkrótce podaje mu kolejnych pięć adresów komputerów w Internecie o numerach bliskich refrigeratorz.com.
ZRZUT PAMIĘCI może posłużyć hakerom do uzyskania tajnych informacji. Jeśli działający na danym komputerze program się zawiesi, czasem powoduje to zapisanie na dysku obrazu fragmentów pamięci operacyjnej w chwili awarii. Haker może celowo spowodować awarię, by następnie przeszukać obszar pamięci mogący zawierać ważne dane, takie jak hasła dopuszczające do konkretnych kont w systemie.
Abdenago podejmuje dalsze środki ostrożności. Za pomocą komendy „telnet” łączy się z kolejnym swoim pirackim kontem. Stąd loguje się na jeszcze jednym nielegalnym koncie, szykując się do ponownego skorzystania ze skanera FIN. Te dodatkowe kroki zmuszą każdego ścigającego go przedstawiciela prawa do uzyskania zgody na współpracę aż trzech instytucji, co utrudni śledztwo.
Dodatkowo postanawia ukryć swoją obecność w trzecim z opanowanych węzłów, umieszczając wśród programów zarządzających głównym katalogiem stosowany przez hakerów program – konia trojańskiego, który oprócz swoich normalnych działań usuwa wszelkie ślady działalności hakera z raportów o nietypowej aktywności systemu. Program ten blokuje także programy wyszukujące zmiany w plikach systemowych danego komputera. Ukryje nawet przed operatorami fakt, że Abdenago się zalogował i korzysta z jakichś programów.
Tak zabezpieczony Abdenago skanuje jeden po drugim porty komputerów należących do refrigerus.com i refrigeratorz.com. Skaner Fin prześlizguje się wprost do każdego z nich. Te działania wykrywa jednak EtherPeek i ponownie wysyła sms do Dogberry’ego.
Niewyspany Dogberry po dotarciu do biura szybko ustala adres nadawcy pakietów FIN i alarmuje administratora trzeciego węzła spenetrowanego przez Abdenago. Ale koń trojański spełnia swoje zadanie i ukrywa obecność hakera przed zdezorientowanymi operatorami. Abdenago śmiało kontynuuje swoją pracę. Przełącza się z niewidzialnego skanera na Strobe, poszukując adresu IP komputera nie chronionego przez zaporę ogniową.
Osiąga jedynie tyle, że zapora ogniowa refrigerus.com wypluwa strumień bezsensownych danych. Niespodziewany ładunek uświadamia wreszcie administratorce systemu Abdenago, że ktoś faktycznie nielegalnie wykorzystuje jej węzeł. Decyduje się ona na drastyczne posunięcie, całkowicie odcinając system od Internetu. Z chwilą gdy łączność zostaje zerwana, Abdenago zdaje sobie sprawę, że elegancka metoda obejścia zapory ogniowej nie istnieje.
W poszukiwaniu pracoholika
PRZEPEŁNIANIE BUFORÓW polega na wykorzystywaniu słabości niektórych programów, na przykład pisanych w języku C i uruchamianych w systemie Unix. W celu wymuszenia przepełnienia buforów haker wykonuje kilka czynności. Uruchamia na komputerze ofiary własny program napisany w języku C (a). Program zapisuje dane do bufora, tymczasowego miejsca w pamięci operacyjnej (b). Następnie aplikacja kopiuje dane z miejsca 1 do 2 i 3. Ale haker tak skonstruował program, że cały czas wymaga on dostępu do danych w miejscu 1. Z powodu braku pamięci przydzielonej programowi system przemieszcza je z miejsca 1 do 4 dzielonego z innymi programami (d). Haker może wykorzystać to do instalacji w pamięci operacyjnej własnego kodu (e), który umożliwia mu uzyskanie wysokich przywilejów w komputerze ofiary.
Abdenago domyśla się, że z kilku tuzinów komputerów Refrigerators R Us podłączonych do Internetu korzysta prawdopodobnie wiele innych maszyn stojących spokojnie na biurkach pracowników. Czy jest szansa – zastanawia się kilka dni później – by wśród setek zatrudnionych znalazł się jakiś pracoholik, który obchodząc firmową zaporę ogniową, nocami łączy się telefonicznie ze swoim komputerem służbowym i wykonuje „nie cierpiące zwłoki” zadania? To naprawdę nie problem dla kogoś, kto kupi sobie modem, podłączy do służbowego komputera i, wychodząc z pracy, zostawi system włączony.
Zakładając, że w każdej prawie większej firmie znajduje się co najmniej jeden nie zgłoszony przełożonym modem, Abdenago uruchamia program ShokDial (telefonicznego wojownika) łączący się z każdym numerem wewnętrznym w Refrigerators R Us. Nocny strażnik w siedzibie zarządu firmy słyszy, że dzwonią ciągle telefony, ale nie wzbudza to jego podejrzeń.
O 2.57 telefoniczny wojownik trafia na aktywny modem i Abdenago widzi na swoim monitorze powitalny ekran komputera Silicon Graphics: „Dział handlowy Refrigerators R Us, Irix 6.3”. Wspaniale! Cieszy się, ponieważ Irix jest wersją systemu Unix, co oznacza, że chyba znalazł tylne drzwi do królestwa Dogberry’ego.
Następnie Abdenago, korzystając z programu, który raz za razem dzwoni do komputera z systemem Irix, próbuje zgadnąć hasło dostępu do „root’a”, najwyższego w hierarchii konta (zazwyczaj zarezerwowanego dla administratora), z którego można wydawać dowolne komendy i uzyskiwać wszelkie informacje dotyczące danego komputera. Ma nadzieję, że właściciel komputera, zaganiany jak wielu pracoholików, nieostrożnie pozostawił możliwość zdalnego dostępu do maszyny.
Zgadywanie rozpoczyna się od pospolitych słów i imion, by w dalszej kolejności przejść do mniej oczywistych haseł. Jest to powolny i męczący proces: sprawdzenie wszystkich słów z wielkich słowników, wszystkich nazwisk z encyklopedii i lokalnych książek telefonicznych trwa czasem miesiące, a nawet lata. Ale tym razem Abdenago ma szczęście. Około piątej nad ranem okazuje się, że hasło brzmi po prostu: „nancy”.
„Mam cię!” – krzyczy Abdenago i loguje się jako root, skąd może wydawać z zaatakowanego komputera dowolne komendy. Następnie zabezpiecza zdobyty przyczółek. Instaluje za pomocą FTP (file transfer protocol) w swojej ostatniej ofierze konia trojańskiego, ukrywającego jego obecność w systemie, oraz monitor klawiaturowy skonfigurowany tak, by rejestrował wszystkie sekwencje znaków wprowadzanych z klawiatury i wszelkie zdalne rejestracje. Zdobyte informacje ma przechowywać plik o niewinnej nazwie znajdujący się bezpośrednio na niczego „nieświadomej” maszynie. W ciągu kilku minut Abdenago tworzy dodatkowe wejście do systemu – konto dla użytkownika „zemsta” z hasłem: „GiNd0gB”.
Ostatnie zadanie tego ranka jest proste. Aby ustalić adres internetowy opanowanego komputera, Abdenago wprowadza polecenie „who” i otrzymuje odpowiedź, że „zemsta” pracuje na komputerze picasso.refrigeratorz.com. Gdy po kilku godzinach pełnoprawny użytkownik komputera picasso wchodzi do systemu, nie dostrzega oznak przejęcia przez kogokolwiek kontroli nad jego maszyną. Programy Abdenago dobrze wykonują swoje zadania.
Z kolei Dogberry z raportów o aktywności systemu dowiaduje się jedynie, że wczesnym rankiem ktoś próbował przez Internet dostać się do refrigeratorz.com. Niepokoi go to, bo ciągle pamięta o niedawnym ataku skanera FIN. Ma jednak za mało informacji, by podjąć konkretne działania.
Dwie noce później Abdenago dzwoni i łączy się z picasso, by przejrzeć raporty swoich monitorów. Rozczarowany stwierdza, że wszystkie komunikaty przesyłane w sieci są szyfrowane. Najcenniejszy okazuje się raport monitora klawiaturowego. Ktoś z picassa zalogował się na komputerze o nazwie „fantazja”. Abdenago zna teraz nazwę użytkownika i hasło dostępu do fantazji. Sezamie, otwórz się!
Abdenago odkrywa, że jest to stacja robocza SPARC służąca do obróbki animowanych obrazków, prawdopodobnie na potrzeby reklamy telewizyjnej. Ponieważ maszyna jest najpewniej serwerem wielu innych komputerów, Abdenago przystępuje do poszukiwania pliku haseł. Ma nadzieję, że niektóre z nich pozwolą mu na wejście do innych komputerów podłączonych do wewnętrznej sieci. Znajduje odpowiedni plik, ale w miejscach, gdzie powinny być zaszyfrowane hasła, widnieją same iksy. Najwyraźniej informacje, których szuka, muszą znajdować się gdzie indziej, w jakimś ukrytym pliku. Abdenago uśmiecha się do siebie i uruchamia program FTP. Znanym sobie trikiem zmusza go, aby się zawiesił. Bingo, nastąpił zrzut pamięci!
Fantazja zostaje zmuszona do ujawnienia części swojej pamięci operacyjnej (RAM). Szczęśliwie dla Abdenago odkryta informacja – raport o stanie pamięci operacyjnej – ląduje w jego katalogu.
Normalnie zrzuty pamięci służą programistom do analizy stanu systemu i znalezienia przyczyn zawieszania się programów. Ale Abdenago doskonale wie, że zrzut pamięci można wykorzystać również do innych celów. System ukrywania haseł czasami je przechowuje w zaszyfrowanej postaci w pamięci operacyjnej. Gdy użytkownik rejestruje się w systemie, komputer, stosując algorytmy jednostronnej zapadki, szyfruje podane przez niego hasło i porównuje z zaszyfrowanym hasłem z ukrytego pliku. Jeśli są identyczne, użytkownik uzyskuje dostęp do maszyny.
Ukryty plik haseł, który Abdenago odnalazł w zrzucie pamięci fantazji, był zaszyfrowany. Do pracy włącza się jego program łamiący hasła. Jest to jednak żmudny proces mogący trwać kilka dni lub nawet tygodni.
Zbyt niecierpliwy, by czekać, Abdenago przystępuje do kolejnej czynności – wykorzystuje powszechnie znany słaby punkt systemu Unix. Jeśli jakiś program działający w tym systemie operacyjnym nadmiernie angażuje bufory (tymczasowe miejsca przechowywania danych w pamięci), nadwyżka informacji może być umieszczona w innych obszarach pamięci z dostępem do nich.
Efekt przepełnienia buforów posłuży Abdenago do zainstalowania swoich programów na maszynie SPARC. Dodatkowe programy umożliwiają mu wydawanie dowolnych poleceń i uruchamianie dowolnych programów za pomocą własnego interpretera poleceń. Zadowolony z siebie Abdenago instaluje konia trojańskiego ukrywającego jego obecność i monitory aktywności systemu. Ponieważ te pierwsze działają dopiero po uruchomieniu, resztę czasu spędza na ręcznym usuwaniu śladów swojej wcześniejszej działalności podczas pracowitej nocy.
Pozostało jeszcze jedno zadanie. Czy ktoś ma uprawnienia, by łączyć się z fantazją z Internetu? Abdenago wystukuje komendę „last”, by zobaczyć listę osób, które łączyły się ostatnio z fantazją. Aż podskakuje na krześle, gdy okazuje się, że użytkownicy vangogha i nancy łączyli się z nią z komputera „adagency.com” położonego za zaporą ogniową Refrigerators R Us.
Abdenago nie może tej nocy zasnąć. Wzrósł mu poziom adrenaliny. Wie, że Refrigerators R Us wkrótce będzie jego.
Ostatnie starcie
OGŁUPIANIE IP umożliwia hakerom ukrycie własnego adresu. Początkowo haker wysyła serię pakietów z flagą SYN, by uzyskać pakiety ACK/SYN z kolejnymi liczbami synchronizacji. Na podstawie odpowiedzi często potrafi odgadnąć wzorzec tworzenia ciągów tych liczb. W naszym przykładzie każdy kolejny numer jest większy od 128 000. Gdy haker to odkryje, wysyła pakiet SYN potwierdzający nawiązanie łączności z komputerem akceptowanym przez ofiarę. Atakowany komputer odeśle pakiet z flagami ACK/SYN do zaufanego komputera. Chociaż haker nie otrzyma odpowiedzi, może kontynuować korespondencję z odbiorcą, tak jakby odpowiedź dostał: wysyła pakiet z flagą ACK wraz odgadniętymi liczbami synchronizacji i nawiązuje uprawnioną łączność z komputerem ofiary. Odtąd wszelkie pakiety przychodzące od hakera będą traktowane i rejestrowane jako nadchodzące z godnego zaufania komputera.
Następnego wieczora Abdenago szybciutko włamuje się do adagency.com.
Wykorzystuje trik z ogłupianiem IP i skłania ten komputer, by w swoich raportach błędnie notował jego adres. Odpowiedni program wysyła pakiety SYN w celu wymuszenia w odpowiedzi pakietów ACK/SYN zawierających m.in. serię liczb synchronizujących dalsze transmisje. Na podstawie tych sekwencji program Abdenago odgaduje wzorzec, a z niego można wywnioskować, jakie będą kolejne ciągi liczb synchronizujących. Wystarcza to do ukrycia prawdziwego adresu. Następnie w adagency.com instaluje monitor i za pomocą programów powłoki bezpieczeństwa tworzy szyfrowane łącze z fantazją.
Będąc już w fantazji, komendą „netstat” sprawdza, które komputery są aktualnie aktywne w sieci. Odkrywa maszynę, którą wcześniej przeoczył. Jej nazwa: „admin.refrigerus.com”, jest bardzo obiecująca. Czyżby z tego komputera Dogberry zarządzał całym systemem?
W międzyczasie bez przerwy pracuje program do łamania haseł. Ilekroć Abdenago odkrywa kolejnego użytkownika i jego hasło, próbuje za ich pomocą zalogować się na innych komputerach. Niestety, żadne z nich nie działają poza fantazją, a do niej dostęp już ma.
Nagle szczęście się do niego uśmiecha. Dwukrotnie. Na fantazji Abdenago przechwytuje ciąg znaków wprowadzanych przez użytkownika vangogha, gdy ten aktualizował firmową witrynę WWW. Teraz Abdenago zna hasło potrzebne do włamania się do firmowego serwera WWW. Dodatkowo jego monitor zainstalowany w picassie odkrywa, że nancy zadzwonił do tego komputera i z niego zarejestrował się na tajnym koncie z uprawnieniami administratora w admin.refrigerus.com.
Zaraz po nancy wślizguje się tam Abdenago. Stąd próbuje łączyć się z kolejnymi komputerami w Refrigerators R Us. Okazuje się jednak, że Dogberry jest wyjątkowo przezorny. W sieci Refrigerators R Us nawet użytkownik z przywilejami administratora nie może zarejestrować się na innych komputerach bez podania odpowiednich haseł.
Trochę tylko rozczarowany Abdenago ponownie wraca do serwera WWW i loguje się w nim, korzystając z dopiero co zdobytego hasła. Następnie ściąga z domowego komputera nową wersję strony domowej Refrigerators R Us, którą tego dnia sam przygotował.
Z kolei w Refrigerators R Us Dogberry do późnej nocy studiuje raporty. Zauważa, że pracownicy działu handlowego zaczęli wyjątkowo często łączyć się z adagency.com. Postanawia nazajutrz porozmawiać z nimi osobiście i wyjaśnić, co się naprawdę dzieje. Zadzwoni również do administratora w adagency.com, kolegi, któremu kiedyś pomógł zainstalować nowe oprogramowanie.
Dogberry ma już po ciężkim dniu pracy wychodzić do domu, gdy w jego gabinecie dzwoni telefon. Jakiś oburzony klient twierdzi, że w witrynie WWW Refrigerators R Us prezentowany jest film pornograficzny ze scenkami na lodówce. Dogberry podrywa się i po sprawdzeniu, że strona została zmodyfikowana, wyrywa z gniazdka kabel Ethernet, odcinając całą sieć firmy od Internetu.
Abdenago denerwuje się, widząc, jak szybko jego obsceniczne arcydzieło zostaje usunięte z Sieci. Boi się również, że pozostawił zbyt wiele śladów. Korzystając z modemu, łączy się z picassem – przez wejście do systemu, o którym Dogberry jeszcze nic nie wie. Zyskuje na czasie, formatując na nowo dysk administratora, blokując wewnętrzną sieć i w ten sposób czasowo uniemożliwiając Dogberry’emu szczegółową analizę ataku.
Dogberry pędzi do administrującego komputera w nadziei, że zdoła go uruchomić z konsoli. Niestety, jest już za późno. Całe oprogramowanie trzeba instalować od początku. (Abdenago nie miał pojęcia, że działający na stojącym obok Macintoshu EtherPeek również zapisywał raporty.)
Zawiedziony niepowodzeniem z witryną WWW Abdenago dokonuje ostatniego wyczynu tej nocy: zalewa refrigerus.com pakietami danych. Niedługo potem Dogberry odbiera telefon od zrozpaczonej przedstawicielki handlowej, która ze swojego pokoju hotelowego bezskutecznie usiłuje za pomocą laptopa i linii telefonicznej dostać się do serwera pocztowego w Refrigerators R Us i odebrać niezwykle ważne wiadomości.
Następnego ranka wyczerpany Dogberry błaga wiceprezesa o zgodę na wyczyszczenie komputerów w firmie, ponowną instalację oprogramowania i zmianę wszystkich haseł. Choć propozycja jest rozsądna, wiąże się z zamknięciem całego systemu na kilka dni – Dogberry’ego spotyka odmowa.
W tym momencie złośliwość i destrukcyjność poczynań Abdenago znacznie wykroczyła poza granice dopuszczalnego hakerstwa. Ale FBI, cierpiące na brak ludzi, jest zajęte dochodzeniami w sprawie kilku ostatnich włamań do komputerów wojskowych i rządowych na terenie USA. Dogberry sam musi zebrać więcej dowodów.
Ponieważ włamywacz był aktywny w systemie po fizycznym odłączeniu sieci od Internetu, Dogberry domyśla się, że gdzieś w budynku jest zainstalowany nielegalny modem. Uruchamia własnego telefonicznego wojownika i wykrywa winowajcę. Będzie musiał w dziale handlowym zrobić małą awanturę!
Dogberry ładuje czystą wersję systemu do swojego komputera administratora. Następnie na serwerze Windows XP, o którym wie, że nie był atakowany, instaluje T-sighta – zaawansowany program antyhakerski, który może zdalnie monitorować każdy komputer firmowej sieci.
Następnie Dogberry przygotowuje pułapkę. T-sight czyha na kolejne połączenie włamywacza z admin.refrigerus.com, by skierować go do specjalnego komputera: „więziennej celi”. Tutaj winowajca może być śledzony. Aby go nie wystraszyć, Dogberry każe grupie programistów skonfigurować komputer tak, by wyglądał nie jak więzienie, ale jak maszyna z działu księgowości, pełna kuszących zestawów danych finansowych (oczywiście spreparowanych).
Niechlubny koniec
Dwie noce później przyczajony Dogberry o 20.17 zauważa, że ktoś zarejestrował się na admin.refrigerus.com. Jest to Abdenago. Dlaczego wrócił tak szybko? Rozradowała go wiadomość, że jego pornograficzny wyczyn jest tematem dyskusji w hakerskim półświatku. Nawet CNN poświęcił incydentowi krótką wzmiankę. Zainteresowanie publiczne i własna arogancja dają Abdenago taką pewność siebie, że czuje się bezkarny.
Tej nocy bezczelnie wkracza do sieci Refrigerators R Us, nie zachowując zwykłej ostrożności. Dzwoni na konto gościa na ISP, a następnie programem „telnet” bezpośrednio łączy się z adagency.com, by szybciej dotrzeć do fantazji.
Z admin.refrigerus.com zostaje przeniesiony przez T-sighta do więziennej celi. Z trudem opanowuje podniecenie, badając dane, które uznaje za ważne informacje finansowe.
Dogberry również jest bardzo zajęty. Szybko analizując dane z T-sighta, odkrywa hasło Abdenago na fantazji – „GiNd0gB” – i może już śledzić powrót włamywacza do adagency.com. Dogberry łączy się z pagerem administratorki tego komputera. Nie ma jej już w pracy, ale natychmiast oddzwania z restauracji i pomaga w dalszym pościgu za Abdenago.
W czasie gdy haker ściąga duży plik z fikcyjnymi numerami kart kredytowych, Dogberry instaluje swój monitor w adagency.com. Może nawet wejść nie zauważony na konto Abdenago, bo ten z lenistwa wszędzie zastosował to samo hasło. W kilka minut po zakończeniu transmisji pliku z fikcyjnymi numerami kart kredytowych Dogberry’emu udaje się wyśledzić, dokąd ten plik został przesłany, czyli namierzyć komputer ISP, na którym Abdenago ma konto.
Uzyskana przez Dogberry’ego informacja wystarcza do zaalarmowania FBI. Jego pracownicy następnego dnia kontaktują się z ISP, aby na podstawie logów z routera zidentyfikować Abdenago. Wobec tylu dowodów, włącznie z bardzo precyzyjnymi raportami EtherPeek z Macintosha, prokurator zezwala na rewizję.
Niebawem agenci FBI wkraczają do domu Abdenago i konfiskują komputer. Twardy dysk ujawnia szczegóły. Abdenago usiłował się zabezpieczyć i kasował wszelkie pliki mogące zdradzić jego nocne wyprawy. Martwi go, gdy się okazuje, że FBI potrafi odczytywać dane z twardych dysków nawet po ich wymazaniu i kilkakrotnym zapisaniu w to miejsce innych. Wkrótce w laboratorium zostają odkryte wszystkie szczegóły eskapad, łącznie z włamaniem do dużego banku.
Megabajty obciążających danych są wystarczającym dowodem, by oskarżyć Abdenago o przestępstwa komputerowe z co najmniej kilku paragrafów. Na jego nieszczęście sędzina przydzielona do tej sprawy jest znana z nieustępliwego stanowiska wobec przestępców komputerowych. Za radą adwokata Abdenago przyznaje się do winy, chociaż jak wielu przekraczających granice prawa hakerów utrzymuje, że jego postępowanie – kosztujące samą tylko Refrigerators R Us tysiące dolarów – było tylko żartem. Skazany na dwa lata więzienia Abdenago odsiaduje teraz wyrok.
Słowniczek
Abdenago – biblijny Izraelita przetrzymywany w niewoli babilońskiej, który pokonał zaporę ogniową i przeżył.
ACK – patrz wyżej.
Demon – automatycznie uruchamiany użytkowy program komputerowy pracujący w tle.
Dogberry – policjant ze sztuki Williama Shakespeare’a Wiele hałasu o nic.
FIN – patrz wyżej.
FTP – powszechnie stosowany protokół oraz nazwa programu do przesyłania plików w Internecie.
Interpreter poleceń – powłoka programowa tworząca interfejs pomiędzy użytkownikiem a systemem operacyjnym komputera.
IP – protokół niskiego poziomu do przesyłania pakietów w Internecie.
ISP – dostawca usług internetowych.
Konie trojańskie – programy instalowane przez hakera w celu ukrycia jego aktywności w systemie.
Root – najwyższy poziom uprzywilejowania w komputerach z systemem Unix.
Liczba synchronizacyjna – numer służący do koordynacji kolejno nadchodzących pakietów transmisji IP.
Monitor – program rejestrujący wewnętrzną i sieciową aktywność komputera.
Monitor klawiaturowy – program rejestrujący wszelkie teksty wprowadzane za pomocą klawiatury.
Ogłupianie IP – patrz wyżej.
Port – połączenie lub kanał dostępu do komputera.
Przepełnianie buforów – patrz wyżej.
RAM – pamięć operacyjna.
RST – patrz wyżej.
Skaner – program usiłujący wykryć słabe strony komputera ofiary przez wielokrotne wysyłanie rozmaitych pytań.
SYN – patrz wyżej.
TCP – protokół transmisji umożliwiający wysyłanie i otrzymywanie plików Internetem.
Telefoniczny wojownik – program, który automatycznie łączy się przez modem z numerami telefonicznymi z podanego zakresu.
Telnet – komenda systemu Unix pozwalająca na zdalne rejestrowanie się na innych komputerach.
Tylne drzwi – metoda wchodzenia do komputera z pominięciem standardowych procedur bezpieczeństwa.
Unix – rozbudowany system operacyjny.
Zapora ogniowa – silne programy obronne blokujące dostęp intruzów.
Zrzut pamięci – ilustracja powyżej.
Literatura uzupełniająca
ESSENTIAL SYSTEM ADMINISTRATION. Wyd. II. _len Frisch; O’Reilly & Associates, Sebastopol, Calif., 1995.
INTERNET FIREWALLS AND NETWORK SECURITY. Wyd. II. Chris Hare i Karanjit Siyan; New Riders Publishing, Indianapolis, 1996.
MAXIMUM SECURITY: A HACKER’S GUIDE TO PROTECTING YOUR INTERNET SITE AND NETWORK. Praca anonimowa; Sams Publishing, Indianapolis, 1997.
THE GIANT BLACK BOOK OF COMPUTER VIRUSES. Wyd. II. Mark Ludwig; American Eagle Publications, Show Low, Ariz., 1998.
Dodatkowe informacje można znaleźć w sieci WWW pod adresami http://www.geek-girl.com/bugtraq, http://ntbugtraq.ntadvice.com/, http://rootshell.com/ i http://www.happyhacker.org/.
Szczegóły dotyczące programów EtherPeek oraz T-sight można znaleźć odpowiednio w witrynach http://www.aggroup.com/ i http://www.engarde.com/.