1. WSTĘP

Większość użytkowników komputera zapewne słyszała, a nawet miała do czynienia z wirusami komputerowymi. Jednak niewielu spośród nich rozumie zasadę ich funkcjonowania, ponieważ w dziedzinie tej, jak i wielu innych aspektach naszego życia, królują ustalone stereotypy. Wynikają ona zarówno z braku wiedzy zwykłego użytkownika, jak i z dezinformacji, a raczej braku pożytecznych i poprawnych informacji, ze strony producentów aplikacji antywirusowych oraz mediów. Celem niniejszej pracy, jest przybliżenie tematyki wirusów komputerowych oraz sprostowanie wszelkich mylnych opinii na ten temat.

2. CO TO JEST WIRUS KOMPUTEROWY ?

Wirus komputerowy jest kodem, który na skutek braku właściwej ochrony systemowej zasobów systemów operacyjnych dokonuje zaplanowanych przez jego twórcę, niepożądanych działań w środowisku systemu, uszkadzając dane, aplikacje, zmieniając sposób funkcjonowania sprzętu itp. Upraszczając, wirusem jest obcy fragment kodu, dołączony do programu. Uruchomienie tego kodu wraz z innym programem powoduje odszukanie na dyskach niezainfekowanych programów oraz dołączenie do nich sekwencji kodu wirusa. Takim sposobem wirus infekuje coraz więcej plików komputera, a zarażone nim programy, przesyłane przez sieć lub przenoszone na nośnikach, niszczą zasoby znajdujące się na innych komputerach. Wirusy mogą również zainfekować sektor rozruchowy (ang. boot sector) dyskietki bądź dysku twardego. Skutki, które powodowane są działaniem wirusów posiadają znamiona przestępstwa, które polega na naruszeniu osobistych dóbr użytkownika, chronionych przez prawo.

3. PODZIAŁ WIRUSÓW KOMPUTEROWYCH

Istnieje wiele kategorii, według których można podzielić wirusy komputerowe. Od strony przeciętnego użytkownika komputera, najistotniejszym wydaje się podział ze względu na:

  • sposób, w jaki wirus się przenosi
  • działanie, jakie wirus podejmuje po zarażeniu systemu operacyjnego

Jeżeli chodzi o sposób przenoszenia, wirusy można podzielić na:

  • przenoszące się przy pomocy nośników: dyskietki, płyty CD, dyski twarde
  • dołączające się do plików wykonywalnych, takich jak: programy narzędziowe, systemowe, a nawet aplikacje komercyjne
  • przenoszące się przez sieć komputerową, np.: wirusy, które atakują usługi sieciowe, aplety Java, czy też rozpowszechnione najbardziej robaki internetowe, najczęściej przenoszone poprzez pocztę elektroniczną.

Jeżeli chodzi o działania, jakie podejmowane są po infekcji, wirusy można podzielić na:

  • niegroźne, które wyświetlają na ekranie monitora śmieszne, dowcipne bądź głupawe informacje
  • niszczące informacje zamieszczone w dokumentach oraz same dokumenty
  • niszczące wszelkie dane zawarte na dyskach twardych (w tym systemy operacyjne)
  • powodujące skasowanie procedur BIOS komputera
  • powodujące uszkodzenia sprzętu komputerowego.
4. TYPY WIRUSÓW KOMPUTEROWYCH

1. Wirusy - niewielkie programy, powielające się przez zainfekowanie plików wykonywalnych, sektora startowego nośników danych (FDD, HDD), jednostek alokacji plików oraz dokumentów utworzonych przy pomocy pakietów biurowych jak MS Office

2. Konie trojańskie (tzw. trojany) - wirusy te potrafią ukryć się w na pozór pożytecznym oprogramowaniu, jak np.: przeglądarkach plików graficznych, programach narzędziowych a nawet pakietach antywirusowych. Oprogramowanie to po uruchomieniu poza wykonaniem swoich właściwych i zaprogramowanych czynności, uruchamia jednocześnie ukrytego wirusa, który dokonuje spustoszenia w systemie

3. Bomby logiczne - to rodzaje wirusów, który mogą pozostawać w ukryciu bardzo długi czas. Ich aktywacja ma miejsce w określonym momencie (np.: określonego dnia w roku) lub w chwili wykonania określonej czynności, jak np. skasowanie danego pliku

