Wirusy - postawowe pojcia.doc

(58 KB) Pobierz
Każdy użytkownik komputera na pewno słyszał, lub co gorsza "osobiście" miał do czynienia z wirusem

Każdy użytkownik komputera na pewno słyszał, lub co gorsza "osobiście" miał do czynienia z wirusem. Jednak niewielu z nich zna zasadę ich działania, gdyż w tej dziedzinie, tak jak w wielu innych dziedzinach naszego życia, panują ustalone stereotypy. Są one wynikiem zarówno braku wiedzy przeciętnego użytkownika, jak i dezinformacji, lub raczej braku poprawnych i pożytecznych informacji, ze strony mediów i producentów oprogramowania antywirusowego. Niniejsza praca ma na celu przybliżenie problematyki wirusów i "wyprostowanie" wszelkich błędnych opinii na ich temat.

 

Co to takiego ten wirus???

 

Wirus komputerowy jest niewielkim programem, powielającym się poprzez zarażanie zbiorów wykonywalnych, jednostek alokacji plików lub sektora startowego nośnika danych (HDD, FDD) oraz dokumentów stworzonych za pomocą pakietów biurowych takich jak MS Office. Ogólna nazwa "wirus" kryje cztery zasadnicze rodzaje programów:

1. Wirusy, których ogólna definicja pokrywa się z podaną wyżej,

2. Konie trojańskie - wirusy te ukrywają się w pożytecznym (na pozór) oprogramowaniu, jak np. program antywirusowy (!) czy przeglądarka plików graficznych. Program tego typu po jego uruchomieniu oprócz wykonywania swoich "oficjalnych" zadań dokonuje także spustoszenia w systemie,

3. Bomby logiczne - rodzaj wirusa, który może pozostać w ukryciu przez długi czas. Jego aktywacja następuje w momencie nadejścia określonej daty lub wykonania przez użytkownika określonej czynności, takiej jak np. skasowanie określonego pliku,

4. Robaki (worms) - małe, ale bardzo szkodliwe wirusy. Do prawidłowego funkcjonowania nie potrzebują nosiciela. Rozmnażają się samoistnie i w sposób ciągły, powodując w bardzo krótkim czasie wyczerpanie zasobów systemu. Wirusy tego typu są zdolne w bardzo krótkim czasie sparaliżować nawet dość rozległą sieć komputerową.

 

Szczegółowa klasyfikacja wirusów:

 

1. Wirusy plikowe (tzw. "zwykłe", file viruses):

Wirusy plikowe to najstarsza rodzina tych programów. Każdy wirus przed dokonaniem szkód najpierw ulega replikacji, dlatego rozwój "przemysłu" wirusowego wiąże się z wynajdywaniem nowych nosicieli. Początkowo na atak wirusów tego typu narażone były tylko pliki wykonywalne (*.exe, .com) oraz wsadowe (*.bat). Rozwój technologii wirusów powiększył grono zagrożonych plików o zbiory zawierające fragmenty kodu, biblioteki, sterowniki urządzeń (*.bin, *.dll, *.drv, *.lib, *.obj, *.ovl, *.sys, *.vxd).

Zasada działania:

Infekcja następuje poprzez dopisanie kodu wirusa na końcu pliku (wirusy starsze) lub modyfikację jego początku i dopisanie kodu w środku lub na końcu (wirusy nowsze, atakujące niewykonywalne pliki). Załadowanie zainfekowanego pliku do pamięci jest równoznaczne z uaktywnieniem wirusa. Wiele wirusów nie niszczy zaatakowanego pliku, dzięki czemu może po aktywacji wykonać program nosiciela, tak że użytkownik niczego nie podejrzewa.

2. Wirusy sektora startowego dysku (wirusy boot sektora, boot sector viruses):

