Krótki wstęp:

Historia wirusów komputerowych sięga właściwie początków komputeryzacji w ogólności. Jednak ich rozwój rozpoczął się wraz z pojawieniem się na rynkach komputerów klasy IBM PC, czyli około roku 1986. Przez długi czas czołowi producenci oprogramowania bronili się przed wirusami nazywając je takim samym mitem jak życie krokodyli w kanałach wokół Nowego Jorku. Takie odsuwanie od siebie zagrożenia nie było zbyt rozsądnym podejściem, jako że wirusy komputerowe od samego początku swego istnienia były sporym zagrożeniem dla rozwoju komputeryzacji. U progu lat dziewięćdziesiątych wiedza o wirusach komputerowych była jeszcze bardzo uboga. Trzeba było wstrząsu, aby obudzić opinię publiczną. Odpowiednio dużym szokiem był atak najbardziej znanego w mediach wirusa - Michaela Angelo. Michał Anioł uświadomił wielu użytkownikom na całym świecie jak ważna jest ochrona swoich danych przed dostępem z zewnątrz.

Przez ostatnie kilka lat zainteresowanie, z jakim odnoszono się do wirusów w latach dziewięćdziesiątych mocno się zmniejszyło. Niestety, pomimo coraz większej dbałości pojedynczych użytkowników o bezpieczeństwo ich systemów oraz plików, obserwuje się znaczne pogorszenie sytuacji, jeśli chodzi o przedsiębiorców. Często ze względów oszczędnościowych nie instalują oni zalecanego oprogramowania antywirusowego, dlatego ich dane, często ważne dla klientów czy wręcz poufne, są łatwym celem dla hakerów komputerowych. Często panuje przekonanie, że sama "legalność" posiadanego oprogramowania powinna być gwarantem bezpieczeństwa, a wirusy komputerowe są wyłącznie problemem oprogramowania pirackiego, które z samej swojej natury jest niepełne i pełne luk w bezpieczeństwie. Oczywiście tego typu myślenie jest bardzo złudne. Hakerzy rzadko atakują konkretne komputery, a wirusy przenoszą się poprzez takie niewinne usługi jak poczta elektroniczna czy elementy aktywne na stronach internetowych. Często zdanie sobie sprawy z istnienia wirusów komputerowych następuje dopiero po fakcie. Całe szczęście większość wirusów nie jest bardzo szkodliwa dla systemu, zdarzają się jednak takie, które niszczą całą zawartość dysków. Wtedy użytkownicy, którzy nie zabezpieczyli swoich danych mogą tylko załamywać ręce.

Czym jest wirus komputerowy?

Zasadniczo wirusy komputerowe to jedne z najbardziej zgrabnie napisanych programów komputerowych. Zadaniem wirusów jest dopisanie swojego kodu do plików wykonywalnych (lub nie, nowsze wirusy atakują także na przykład zawartość aktywną) oraz powielanie się w systemie podczas uruchamiania zarażonego pliku. Istnieją także wirusy, które atakują sektory startowe dysków i dyskietek (mówimy wówczas o zainfekowanej dyskietce), lub pliki biurowe, takie jak dokumenty Worda czy arkusze kalkulacyjne (zwłaszcza, jeśli są wyposażone w tzw. makra).

Wirusy z grubsza dzieli się na cztery rodzaje:

  1. Wirusy (można je nazwać wirusami właściwymi).
  2. Konie trojańskie. Wirusy te wykorzystują do rozprzestrzeniania się pożyteczne programy. Czasem zdarza się, ze Trojanem zainfekowane są nawet programy antywirusowe. Kiedy taki zainfekowany program jest uruchamiany, wykonuje się normalni, podczas gdy doczepiony do niego wirus działa w swoim zakresie wykonując kod szkodliwy dla systemu komputerowego.
  3. Bomby logiczne. Wirusy te są bardzo niebezpieczne dla systemu komputerowego, ponieważ przez długi czas pozostają uśpione, przez co trudniej jest je wytropić. Często bomby logiczne są uruchamiane, kiedy spełniony zostanie określony warunek - na przykład nadejdzie konkretny dzień lub zostanie skasowany konkretny plik.
  4. Robaki, z angielskiego worms, są jednymi z najbardziej niebezpiecznych rodzajów wirusów. Przede wszystkim namnażają się samoistnie, a do rozpowszechniania nie potrzebują nosicieli. Jednym z pierwszych tego typu wirusów był Rabbit (królik), który rozmnażał się w zastraszającym tempie i szybko powodował zawieszanie się systemu komputerowego z powodu braku pamięci operacyjnej. Wpuszczenie robaka do sieci komputerowej może mieć opłakane skutki, ponieważ są one zdolne do przemieszczania się po łączach sieciowych.

Powyższy podział jest bardzo umowny. Istnieją także inne, bardziej szczegółowe sposoby klasyfikacji wirusów.

