Wirus komputerowy to program jak każdy inny. Jego kod źródłowy składa się z listy poleceń i parametrów, ponieważ jest napisany w jednym z języków programowania. I tak jak inne programy, także wirusy komputerowe służą do wykonywania określonych zadań. Z tą jednak różnicą, że ich działanie ma szkodzić innym.
Poza tym mają jeszcze jedną istotną cechę, znacznie różniącą je od innych programów: automatycznie tworzą własne kopie. Dlatego nazywamy je wirusami. Ich jedynym celem jest nieustanne rozmnażanie się. Wirusy przyłączają się do innych programów i przenoszone na dyskietkach lub przez Internet, infekują kolejne komputery – bez wiedzy i poza kontrolą ich użytkowników.
Pierwsze wirusy komputerowe miały charakter doświadczalny i były tworzone przez informatyków w celach badawczych na długo przed upowszechnieniem się pecetów. Jeszcze w latach osiemdziesiątych XX wieku, gdy pojawiły się informacje o pierwszych „dzikich wirusach”, takich jak Elk Cloner z 1981 roku, środowisko programistów traktowało je jako plotki.
W 1986 roku odnotowano pierwszą w dziejach epidemię wśród komputerów. Jej sprawcą był Brain, wirus stworzony przez dwóch pakistańskich sprzedawców oprogramowania. W roku 1990 szacowano, że Brain spowodował ok. 7% wszystkich zarejestrowanych przypadków infekcji wirusowej w komputerach osobistych.
Jeszcze w 1990 roku znano jedynie kilkadziesiąt wirusów. Lecz już rok później rozpoznawano ich około 200, a obecnie są to już setki tysięcy. Po raz pierwszy o wirusach zrobiło się głośno na całym świecie w 1992 roku, gdy pojawił się Michał Anioł, który co roku, 6 marca, w dzień urodzin wielkiego artysty, miał uruchamiać swe destrukcyjne działanie (takie wirusy są nazywane bombami zegarowymi). W większości wypadków został jednak zlokalizowany i zniszczony przed ta datą.
Powodem wciąż wzrastającej liczby wirusów komputerowych jest nieustanne powstawanie zmodyfikowanych kopii już istniejących wirusów. Napisanie całkiem nowego wirusa nie jest rzeczą prostą.
Oto najczęściej spotykane rodzaje wirusów komputerowych.
Wirus plików wykonywalnych – rozmnaża się dzięki „przyklejaniu się” do końców plików wykonywalnych (z rozszerzeniami .bat, .com lub .exe). Jednocześnie wirus jest ładowany do pamięci RAM i infekuje każdy kolejny uruchomiony plik. Rozpowszechnia się najczęściej przez pirackie kopie oprogramowania oraz przez Internet. Typowe objawy zarażenia to spowolnienie działania programu lub pojawiający się w trakcie jego uruchamiania komunikat o braku wystarczającej ilości pamięci.
Wirus sektora rozruchowego (bootsektora) – zagnieżdża się w sektorach z informacjami na temat struktury danych na dysku. Umieszcza tam swój kod, zmienia znajdujące się w nich dane i przejmuje kontrolę nad komputerem. Najczęstszym jego celem jest uszkodzenie tablicy opisującej mapę dysku i zawierającej adresy rozmieszczenia na nim plików, co zakłóca lub przerywa pracę komputera. Przenoszony podobnie jak wirus plików wykonywalnych. Wspomniany Brain był pierwszym wirusem bootsektora.
Wirus makr – rozmnaża się za pośrednictwem programów biurowych: edytorów tekstu, arkuszy kalkulacyjnych, programów do tworzenia baz danych. Po otworzeniu dokumentu zawierającego wirus makr wszystkie kolejno otwierane dokumenty zostają również zarażone. Wirus usuwa lub niszczy zawartość pliku, za którego pomocą został przeniesiony na inny komputer, formatuje twardy dysk lub rozsyła poczta elektroniczną własne kopie pod adresy znalezione w programie pocztowym. Pierwszym był Koncept z 1995 roku, ale znacznie większe straty przyniósł Love Bug, który ujawnił się w maju 2000 roku. Zaatakowany użytkownik komputera znajdował w swojej poczcie list z tematem „I love you”, otwierał załącznik i tracił zapisane na dysku dane.
Programami przypominającymi wirusy są tzw. konie trojańskie i robaki. Koń trojański (pierwszy pojawił się w 1986 roku) nie jest zdolny do samodzielnego powielania się, zatem jedynym sposobem zakażenia komputera jest zainstalowanie w nim programu będącego nosicielem. Koń trojański symuluje działanie innego programu. Po spełnieniu określonych warunków rozpoczyna destrukcyjną działalność – powoduje utratę kontroli nad systemem, udostępnienie niepowołanym osobom haseł dostępu, odblokowanie zasobów komputera dla obcych użytkowników sieci itp.
Robak to program samopowielający się, którego reprodukcja i wędrowanie przez Internet (czy sieć lokalną) powoduje wzrost ruchu i przez to spowolnienie przesyłania informacji. Robak nie jest wirusem, lecz samodzielnym programem wykonywalnym, bowiem do rozprzestrzeniania się nie potrzebuje programu nosiciela. Pierwszym robakiem był Christmas Tree.
Jedynym celem wirusa jest niszczenie: zamiana lub uszkadzanie danych, zakłócanie komunikacji, wyświetlanie komunikatów, przechwytywanie informacji, spowalnianie pracy systemu i zmiana ustawień komputera. Do tropienia wirusów służą programy antywirusowe, które można kupić w sklepie lub skorzystać z wersji próbnych lub shareware (o ograniczonym czasie legalnego użytkowania), dostępnych w Internecie lub w pismach komputerowych.
Wykrywanie wirusów odbywa się najczęściej za pomocą jednej z dwóch metod: poprzez sumę kontrolną i poprzez kod wirusa.
Pierwszy sposób polega na regularnym sprawdzaniu wielkości plików. Gdy dojdzie do zarażenia kodem wirusa (który ma określoną wielkość), długość pliku ulega zmianie.
Drugi korzysta z bazy danych, w której są zapisane najbardziej charakterystyczne fragmenty wirusów (tzw. sygnatury). Po zidentyfikowaniu intruza programy antywirusowe podejmują próbę wyleczenia zarażonego pliku – usuwają kod wirusa, aby przywrócić poprzednią zawartość zbioru. Niestety, istnieją wirusy, które są niewykrywalne dla wielu programów antywirusowych, np. wirusy polimorficzne, które samodzielnie potrafią zmieniać swoje rozmiary i strukturę. Często jedynym sposobem ich pozbycia się jest formatowanie (czyszczenie) zawartości twardego dysku. Aby uniknąć tej ewentualności, należy:
- mieć w komputerze program antywirusowy i stale uaktualniać bazę sygnatur wirusów;
- nie instalować pirackiego oprogramowania;
- nie otwierać załączników do listów internetowych będących plikami wykonalnymi, plikami zawierającymi makropolecenia lub mającymi dwa rozszerzenia, bez absolutnej pewności źródła;
- regularnie porządkować dysk, poddawać go defragmentacji;
- tworzyć zapasowe kopie wszystkich wrażliwych plików i ważnych dokumentów.
bootsektor – specjalne miejsce, w którym jest zapisany program sterujący uruchamianiem komputera
kod źródłowy – zrozumiały dla programistów język, w którym są pisane programy
makro – niewielki program zachowywany w dokumentach, zwykle w edytorach i arkuszach kalkulacyjnych; służy do automatyzacji pracy, dzięki czemu praca z komputerem staje się wygodniejsza