Innym nosicielem wirusa może być sektor startowy nośnika danych, takiego jak dysk twardy (MBR - Master Boot Record) czy dyskietka (Boot sector). Wirusy tego typu są szczególnie groźne. Wynika to z faktu, iż po uruchomieniu komputer próbuje wczytać system, który jest zapisany w pierwszym sektorze dysku lub dyskietki. Należy mieć świadomość, że każda sformatowana dyskietka, nawet nie zawierająca plików systemowych, posiada boot sektor, a więc jako taka może zawierać wirusa.

Zasada działania:

Wirus tego typu może ulokować się w MBR i np. zniszczyć jego zawartość, uniemożliwiając tym samym dostęp do dysku. W innym przypadku wirus przenosi kod inicjujący system z sektora startowego w inny obszar dysku i zajmuje jego miejsce, co powoduje jego załadowanie jeszcze przed (!) startem systemu, a więc także przed uruchomieniem jakiegokolwiek oprogramowania antywirusowego. Działanie tego typu umożliwia wirusom przejęcie kontroli nad oprogramowaniem przeznaczonym do ich zwalczania.

3. Wirusy FAT (wirusy tablicy alokacji plików, link/FAT viruses):

Do replikacji wirusy mogą także wykorzystywać jednostki alokacji plików (JAP), na jakie tablica FAT dzieli DOS-ową partycję dysku twardego. W celu uzyskania dostępu do pliku DOS odszukuje w FAT numer jego pierwszej jednostki alokacji, po czym kolejno (zgodnie z FAT) wczytuje wszystkie jednostki zajmowane przez plik.

Zasada działania:

Wirusy atakujące JAP zmienia wartość pierwszej JA jednego lub wielu plików na numer wskazujący JA kodu wirusa. Wczytanie takiego pliku powoduje uruchomienie wirusa, który w dalszej kolejności może, ale nie musi, załadować właściwy program (w tym celu musi zapamiętać oryginalny numer jego pierwszej JAP).

4. Makrowirusy:

Makrowirusy należą do najmłodszej rodziny wirusów. Ich powstanie związane jest z wprowadzeniem do pakietów biurowych (np. MS Office, Lotus SmartSuite czy Corel WordPerfect)języków pozwalających na tworzenie makr, takich jak np. Visual Basic for Applications (VBA).

Zasada działania:

Większość makrowirusów Worda wykorzystuje fakt, że szablony dokumentów mogą zawierać makra. Wirus uaktywnia się w chwili otwarcia zainfekowanego dokumentu, po czym zaraża zdrowe zbiory z rozszerzeniem *.doc i zapisuje je jako szablony (dokumenty nie mogą zawierać makr). W ostatnim kroku jedno lub kilka automatycznie wykonywanych makr zostaje zastąpionych kodem wirusa.

5. Wirusy typu stealth i wirusy polimorficzne (stealth&polymorphic viruses):

W zasadzie wszystkie wymienione wcześniej wirusy mogą (choć nie muszą) należeć do tej grupy. Ich powstanie związane jest z postępem w dziedzinie ich wykrywania. W pierwszych latach obecności wirusów każdy miał swoją sygnaturę (charakterystyczny tylko dla siebie ciąg bajtów). Sytuacja zmieniła się, gdy Bułgar o pseudonimie Dark Avenger opracował metodę pozwalającą tworzyć wirusy samomutujące się.

Wirusy polimorficzne nie mają stałej sygnatury, ponieważ ich kod zmienia się samoczynnie przy każdej infekcji.

Wirusy stealth są to wirusy, które podczas próby dostępu do zarażonego pliku lub sektora dysku przez program antywirusowy potrafią "w locie", chwilowo naprawić uszkodzone dane i zatuszować swą obecność.

 

Skutki infekcji:

 

Działalność wirusa może mieć różne skutki, zależnie od jego typu i przeznaczenia. Najbardziej "nieszkodliwe" są wirusy wypisujące na ekranie niegroźny komunikat czy wykorzystujące system tylko i wyłącznie do rozmnażania się. Znacznie gorsze skutki to uszkodzenie pojedynczych plików, zniszczenie całego dysku twardego, a nawet uszkodzenie komponentów komputera takich jak płyta główna czy karty rozszerzeń(!).