Wirusy plikowe są najstarszym rodzajem szkodliwego oprogramowania, a przez to najbardziej rozpowszechnione i najczęściej wyłapywany przez programy antywirusowe, jako że łatwo jest je rozpoznać. Najczęściej łupem takich wirusów stają się pliki wykonywalne, posiadające takie rozszerzenia jak "EXE" czy "COM", a także pliki wsadowe, które charakteryzują się rozszerzeniem "BAT". Kolejnymi potencjalnie zagrożonymi zbiorami plikowymi są takie pliki jak sterowniki urządzeń (np. "SYS"), biblioteki dynamiczne ("DLL"), a także pliki będące postacią przejściowa pomiędzy kodem źródłowym a docelowym kodem dwójkowym programu, takie jak na przykład pliki z rozszerzeniem "OBJ".

Wirusy plikowe działają dość podobnie. Wirus dopisuje swój kod na końcu zainfekowanego pliku, a także, jak ma to miejsce w przypadku współczesnych wirusów, na początku lub w środku pliku (jest to podyktowane koniecznością lepszego ukrycia się przed programami antywirusowymi). W momencie uruchomieniu pliku, czyli załadowaniu go do pamięci operacyjnej, wirus jest aktywowany i może rozpocząć działanie. Najczęściej wirus pracuje w tle, tak, aby użytkownik zainfekowanego pliku nie był w stanie zauważyć, co, gdzie i jak robi. Dopiero po uszkodzeniu przez wirus danych jest wówczas możliwe wykrycie jego działania.

Wirusy sektora startowego, inaczej boot sector viruses

Bardzo poważnym typem wirusa jest wirus sektora startowego dysku lub dyskietki. W ich przypadku nosicielem wirusa jest pierwszy sektor dysku. Jest to bardzo niebezpieczne, ponieważ w tych sektorach rezydują zwykle podstawowe pliki rozruchowe sytemu. Dlatego wirus może być aktywowany już w momencie załadowania systemu do pamięci operacyjnej, jeszcze zanim zostanie uruchomione jakiekolwiek oprogramowanie antywirusowe. Wirus sektora startowego sytuuje się w głównym rekordzie rozruchowym. Często jest tak, że niszczy całą jego zawartość, właściwie uniemożliwiając dostęp do danych zgromadzonych na dysku dla przeciętnego użytkownika. Często też wirus usuwa z głównego rekordu rozruchowego pliki systemowe i sytuuje tam własne dane do rozruchu, a następnie wymusza start systemu z innego miejsca dysku. Dlatego właśnie może zacząć działać jeszcze przed rozruchem systemu.

Wirusy tablicy alokacji plików

Zwłaszcza w systemie DOS i opartych na nim Windowsach z serii 9x standardem były tak zwane wirusy tablicy alokacji plików. Wykorzystują one dyskowe tablice, dzięki którym dyski są dzielone na ponumerowane sektory. Tablica taka, zwana FAT, jest ważną rzeczą w wyszukiwaniu plików. System znajduje rozmiar i pierwszy sektor pliku, a potem automatycznie wczytuje odpowiednią liczbę sektorów do pamięci. Wirusy tablicy alokacji podmieniają wpisy w tablicy, kierując system na swój kod, zamiast na kod otwieranego programu, dzięki czemu wirus jest ładowany do pamięci i może rozpocząć działalność. Często taki wirus odpala potem docelowy plik tak, aby użytkownik mógł żyć w nieświadomości, że na jego komputerze zagościł wirus tablicy alokacji plików.

Makrowirusy

Makrowirusy jako swoich nosicieli wybierają aktywne elementy plików Office'owych, takich jak arkusze kalkulacyjne czy dokumenty tekstowe. Ich powstanie jest związane z dużym rozwojem makr w tego typu plikach. Najczęściej makrowirusy sytuują się w szablonach dokumentów, które posiadają makra. Ich działanie polega na przerabianiu dokumentów na szablony i replikowaniu się w nich. Makra zastępowane są kodem wirusa i podczas ich wykonywania wirus dokonuje spustoszenia w systemie.

Wirusy polimorficzne

Wirusy polimorficzne są szerszą kategorią wirusów, do których mogą należeć wszystkie wymienione wirusy. Wirusy polimorficzne są bardzo ciężkie do wykrycia, ponieważ ich kod ciągle się zmienia, wirus jest zdolny do mutacji. Standardowe definicje wirusów używane jako broń w walce z tymi programami są więc bezużyteczne. Wykrywanie wirusów polimorficznych jest wciąż nie lada wyzwaniem dla producentów oprogramowania antywirusowego.

Jak zapobiegać infekcjom wirusów?

Niestety, do tej pory nie ma sposobu, aby całkowicie zapobiec infekcjom wirusów. Istnieją jednak metody na to, jak zabezpieczać się przed nimi tak, by ryzyko zarażenia systemu było jak najmniejsze, a także, by szybko radzić sobie z atakami tak, by nie były one w stanie zagrozić zgromadzonym na komputerze danym.

