Działanie wirusów komputerowych uzależnione jest na ogół od zamierzeń ich twórców jednak czasami zdarzają się sytuacje gdy wirus działa inaczej niż został zaprogramowany (np. jego autor nie uwzględnił jakiejś specyficznej sytuacji). Wyróżniamy trzy podstawowe fazy działania wirusa komputerowego:
• I faza - aktywacja: jest to uruchomienie głowy wirusa. W przypadku wirusów dyskowych polega na uruchomieniu komputera z zarażonego nośnika, natomiast w przypadku wirusów plikowych jest to uruchomienie zainfekowanego programu. Faza ta jest obligatoryjna i po jej zakończeniu wirus może zakończyć swoją działalność.
• II faza - destrukcja: polega na dokonaniu zniszczeń w systemie (np. na usunięciu plików). Jest to najniebezpieczniejsza część działalności wirusa. Faza ta jest opcjonalna, a niektóre wirusy na tym etapie kończą swoje działanie.
• III faza - ujawnienie: polega na poinformowaniu użytkownika o obecności niechcianego programu (np. odegranie melodyjki czy wyświetlenie komunikatu). Faza ta jest opcjonalna.
Pierwsza faza występuje zawsze, natomiast moment wykonania dwóch pozostałych jest dowolny. Możliwe są następujące kolejności wykonania: I, I-II, I-III, I-II-III, I-III-II.
Przeważenie, jeżeli chodzi o podział obiektów pewnej dziedziny można tego dokonać na różne sposoby. W zależności od zadanych kryteriów istnieć może wiele rodzajów podziałów. Poniżej przedstawiony jest przykładowy podział wirusów komputerowych:
Klasyfikacja.
* Wirusy rezydentne instalują się w pamięci i są aktywowane wówczas, gdy zostaną spełnione określone warunki (np. uruchomienie programu o określonej godzinie). Wirusy takie mają możliwość stałego kontrolowania systemu i maskowania swojej obecności dzięki czemu mogą dłużej być niezauważone i stanowić ciągłe niebezpieczeństwo.
o Wirusy dyskowe są wirusami rezydentnymi aktywującymi się podczas startu systemu z zainfekowanego nośnika (umiejscowione są w rekordzie ładującym). Za względu na fakt, iż zarażenie następuje w trakcie uruchamiania systemu wirusy takie nazywa się często wirusami sektora ładującego (boot-sector virus).
o Wirusy plikowe dołączają się do plików wykonywalnych, a ich aktywacja następuje poprzez uruchomienie zarażonego programu. Po wykonaniu swoich funkcji wirus przekazuje sterowanie do programu nosiciela. Wirusy takie mogą być zarówno rezydentne jak i nierezydentne.
o Wirusy hybrydowe są połączeniem innych typów wirusów (niekiedy nazywane są wirusami plikowo-dyskowymi). Najczęściej wirusy takie atakują zarówno główny rekord rozruchowy dysku jak i pliki przez co mają ułatwione możliwości replikacji przy jednoczesnym utrudnieniu ich deaktywacji.
* Wirusy nierezydentne aktywowane są wówczas, gdy wykonywany jest zainfekowany program. Są to typowo plikowe wirusy, które po wykonaniu swoich funkcji są usuwane z pamięci.
Wirus może doczepić się do programu nie naruszając jego kodu (zwiększa się wówczas długość powstałego w ten sposób nowego programu) lub może być umieszczony zamiast części kodu programu (tzw. wirus zamazujący).
Budowa.
Wirus komputerowy składa się z dwóch podstawowych części: głowy (jądro) i ogona (ciało). Głowa to ta część wirusa, która uzyskuje sterowanie przebiegiem wykonania programu i służy do samopowielania się. W najprostszym przypadku jest to jedyna część wirusa. Ogon jest opcjonalną częścią i ma za zadanie realizację określonych, najczęściej szkodliwych, funkcji (np. wyświetlenie komunikatu czy usunięcie pliku).
Wirusy Komputerowe to ogólna nazwa oprogramowania mogącego wyrządzić szkody ich użytkownikom posiadającego cechę przenoszenia się na zewnątrz danego systemu (zarażania innych). Ze względu na sposób działania możemy wyróżnić kilka podstawowych grup oprogramowania tego typu:
* wirusy
* trojany
* robaki
* króliki
* makra
* fałszywki
Najliczniej reprezentowaną grupę stanowią wirusy i dlatego najczęściej używa się pojęcia wirusy komputerowe mając na myśli wszystkie odmiany przenoszących się zagrożeń.
Wirus komputerowy jest programem posiadającym zdolność do replikacji bez wiedzy użytkownika (samoreplikacja). Dzięki samoczynnemu powielaniu się takiego programu może on szybko rozprzestrzenić się w zainfekowanym systemie jak i poza nim (np. przez sieć komputerową czy za pośrednictwem nośników danych).
Koń trojański jest kodem ukrytym w programie mogącym realizować także inne funkcje niż te, o których wie użytkownik. Program będący koniem trojańskim wykonuje najczęściej pożyteczne funkcje równocześnie realizując ukryte zadania (np. kasowanie pliku). Konie trojańskie (trojany) nie posiadają zdolności do samoreplikacji, a ich aktywacja może nastąpić poprzez ich uruchomienie i spełnienie określonych warunków. Do grupy tej zaliczyć można również miny (w skład których wchodzą bomby czasowe i bomby logiczne) oraz tzw. tylne wejścia. Miny są bardzo trudne do wykrycia i dlatego stanowią szczególnie wysokie niebezpieczeństwo. Zakres ich wykorzystania jest niesłychanie szeroki, ale najczęściej bywają stosowane do szantażu komputerowego (np. zaszyfrowanie plików ze strategicznymi dla firmy danymi po usunięciu nazwiska pracownika z listy płac i wyświetlenie komunikatu o okupie).
* Bomba czasowa to program, którego ukryte funkcje aktywowane zostają w określonym czasie (np. w dni parzyste).
* Bomba logiczna to program, którego ukryte funkcje aktywowane zostają w momencie zajścia ustalonych wcześniej warunków (np. uruchomienie innego programu).
* Tylne wejście (back door) jest luką w oprogramowaniu, która umożliwia wejście do zabezpieczonego programu lub użycie tajnej funkcji w programie. Luki takie mogą powstać celowo lub przypadkowo (np. niezałatanie wejścia serwisowego podczas przekazania programu użytkownikowi).
Robak (worm) to program, którego głównym celem jest rozprzestrzenianie się za pośrednictwem sieci komputerowej. Po przemieszczeniu robak dalej się przemieszcza (jeżeli jest taka możliwość, np. wykorzystanie osób z książki adresowej programu pocztowego i wysłanie do nich swojej kopii) oraz może wykonać określone przez jego autora zadania.
Królik (czasami nazywany bakterią) jest programem, który na skutek ciągłego powielania samego siebie wykorzystuje coraz większe zasoby systemu powodując jego destabilizację.
Makro jest programem napisanym przy użyciu wewnętrznego języka programowania określonej aplikacji (np. Visual Basic w pakiecie Office) i do zadziałania wymaga obecności tej aplikacji.
Fałszywka (hoax) to wykorzystanie ludzkiej niewiedzy do rozprzestrzenienia podanej informacji. Polega to na tym, że użytkownik otrzymuje wiadomość (poprzez sieć, telefonicznie czy podczas rozmowy) o pewnym zdarzeniu powodującą podjęcie przez niego określonego działania. Może to być np. otrzymanie maila z wiadomością, że plik o podanej nazwie jest wirusem i można się go pozbyć jedynie poprzez usunięcie tego pliku. W rzeczywistości plik nie jest wirusem i może być nawet częścią systemu operacyjnego, a jego usunięcie może spowodować nieprzewidziane skutki. Użytkownik najczęściej zastosuje się do wskazówek zawartych w otrzymanej wiadomości i w dobrej wierze rozpowszechni ją dalej (w przypadku maili spowoduje to niepotrzebny wzrost generowanego w sieci ruchu). Oprócz wywołania zamieszania fałszywki mogą również przyczynić się do poniesienia szkód (np. otrzymanie wiadomości o awarii serwera i prośbie o wysłanie hasła do konta na podany adres). Walczyć z takimi fałszywymi alarmami jest szczególnie trudno gdyż nigdy nie ma 100% pewności czy są one prawdziwe czy nie. Najlepiej jest mieć ograniczone zaufanie do podejrzanych i pochodzących z niepewnych źródeł wiadomości i sprawdzać ich wiarygodność w serwisach antywirusowych.