Za bardzo szkodliwe powszechnie uchodzą wirusy napisane przez niedoświadczonych programistów. Ich wirusy, z założenia mające być "nieszkodliwe", mogą wyrządzić wiele szkód spowodowanych błędami w kodzie źródłowym.

 

Jak się bronić???

 

Podstawową zasadą jest posiadanie dobrego pakietu antywirusowego. Piszę "pakietu", gdyż obecnie większość tego typu programów składa się z wielu modułów o różnych funkcjach. Przy wyborze oprogramowania antywirusowego należy zwracać uwagę, czy posiada ono następujące elementy:

1. Skaner użytkownika (tzw. "ręczny", On-demand scanner) - podstawowy moduł, występujący we wszystkich typach oprogramowania. Umożliwia skanowanie plików przez użytkownika w wybranym przez niego momencie. Standardem jest kontrola zbiorów skompresowanych.

2. Skaner rezydentny - skaner, który pracuje w tle przez cały czas. Do jego zadań należy bieżąca kontrola wszystkich uruchamianych plików, otwieranych dokumentów czy wkładanych dyskietek. Powinien posiadać funkcję skanowania plików ściąganych z Internetu.

3. Terminarz - pozwala na zaprogramowanie pakietu tak, aby szukał wirusów o określonej porze, np. w nocy.

 

Dodatkowo oprogramowanie antywirusowe powinno umożliwiać generowanie raportów z bieżącej pracy. Bardzo ważne jest także, aby skaner wykorzystywał najnowsze metody wyszukiwania, takie jak np. heurystyczna metoda wykrywania wirusów (Chroni przed wirusami polimorficznymi, polega na analizie kodu pliku i symulacji jego wykonania. Pozwala na wykrycie operacji charakterystycznych dla wirusów, takich jak np. próba bezpośredniego dostępu do dysku.), czy sumy kontrolne.

 

Co nie grozi zarażeniem?

 

Zamierzam tutaj obalić kilka panujących powszechnie mitów dotyczących sposobów zarażania się wirusem. Wbrew powszechnie panującej opinii, przeczytanie wiadomości e-mail nie może spowodować zarażenia. Może je spowodować dopiero otwarcie zawirusowanego pliku dołączonego do takiej wiadomości. Nie można się zarazić również poprzez przeglądanie stron w Internecie - jeśli nie ściągamy żadnych plików, to jedynymi danymi fizycznie zapisywanymi na dysku są tzw. cookies - dane o odwiedzanych stronach przeznaczone dla przeglądarki. Cookies nie mogą zawierać wirusów, nie jest więc możliwe zarażenie się w ten sposób.

Jedyną możliwością "złapania" wirusa jest otwarcie zainfekowanego pliku lub próbo dostępu do zawirusowanego sektora dysku .

 

Podsumowanie

 

Brak rzetelnych informacji na temat wirusów prowadzi do częstych wybuchów paniki, czego przykładem są np. dwudniowy paraliż światowych systemów informatycznych na wieść o nieistniejącym wirusie Michaelangelo czy obiegające świat ostrzeżenia o rzekomych wirusach w e-mailach zatytułowanych "PENPAL GREETINGS", czy "JOIN THE CREW". Moim zdaniem należy zwalczać takie wiadomości, choćby poprzez odpowiednią edukację użytkowników komputerów, prowadzoną za pomocą czasopism o tematyce informatycznej. Dobrym przykładem magazynu starającego się od dłuższego czasu zwalczać różne fałszywe poglądy na tematy związane z komputerami, jest CHIP. Myślę, że gdyby więcej czasopism podjęło działania takie jak CHIP, użytkownicy komputerów przeżywaliby znacznie mniej stresów spowodowanych swoją niewiedzą.

 