Na pewno można przedstawić szereg działań, które są bezpieczne, ponieważ nigdy nie grożą zarażeniem. Istnieje wiele mitów, które mówią, jakie działania mogą prowadzić do infekcji. Najwięcej dostaje się w nich zwykle poczcie elektronicznej. Otóż jak do tej pory nie ma możliwości, by samo przeczytanie maila stało się przyczyną zarażenia wirusem. Wiadomości nie zawierają żadnej zawartości aktywnej, wykonywalnej, dlatego jedynym niebezpieczeństwem mogą być załączniki do wiadomości. Zwłaszcza otrzymane od dziwnych, nieznanych nadawców pliki o rozszerzeniu "EXE" mogą być bardzo niebezpieczne. Kolejnym mitem jest, jakoby przeglądanie stron internetowych było niebezpieczne. Nic bardziej błędnego. Jedynym poważnym zagrożeniem są tak zwane formanty ActiveX, co, do których należy podchodzić z dużą dozą rezerwy i ostrożności. Większość przeglądarek ma jednak wbudowane blokowanie kontrolek ActiveX, dlatego ze strony www raczej nic nam nie grozi. Inne strony mogą jedynie zapisywać na dysku małe pliki tekstowe (cookies), które nie mogą zawierać wirusów.

Jednak sama ostrożność to nie wszystko. Najpewniejszym sposobem chronienia się prze wirusami jest po prostu zainstalowanie dobrego firewalla wraz z pakietem oprogramowania antywirusowego. Najlepiej, aby posiadał on takie moduły, jak terminarz, który pozwala na zaprogramowanie skanowania antywirusowego na konkretne dni i godziny, na przykład w nocy, kiedy nie jest potrzebna moc obliczeniowa komputera, skanery ręczny i automatyczny, który działa na każdy nowy plik w komputerze, co jeszcze bardziej zapobiega zainfekowaniu dzięki systemowi "wczesnego ostrzegania".

Oprogramowanie antywirusowe

Najważniejszym narzędziem, które powstało do walki z wirusami, jest specjalistyczne oprogramowanie antywirusowe, które pojawiło się niemal wraz z pojawieniem się pierwszych wirusów. Od tamtej pory wybór oprogramowania zajmującego się unicestwianiem wirusów jest tak ogromny, że każdy może znaleźć coś dla siebie. Programy antywirusowe nie tylko wykrywają wirusy jeszcze przed rozpoczęciem ich destruktywnej działalności, ale także często usuwają je z systemu, a nawet naprawiają skutki infekcji.

Istnieje wiele kategorii programów antywirusowych. Najważniejsze z nich postaram się wymienić.

  1. Blokery są programami, które starają się blokować wirusy jeszcze zanim zostaną one załadowane do pamięci i aktywowane. Programy te umożliwiają zapobieganie infekcji wirusa. Blokery działają w tle systemu operacyjnego i monitorują działanie wszystkich programów. Kiedy zostanie wykryty kod podobny do kodu znanego wirusa, użytkownik jest o tym natychmiast informowany i może podjąć decyzję o tym, co powinno się zrobić z zainfekowanym zbiorem dyskowym. Niestety, przy wszystkich swych zaletach programy blokujące nie mogą ukryć swoich wad. Najważniejszą wadą jest przede wszystkim ich uśpiona praca obciążająca procesor i inne zasoby komputera. Poza tym często decyzje, jakie podejmują są mylne, dlatego nie chronią one całkowicie i z drugiej strony mogą widzieć wirusy w Bogu ducha winnych programach.
  2. Programy diagnostyczne i leczące poszukują na dyskach w komputerze znanych im wirusów. Jeśli program taki wykryje wirusa na dysku, często jest w stanie nie tylko go usunąć, ale także zdefiniować skutki infekcji i usunąć je. Właśnie takie programy są najbardziej skuteczne i najczęściej stosowane. Niestety, pozostają bezradne, jeśli na dysku pojawi się wirus, którego nie znają, lub, jeśli skutki infekcji będą na tyle poważne, że nie będzie się dało ich usunąć. Jednym z najbardziej popularnych programów tego typu jest Norton AntiVirus, Panda czy też Kaspersky.

Najczęściej jednak pakiety antywirusowe wyposażone są w narzędzia spełniające obie wymienione wyżej funkcje.

Podsumowanie

Niestety, mimo że wirusy to bardzo poważna gałąź programowania i rzeczywiste niebezpieczeństwo dla systemów komputerowych, nadal przez większość użytkowników jest to sprawa bagatelizowana ("Przecież żaden haker nie połakomi się na moje pliki"). Wciąż słychać o panice na wieść o rozprzestrzenianiu się jakiegoś typu wirusa, jak miało to miejsce po odkryciu działania wirusa Kurnikova. Uważam, że powinno się wprowadzić większą ilość informacji o tym niebezpiecznym zjawisku. Przede wszystkim powinni o tym pomyśleć wydawcy czasopism komputerowych, którzy niestety nadal uchodzą w naszym kraju za autorytet w dziedzinie informatyki, spychając na dalszy plan naukowców i książki.