4. Robaki (ang. worms) - małe, lecz mocno szkodliwe wirusy. Aby właściwie funkcjonować nie potrzebują żadnego nosiciela. Mnożą się same, w ciągły sposób, powodując w stosunkowo krótkim czasie całkowite zajęcie zasobów systemowych. Tego typu wirusy zdolne są w krótkim czasie unieruchomić dużych rozmiarów sieć komputerową.

5. SZCZEGÓŁOWA KLASYFIKACJA WIRUSÓW

Wirusy plikowe (ang. file viruses)

Wirusy plikowe są najstarszą odmianą tych programów. Wirus zanim dokona zmieszczeń ulega wpierw replikacji, dlatego też rozwój działalności polegającej na tworzeniu nowych wirusów wiąże się często z wynajdywaniem coraz to nowych nosicieli. Dawniej na ataki wirusów tego rodzaju narażone były tylko zbiory wykonywalne (com, exe) a także skrypty wsadowe (bat), jednak rozwój technologii wirusów rozszerzył grono infekowanych plików o te, które zawierają fragmenty kodu, sterowniki urządzeń i biblioteki (bin, dll, drv, lib, obj, ovl, sys, vxd).

Zasada działania:

Infekcja przebiega przez dopisanie na samym końcu pliku kodu wirusa (wirusy starszego typu) lub umieszczenie na jego początku tzw. funkcji skoku oraz dopisaniu kodu wirusa w środku bądź na końcu (wirusy nowszego typu, atakujące pliki niewykonywalne). Załadowanie zainfekowanego zbioru do pamięci komputera równoznaczne jest z uaktywnieniem danego wirusa. Większość wirusów nie dokonuje zniszczeń w zainfekowanym pliku, dzięki temu po aktywacji może wykonać kod nosiciela, w taki sposób, że użytkownik nie będzie niczego podejrzewał.

Wirusy atakujące sektor startowy dysku (ang. boot sector viruses)

Kolejnym nosicielem dla wirusa może stać się sektor startowy dysku twardego (ang. Master Boot Record - MBR) lub dyskietki (ang. boot sector). Wirusy tej kategorii są wyjątkowo groźne. Wskazuje na to fakt, że podczas uruchomienia komputer próbuje załadować system, którego informacje startowe zapisane są na pierwszym sektorze dyskietki lub dysku. Należy uświadomić sobie, że każdy sformatowany nośnik, z którego komputer może załadować system operacyjny, nawet ten niezawierający plików, posiada swój sektor startowy, więc jako taki może zawierać w nim wirusa.

Zasada działania:

Wirusy tego typu mogą umieścić się w sektorze startowym dysku i zniszczyć przykładowo jego zawartość, co uniemożliwia dostęp do niego. W innej sytuacji wirus może przenieść kod inicjalizacyjny systemu z sektora startowego do innego obszar dysku i zająć jego miejsce, co spowoduje załadowanie wirusa jeszcze przed startem samego systemu, a więc również przed uruchomieniem wszelkiego oprogramowania antywirusowego. Takie działanie pozwala wirusom przejęcie kontroli nad aplikacjami przeznaczonymi do ich niszczenia.

Wirusy FAT (atakujące tablicę alokacji plików)

Do rozmnażania się, wirusy te mogą wykorzystywać jednostki alokacji plików (JAP), na które tablica alokacji plików (FAT) dzieli partycje twardego dysku. System, aby uzyskać dostępu do określonego pliku, odszukuje w tablicy alokacji numer jego pierwszej jednostki alokacji, a następnie (zgodnie z zapisem w FAT) ładuje wszystkie kolejne jednostki, które zajmowane są przez plik.

Zasada działania:

Wirusy atakujące jednostki alokacji plików, zmieniają wartość pierwszych jednostek alokacji jednego bądź wielu plików na wartość, która wskazuje na numer jednostki alokacji kodu wirusa. Takie działanie powoduje uruchomienie danego wirusa, który później może, lecz wcale nie musi, uruchomić właściwy program (aby to uczynić, musi zapamiętać prawdziwy numer jego pierwszej jednostki alokacji).

Makrowirusy

Makrowirusy zaliczają się do najmłodszej grupy wirusów. Ich istnienie wiąże się z wprowadzeniem do oprogramowania biurowego (np. MS Office, Corel WordPerfect czy Lotus SmartSuite) języków programowania, które pozwalają na tworzenie procedur zwanych makrami, np. Visual Basic (VBA).

Zasada działania:

Większość makrowirusów edytora Word wykorzystuje fakt, zawierania makr przez szablony dokumentów. Wirus aktywuje się w momencie otwarcia zarażonego dokumentu, po czym infekuje zdrowe pliku o rozszerzeniu *.doc, zapisując je jako szablony (ponieważ dokumenty same w sobie nie mogą posiadać makr). Na końcu jedno bądź kilka automatycznie wykonywanych makr zastąpionych zostaje kodem wirusa.

Wirusy stealth oraz wirusy polimorficzne (ang. stealth & polymorphic viruses)

Praktycznie wszystkie zaprezentowane wyżej wirusy mogą, lecz nie muszą zaliczać się do tej grupy. Powstanie tego typu wirusów wiąże się z postępem, jaki miał miejsce w ich wykrywaniu. Dawniej każdy wirus miał swoją własną sygnaturę (charakterystyczny ciąg bajtów), jednak sytuacja zmieniła się, kiedy pewien Bułgar noszący pseudonim Dark Avenger stworzył metodę, która pozwala tworzyć wirusy ulegające automatycznej mutacji.

Wirusy polimorficzne nie posiadają stałej sygnatury, gdyż ich kod ulega samoczynnej modyfikacji podczas każdej infekcji.

Wirusy typu stealth. to wirusy, które w trakcie próby dostępu do zainfekowanego pliku bądź sektora dysku przez narzędzie antywirusowe umieją "w locie", naprawić chwilowo uszkodzone dane tuszując tym samym swoją obecność.

6. SKUTKI ZAINFEKOWANIA WIRUSEM

Działalność wirusów może mieć różnorakie skutki, w zależności od ich typów i przeznaczenia. Najmniej szkodliwe są wirusy, które wypisują na ekranie monitora niegroźny komunikat bądź wykorzystują system tylko do replikacji. Groźniejsze są wirusy, które uszkadzają pojedyncze pliki, bądź niszczą zawartość całego dysku, a nawet prowadzą do uszkodzeń komponentów komputera, jak płyta główna lub karty rozszerzeń.

Za dość szkodliwe uważa się wirusy, których autorami są niedoświadczeni programiści. Ich wirusy, mające z założenia być nieszkodliwe, czasami mogą wyrządzić bardzo wiele szkód wynikających z błędami w kodzie programu.

7. OBRONA PRZED WIRUSAMI

Główną zasadą jest instalacja markowego pakietu antywirusowego. Obecnie oprogramowanie wirusowe ma właśnie postać pakietów, gdyż często składa się z wielu modułów o różnej funkcjonalności. Przy wyborze narzędzi antywirusowych należy zwrócić uwagę na to, czy zawiera ono następujące komponenty:

  • Skaner użytkownika (ang. On-demand scanner) - to podstawowy moduł, który występuje we wszystkich rodzajach oprogramowania antywirusowego. Umożliwia on użytkownikowi skanowanie plików w dowolnej, wybranej przez niego chwili. Standardową funkcją dobrego skanera użytkownika jest możliwość kontroli zbiorów skompresowanych
  • Skaner rezydentny - to skaner, pracujący cały czas w tle. Jego zadaniem jest bieżąca kontrola wszelkich uruchamianych programów, otwieranych plików czy wkładanych nośników. Skaner ten powinien posiadać możliwość skanowania plików pobieranych z sieci
  • Terminarz - czyli narzędzie pozwalające na ustawienie pakietu tak, by skanował system w poszukiwaniu wirusów o zdefiniowanej godzinie, np.: nocą

Oprócz tego dobre oprogramowanie antywirusowe umożliwia generowanie raportów dotyczących bieżącej pracy. Istotna rzeczą jest również to, aby skaner używał najnowszych metody wyszukiwania, jak np. sumy kontrolne czy metoda heurystyczna, która chroni system przed wirusami typu polimorficznego i polega na analizowaniu kodu pliku oraz symulowaniu jego wykonania. Metoda ta umożliwia wykrycie operacji typowych dla wirusów, jak np. próby bezpośredniego dostępu do dysku twardego.

PODSUMOWANIE

Powyższa praca ukazuje tematykę wirusów w sposób dość skrótowy, przez wzgląd na ogromną ilość informacji, które dostępne są w sieci Internet, książkach, itp. Nie zostały tu poruszone sprawy czysto techniczne jak choćby szczegółowy sposób działania skanerów antywirusowych.