Powyższa praca przedstawia problematykę wirusów w sposób bardzo skrótowy, ze względu na ogrom informacji, które można by podać tylko w celu "zanudzenia na śmierć" Czytelnika, ponieważ dotyczą one typowo technicznych zagadnień, takich jak np. szczegółowa zasada działania poszczególnych modułów skanera antywirusowego. Zainteresowanych odsyłam do specjalistycznej literatury.

Bibliografia:

1. CHIP (różne numery)

2. Nieograniczone zasoby sieci zwaną Internet

3. Mój jedyny i niezastąpiony mężczyzna mojego życia

 

Pierwsze wirusy komputerowe dla IBM PC pojawiły się już w 1986 r., ale jeszcze dwa lata później wiele postaci świata informatycznego wątpiło w ich ist-nienie. Peter Norton (wg „Patologii wirusów komputerowych” Davida Ferbra-che’a) nazwał wirusy komputerowe wielkomiejskim mitem i porównał ich istnie-nie z historiami o krokodylach w kanałach Nowego Jorku. Ta opinia dość dobrze oddaje stan wiedzy na temat wirusów w środowisku komputerowym u progu lat dziewiećdziesiątych. Sytuacja zmieniła się dopiero kilka lat później, po odkryciu wykreowanego przez media na pierwszą gwiazdę pzremysłu informatycznego, wirusa Michael Angelo. Dzięki nagłośnieniu jego istnienia i masowej akcji o-strzegawczej Michael Angelo wywarł pozytywny wpływ i uświdomił milionom użytkowników komputerów na całym świecie grożące im (oraz ich danym) nie-bezpieczeństwo.

W ciągu minionych kilku lat zainteresowanie wirusami komputerowymi znacznie spadło. Wielu użytkowników oswoiło się z możliwością infekcji i na-uczyło się minimalizować jej skutki. Niestety, w dalszym ciągu liczne grono osób korzystających z komputerów, co gorsza również na stanowiskach kierowni-czych, nie zdaje sobie sprawy z potencjalnego zagrożenia. Grupa ta traktuje in-formacje i ostrzeżenia pojawiające się w środkach masowego przekazu jako wy-ssane z palca bądź uważa, że wirusy komputerowe są wyłącznie problemem u-żytkowników nielegalnego oprogramowania i samych „piratów”. Niestety, więk-szość ludzi zaczyna wierzyć w istnienie wirusów dopiero po odkryciu ich we własnym komputerze. Ale wtedy jest już za późno...

Pod względem działania wirusy komputerowe przypominają swoje biolo-giczne pierwowzory. Zamiast ludzkiego organizmu, infekują dysk (dyskietkę) lub program, umieszczając w nich swój kod. Główne zadanie wirusa komputerowego polega na jak najszerszym rozpowszechnieniu się, a nie „szkodzeniu”, jak mylnie sądzi wielu użytkowników. Niszczenie danych na dysku, wyświetlanie informacji na ekranie, blokowanie systemu i nienormalne zachowanie się komputera to dru-gorzędne cele wirusów komputerowych. Wynika to z prostej zasady: pozostając dłużej w ukryciu, mogą wygenerować większą liczbę potomków.

Pierwszym krokiem na drodze do zabezpieczenia się przed wirusami jest poznanie zasad ich działania, w szczególności metod „rozmnażania”. Każdy wi-rus związany jest z konkretnym systemem operacyjnym lub programem. Pierwsze z nich nazywamy systemowymi a drugie aplikacyjnymi.

Istnieją dwa typy wirusów systemowych, zarażające pliki wykonywalne i obszary systemowe dysku (boot sektor na dyskietce i Master Boot Record an dysku twardym). Przedstawiciele obydwu typów mogą „zagnieżdżać się” w pa-mięci i stamtąd infekować dyski lub programy. Mówi się wtedy o wirusach rezy-dentnych.

