|
Wyższa Szkoła Informatyki Zarządzania i Administracji z siedzibą w Warszawie |
SPECJALNOŚĆ: INFORMATYKA W ZARZĄDZANIU
PAWEŁ WASILEWSKI
ZAGROŻENIA DANYCH W SIECIACH KOMPUTEROWYCH
PRACA DYPLOMOWA LICENCJACKA
Promotor:
Warszawa: 2003-06-12
WPROWADZENIE.
Dwudziesty pierwszy wiek jest wiekiem szybkiego rozwoju technicznego i szybko postępującej komputeryzacji. Niemal każdy pracodawca, dla którego duże znaczenie ma wysoka wydajność pracowników inwestuje w sprzęt komputerowy i nowoczesne technologie. Coraz częściej nawet najmniejsze firmy sięgają do Internetu - wielką kopalnię informacji co znacznie ułatwia i przyśpiesza pracę. Współczesne środowisko globalnego biznesu nie może praktycznie obejść się bez technologii internetowych - technika ta staje się podstawową formą komunikacji z klientami i partnerami firmy. Jednak burzliwy rozwój Internetu to również coraz częstsze ataki hakerów, rozpowszechniające się wirusy, spamy poczty elektronicznej, oszustwa, ataki typu odmowy usług itp. Złośliwe oprogramowanie i w pełni zautomatyzowane ataki są coraz bardziej wyrafinowane. Coraz częściej zagrożenia przynoszą nieodwracalne skutki a użytkownicy wymagają coraz lepszego poziomu zabezpieczeń. Autorzy wirusów i hakerzy mają do dyspozycji narzędzia i generatory wirusów umożliwiające tworzenie złośliwych produktów.
Wszędzie tam, gdzie należy zautomatyzować obieg dużej ilości informacji, a zatem w różnego rodzaju instytucjach, firmach, biurach, przedsiębiorstwach produkcyjnych i handlowych, komputeryzacja coraz częściej jest realizowana za pomocą pewnego modelu przetwarzania. W miarę jak przetwarzanie na odległość jest coraz to powszechniejsze również coraz częstszym elementem praktycznie wszystkich środowisk obliczeniowych stają się sieci komputerowe. Sieć komputerowa jest mechanizmem umożliwiającym komunikowanie się komputerów znajdujących się w różnych miejscach. Integralnym elementem owej komunikacji jest udostępnianie zasobów. Sieci, o których tutaj mowa mają przekrój od lokalnych (LAN - Local Area Network), gdzie komputery znajdują się w bliskiej odległości, poprzez sieci obejmujące obszar całego miasta (MAN), aż do sieci rozległych (WAN - Wide Area Network), gdzie komputery nie są ograniczone odległością (w tym przypadku trzeba się liczyć ze znacznym obniżeniem prędkości transmisji danych pomiędzy nimi). W sieciach o większej ilości stacji roboczych, zwłaszcza takich, gdzie dużą rolę odgrywa bezpieczeństwo przechowywania danych i ich ochrona przed niepowołanym dostępem, stosuje się serwery. Mogą one spełniać najrozmaitszą rolę: serwery plikowe przechowujące i organizujące dostęp do danych zapisanych na ich dyskach, serwery baz danych zajmujące się organizowaniem bezpiecznego dostępu do dużej ilości danych, serwery drukowania sterujące współużytkowaniem drukarek i innych podobnych urządzeń peryferyjnych itp.
Sieć taka umożliwia współpracę i wymianę danych pomiędzy nieograniczoną ilością użytkowników pracujących w jednej firmie lub wielu firmach, przy jednym projekcie, albo użytkownikom, którzy, pomimo że przynależą do różnych działów, korzystają z tworzonych przez siebie nawzajem danych. Większość stworzonych, istotnych informacji jest przechowywana na serwerach, przekształcanych się w wielką przechowalnie danych. Taka przechowalnia danych musi być właściwie zabezpieczana przy użyciu najlepszych produktów, ponieważ w przypadku poważniejszej awarii danych można nie odzyskać. Forma zagrożeń i natura możliwych ataków ciągle się zmieniają, a systemy zabezpieczeń to jedna z najbardziej dynamicznie rozwijających się technologii informatycznych. Odpowiednie połączenie zdrowego rozsądku, dobrego programu antywirusowego i przemyślanej strategii zabezpieczania danych może sprawić, że praca w sieci i korzystanie z poczty elektronicznej nie będzie miała żadnych katastrofalnych następstw. Jeśli ponadto umiejętnie wykorzystamy dodatkowe narzędzia, możemy zaoszczędzić trochę pracy i jeszcze bardziej poprawić poziom bezpieczeństwa. Nie można zapomnieć jednak o tym, że bezpieczeństwo jest pojęciem względnym. Przy wprowadzaniu niezbędnych zabezpieczeń warto, więc zdecydować się na rozsądny kompromis, który nie będzie zbyt uciążliwy w codziennej pracy. Z tego też względu rozsądny system zabezpieczeń ma w praktyce znacznie większą wartość, niż niedostępna twierdza.
KLASYFIKACJA ZAGROŻEŃ
Wielu korzystających z Internetu użytkowników bardzo często zastanawia się jak bardzo anonimowi są oni w tym czynią i jak duża istnieje możliwość zebrania na ich temat informacji w sposób legalny bądź też nielegalny. Tak samo jest w przypadku użytkowników korzystających z sieci lokalnej (firmowej) oraz Intranetu. Podstawowa strategia bezpieczeństwa polega na zapewnieniu bezpieczeństwa poprzez stosowanie wielowarstwowych mechanizmów ochrony. Uzupełnieniem takiej koncepcji wielowarstwowego mechanizmu ochrony może być zastosowanie zróżnicowanego typu zastosowanych metod. Przy stosowaniu w firmie zabezpieczeń tylko jednego rodzaju musimy pamiętać, że poznanie słabego punktu danego typu zabezpieczenia może doprowadzić do awarii całego systemu. Korzystanie z produktów zabezpieczających pochodzących od różnych dostawców oprogramowania znacznie zmniejsza prawdopodobieństwo pozbawienia bezpieczeństwa całego systemu. W sytuacji, gdy zawiedzie jego jeden element reszta będzie w pełni funkcjonować - jest to główna zaleta wielowarstwowego mechanizmu ochrony. Należy jednak pamiętać, że administrowanie tak złożonym systemem bezpieczeństwa jest znacznie bardziej czasochłonne niż administrowanie systemem jednolitym.
W rozdziale tym, postaram się przybliżyć najważniejsze i najczęściej występujące zagrożenia. Postaram się w sposób jak najbardziej przystępny podzielić je mając na uwadze sposób występowania i straty, jakie mogą czynić.
Awarie sprzętowe
Awarie sprzętowe są zaburzeniami w działaniach sprzętu, na które najczęściej nie mamy wpływu. Każdy element serwera lub sieci komputerowej może w pewnym momencie zostać uszkodzony. O to najczęściej pojawiające się awarie sprzętu komputerowego:
Awaria dyskowa - awaria techniczna dysku twardego (nośnika systemu operacyjnego) lub zapisu danych systemowych, co jest powodem straty danych użytkowych lub niemożliwości skorzystania z nich;
Awaria elektroniki jednostki centralnej serwera - można tutaj zaliczyć np. awarię pamięci, awaria płyty głównej lub kontrolera RAID wymagająca ich wymiany lub innej naprawy;
Awaria lokalnej sieci komputerowej (LAN) - długotrwała przerwa w funkcjonowaniu sieci spowodowana np. awaria jednego z urządzeń sieciowych, zerwaniem kabla transmisyjnego, awarią karty sieciowej w serwerze, błędem obsługi;
Awaria środków teletransmisyjnych - każda przerwa w przesyłaniu danych drogą teletransmisji (tj. pomiędzy siedzibami), w tym również spowodowana awarią zewnętrzną lub błędem obsługi (np. w konfigurowaniu urządzeń);
Awaria zasilania - przerwy w działaniu serwerów spowodowane brakiem dostarczania energii elektrycznej do jednostki centralnej lub urządzeń peryferyjnych, z wyjątkiem planowych wyłączeń. Może to być również awaria UPS-a;
inne - np. awaria stacji dysku elastycznego, bibliotek do awaryjnego kopiowania danych.
Oczywiście w każdej korporacji występują działania mające na celu modernizację lub wymianę elementów infrastruktury informatycznej:
Działania planowe - np. naprawa, rozbudowa lub rekonfiguracja sprzętu komputerowego, ewakuacja placówki, planowe wyłączenia sieci energetycznej;
Awaria oprogramowania
Niezależnie od tego jak zaawansowanym oprogramowaniem dysponujemy musimy się liczyć, że w końcu nastąpi moment, w którym zawiedzie. Microsoft Exchange Serwer jest bardzo popularnym oprogramowaniem wymiany pocztowej aczkolwiek posiada bardzo dużo błędów. Z tego względu trzeba pamiętać o instalowaniu najnowszych uaktualnień oraz robieniu kopii zapasowych serwera. O to najczęściej występujące problemy w oprogramowaniu:
„Dziury” w oprogramowaniu - wprawny użytkownik może takie dziury łatwo wykorzystać do zachwiania stabilności pracy serwera
Zawieszenie się systemu z nieznanej przyczyny (tzw. „blue screen”) - chwilowy brak reakcji systemu, który ustąpił po ponownym jego uruchomieniu lub innej akcji naprawczej i się nie powtarzał;
Pojedyncze przekłamanie lub inne pojedyncze, niewyjaśnione zdarzenie
Niewydolność systemu - np. z powodu zbyt małych zasobów, takich jak przepełnienie dysku twardego, za mała pamięć operacyjna lub zainstalowania dodatkowego oprogramowania np. antywirusowego
Czynnik ludzki
Kolejnym problemem, z jakim mamy do czynienia w każdej firmie jest tzw. czynnik ludzki. Praktycznie 95% naruszeń prywatności użytkowników jest zaliczane do tej kategorii. Wliczane są tutaj niedopatrzenia, które nie wynikają z istoty działania systemu, ale z celowej, bądź beztroskiej działalności człowieka. Z opublikowanego w USA raportu wynika, że to wcale nie hakerzy są największym utrapieniem administratorów sieci komputerowych - dużo więcej kłopotów sprawiają im niedostatecznie przeszkoleni oraz bezmyślni użytkownicy. Problem polega w głównej mierze na tym, że wiele firm skupia się przede wszystkim na zabezpieczeniu sieci przed ingerencją z "zewnątrz", zapominając o tym, że poważne szkody może spowodować również autoryzowany użytkownik. Przykładem mogą być szkody, jakie swego czasu spowodował wirus "I love you". Na całym świecie oszacowano je na kilka miliardów dolarów. Skutki działania wirusa były aż tak poważne głównie z uwagi na lekkomyślność użytkowników, którzy bez zastanowienia uruchamiali program. Najczęściej występując problemy to:
Błąd ludzki w obsłudze systemu komputerowego - niewłaściwie korzystanie ze sprzętu komputerowego;
Brak przeszkolenia użytkowników - użytkownicy nie są szkolenia zaraz po przyjściu do pracy;
Zapisywanie loginów i haseł na przyklejanych do monitora albo telefonu karteczkach;
Lekkomyślne działania - uruchamianie nieznanych produktów dostarczonych za pomocą poczty elektronicznej;
Rywalizacja z administratorami - zdarza się, że użytkownicy starają się „pokazać' administratorowi, że są „lepsi”
Wirusy komputerowe i wszelkie ich odmiany
Wirusy komputerowe są obecnie największym zagrożeniem, jaki może dotknąć firmę. Spowodowane jest to faktem, iż nie można przewidzieć momentu ich ataku jak również sposobu ich działania. Przy tworzeniu wirusów wykorzystywane są coraz bardziej zaawansowane technologie zmniejszające ich wykrywalność a zwiększające skutki ich katastroficznej działalności. Ich dalekie odmiany takie jak konie trojańskie oraz zagrożenia hybrydowe biją rekordy pod względem szybkości infekcji oraz sianych spustoszeń. Oprogramowanie antywirusowe jest coraz częściej bezradne, ponieważ wirusy wykorzystują dziury w systemach operacyjnych oraz nowoczesne metody ukrywania. Potrafią być niewidoczne do momentu uaktywnienia zainfekowanego pliku. Najczęściej występujące problemy to:
Awarie i straty finansowe spowodowane infekcją przez wirusy - często spowodowane przestarzałym oprogramowaniem, które nie potrafi wykryć infekcji
Zwiększenie kosztów funkcjonowania infrastruktury informatycznej - zaangażowanie większej ilości informatyków do zwalczenia rozszerzającej się infekcji
Utrata istotnych danych - większość nowoczesnych wirusów usuwa dane i niszczy całe systemy operacyjne
Niewydolność systemu operacyjnego - bardzo duża ilość przesyłanych zainfekowanych maili potrafi doprowadzić do przeciążenia serwera
Niewydolność sieci komputerowej - podczas rozprzestrzeniania się wirus potrafi w dużym stopniu zmniejszyć wydajność sieci komputerowej
Podsumowanie
Podsumowując poprzednie podpunkty tego rozdziału łatwo możemy zauważyć, że opisane przeze mnie pierwsze trzy rodzaje problemów są łatwe do wyeliminowania. Błędy sprzętu możemy usunąć korzystając z markowego sprzętu, szybkiej obsługi serwisowej lub posiadania np. drugiego takiego samego serwera. Błędy oprogramowania są szeroko opisywane w Internecie i korzystając z tych wiadomości możemy większość zlikwidować a części zapobiec instalując, np. najnowsze poprawki. Użytkownik jest człowiekiem a każdego użytkownika można wysłać na szkolenia w celu powiększenia jego wiedzy w interesującym Nas temacie. Przy pomocy audytu możemy sprawdzać, który z użytkowników wykazuje „nieprawidłowe” zachowanie i zapobiec jego następstwom. W celu pominięcia zapisywania hasła można zastosować dosyć kosztowne rozwiązanie zwane RSA Security, gdzie użytkownik dostaje Token, na którym co 60 sekund zmieniany jest ciąg sześciu cyfr. Ciąg ten połączony z zapamiętanym przez użytkownika PIN-em stanowi hasło. Jednak to wszystko jest tylko jedną stroną medalu.
Plagą dzisiejszych sieci komputerowych oraz Internetu są konie trojańskie, zagrożenia hybrydowe a przede wszystkim wirusy. Jest to największy, najszybszy, najmocniejszy i nieprzewidywalny przeciwnik, przed którym zabezpieczamy komputery, serwery i sieci korporacyjne. Dlatego właśnie rozległemu tematowi wirusów i podobnych produktów poświęcę cały następny rozdział - przybliżę ich rodzaje oraz sposób działania.
WIRUSY KOMPUTEROWE I INNE PODOBNE ZAGROŻENIA.
Wirus komputerowy (łacińskie "virus" oznacza truciznę) to program, który posiada zdolność samoczynnego powielania się i przenoszenia z jednego komputera na drugi bez wiedzy i poza kontrolą użytkownika. Twórcą tego terminu, funkcjonującego od 1986 r., jest Fred Cohen, który za badania nad tym zjawiskiem otrzymał doktorat w dziedzinie inżynierii elektrycznej. Wirusy tworzone są przez anonimowych programistów, najczęściej w złych zamiarach - Stephen Hawking, laureat nagrody Nobla w dziedzinie fizyki, określił je jako pierwszą formę życia stworzoną przez człowieka. Najwcześniejszy przypadek ukarania autora wirusa miał miejsce w 1995 r. - został on skazany na 18 miesięcy więzienia. Szkody wyrządzane przez wirusy różnią się w zależności od jego rodzaju, począwszy od wyświetlania na ekranie niegroźnych komunikatów, a skończywszy na uszkodzeniu bądź zniszczeniu danych i unieruchomieniu komputera. Wirusy mogą być przenoszone poprzez dyskietki, dyski optyczne oraz sieć .Elektroniczna odmiana wirusa ma wiele cech wspólnych ze swoim biologicznym pierwowzorem. Jest obiektem niewielkim, do „rozmnażania się” potrzebuje on nosiciela i często swoją obecnością wywołuje nieprzyjemne skutki dla użytkownika komputera.
W ciągu ostatniego roku wirusy rozpowszechniające się za pośrednictwem Internetu zrobiły prawdziwą „furorę” zwłaszcza te, dla których „środowiskiem życiowym” są aplikacje biurowe i sieciowe Microsoftu. Obecnie jednak większość programów antywirusowych ma funkcje pozwalające ustrzec się przed wizytą nieproszonych gości.
Warto się więc przyjrzeć szkodnikom.
„Autorami wirusów są zwykle mężczyźni w wieku 20-30 lat, którzy chcą udowodnić, że potrafią wywierać wpływ na komputery i innych ludzi.
Rzeczywistą wielkość szkód wyrządzonych przez wirusy komputerowe pokazują badania przeprowadzone przez agencję badań rynkowych Computer Economics. W pierwszej połowie 1999 roku firmy na całym świecie wydały ponad 7 miliardów dolarów na ochronę przed wirusami i na usuwanie spowodowanych przez nie szkód. Stowarzyszenie ICSA już w 1998 roku oceniało, że przeciętne straty wywoływane pojedynczym atakiem wirusów wynoszą 2500 dolarów.
Kariera wirusów komputerowych rozpoczęła się już w 1986 roku, gdy wirus Rabin zainfekował kilka dyskietek na amerykańskim uniwersytecie Delaware. Pod koniec 1988 roku pojawił się pierwszy z nowej rodziny wirusów, zdolny do rozpowszechniania się w sieciach komputerowych. Program Morris unieruchomił wówczas kilka komputerów połączonych ze sobą za pośrednictwem Internetu. Od tego czasu liczba znanych wirusów wzrosła wielokrotnie.
Wirus jest programem komputerowym zaprojektowanym i stworzonym w celu złośliwego wpłynięcia na system komputerowy poprzez zmianę jego sposobu działania, bez wiedzy lub zgody właściciela komputera. Mówiąc językiem bardziej technicznym, wirus jest fragmentem kodu programu, który włącza się w jeden lub więcej plików wykonywalnych i rozprzestrzenia się systematycznie na inne pliki. Wirusy komputerowe nie powstają samorzutnie - są świadomie tworzone i mają konkretny cel. Zwykle wirus ma dwie specyficzne funkcje:
Rozprzestrzenia się z jednego pliku na drugi bez naszej pomocy czy wiedzy. Nazywa się to samoreplikacją lub propagacją.
Implementuje objawy lub uszkodzenia zaplanowane przez sprawcę. Mogą to być: skasowanie zawartości dysku, uszkodzenie programów albo po prostu wywołanie zamieszania w systemie komputerowym. Nazywa się to „ładunkiem” (Payload) niesionym przez wirusa, który może być łagodny lub złośliwy, zależnie od kaprysu twórcy.
Wirus łagodny to taki, który został zaprojektowany tak, by nie czynić właściwie żadnej szkody w komputerze. Na przykład wirus, który ukrywa się aż do pewnego zaplanowanego z góry dnia, w którym nie robi nic poza wyświetleniem niewinnej wiadomości.
Wirus złośliwy próbuje wyrządzić szkodę w komputerze, choć szkoda ta może być niezamierzona. Znaczna liczba wirusów wyrządza szkody głównie z powodu nieprofesjonalnego programowania lub zwykłych błędów kodu. Złośliwy wirus może zmienić jeden lub wiele programów w komputerze i sprawić, że nie będą one działały jak należy. Zainfekowany program może zakończyć pracę w nienormalny sposób lub zapisać niewłaściwe informacje w dokumentach. Wirus może też przekręcić informacje o katalogach w części systemowej. To może spowodować, że partycja dysku nie będzie widoczna, że nie da się uruchomić jednego lub więcej programów albo programy nie będą potrafiły zlokalizować dokumentów, które chce otworzyć użytkownik.
Niektóre z rozpoznanych wirusów są łagodne, jednak sporo jest też wirusów złośliwych. Niektóre z tych bardziej złośliwych mogą skasować cały dysk lub zawartość plików.
ZGROŻENIA HYBRYDOWE -tzw „blended threats”
WIRUSY
Wirusy infekujące pliki
Wirusy infekujące sektory startowe (boot sectors) dysków
Wirusy infekujące główny rekord startowy (MBR -Master Boot Record)
Wirusy typu mieszanego
Wirusy typu stealth i wirusy polimorficzne
Wirusy makrowe
KONIE TROJAŃSKIE
BOMBA LOGICZNA
ROBAKI
Robak e-mail
Robak typu flash
Robak typu Gnutella
Robak typu IIS
Robak typu IRC
Mobilny agent
Robak aktywny
Robak pasywny
Robak VBS
Robak typu Web
Wirusy - realne zagrożenie.
Nie jest przesadą stwierdzenie, że wirusy mogą przeszkodzić w swobodnym przepływie informacji, rozwijanym przez komputery osobiste w ciągu ostatnich dziesięciu lat. Rozprzestrzenianie się wirusów otworzyło nową erę w sferze bezpieczeństwa komputerowego. Wyprodukowanie standardowego wirusa jest obecnie czynnością, co najmniej schematyczną żeby nie nazwać tego czystym kopiowaniem. Możliwości i sposoby stworzenia wirusa są ogólnie dostępne w sieci. Można pokusić się o stwierdzenie, iż wystarczy tylko trochę poszukać i poczytać w Internecie, aby stworzyć swoje własne dzieło. Ludzie, którzy ignorują podstawowe wskazówki dotyczące bezpieczeństwa, podejmują poważne ryzyko. Kiedy się weźmie pod uwagę szeroko rozpowszechniane ostrzeżenia przed tym niebezpieczeństwem - a także szeroko znane konkretne przypadki - tajemnicą pozostaje, dlaczego niektórzy przedstawiciele przemysłu komputerowego twierdzą, iż raporty na temat wirusów są przesadzone.
Narodowe Centrum Danych o Przestępstwach Komputerowych (The National Center for Computer Crime Data) w Los Angeles (USA) ocenia, że amerykański biznes traci 550 milionów dolarów rocznie z powodu dostępu niepowołanych osób do komputerów. Straconego czasu nie da się policzyć.
Na wagę problemu może wskazywać fakt, że rząd federalny USA wspomagał utworzenie grupy szybkiego reagowania na wirusy, nazwanej CERT (Computer Emergency Response Team - Grupa Reagowania na Zagrożenia Komputerowe). Jej zadaniem jest sprawdzanie zagrożeń bezpieczeństwa w większych sieciach komputerowych USA. Również Software Publishers Association (Związek Producentów Oprogramowania) podjął pewne kroki w kierunku stawienia czoła temu problemowi.
W ubiegłym roku wiele spośród firm notowanych przez magazyn „Fortune” zaczęło prowadzić politykę komputerową mającą na celu zaradzenie zagrożeniu wirusami. W wielu przypadkach nowe procedury ustanawiają praktykę testowania całego oprogramowania przed umieszczeniem go w sieci i ograniczają możliwość ładowania programów z elektronicznych zasobów oprogramowania (BBS-ów i serwerów internetowych). Dosłownie nikt, kto używa komputera - nawet rząd, policja czy bank - nie jest całkowicie uodporniony na ataki komputerowych wirusów. Wyobraźmy sobie, że prom kosmiczny wykonuje polecenie pochodzące z zainfekowanego przez wirusa programu komputerowego. Albo, że kontroler ruchu powietrznego otrzymuje niewłaściwe dane ze zniekształconego systemu. Albo, że zapis operacji finansowych twojej firmy został nagle zniszczony lub trwale uszkodzony.
To nie są fantazje na temat wyimaginowanej zagłady. Dotychczas wirusy komputerowe uderzały w różne systemy, także w firmach z listy Fortune 500, w agencjach rządowych, poważnych ośrodkach uniwersyteckich, gazetach i rozległych sieciach łączących ogromną liczbę użytkowników z przepastnymi zasobami informacji.
Trzeba zawsze pamiętać, że jednym z największych marzeń każdego twórcy wirusów jest stworzenie dzieła wprost idealnego, tzn. takiego, który jest w pełni niewykrywalny i niemożliwy do usunięcia.
Zagrożenia hybrydowe - tzw., „blended threats”
Czasy, w których do ochrony przed niebezpiecznymi robakami internetowymi i wirusami wystarczało oprogramowanie antywirusowe odeszły już w niepamięć. Nadeszła nowa era wirusów i robaków. Zagrożenia hybrydowe potrafią wykorzystywać różne metody i techniki przesyłania oraz rozprzestrzeniania ataku. Ogromne zniszczenia, jakie potrafią wyrządzić powodują straty rzędu miliardów dolarów. Straty te najczęściej wynikają z utraconych zysków, spadku wydajności a następnie z usuwania szkód i odtwarzania danych.
Zagrożenia hybrydowe posiadają kilka charakterystycznych cech:
Wywoływanie szkód - część zagrożeń hybrydowych przeprowadza ataki typu DOS (Denial of Sernice) na określone adresy IP w celu blokady serwerów a następnie umieszcza konie trojańskie
Wiele metod propagacji - zagrożenia hybrydowe potrafią automatycznie wyszukiwać znane słabe punkty oprogramowania w celu infekcji. Potrafią wykorzystywać m. in: osadzanie w plikach HTML, infekowanie wszystkich odwiedzających daną stronę internetową lub rozsyłanie z zainfekowanych serwerów poczty elektronicznej z robakiem internetowym w środku
Wiele punktów ataku - zagrożenia hybrydowe potrafią dodawać niebezpieczny kod do plików wykonywalnych w systemie, zwiększać poziom uprawnień dla konta gość, tworzyć udziały sieciowe, wprowadzać zmiany w rejestrze
Automatyczne rozprzestrzenianie - zagrożenia hybrydowe zawsze automatycznie wyszukuje niezabezpieczone serwery w Internecie
Wykorzystywanie słabych punktów - zagrożenia hybrydowe potrafią wykorzystać znane słabe punkty serwerów, takie jak przepełnienie bufora czy znane domyślne hasła. Po uzyskaniu dostępu z prawami administratora mogą wprowadzać modyfikacji w katalogach głównych
Jak się przed nimi bronić? Podstawą są bezpieczne hasła, czyli takie, które się składają, z co najmniej ośmiu znaków alfanumerycznych i są często zmieniane. Bardzo ważnym elementem jest instalacja najnowszych poprawek oprogramowania gdyż zagrożenia hybrydowe wykorzystują znane luki w zabezpieczeniach. Należy wyłączać niepotrzebne usługi gdyż stanowią one potencjalne zagrożenie. Każda usługa posiada swój własny port TCP lub UDP. Wyłączenie lub usunięcie niepotrzebnych zmniejsza liczbę portów, przez jakie osoby nieupoważnione są w stanie wtargnąć do systemu. No i oczywiście stosowanie kompleksowego systemu zabezpieczeń: oprogramowania antywirusowego razem z systemami filtrowania treści internetowych, zapór firewall oraz systemów wykrywania włamań .
Typy wirusów.
Wirus komputerowy to program zaprojektowany tak, aby replikować się i rozprzestrzeniać samodzielnie, najchętniej bez wiedzy użytkownika systemu. Nosicielem może być szablon dokumentów stworzonych za pomocą aplikacji wchodzących w skład pakietów biurowych, wyposażonych w język makr (najczęściej Microsoft Office). Na niebezpieczeństwo narażeni są wszyscy, którzy w dowolnej formie przenoszą dane między swoimi komputerami. Źródłem infekcji może być również plik skopiowany ze strony WWW, dołączony do poczty elektronicznej albo wiadomości zamieszczonej na liście dyskusyjnej. Znane są przypadki, gdy producent oprogramowania prawdopodobnie nieświadomie rozpowszechniał swój produkt na oryginalnie zapakowanych, jednocześnie zawirusowanych dyskietkach lub płytach CD-ROM. Wirusy komputerowe rozpowszechniają się poprzez przyłączanie się do innych programów (np. edytorów tekstu czy arkuszy kalkulacyjnych) albo do sektorów startowych na dyskach. Kiedy uruchamiany jest zainfekowany program lub komputer wystartuje z zainfekowanego dysku, wykonywany jest kod wirusa. Często bywa tak, że przyczaja się on w pamięci, czekając na okazję do zainfekowania następnego uruchamianego programu lub następnego dostępnego dysku. Dodatkowo wiele wirusów wykonuje zdarzenie wyzwalane przez zaprogramowaną kombinację, na przykład wyświetla jakiś komunikat w konkretnym dniu albo kasuje pliki po określonym kolejnym uruchomieniu zainfekowanego programu. Choć niektóre z wyzwalanych zdarzeń są niewinne (np. wyświetlanie komunikatów), bywają też szkodliwe. Większość wirusów jest nieszkodliwa - wyświetla teksty lub obrazy, albo nic nie robi. Inne wirusy są dokuczliwe, spowalniają system lub powodują nieduże zmiany obrazu wyświetlanego na monitorze. Niektóre wirusy są jednak prawdziwie złośliwe, powodują zawieszanie się systemu, uszkodzenia plików i utratę danych.
Wirusy infekujące pliki.
Wirusy takie dołączają się do plików .COM lub .EXE (albo zastępują je) oraz wsadowych, choć w niektórych przypadkach mogą też infekować pliki o rozszerzeniach.DLL, .LIB, .OBJ, .VXD, .SYS, .DRV, .BIN, .OVL i .OVY. W tym przypadku wirus zazwyczaj modyfikuje plik zbioru i dopisuje swój kod wewnątrz lub na jego końcu. Załadowanie zainfekowanego pliku do pamięci jest równoznaczne z uaktywnieniem wirusa. Programy zarażają się takim wirusem zwykle wtedy, gdy są uruchamiane podczas obecności wirusa w pamięci. Mogą także zostać zainfekowane podczas otwierania (na przykład po wydaniu polecenia DIR w systemie DOS) bądź wirus może po prostu zarazić wszystkie pliki w katalogu, z którego został uruchomiony (zarażanie bezpośrednie).
Wirusy infekujące sektory startowe (boot sectors) dysków.
Każdy dysk logiczny - czy to dyskietka, czy dysk twardy - zawiera boot sector. Dotyczy to również dysków, które nie są dyskami startowymi. Sektor ten zawiera szczegółowe informacje związane z formatowaniem dysku, a także program startowy (boot program), który ładuje do pamięci pliki systemu DOS. To właśnie program startowy wyświetla znajomy komunikat „Non-system Disk or Disk Error”, jeśli plików systemu DOS nie ma na dysku. Program ten może również zostać zainfekowany przez wirusy. Takim wirusem można zarazić komputer, gdy zostawi się zainfekowaną dyskietkę w stacji dysków i zrestartuje się system. Kiedy program z sektora startowego zostanie wczytany i wykonany, wirus zagnieżdża się w pamięci i zaraża twardy dysk. Ponieważ każdy dysk posiada boot sector, zarażenie komputera od dysku zawierającego same dane jest możliwe (i powszechne).
Wirusy infekujące główny rekord startowy (MBR - Master Boot Record).
Pierwszy sektor każdego twardego dysku (strona 0, ścieżka 0, sektor 1) zawiera główny rekord startowy (master boot record) i tablicę partycji (partition table). Główny rekord startowy zawiera mały program (Master Boot Program), który sprawdza w tablicy partycji początkowy adres partycji startowej i każe systemowi wykonać kod, który znajdzie pod tym adresem. Jeśli dysk jest prawidłowo zainicjowany, pod tym adresem (strona 1, ścieżka 0, sektor 1) znajduje się prawidłowy boot sector. W przypadku dyskietek te same wirusy infekujące MBR zarażają boot sector.
Wirusy infekujące główny rekord startowy nabywa się w taki sam sposób, jak te, które infekują sektory startowe - przez pozostawienie zainfekowanej dyskietki w stacji i zrestartowanie komputera. Kiedy program z sektora startowego zostanie wczytany i wykonany, wirus zagnieżdża się w pamięci i infekuje MBR twardego dysku. Ponieważ każdy dysk posiada boot sector, zarażenie komputera od dysku zawierającego same dane jest możliwe (i powszechne) również w tym przypadku.
Replikacja wirusów.
Do replikacji wirusy często wykorzystują jednostki alokacji plików (JAP), na jaki system FAT dzieli DOS-ową partycję dysku twardego. Aby uzyskać dostęp do pliku, DOS odszukuje na katalogu dyskowym numer jego pierwszej jednostki alokacji, po czym kolejno czyta wszystkie jednostki zajmowane przez plik. Oczywiście jednostki mogą być bezładnie rozrzucone po całym dysku. Wirus atakujący JAP (ang. Link Virus) zmienia w katalogu dyskowym pierwszej JAP dla jednego lub wielu plików na numer wskazujący JAP zawierającą kod wirusa. Wczytanie takiego pliku powoduje uruchomienie wirusa, który w dalszej kolejności musi załadować właściwy program, jeśli pamięta oryginalny numer jego pierwszej JAP.
Wirusy typu mieszanego.
Wirusy typu mieszanego stanowią kombinację typów wymienionych powyżej. Infekują i pliki, i MBR, albo i pliki, i sektory startowe. Ten typ wirusa występuje obecnie rzadko, ale liczba takich przypadków stale wzrasta.
Wirusy typu stealth i wirusy polimorficzne.
W pierwszych latach obecności wirusów komputerowych ich wykrywanie było względnie proste. Każdy nowy wirus miał charakterystyczny tylko dla siebie ciąg bajtów, czyli sygnaturę. Wystarczyło, więc przejrzeć pliki pod kątem obecności sygnatur znanych wirusów. Sytuacja zmienił się radykalnie za sprawą Bułgara o pseudonimie Dark Avenger, który opracował metodę pozwalającą tworzyć wirusy samo mutujące się Tak zwane wirusy polimorficzne nie mają swojej sygnatury, ponieważ ich kod zmienia się samoczynnie wraz z każdą infekcją.
Inna technika określana jako stealth wiąże się z ukrywaniem wirusa rezydentnego przed „oczami” programów, które dokonują próby dostępu do pliku lub sektora będącego nosicielem. W przypadku kontroli wirus typu stealth potrafi „w locie” chwilowo naprawić zarażone pliki do poziomu sprzed zarażenia i w ten sposób zatuszować swoją obecność. Wykrycie wirusa w pamięci operacyjnej może się nie powieść, jeśli jego kod zostanie zainicjowany przed uruchomieniem programu antywirusowego. Ratunkiem w takim przypadku jest start systemu ze „zdrowej” dyskietki i niedopuszczenie do przejęcia przez wirus kontroli nad systemem.
Hoaxes.
Pod pojęciem Hoaxes nie kryją się rzeczywiste wirusy, lecz tylko komunikaty ostrzegające przed pewnym - rzekomo - bardzo niebezpiecznym - wirusem. Ostrzeżenia te, przesyłane z reguły pocztą elektroniczną, mają skłonić adresatów do przekazania ich kolejnym użytkownikom poczty. Komunikaty typu Hoax zawierają często informacje sugerujące, że zostały one wysłane przez producenta oprogramowania. Bardzo przypominają popularne niegdyś „łańcuszki szczęścia”.
Wirusy makrowe.
Najbardziej popularny typ wirusów. Aktualnie to na nie przypada ok. 80 procent wszystkich infekcji. Wirus makrowy można zdefiniować jako samopowielający się program komputerowy, oparty w działaniu o środowisko, w którym pliki danych są nie tylko pasywnymi nośnikami informacji, lecz mogą zawierać aktywne komendy służące (co najmniej) do manipulowania tym środowiskiem. W praktycznie występujących aplikacjach komendy te można grupować w tzw. Makropolecenia, czyli w skrócie makra. Stąd pochodzi nazwa wirusów makrowych. Microsoft Word i Excel wykonują serię instrukcji automatycznie przy otwieraniu dokumentów. Jeśli jeden tekst czy arkusz zostanie wyposażony w złośliwe makro, możesz przypłacić to utratą lub zniszczeniem treści dokumentów, które otwierasz.
Konie trojańskie (Backdoory).
Konie trojańskie nie są w zasadzie wirusami, gdyż nie rozpowszechniają się samodzielnie. Zazwyczaj ukrywają się pod postacią programów użytkowych lub rozrywkowych. Podczas gdy na ekranie monitora wyświetlana jest animacja, działający w tle właściwy program instaluje się rezydentnie w systemie bądź, po prostu, dokonuje zniszczeń.
Bomba logiczna.
Jest to wirus, który może pozostawać przez długi czas w ukryciu i po zaistnieniu pewnych okoliczności (np. nadejście określonej daty lub skasowanie jakiegoś pliku) dokonuje zniszczeń.
Robaki.
Są programami, które istnieją samodzielnie bez udziału nosiciela i bezustannie uruchamiają swoje liczne kopie (replikują się wykorzystując do tego sieć logiczną) doprowadzając w ten sposób do szybkiego wyczerpania zasobów systemu. Replikując się bardzo szybko, potrafią w krótkim czasie uniemożliwić korzystanie z niektórych zasobów lub całkowicie sparaliżować działania sieci komputerowej. Ponieważ robaki oferuję bardzo duże możliwości w rozprzestrzenianiu się obecnie są najbardziej rozpowszechnionymi typami wirusów. Istnieje ich bardzo dużo rodzajów jednak ja przedstawię najważniejsze:
Robak e-mail
Robak przenoszący się przy pomocy poczty elektronicznej - najczęściej do rozpowszechnienia się wykorzystuje on osobistą książkę adresową w programach Microsoft Outlook oraz Microsoft Outlook Express .
Robak typu flash
Robak oparty o zmodyfikowaną wersję algorytmu opisanego w odniesieniu robaka Warhola, dzięki czemu czas potrzebny na zainfekowanie całej sieci wynosi nie więcej niż 30 sekund .
Robak Gnutella
Typ robaka, który rozpowszechnia się za pomocą programów typu peer-to-peer - Gnutella, BearShare, Kaazaa.
Robak typu IIS
To typ robaka wykorzystujący w serwerze IIS (Internet Information Server) - jest wbudowany w system NT 4.0 oraz Windows 2000 i XP serwer usług typu FTP, WWW i Telnet.
Robak typu IRC
Robak typu IRC jest to robak napisany w języku skryptowym programów IRC .
Mobilny agent
Program, który może swobodnie poruszać się po sieci wykonując pożyteczne zadania, np.: zbierając informacje na konkretny temat .
Robak aktywny
Robak zaraz po uruchomieniu skanuje całą sieć w poszukiwaniu swoich przyszłych ofiar i w przypadku ich odnalezienie, wykorzystuje luki systemowe, aby je zainfekować, po czym wesprzeć się nimi przy dalszej replikacji.
Robak pasywny
Robak ten oczekuje na połączenie i w momencie jego nawiązania - uaktywnia się .
Robak typu VBS
Robak napisany w języku skryptowym Visual Basic Script - jest to ostatnio najbardziej rozpowszechniony typ robaków .
Robak typu Web
Jest robakiem ukrytym w treści strony WWW - najczęściej jest napisany w języku skryptowym VBS (Visual Basic Script) .
Wirus „zoologiczny”.
Przechowywany w zbiorach laboratoriów badaczy wirusów. Często mało skuteczny, niespotykany „na wolności”. Aktualnie liczbę odmian takich wirusów ocenia się na ok. 18 tysięcy.
Jak rozprzestrzeniają się wirusy?
Wirusy rozprzestrzeniają się, kiedy uruchomi się zainfekowaną aplikację lub uruchomi komputer, startując go z dysku o zainfekowanym systemie plików. Jeśli na przykład program do edycji tekstów zawiera wirusa, to zostanie on uaktywniony, kiedy uruchamia się program. Gdy wirus jest już w pamięci, zaraża zwykle każdą uruchomioną następnie aplikację, włączając w to programy sieciowe (o ile dostępne są prawa zapisu na dyskach lub w folderach sieciowych).
Wirusy zachowują się różnorodnie. Niektóre zostają w pamięci komputera aż do wyłączenia maszyny, inne są aktywne tylko w czasie, gdy uruchomiona jest zainfekowana aplikacja. Wyłączenie komputera lub aplikacji usuwa wirusa z pamięci, ale nie z zarażonego pliku lub dysku. Jeśli więc wirus rezyduje w systemie plików, uaktywni się przy następnym uruchomieniu
komputera z zainfekowanego dysku. Jeśli zaś rezyduje w programie, uaktywni się przy następnym jego uruchomieniu.
Aktualizacja wirusów przez Internet.
Programiści tworzący wirusy wcale nie próżnują. W tej dziedzinie kluczowym elementem stymulującym jest Internet. Od początku grudnia na świecie zaczął rozpowszechniać się program W95 - Babylonia, który jest pierwszym wirusem zdolnym do aktualizowania swojego kodu za pośrednictwem Internetu. W tym celu nawiązuje on łączność z serwerem 29A Virus Writing Group. Do rozpowszechniania swoich kopii wirus Babylonia korzysta z programu konwersacyjnego mIRC.
Wirusowa przyszłość.
Do tej pory barierą dla wirusów był system operacyjny, choć nie ma formalnych przesłanek, że makrowirusy przenosiły się między wersjami pakietu Microsoft Office dla PC i Macintosh. Pojawił się pierwszy wirus napisany w Javie, noszący nazwę Strange Brew. Nosicielem może być plik z rozszerzeniem CLASS, zawierający tzw. Klasy Javy. Chociaż Strange Brew z założenia nie jest destrukcyjny, to w niektórych przypadkach może uszkodzić zarażone zbiory, co wynika z błędów w kodzie wirusa
W przypadku języka Java uważa się, że applety nie mogą być groźne dla bezpieczeństwa systemu, ponieważ są wykonywane w tworzony przez aplikację, teoretycznie sterylnym środowisku wirtualnej maszyny Javy (JVM - Java Virtual Machine). Ryzyko może wyniknąć z niezałatanych jeszcze dziur w mechanizmach bezpieczeństwa używanych przez JVM, które nie powinny pozwalać na dostęp do plików na lokalnym dysku oraz uruchamianie programów. Niebezpieczne mogą być natomiast aplikacje napisane w Javie, które nie podlegają takim ograniczeniom jak applety. Na pewno jednak wirusem Strange Brew nie można się zarazić wędrując po stronach WWW, które zawierają applety Javy.
Dalece mniej bezpieczną technologią są lansowane przez Microsoft elementy ActiveX. Posiadając dostęp do zasobów lokalnych, kontrolki ActiveX mogą czytać, modyfikować i kasować zbiory, czyli w skrajnym przypadku dokonać wszystkiego, co najgorsze. Co więcej, każdy nowy aktywny element musi zyskać sygnaturę od firmy VeriSign, która poświadcza, że wykorzystanie danej kontrolki nie niesie ze sobą szkodliwych skutków. Przetestowanie kontrolki wymaga jednak czasu i wniesienia stosownej opłaty. Natomiast odwiedzająca stronę WWW jest ostrzegana przed próbą załadowania elementu, który nie ma stosownej sygnatury w zależności od poziomu bezpieczeństwa przyjętego w ustawieniach przeglądarki internetowej. W praktyce korzystając z kontrolki można jedynie mieć pewność, kto jest jej autorem, ale nie daje to 100% gwarancji bezpieczeństwa. Bez wątpienia jest to daleki od doskonałości sposób zabezpieczania użytkowników komputerów przed konsekwencjami działania „nieprzyjaznych” kontrolek ActiveX.
Stosunkowo bezpiecznym środowiskiem jest system Windows NT. Ze względu na jego specyficzną architekturę niebezpieczne są dla jedynie wirusy działające przed uruchomieniem samego systemu .
Ochrona antywirusowa.
Ochrona antywirusowa jest jednym z najpowszechniej stosowanych elementów systemu bezpieczeństwa systemów informatycznych. Jest to też coraz bardziej trudne zadanie ze względu na złożoność systemów informatycznych oraz wyrafinowane techniki stosowane przez „producentów” wirusów.
Komputer znajdujący się w sieci może zostać zainfekowany przez wirusa. Aby jednak rozpocząć szczegółową analizę zagrożeń, które są spowodowane przez wirusy należy zapoznać się z jego pojęciem. Wirusy mogą zostać przysłane razem z wiadomością Microsoft Exchange lub dołączony do niej plik został zawirusowany. Taki komputer może być zainfekowany na przykład przez wirus zlokalizowany w wiadomości w pliku w formacie Microsoft Office 6.0 lub 95 lub 97 lub 2000. Podczas próby otworzenia tego rodzaju wiadomości użytkownik uruchamia odpowiednią aplikację Microsoft Office i infekuje komputer.
Wiadomości w formacie HTML również mogą zawierać wirusy. Jeśli zainfekowany plik jest dołączony do wiadomości, komputer zostanie zainfekowany w momencie kliknięcia przez użytkownika na ikonie dołączonego pliku.
Jednym z elementów realizacji polityki bezpieczeństwa systemu jest ochrona antywirusowa. Aby była skuteczna niezbędnym jest:
Opracowanie i wdrożenie procedur postępowania,
Zastosowanie możliwie najlepszych narzędzi,
Stała pielęgnacja stosowanych narzędzi.
Projekt systemu i zestaw procedur pozwalają na stworzenie spójnej i skutecznej polityki ochrony antywirusowej systemu informatycznego. Postępowanie zgodnie z ustanowioną polityką pozwoli na minimalizację kosztów utrzymania systemu informatycznego oraz zbudowanie zaufania użytkowników do wykorzystywanego systemu.
3 . ZAGROŻENIA ZE STRONY HAKERÓW
Kilkanaście lat temu haker mógł co najwyżej przyprawić o stres kilku naukowców na uniwersytecie. Dziś jednak komputery rządowe i komputery wielkich korporacji gospodarczych stały się skarbcami informacji o bardzo dużym znaczeniu. Im więcej danych przetwarza się na postać cyfrową, tym większe jest ryzyko, że mogą one zostać wykradzione lub niewłaściwie wykorzystane. Fikcja literacka, w której jeden człowiek za pomocą komputera podpiętego do Internetu może terroryzować świat niestety coraz bardziej się urzeczywistnia.
Początek działalności hakerów to lata 70. które wiążą się z wielkim rozwojem cyfrowych sieci telekomunikacyjnych w Stanach Zjednoczonych. Pierwsi włamywacze manipulowali centralami telekomunikacyjnymi, uzyskując różnymi sposobami darmowe połączenia telefoniczne.
Obszar zainteresowań zmienił się z chwilą powstania Arpanetu, pierwszych uniwersyteckich sieci komputerowych. Z upływem czasu Arpanet przekształcił się z bezkresny Internet. Obiektem zainteresowania hakerów stały się strony WWW, systemy komputerowe rządów, banków, instytucji finansowych i wielkich koncernów przemysłowych. Wdarcie się do tych silnie strzeżonych systemów stało się celem i ambicją każdego hakera.
Hakerzy mogą atakować system na wiele sposobów. Zrozumienie, że hakerzy mogą przechwytywać dowolne transmisje dokonywane przez Internet lub przez inną sieć, do której mają dostęp, jest konieczne do tego, aby zdawać sobie sprawę z niebezpieczeństwa zagrażającego sieci ze strony hakerów. Poniższy tekst będzie dotyczył specyficznych, „aktywnych" ataków hakerskich w sieci. Zapoznanie się z nim pozwoli na zrozumienie zagadnień takich jak:
-Najprostszy atak hakerski czyli podsyłanie numerów sekwencji protokołu TCP/IP (Transport Control Protocol/Internet Protocol);
-Największe zagrożenie dla bezpieczeństwa systemów, czyli przechwytywanie sesji TCP (aktywny sniffing);
-Węszenie(sniffing), czyli obserwacja przechodzenia pakietu poprzez sieć, zazwyczaj poprzedzająca przechwytywanie lub podszywanie się;
-Podszywanie się(spoofing) , czyli fałszowanie adresów IP, mające na celu udawanie serwera w istniejącym połączeniu sieciowym;
-Podszywanie się w poczcie elektronicznej
-Atak na sesje telnetu
-Wykrywanie ataków hakerskich
-Podszywanie się pod hiperłącza w celu zaatakowania instalacji serwera SSL (Secure Socket Layer);
3.1 Najprostszy atak hakerski
Jak wiadomo, każdy komputer w sieci ma własny adres IP. Każdy komputer przyłączony do sieci dołącza do każdego transmitowanego pakietu adres IP komputera docelowego oraz unikatową liczbę, zwaną numerem sekwencji. W połączeniu TCP komputer odbierający przyjmuje tylko pakiety z poprawnymi adresami IP i numerami sekwencji. Wiele urządzeń zabezpieczających, w tym rutery, przepuszcza przez sieć tylko transmisje do lub z komputerów o określonych adresach IP. Atak zwany podsyłaniem numerów sekwencji TCP/IP polega na uzyskiwaniu dostępu do sieci przy wykorzystaniu adresowania komputerów i wymiany pakietu sekwencji.. Haker podsyła numer sekwencji TCP/IP w dwóch podstawowych krokach. Najpierw próbuje określić adres serwera IP, najczęściej albo badając pakiety w Internecie, wypróbowując po kolei numery komputerów głównych albo łącząc się z serwerem poprzez przeglądarkę WWW i szukając jego adresu IP na pasku stanu. Haker wie, że inne komputery w sieci będą miały adresy IP o częściowo takich samych numerach, jak w adresie serwera, i dlatego próbuje symulować numer adresu IP, który umożliwi mu przejście przez ruter i uzyskanie dostępu do systemu jako wewnętrznemu użytkownikowi. Na przykład jeśli system ma adres IP 192.0.0.15, to haker, wiedząc, że do sieci klasy C może być przyłączonych najwyżej 256 komputerów, może próbować odgadnąć wszystkie numery adresów, określone przez ostatni bajt w serii. Adres IP określa również liczbę komputerów przyłączonych do sieci. W tym wypadku ustawienia dwóch najbardziej znaczących bitów (128+64=192) w pierwszym bajcie oznaczają, że sieć jest klasy C. Na rysunku 3.1 przedstawiłem sposób, w jaki haker może przewidzieć numery wewnątrz sieci klasy C.
Rys. 3.1. Haker zgaduje inne adresy sieciowe korzystając z adresu IP serwera
(źródło -opracowanie. własne)
Po rozpoczęciu prób z adresami sieciowymi haker przegląda numery sekwencji pakietów przesyłanych pomiędzy komputerami w sieci. Następnie stara się przewidzieć, jaki będzie następny numer sekwencji wygenerowany przez serwer, a później podszywa się pod ten numer, umieszczając się pomiędzy serwerem a użytkownikiem. Dysponując również adresem IP serwera, haker może utworzyć pakiety z poprawnymi numerami sekwencji i adresami IP, co pozwala mu na przechwytywanie transmisji użytkownika.
3.2 Przechwycenie w protokole TCP
Prawdopodobnie największym zagrożeniem dla serwerów przyłączonych do Internetu jest przechwycenie w protokole TCP (zwane również aktywnym węszeniem).
Chociaż atak ten jest bardzo podobny do podsyłania numerów sekwencji TCP, w tym wypadku haker, zamiast zgadywać adresy IP, uzyskuje dostęp do sieci wymuszając zaakceptowanie swojego adresu IP jako adresu sieciowego. Podstawowy pomysł, na którym jest oparte przechwycenie w protokole TCP, polega na tym, że haker przejmuje kontrolę nad komputerem łączącym go z siecią, następnie odłącza ten komputer od sieci i oszukuje serwer, że jest prawdziwym komputerem głównym. Na rysunku 3.2 pokazałem, w jaki sposób haker dokonuje przechwycenia w protokole TCP. Po skutecznym przechwyceniu komputera administratora haker zastępuje w każdym pakiecie adres IP komputera docelowego swoim adresem IP, a następnie podsyła numery sekwencji. Specjaliści od zabezpieczeń nazywają symulowanie numeru sekwencji „podszywaniem się pod IP". Podszywając się pod IP haker symuluje adres IP komputera administratora na swoim własnym komputerze.Po podszyciu się pod komputer docelowy haker w sprytny sposób podsyła numery sekwencji, aby stać się celem serwera.
Rys. 3.2 Haker dokonuje przechwycenia w protokole TCP, przerywając i przechwytując rzeczywiste połączenie kljenckie (źródło -opracowanie. własne)
Dla hakera przechwycenie w protokole TCP jest dużo łatwiejsze niż podszycie się pod IP. Co więcej, przechwycenie umożliwia mu ominięcie jednorazowego sprawdzenia hasła (na przykład w systemach korzystających ze wspólnego tajnego hasła), a dzięki temu przejście do komputera głównego mogącego mieć lepsze zabezpieczenia. Ominięcie hasła może również umożliwić hakerowi penetrację systemu operacyjnego innego niż jego bieżący system.
Przechwytywanie w protokole TCP stanowi większe niebezpieczeństwo niż podszywanie się pod IP, ponieważ po udanym przechwyceniu haker ma na ogół dużo większy dostęp do systemu niż tylko po udanym podszyciu się pod IP. Dzieje się tak dlatego, że haker przechwytuje już odbywające się transakcje, zamiast rozpoczynać je dopiero po zasymulowaniu komputera.
3.3 Węszenie (sniffing)
Ataki polegające na biernym węszeniu stały się powszechne w Internecie.Ataki te stanowią zazwyczaj wstęp do aktywnego przechwytywania lub podszywania się hakera. Aby rozpocząć węszenie, haker musi zdobyć identyfikator i hasło legalnego użytkownika i zalogować się do sieci rozproszonej. Będąc w sieci haker węszy, czyli podgląda, i kopiuje transmisje pakietów próbując zdobyć jak najwięcej informacji o sieci. Aby zapobiec węszeniu w sieci, administratorzy systemów rozproszonych zazwyczaj zakładają programy identyfikujące, takie jak system jednorazowego sprawdzania hasła czy system uwiarygodniania biletów (na przykład Kerberos). Administratorzy mogą używać różnych systemów jednorazowego sprawdzania hasła. Niektóre z nich na przykład podczas każdego wylogowywania się użytkownika z systemu podają mu swoje hasło potrzebne do następnego zalogowania się. Chociaż zarówno systemy jednorazowego sprawdzania hasła, jak i system Kerberos mogą znacznie utrudniać hakerowi węszenie w nie zabezpieczonej sieci, to jednak obie metody nie likwidują zagrożenia aktywnymi atakami , jeśli nie szyfrują ani nie podpisują danych. Na rysunku 3.3 pokazałem, w jaki sposób haker może dokonać biernego węszenia.
Rys. 3.3 Atak hakera polegający na biernym węszeniu (źródło -opracowanie. własne)
Po przekierowaniu strumienia danych TCP haker może ominąć zabezpieczenia systemu w postaci jednorazowego sprawdzania hasła lub uwiarygodniania biletów. Połączenie TCP jest bezbronne, jeśli haker dysponuje kopią pakietu i generatorem pakietów umieszczonym na linii połączenia. Inaczej mówiąc, dobrze umieszczony podsłuch i generator umożliwia hakerowi zdobycie wielu pakietów, wśród których mogą się znajdować pakiety przesyłane przez Internet.
3.4 Aktywne rozsynchronizowanie
Połączenie TCP wymaga zsynchronizowanej wymiany pakietów. Jeśli z jakiegoś powodu numery sekwencji pakietu nie zgadzają się z wartościami oczekiwanymi przez komputer, to komputer odrzuci go i będzie czekać na poprawnie numerowany pakiet. Haker może wykorzystać wymagania dotyczące numerów sekwencji protokołów TCP i przechwycić połączenie.Atak polegający na aktywnym rozsynchronizowaniu, omówiony w tej części, charakteryzuje się tym, że haker wymusza siłą lub podstępem rozsynchronizowanie dwóch końców połączenia TCP, tak że komputery te nie mogą wymieniać danych. Następnie haker, używając trzeciego komputera głównego (przyłączonego do fizycznego łącza przesyłającego pakiety TCP) przechwytuje rzeczywiste pakiety i tworzy ich zamienniki, akceptowane przez oba połączone komputery. Pakiety wygenerowane przez trzeci komputer naśladują pakiety oryginalne, które byłyby wymienione przez połączone systemy.
3.5 Przechwycenie po rozsynchronizowaniu
Przypuśćmy, że haker może podejrzeć każdy pakiet wymieniany przez dwa komputery połączone protokołem TCP. Załóżmy również, że po przechwyceniu każdego pakietu haker może podrobić dowolny pakiet IP i zastąpić nim oryginalny. Podrobiony pakiet umożliwia hakerowi udawanie klienta lub serwera (a wiele podrobionych pakietów umożliwia mu udawanie klienta przed serwerem i na odwrót). Jeśli haker byłby w stanie to zrobić, to mógłby sprawić, że wszystkie transmisje między klientem a serwerem będą się odbywały za jego pośrednictwem.Dalej zostaną przedstawione niektóre metody używane przez hakerów do rozsynchronizowywania połączenia TCP. Teraz jednak przyjmijmy, że hakerowi udało się rozsynchronizować sesję TCP i że klient wysyła pakiet zawierający w nagłówku następujący kod: SEG_SEQ = CLT_SEQ
SEG_ACK = CLT_ACK
Pierwszy wiersz nagłówka pakietu, SEG_SEQ = CLT_SEQ, oznacza, że numer sekwencji pakietu (SEG oznacza segment danych) jest następny w serii klienta. Drugi wiersz, SEG_ACK = CLT_ACK, przypisuje wartość potwierdzenia do następnej wartości potwierdzenia. Ponieważ haker rozsynchronizował połączenie TCP, numer sekwencji pakietu klienta (CLT_SEQ) nigdy nie jest równy poprzednio wysłanemu przez serwer potwierdzeniu (SVR_ACK) oczekiwanego numeru sekwencji i dlatego serwer nie akceptuje danych i odrzuca pakiet. Haker kopiuje pakiet odrzucony przez serwer. Na rysunku 3.4 pokazałem sytuację, w której serwer odrzuca pakiet, a haker go kopiuje.
Rys. 3.4. Haker kopiuje pakiet odrzucony przez serwer (źródło -opracowanie. własne)
Po niewielkim opóźnieniu, dającym serwerowi czas na odrzucenie pakietu, haker wysyła do serwera ten sam pakiet, co klient, ale ze zmienionymi poleceniami SEG_SEQ i SEG_ACK (i zmienioną wartością sumy kontrolnej pakietu). Nagłówek wygląda wtedy następująco:
SEG_SEQ = SVR_ACK
SEG _ACK = SVR _SEQ
Ponieważ numer sekwencji w nagłówku pakietu jest poprawny (SVR_ACK jest równe SEG_SEQ), serwer akceptuje nagłówek i pakiet i przetwarza dane. W tym czasie, zależnie od tego, jak wielu przesłanych pakietów serwer nie zaakceptował, prawdziwy klient może ciągle wysyłać dodatkowe pakiety, albo może transmitować pakiety ACK. Na rysunku 3.5 pokazałem, jak wygląda przechwycone połączenie po wysłaniu przez hakera zmodyfikowanego pakietu TCP.
Rys. 3.5. Przechwycone połączenie (źródło -opracowanie. własne)
Jeżeli wartość zmiennej CLT _TO_SVR_OFFSET zostanie określona jako równa różnicy zmiennych SVR_ACK i CLT_SEQ (czyli różnicy pomiędzy numerem sekwencji oczekiwanym przez serwer a rzeczywistym numerem sekwencji klienta), a zmienna SVR_TO_CLT_OFFSET przyjmie wartość równą różnicy zmiennych CLT_ACK i SVR_SEQ (czyli różnicy pomiędzy numerem sekwencji oczekiwanym przez klienta a rzeczywistym numerem sekwencji serwera), to haker musi przepisać pakiet TCP wysłany przez klienta do serwera, tak aby pakiet ten reprezentował wartości SEG_SEQ i SEG_ACK w następujący sposób:
SEG_SEQ = (SEG_SEQ + CLT_TO_SVR_OFFSET) SEG_ACK = (SEG_ACK - SVR_TO_CLT_OFFSET)
Ponieważ wszystkie transmisje przechodzą przez komputer hakera, może on dodać lub usunąć dowolne dane ze strumienia. Na przykład jeśli połączenie polega na zdalnym zalogowaniu się przy użyciu programu Telnet, to haker może wpisać dowolne polecenie w imieniu użytkownika Na rysunku 3.6 pokazałem, w jaki sposób haker dodaje polecenia do strumienia danych przesyłanych od klienta do serwera.
Rys.3.6. Dodawanie przez hakera poleceń do pakietu (źródło -opracowanie. własne)
Serwer po otrzymaniu pakietu odpowiada zarówno na polecenia wydane przez hakera, jak i na polecenia wydane przez prawdziwego klienta. Przed przekazaniem odpowiedzi serwera do klienta haker może wyodrębnić i usunąć odpowiedzi na swoje polecenia tak aby użytkownik nie spostrzegł obecności intruza. Na rysunku 3.7 pokazałem, w jaki sposób haker przechwytuje transmisję i usuwa z niej zamawiane przez siebie informacje.
Rys. 3.7. Haker usuwa z pakietu odsyłanego przez serwer zamawiane przez siebie informacje (źródło -opracowanie. własne)
3.6 Nawałnica potwierdzeń TCP
Atak hakerski polegający na rozsynchronizowaniu i przechwytywaniu, opisany wyżej, ma jedną podstawową wadę. Chodzi o to, że produkuje on pakiety TCP ACK w ogromnie dużych ilościach. Specjaliści do spraw sieci nazywają taka sytuację nawałnicą potwierdzeń TCP. Kiedy komputer główny (klient albo serwer) otrzyma pakiet, którego nie może zaakceptować, wówczas potwierdzi jego otrzymanie wysyłając oczekiwany numer sekwencji do nadawcy pakietu.
W wypadku aktywnego ataku hakera, pierwszy pakiet potwierdzenia zawiera własny numer sekwencji serwera. Klient nie akceptuje tego potwierdzenia, ponieważ poprzednio nie wysłał pakietu ze zmodyfikowanym zamówieniem, i dlatego tworzy własny pakiet potwierdzenia. Zmusza to z kolei serwer do wysłania kolejnego pakietu potwierdzenia i tak dalej. Dla każdego wysyłanego pakietu z danymi powstaje, przynajmniej teoretycznie, nieskończona pętla. Na rysunku 3.8 pokazałem tworzenie się takiej pętli potwierdzeń TCP.
Rys.3.8. Nawałnica potwierdzeń TCP, powstająca podczas ataku hakera
(źródło -opracowanie. własne)
Ponieważ pakiety potwierdzenia nie zawierają danych, ich nadawca nie wysyła pakietu powtórnie, jeśli odbiorca go utraci. Inaczej mówiąc, pętla kończy się, gdy komputer utraci jeden z pakietów nawałnicy. Na szczęście, jak powiedziano wyżej, w zawodnej warstwie sieciowej protokół TCP używa IP. Jeśli tracone są niepuste pakiety, to warstwa sieciowa szybko kończy pętlę. Ponadto im więcej pakietów jest traconych w sieci, tym krócej trwa nawałnica potwierdzeń (pętla). Poza tym pętle potwierdzeń są samoregulujące się, czyli im więcej pętli tworzy haker, tym większy jest natłok pakietów odbieranych przez serwer i klienta, przez co więcej pakietów jest traconych i więcej pętli się przerywa.Połączenie TCP tworzy pętlę za każdym razem, gdy klient lub serwer wysyła dane. Jeśli ani klient, ani serwer nie wysyła danych, to pętla nie powstanie. Jeśli klient albo serwer wysyła dane, a nie ma hakera, który by je potwierdzał, to nadawca będzie wysyłał dane powtórnie. Następnie połączenie TCP będzie tworzyć nawałnicę dla każdej retransmisji, a w końcu obie strony utracą połączenie, ponieważ ani klient, ani serwer nie wyśle pakietu potwierdzenia. Jeśli haker potwierdza transmisję danych, to połączenie TCP produkuje tylko jedną nawałnicę. W praktyce haker często traci pakiet z danymi z powodu zatłoczenia sieci i dlatego potwierdza pierwszą z kolejnych retransmisji, co oznacza, że za każdym razem, gdy haker coś wysyła, atak powoduje utworzenie co najmniej jednej nawałnicy potwierdzeń.
3.7 Wczesne rozsynchronizowanie
W przeciwieństwie ataku przechwytywania w późniejszej fazie, atak wczesnego rozsynchronizowania powoduje przerwanie połączenia między klientem a serwerem we wczesnej, konfiguracyjnej fazie, a nie dopiero wtedy, gdy połączenie będzie skończone. Rozsynchronizowanie odbywa się po stronie serwera. Po przerwaniu połączenia haker tworzy nowe, z innym numerem sekwencji. Atak polegający na wczesnym rozsynchronizowaniu działa w sposób opisany poniżej.
Haker oczekuje na pakiet potwierdzenia zsynchronizowanego połączenia (SYN/ACK), wysyłany przez serwer do klienta podczas drugiej fazy transmisji.
Po wykryciu pakietu SYN/ACK haker wysyła do serwera pakiet żądania wyzerowania (RST), a następnie pakiet zsynchronizowanej odpowiedzi (SYN) z dokładnie takimi samymi parametrami, jak w pakiecie SYN/ACK serwera (a szczególnie z takim samym portem TCP, przez który ma być synchronizowane połączenie). Jednak pakiet hakera ma inny numer sekwencji. Pakiet ten można uważać za pakiet zerowy potwierdzenia ataku (ATK_ACK_0).
Po otrzymaniu pakietu RST serwer zamyka połączenie, a następnie, po otrzymaniu pakietu SYN, otwiera nowe połączenie przez ten sam port, ale z innym numerem sekwencji (SVR_SEQ_0). Do prawdziwego klienta serwer wysyła z powrotem pakiet SYN/ACK.
Haker przechwytuje pakiet SYN/ACK i wysyła do serwera swój własny pakiet ACK. Serwer przełącza się w tryb połączenia zsynchronizowanego ESTABLISHED.
Otrzymując od serwera pierwszy pakiet SYN/ACK klient jest już przełączony w tryb ESTABLISHED. Powodzenie ataku zależy od wybrania przez hakera dobrej wartości zmiennej CLT_TO_SVR OFFSET. Wybranie złej wartości spowoduje odrzucenie obu pakietów — klienta i hakera — oraz wywoła niepożądane efekty, takie jak zawieszenie połączenia.
3.8 Rozsynchronizowanie pustymi danymi
Aby rozsynchronizować połączenie TCP, haker może również użyć pustych danych. Terminem puste dane określa się dane, które nie będą miały wpływu na nic po stronic serwera, oprócz tego, że zmienią numer potwierdzenia TCP. Haker wykonuje atak rozsynchronizowania pustymi danymi poprzez równoczesne wysłanie dużej ilości pustych danych do serwera i do komputera-klienta.
Dane przesyłane przez hakera nie są widoczne dla klienta. Puste dane powodują przełączenie obu komputerów, połączonych w sesji TCP, do stanu rozsynchronizowanego, ponieważ niweczą one zdolność komputera do utrzymywania połączenia TCP.
3.9 Atak na sesję telnetu
Poprzednio zostały szczegółowo omówione ataki hakera na istniejące lub nowo otwarte połączenie TCP. Jednak hakerzy mogą psuć prawie wszystkie rodzaje połączeń sieciowych. Mogą oni na przykład przechwytywać sesje Telnetu w poniższy sposób.
Przed rozpoczęciem ataku na sesję Telnetu haker biernie przygląda się transmisjom, nie przerywając ich.
W odpowiednim momencie haker wysyła do serwera dużą ilość pustych danych. W przechwyconej sesji Telnetu haker wysyła zmienną ATK_SVR_OFFSET zawierającą rozszerzoną sekwencję bajtów IAC NOP IAC NOP. Polecenie NOP jest zdefiniowane w protokole Telnet jako „Brak operacji". Inaczej mówiąc, komputer ma nic nie robić i ignorować bajty w tej parze. Polecenie to powoduje, że zarządca Telnetu na serwerze interpretuje każdą parę bajtów (IAC NOP jest pojedynczą parą bajtów) jako pustą wartość. Zarządca usuwa wtedy ze strumienia każdą parę uważaną za pustą. Jednak przyjęcie przez serwer rozszerzonej pustej transmisji powoduje przerwanie sesji Telnetu. Po wykonaniu tej czynności serwer otrzymuje następujące polecenia:
SVR_ACK = CLT_SEQ +ATK_SVB_OFFSET
3. Wykonanie przez serwer poleceń hakera powoduje rozsynchronizowanie połączenia w sesji Telnetu.
4. Aby rozsynchronizować klienta, haker wykonuje taką samą procedurę, jak w wypadku serwera
Hakerzy przechwytujący sesje Telnetu mogą używać uprzednio opisanej metody tylko wtedy, gdy sesja może przenosić puste dane. Nawet jeżeli sesja umożliwia przenoszenie pustych danych, to haker będzie miał trudności z określeniem odpowiedniego momentu na wysłanie pustych danych. Jeżeli haker wyśle puste dane w nieodpowiedniej chwili, to taka próba ataku może po prostu przerwać sesję Telnetu lub uszkodzić ją, uniemożliwiając hakerowi kontrolę nad przekazywaniem danych. Gdy podczas uczestniczenia w sesji Telnetu użytkownik zaobserwuje nieprzewidziane zachowania komputera, to może to oznaczać, że jakiś haker próbuje przechwycić sesję.
3.10 Podszywanie się (spoofing)
Protokoły TCP (Transport Control Protocol) i UDP (Uniform Datagram Protocol) działają przy założeniu, że adres protokołu IP (Internet Protocol) komputera głównego jest ważny. Jednak komputer hakera może użyć przekierowania źródłowego adresu IP i podszyć się pod komputer sieciowy. Haker może użyć przekierowania źródła IP do określenia bezpośredniej drogi do miejsca przeznaczenia oraz drogi powrotnej. W ten sposób haker może przechwytywać lub modyfikować transmisje bez zliczania pakietów przeznaczonych dla prawdziwego komputera głównego. Poniższy przykład pokazuje, w jaki sposób komputer hakera może podszyć się pod prawdziwego klienta jakiegoś serwera.
Haker zmienia adres IP atakowanego komputera głównego, aby był zgodny z adresem prawdziwego komputera-klienta.
Następnie haker tworzy ścieżkę źródłową do serwera, podającą bezpośrednią trasę, którą pakiety IP powinny przechodzić do serwera i z powrotem do komputera hakera, używając prawdziwego klienta jako ostatniego etapu na drodze do serwera.
Haker wysyła żądanie komputera-klienta do serwera, korzystając ze ścieżki źródłowej.
Serwer akceptuje żądanie, tak jakby pochodziło bezpośrednio od prawdziwego klienta, a następnie wysyła do niego odpowiedź.
Prawdziwy klient, korzystając ze ścieżki źródłowej, przesyła pakiet do hakera.
Wiele komputerów UNIX-owych akceptuje pakiety skierowane do źródła i przesyła je tam, gdzie podaje ścieżka źródłowa. Również wiele ruterów akceptuje takie pakiety. Jednak niektóre rutery można skonfigurować tak, aby blokowały pakiety skierowane do źródła. Na rysunku 3.9 pokazałem schemat podszywania się hakera pod adres IP.
Rys. 3.9 Schemat ataku podszywania się pod adres IP (źródło -opracowanie. własne)
Łatwiejszą metodą podszywania się pod klienta jest poczekanie, aż jego system będzie zamykany, a następnie wcielenie się w ten system. W wielu firmach pracownicy używają komputerów osobistych i oprogramowania sieciowego TCP/IP do łączenia się i korzystania z komputerów UNlX-owych jak z serwerów sieci lokalnych. Komputery typu PC często korzystają z UNIX-owego sieciowego systemu plików (NFS) do uzyskania dostępu do plików i katalogów serwera (system NFS używa adresów IP tylko do uwiarygodniania klientów). Haker może podszyć się pod prawdziwego klienta i skonfigurować komputer typu PC tak, aby miał taką samą nazwę i adres IP, jak inny komputer, a następnie zainicjować połączenie z UNIX-owym komputerem głównym. Haker może łatwo dokonać takiego ataku. Co więcej, atak ten będzie prawdopodobnie atakiem „od wewnątrz", ponieważ tylko będąc wewnątrz chronionej sieci można wiedzieć, które komputery są wyłączone.
3.10.1 Podszywanie się w poczcie elektronicznej
Poczta elektroniczna w Internecie jest szczególnie łatwa do podszywania się i na ogół nie można ufać wiadomościom nie opatrzonym podpisem cyfrowym. Jako krótki przykład można rozważyć wymianę poczty, które odbywa się między internetowymi komputerami głównymi. Wymiana odbywa się przy użyciu nieskomplikowanego protokołu, korzystającego z poleceń znakowych zapisanych w systemie ASCII. Napastnik łatwo może ręcznie zmodyfikować te polecenia, używając Telnetu do połączenia się bezpośrednio z portem protokołu SMTP (Simple Mail Transfer Protocol). Odbierający komputer główny wierzy, że tożsamość nadawcy jest prawdziwa, dzięki czemu haker może łatwo podszyć się pod nadawcę poczty, wpisując adres inny od swojego prawdziwego adresu. W rezultacie każdy użytkownik nie mający przywilejów może sfałszować pocztę elektroniczną.
3.10.2 Podszywanie się w poczcie elektronicznej z wnętrza programu pocztowego
Ponieważ większość ludzi albo nigdy nie widzi rzeczywistego adresu, z którego pochodzi poczta elektroniczna, albo nie wie, jak odczytać otrzymany adres, podszywanie się w poczcie elektronicznej jest jednym z najłatwiejszych ataków hakerskich. W tej części zostanie krótko omówiony sposób, w jaki można sfałszować pocztę elektroniczną użytkownika, a także jak można się bronić przed podszywaniem się i jak wykryć taki atak, jeśli stało się jego ofiarą. Aby ustawić przeglądarkę Netscape Navigator i sprawdzać podszywanie się w poczcie elektronicznej, należy wykonać poniższe czynności.
W oknie Navigatora wybrać z menu Options polecenie Mail and News Preferences; Navigator wyświetli okno dialogowe Preferences.
W oknie dialogowym Preferences wyświetlić kartę Identity. Navigator wyświetli okno dialogowe
Na karcie Identity znajduje się informacja o pochodzeniu bieżącej wiadomości. Aby zmienić zawartość wiersza who w wiadomości, trzeba przejść do pola Your Name, a następnie do pola E-Mail Address i wpisać tam coś innego, na przykład PukPuk@kto.tam.com.
Następnie należy wyświetlić kartę Servers. Navigator wyświetli okno dialogowe z listą serwerów pocztowych. Podszywając się trzeba usunąć adres serwera poczty przychodzącej (POP3), aby nikt nie mógł wyśledzić adresu nadawcy. Następnie trzeba usunąć zawartość pola Mail server user name. Pozostanie wtedy tylko pozycja serwera poczty wychodzącej. Na razie można zostawić nazwę bieżącego serwera pocztowego. Jednak podszywając się naprawdę, trzeba zacierać ślady nazw serwerów poczty wychodzącej, które nie wymagają hasła dostępu.
Nacisnąć przycisk OK, aby zamknąć okno dialogowe. Wiadomość jest teraz przygotowana do sfałszowania.
Jedynym sposobem upewnienia się, że wiadomość pochodzi od prawdziwego nadawcy, jest sprawdzenie podpisu cyfrowego. Jeśli jednak użytkownik otrzymuje dużą liczbę sfałszowanych wiadomości, to często może wyśledzić fałszerza przeglądając informacje zawarte w nagłówku wiadomości, podające zazwyczaj prawdziwy serwer nadawcy. Znając serwer nadawcy można porozmawiać z administratorem systemu tego serwera i sprawdzić, czy można jakoś powstrzymać nieprzyjaciela dalszymi atakami, przynajmniej na siebie.
3.10.3 Wykrywanie podszywania się
W przeciwieństwie do ataków polegających na rozsynchronizowaniu, podszywanie się pod adresy IP jest trudne do wykrycia. Jeśli serwer internetowy ma możliwość monitorowania ruchu w sieci w zewnętrznym ruterze internetowym, to należy kontrolować dane przychodzące przez ruter. Podczas kontrolowania ruchu jego zapis jest przechowywany w rejestrze systemowym. Korzystając z rejestru kontrolnego należy sprawdzać, czy wśród przychodzących danych są pakiety zawierające adresy komputera źródłowego i docelowego mieszczące się w obrębie lokalnej domeny. Do sieci nie powinny przychodzić z Internetu pakiety zawierające adresy dwóch komputerów — źródłowego i docelowego. Jeśli znalezione zostaną pakiety zawierające obydwa adresy, to oznacza, że prawdopodobnie jest dokonywany atak polegający na podszywaniu się pod adres IP.
3.10.4 Używanie programów tcdump i netlog do obrony przed podszywaniem się
Dwa bezpłatne programy narzędziowe, tcdump i netlog, pomagają w kontrolowaniu przepływu pakietów w systemie UNIX. Pakiet tcdump można pobrać w postaci archiwum /tcdump.tar.Z, korzystając z protokołu FTP (File Transfer Protocol), logując się jako użytkownik „anonymous" pod adresem ftp.ee.lbl.gov. Po wczytaniu i zainstalowaniu programu tcdump należy wydrukować wszystkie pakiety znalezione przez tcdump, które mają dwa adresy IP komputerów (źródłowego i docelowego) zlokalizowane w sieci domain.name. Można to zrobić wpisując w wierszu poleceń następujące instrukcje:
# tcdump src net domain.name <Enter>
# tcdump dst net domain. name <Enter>
Oprócz tego można pobrać pakiet netlog, opracowany na uniwersytecie w Teksasie. W tym celu należy za pomocą FTP zalogować się jako użytkownik „anonymous" pod adresem coast.cs.pnrdue.edu i pobrać plik /pub/tools/unix//TAMU/netlog-1.2.tar.gz. Po wczytaniu i zainstalowaniu programu netlog należy go wywołać za pomocą następującego polecenia:
# tcplogger -b | extract -U -e 'srcnet=X.Y.O.O && dstnet=X.Y.0.0 {print}' <Enter>
Polecenie tcplogger nakazuje programowi netlog wyszukiwanie pakietów z adresami komputerów źródłowego i docelowego znajdującymi się w tej samej sieci. Po wpisaniu tego polecenia program netlog wskaże pakiety spełniające te kryteria.
3.10.5 Zapobieganie podszywaniu się
Oba adresy w sfałszowanym pakiecie najczęściej będą adresami wewnętrznymi sieci (chociaż, jak również powiedziano, sfałszowany pakiet może zawierać adres IP komputera głównego znajdującego się na zewnątrz sieci). Najlepszą obroną przed podszywaniem się jest filtrowanie pakietów wchodzących przez ruter z Internetu i blokowanie tych, które twierdzą, że powstały w obrębie lokalnej domeny. Cecha filtrowania pakietów, zwana filtrem wejścia, jest obsługiwana przez kilka typów ruterów. Są to między innymi rutery następujących marek:
• Bay Networks/Wellfleet, wersja 5 i nowsze;
• Cabletron, z modułem LAN Secure;
• Cisco, z oprogramowaniem RIS w wersji 9.21 i nowszym;
• Livingston.
Jeśli obecny ruter nie umożliwia filtrowania wchodzących pakietów, to można zainstalować drugi ruter pomiędzy istniejącym a przyłączeniem do Internetu. Drugi ruter będzie wtedy służył jako filtr sfałszowanych pakietów IP.
3.11 Wszystko o ataku z przechwyceniem sesji
Niektórzy hakerzy przejmują kontrolę nad istniejącymi sesjami systemu za pomocą programu narzędziowego o nazwie tap. Narzędzie to umożliwia intruzowi, który zdobył uprawnienia użytkownika Root (czyli dostęp do systemu na poziomie administratora), przejęcie kontroli nad dowolną obecnie aktywną sesją w systemie i wykonywanie poleceń tak, jakby były wpisane przez właściciela sesji. Jeżeli użytkownik wykonywał w sesji przejście do innego komputera za pomocą Telnetu lub polecenia rlogin, to intruz może również zdobyć zdalny dostęp do tego komputera, omijając zazwyczaj konieczną do tego procedurę uwiarygodniania. Program tap działa obecnie tylko na komputerach z zainstalowanym systemem SunOS, chociaż inne systemy również używają cech SunOS-a, które umożliwiają taki atak.
3.11.1 Wykrywanie przechwyconych sesji
Właściciel przechwyconej sesji (ofiara przechwycenia) powinna zauważyć niezwykłą aktywność komputera, w tym pojawianie się poleceń wpisywanych przez hakera, a czasami także utratę połączenia. Administrator powinien powiadomić użytkowników systemu o niebezpieczeństwie przechwytywania, a także zachęcić ich do zgłaszania podejrzanych zachowań komputerów.
3.11.2 Zapobieganie przechwytywaniu sesji
Główną metodą obrony przed przechwytywaniem sesji jest troskliwe zarządzanie systemem, w tym instalowanie zabezpieczeń w programach, a także systemów kontroli dostępu do sieci, takich jak zapory ogniowe. Obecnie używane narzędzie tap ma cechę wspomagającą moduły ładowalne SunOS, umożliwiającą dynamiczne modyfikowanie działających operacji jądra systemu UNIX. Departament CIAC (U.S. Department of Energy's Computer Incident Advisory Capability) zaleca, aby sieci nie wymagające modułów ładowalnych nie uaktywniały tej cechy w swoich systemach SunOS. Użytkownicy systemów SunOS, którzy nie potrzebują modułów ładowalnych, mogą łatwo wyłączyć tę cechę.
3.12 Podszywanie się pod hiperłącza -atak na weryfikację serwera SSL
W tej części zostanie omówione podszywanie się pod hiperłącza, stanowiące powszechnie stosowany przez hakerów atak na komputery komunikujące się przy użyciu protokołu HTTP. Hakerzy mogą atakować protokół weryfikacji serwera SSL (Secure Socket Layer), używany przy tworzeniu bezpiecznych przeglądarek internetowych i serwerów, na przykład produkowanych przez firmy Microsoft lub Netscape. Wykonując czynności opisane w tej części, haker znajdujący się „w środku" może spowodować połączenie przeglądarki z fałszywym serwerem, przy czym przeglądarka będzie sprawiała wrażenie pracy w bezpiecznej sesji. Haker ten znajduje się „w środku" strumienia pakietów przesyłanych pomiędzy klientem a serwerem. Zmusza on następnie użytkownika do przesłania do fałszywego serwera danych, na przykład numerów kart kredytowych, numerów identyfikacyjnych (PIN), szczegółów dotyczących ubezpieczeń i bankowości lub innych prywatnych informacji. Innym ryzykiem związanym z podszywaniem się pod hiperłącza jest to, że użytkownik (na przykład klient banku lub bazy danych) może pobrać z fałszywego serwera i uruchomić złe aplikacje napisane w języku Java, sądząc, że pochodzą one prawdziwego serwera i są bezpieczne.
Należy zauważyć, że podszywanie się pod hiperłącza wykorzystuje wadę, że większość przeglądarek zabezpiecza sesje internetowe za pomocą certyfikatów cyfrowych. Podszywanie się pod hiperłącza nie dotyczy kryptografii niskiego poziomu ani działania samego protokołu SSL. W konsekwencji atak może być również skierowany przeciw innym aplikacjom zabezpieczonym certyfikatami, w zależności od tego, w jaki sposób certyfikaty te są używane.
Przeglądarki Internet Explorer 3.0x Microsoftu, Netscape Navigator 3.0 i Netscape Navigator 4.0 są podatne na ataki podszywania się pod hiperłącza. Możliwe też, że atak taki może mieć wpływ na inne przeglądarki, oraz na typowe protokoły zastępujące SSL. Podszywanie się pod hiperłącza nie dotyczy jednak takich technik, jak „podpisywanie kodów" lub „podpisywanie apletów", które również korzystają z certyfikatów.
Haker może podszywać się pod dowolny serwer oznaczony jako SSL, spełniając zwykłe procedury certyfikacyjne lub uzyskując dostęp do wymienionych wcześniej przeglądarek. Co więcej, certyfikaty serwerów, takie jak Verisign lub Thawte, są podatne na ataki podszywania się pod hiperłącza, jeśli używana jest przeglądarka Netscape Navigator lub Internet Explorer. Szansa powodzenia ataku może być ograniczona przez modyfikacje w oprogramowaniu serwera. Jednak najlepszym i długotrwałym rozwiązaniem jest prawdopodobnie modyfikacja zarówno zawartości certyfikatu, jak i normalnej przeglądarki internetowej. Jak poprzednio wspomniałem, podszywanie się pod hiperłącza nie ma wpływu na certyfikaty komputerów-klientów, na certyfikaty używane przez serwery do kodowania (takie jak formanty ActiveX) ani na podpisywanie aplikacji w języku Java.
3.12.1 Podłoże podszywania się pod hiperłącze
Podczas połączenia SSL przeglądarka i serwer wspólnie korzystają z protokołu, dokonując weryfikacji serwera i (opcjonalnie) klienta. Jednak atak podszywania się pod hiperłącze koncentruje się tylko na weryfikacji serwera. Podczas pierwszej wymiany protokołu SSL serwer podaje przeglądarce swój certyfikat. Jest to podpisana cyfrowo struktura, przypisująca klucz publiczny serwera do pewnych atrybutów.
Obecnie w certyfikacie protokołu SSL używana jest nazwa serwera DNS (Domain Name Server). Zamiast pełnej nazwy DNS certyfikat może też zawierać wieloznaczniki (na przykład certyfikat może czytać nazwę www.brd.ie albo *.brd.ie). Poprzez poprawne przetransportowanie protokołu i przedstawienie komputerowi-klientowi ważnego certyfikatu, serwer przekonuje przeglądarkę, że ma odpowiedni klucz prywatny (znany tylko serwerowi). Przeglądarka akceptuje ten dowód i jest przekonana, że serwer naprawdę ma podaną nazwę DNS lub prawo do używania jej. Należy zauważyć, że dla ataku podszywania się pod hiperłącze protokół SSL nie stanowi problemu. Zasadniczą kwestią jest natomiast zawartość certyfikatu oraz interfejs użytkownika przeglądarki.
3.12.2 Przebieg ataku podszywania się pod hiperłącze
Atak podszywania się pod hiperłącze udaje się, ponieważ większość użytkowników nie zamawia połączenia poprzez serwer DNS lub adres URL, natomiast korzysta z hiperłączy. Ale obecne zastosowanie SSL weryfikuje tylko część adresu URL serwera, a nie hiperłącze, na którym kliknął użytkownik
Podobnie jak nazwy DNS są przedmiotem ataków „podszywania się pod DNS" (serwer DNS podaje fałszywe informacje na temat adresu internetowego), adresy URL są celem podszywania się pod hiperłącza, polegającego na tym, że strona podaje fałszywe informacje na temat nazwy DNS adresu URL. Obie formy podszywania się powodują przejście użytkownika na złą stronę internetową. Jednak podszywanie się pod hiperłącza technicznie jest dużo łatwiejsze od podszywania się pod DNS. Na przykład haker może podać przeglądarce następujący kod w języku HTML:
<A HREF=https://www.hacker.com/infogather/>This way to a free books!</A>
Użytkownik zobaczy stronę z odsyłaczem, który wyświetla tekst „This way to a free books!". Ale jeśli kliknie na nim, to przeniesie się do innego bezpiecznego serwera (w domenie hacker.com), do katalogu o nazwie infogatherer. Dzisiejsze przeglądarki sprawdzają, czy połączenie jest bezpieczne, pokazują stałe klucze, i tak dalej, niemniej jednak haker po prostu się podszywa. Korzysta on z pewnych sztuczek polecając przeglądarce, aby pokazywała użytkownikowi prywatne połączenie z żądanym serwerem.
Niestety, jest to prywatne połączenie z niewłaściwym serwerem. Oczywiście, na stronie infogatherer nie będzie żadnych darmowych książek, ale w prawdziwym ataku haker mógłby tę stronę imitować i sprawić, że będzie wyglądała tak, jak autentyczna strona internetową, która w końcu mogłaby poprosić klienta o podanie numeru karty kredytowej przed wysłaniem mu bezpłatnych książek. Jednak gdyby użytkownik przeszukał dokładniej menu swojej przeglądarki i obejrzał źródła dokumentów lub informacje o nich, to zauważyłby, że zweryfikowana tożsamość serwera różni się od tej, której się spodziewał.
W miarę jak używanie certyfikatów rozpowszechnia się, pokonywanie weryfikacji serwera staje się coraz łatwiejsze, a nie trudniejsze. Gdy coraz więcej serwerów ma certyfikaty, hakerzy mają większy wybór stron, do których mogą przekierowywać nieostrożnych podróżników po Internecie. Również wielu użytkowników wyłącza okna dialogowe certyfikatów, jeśli przeglądarka powiadamia ich za każdym razem, gdy wchodzą na nową stronę internetową. Co więcej, jeśli każde połączenie i dokument jest bezpieczny, to wiedza, że zamówiło się bezpieczny dokument, nic jest szczególnie pomocna — inaczej mówiąc, weryfikowanie połączenia serwera staje się bez znaczenia.
Pomimo skomplikowanej weryfikacji, nie istnieje żaden ślad kontrolny, który powiedziałby użytkownikowi, co się dzieje podczas podszywania się pod hiperłącza. W najlepszym razie rejestr przeglądarki może pokazać, że wpisane było polecenie HTTP (lub HTTPS) GET (dla prawdziwego serwera), a następnie polecenie HTTPS GET (dla fałszywego serwera). W szczęśliwym wypadku w lokalnej pamięci podręcznej może być przechowywana odwiedzona strona. Jednak haker może ją stamtąd wydobyć za pomocą polecenia PRAGMA. Podczas ataku podszywania się drugie polecenie GET pojawia się, ponieważ pierwsze zwraca niepoprawny lub zmieniony wynik. Niestety nie można udowodnić, nawet z najlepszymi rejestrami, że drugie polecenie GET zostało zainicjowane przez zdalnie połączoną stronę. Użytkownik mógł przechodzić na ulubione strony lub do innego okna i podać polecenie GET. Nawet jeśli użytkownik udowodni, że nic przechodził na ulubione strony, to oszukańcza strona mogła zniknąć z pamięci podręcznej (włącznie z sąsiednimi pamięciami ISP) lub z pierwszego polecenia GET. Można podejrzewać, że fałszywa strona należy do hakera, ale nie można tego udowodnić (choć być może użytkownik byłby w stanie powtórzyć czynności, które spowodowały jego przeniesienie na fałszywą stronę, i złapać hakera na gorącym uczynku). Haker nie chce wysyłać użytkownika na swoją bezpieczną stronę (dając mu tym samym swój certyfikat i trop do zidentyfikowania tożsamości). Może on wysłać użytkownika do czyjejś skrzynki SSL, do której się włamał. Haker może wysłać użytkownika do innego miejsca w bezpiecznej domenie, do której użytkownik chciał się udać — inaczej mówiąc, adres URL może mieć postać /attackpage zamiast /securepage. Ten rodzaj przekierowania może pojawić się na wirtualnie zarządzanych stronach internetowych lub na stronach, których adresy URL reprezentują skrypty CGI (Common Gateway Interface) lub Javy, z których część haker legalnie kontroluje. (Prawdę mówiąc, SSL nie twierdzi, że zapewnia zabezpieczenia na tym poziomie — ma on weryfikować tylko stronę.)
ZAKOŃCZENIE
Przedstawiony materiał odnosi się do obecnego stanu wiedzy i technologii w prezentowanym zakresie. Powinno się dalej śledzić i rozwijać daną dziedzinę a owa praca może być jej uzupełnieniem. Należy zdać sobie sprawę z tego, że możliwości ataku na systemy komputerowe jest wiele . Wszystko jest zależne tylko od wiedzy i pomysłowości hakera . Obecnie nie ma systemu bezpiecznego w stu procentach. Z dnia na dzień przybywa technik zabezpieczeń, tak samo jak programów wykorzystujących w nich luki. Gdyby nie działania hakerów większość z tych zabezpieczeń w ogóle by nie powstała. To oni podnoszą bowiem „poprzeczkę” bezpieczeństwa, zmuszając jednocześnie producentów do większego wysiłku przy projektowaniu swoich produktów. Ten aspekt „pracy” hakera jest pożyteczny, inne nie . Kradzież informacji i późniejszy nimi handel stanie się niedługo codziennością. Niektóre firmy doceniają potencjał jaki posiadają hakerzy i umieją go dobrze wykorzystać. Najlepiej jest przecież sprawdzić ochronę systemy przed zewnętrzną ingerencją przez powierzenie go specjaliście - hakerowi . Profilaktyka jest dużo tańsza i bezpieczniejsza niż późniejsze naprawianie szkód wyrządzonych przez włamywacza.
Postęp technologiczny poza oczywiście zaletami, ma też swoją ciemną stronę. Stosowanie autoryzacji polegającej na unikalnych kluczach biometrycznych takich jak linie papilarne, wzór siatkówki oka, czy nawet kod DNA, w niedługim czasie może nie być już wystarczająco bezpiecznie, ponieważ wszystko to będzie można podrobić. Technika rozwija się obecnie w oszałamiającym tempie. Nie można z pewnością przewidzieć jaki krztałt będzie miał Internet za 10 lat. Jakikolwiek jednak będzie, sam problem bezpieczeństwa systemów i danych pozostanie nadal istotną kwestią.
BIBLIOGRAFIA.
1. Tytuł: Internet, hakerzy, wirusy... Autor: Wallace Wang
2. Tytuł Wirusy. Cała prawda Autorzy: David Harley, Robert Slade, Urs E. Gattiker
3. Tytuł Jak pisać wirusy Autor Andrzej Dudek
4. Tytuł: Wirusy komputerowe i ochr. Antywirusowa Autor : Jan Hruska
5. Tytuł: Wirusy komputerowe Mechanizmy infekcji i środki ochrony Autor: Eugeniusz Kuriata
6. Hack Proofing XML. Edycja polska Autor Praca zbiorowa
7. TCP/IP. Administarcja sieci Autor: Craig Hunt
8. Podręcznik hakera. Wszystko o hakerstwie w dobie Internetu
9. Sztuka podstępu. Łamałem ludzi, nie hasła Autor :Kevin Mitnick, William L. Simon
10. Hakerzy w Linuksie. Wydanie drugie Autor : Brian Hatch, James Lee
11. Hakerzy w Windows 2000 Autor: Joel Scambray, Stuart McClure
12. Hack Wars. Tom 1. Na tropie hakerów Autor: John Chirillo
13. Hack Wars. Tom 2. Administrator kontratakuje Autor: John Chirillo
14. Hakerzy - Wyzwanie Autor: Mike Schiffman
Wyższa Szkoła Informatyki, Zarządzania i Administracji Warszawa, 12 czerwca 2003
Specjalność: Informatyka w zarządzaniu
Streszczenie pracy dyplomowej licencjackiej:
Zagrożenia danych w sieciach komputerowych
Autor:
Promotor: dr inż. Zbigniew Klimkiewicz
Słowa kluczowe: haker, wirusy komputerowe, zagrożenia danych, rodzaje ataków
Prezentowana praca składa się z trzech rozdziałów merytorycznych, wprowadzenia i zakończenia uzupełnionych bibliografią.
Rozdział pierwszy został poświęcony na przedstawienie klasyfikacji zagrożeń danych w sieciach komputerowych.
Rozdział drugi zawiera informacje na temat zagrożeń ze strony wirusów komputerowych. Została w rozdziale tym przedstawiona pełna charakterystyka wirusów komputerowych oraz innych podobnych zagrożeń.
W rozdziale trzecim przedstawiono zagrożenia danych w sieciach komputerowych wynikające ze strony hakerów. Została również przedstawiona krótka historia hackingu oraz kilka sposobów włamywania się do sieci.
The College of Computer Science, Management and Administration Warsaw, June 12, 2003
Diploma Thesis (BA) Abstrakt:
Computer data risk in computer networks
Author: Paweł Wasilewski
Supervisor: dr inż. Zbigniew Klimkiewicz
Key words: hacker, computer viruses, computer data risk,
The following thesis consists of thtee chapters on introduction a conclusion and bibliography
The first chapter is dedicated to the presentation of the clasyfication of computer data risks in computer networks
The secend chapter presents information of the risk from computer viruses.
Full charakterististics of viruses and seminar risk is presented
In the third chapter the threat to computer data from hackers is depicted as well as a short history of hacking.
47