Wirusy „doklejające się” (typu link) infekują programy przez wpisanie swojego kodu w określone miejsce pliku „nosiciela”. W systemie DOS atakowa-ne są pliki COM i EXE, czyli wykonywalne programy. Zdarza się, że wirusy po-sługują się plikami pośrednio wykonywalnymi (np.: OVR, OVL), a ostatnio za-częły nawet „nadużywać” windowsowych DLL-i.

Kiedy uruchamiamy zarażoną aplikację, wirus ładuje się do pamięci, ewen-tualnie rozmnaża się i ładuje program nosiciela. Jego działanie pozostaje często niewidoczne dla użytkownika, a zbyt późne rozpoznanie infekcji może prowadzić do utraty wszystkich danych na dyskach. Niebezpieczeństwo jest bardzo duże, ponieważ napisanie wirusa doklejającego się do plików COM jest dziecinne proste, a dla programów typu EXE niewiele trudniejsze.

Wirusy towarzyszące, wykorzystują właściwości systemu DOS, a dokład-niej kolejność wywoływania programów o takiej samej nazwie. Ponieważ DOS (jeżeli nie podaliśmy rozszerzenia nazwy) szuka najpierw pliku typu COM, a dopiero później EXE, zatem zamiast zarażać aplikację, wirus tworzy „towarzyszącego” jej COM-a. Sposób umieszczenia kodu wirusa w tym ostatnim jest na tyle nieszablonowy (treść „mikroba” znajduje się w środowisku pliku), że skanery wykrywają go dopiero po włączeniu opcji sprawdzania całej zawartości zbioru.

Drugi rodzaj wirusów systemowych atakuje boot sektor na dyskietkach lub tzw. Master Boot Record (w skrócie MBR) na dysku twardym. W obu przypad-kach wirus kopiuje kod inicjujący (bootstrap) zawarty w boot sektorze lub prze-chowywany w MBR do innego miejsca na dysku i zamienia go własnym, ładują-cym wirusa, następnie wykonuje oryginalny kod bootstrap. Startowanie przebiega normalnie, z tą różnicą, że wirus ładuje się do pamięci przed systemem operacyj-nym. Obecny w pamięci wirus monitoruje aktywności dyskowe i infekuje dys-kietki, kiedy tylko nadarza się okazja.

Istnieją dwa sposoby zarażenia systemu klasycznym wirusem bootsekto-rowym: start komputera z zainfekowaną dyskietką w stacji A: i wystartowanie komputera z zarażonego dysku twardego. Aby uchronić się przed pierwszym ro-dzajem infekcji, należy zawsze wyciągać dyskietkę ze stacji A: przed urucha-mianiem i resetowaniem komputera. Równie skuteczne jest wyłączenie (w BIOS-ie) możliwości bootowania z napędu A:. Ustawienie kolejności C:, A: nie daje 100% zabezpieczenia: dopóki na dysku twardym aktywna partycja zawiera pliki systemowe i nie jest uszkodzona, jesteśmy bezpieczni, ale w przeciwnym wy-padku BIOS szuka systemu w napędzie A:, co może prowadzić do infekcji.

Wirusy aplikacyjne różnią się od systemowych środowiskiem pracy i o-biektami używanymi w charakterze nosicieli. Nie tak dawno „szkodnik” zaraża-jący dokumenty Worda 6.0 napawał grozą wielu użytkowników, a w poczcie e-lektronicznej „straszył” komunikat blokujący (zapychający) kolejkę nadesłanych wiadomości. Programiści i inni twórcy wirusów mają olbrzymie pole do popisu, tym bardziej, że w tego rodzaju wirusy wielu użytkowników nie chce albo nie potrafi uwierzyć, a znacznie częściej nawet o nich nie słyszało.

Oprogramowanie antywirusowe nie jest doskonałe - odnajduje tylko wiru-sy znane producentowi w chwili tworzenia programu i często straszy fałszywymi alarmami. Wykrywanie nieznanych „szkodników” sprawdza się niemal wyłącznie w przypadku schematycznych wirusów tworzonych na podstawie utartych sche-matów. Programy antywirusowe nie odtworzą również zniszczonych przez „szkodniki” danych, a „wyleczone” aplikacje nie zawsze odpowiadają swojej pierwotnej postaci. Dobre uzupełnienie skanera antywirusowego stanowi program do tworze-nia sum kontrolnych, ale wyłącznie własna, unikalna tablica kodów gwarantuje bezpieczeństwo. Metody obliczania sum kontrolnych stosowane przez znane i popularne programy (np. przez dostarczony z DOS-em program antywirusowy) zostały już dawno „rozgryzione” przez programistów, a wirusy aktualizują (albo kasują) „odciski plików” po zainfekowaniu. Spokojnego snu nie zapewnia rów-nież oprogramowanie zabezpieczające. Wprawdzie utrudnia ono zainstalowanie się wirusów w pamięci lub na dysku, ale ciągle pojawiają się nowe „szkodniki” obchodzące najwymyślniejsze zabezpieczenia.

Liczba wirusów w ciągu ostatnich lat szybko rośnie. Przyczynia się do tego powstawanie mutacji istniejących „wirusów” i stosowanie kilku form rozmnaża-nia przez jeden wirus. Z tego powodu mówi się o rodzinach wirusów, które się ciągle na nowo szyfrują, a kolejne egzemplarze „szkodnika” nie przypominają swoich przodków.

W ciągu ostatnich lat pracowano nad mechanizmami ukrycia wirusów. W ten sposób powstały wirusy typu stealth. „Tajniacy” dostarczają skanerowi da-nych w oryginalnej („niezarażonej”) postaci, a wykrycie ich staje się możliwe dopiero po restarcie systemu z wolnej od wirusów dyskietki.

Konie trojańskie i robaki to anomalie programowe o zbliżonym do wiru-sów działaniu. Pierwsze z nich to na pozór zwyczajne programy, które po uru-chomieniu ujawniają swoje prawdziwe oblicze. Istnieją już pirackie „kopie” pro-gramów antywirusowych, które okazały się... formaterami dysku twardego. Znacznie częściej niszczycielem bywa gra albo aplikacja użytkowa skopiowana z pirackiego źródła. Robaki, w odróżnieniu od wirusów, rozmnażają się bez pro-gramu gospodarza. Znakomicie radzą sobie w sieci, rozmnażając się tak szybko, że w ciągu krótkiego czasu absorbują wszystkie zasoby systemu i wywołują jego zawieszenie. W 1988 r. jeden z robaków doprowadził nawet do załamania kom-putera sieci Internet.

Zdecydowana większość wirusów została napisana dla systemu DOS i nie działa w innych środowiskach. Nie dotyczy to jednak Windows 95 (a raczej MS-DOS-a 7.0), który stwarza sprzyjające warunki dla niemałej części „szkodników”. OS/2 Warp i Windows NT nie należą do ścisłego kręgu zaintere-sowań twórców wirusów, wynika to po części ze skutecznych mechanizmów bezpieczeństwa tych systemów. Osoby, które zetknęły się już z wirusami kompu-terowymi, wiedzą, że nie ma z nimi żartów. Nawet (pozornie) nieszkodliwe oka-zy - nie niszczące danych - zwiększają awaryjność systemu komputerowego, ponieważ sama ich obecność w pamięci może blokować niektóre operacje pro-gramu lub wywoływać przypadkowe działania.

Wirusy stwarzają i stwarzać będą w przyszłości potencjalne zagrożenie, od którego nie ma ucieczki. Użytkownik może w dużym stopniu zminimalizować ryzyko zarażenia, ale w praktyce zawsze może liczyć na wizytę „nieproszonego gościa”. Jedynym sposobem 100% bezpieczeństwa pozostaje chyba odcięcie się od świata zewnętrznego.

Bibliografia:

1. CHIP (różne numery)

2. Nieograniczone zasoby sieci zwaną Internet

3. Mój Misiaczek

...
Zgłoś jeśli naruszono regulamin