Wirus komputerowy to krótki program komputerowy, zwykle szkodzący systemowi operacyjnemu lub utrudniający pracę użytkownikowi komputera. Każdy wirus ma zdolność samopowielania. Jest to warunek konieczny, aby dany program można było nazywać wirusem.
Wirusy przenoszone są przeważnie w zainfekowanych wcześniej plikach (wirusy plikowe) lub w pierwszych sektorach fizycznych (na zerowej ścieżce) dysku twardego (wirusy dyskowe). Proces infekcji polega na odpowiedniej modyfikacji struktury plików lub sektorów. Zainfekowaną ofiarę nazywa się nosicielem, a proces samopowielania replikacją.
Długość typowego wirusa w czasach panowania DOS-u wahała się w granicach od kilkudziesięciu bajtów do kilku kilobajtów, choć już wtedy były wirusy o rozmiarze kilkudziesięciu kilobajtów. Obecnie klasyczne wirusy spotyka się rzadziej – częściej jest to hybryda wirusa z robakiem, a rozmiar kilkadziesiąt i więcej kilobajtów nie dziwi – tyle kodu bez problemu można ukryć w wielomegabajtowych bibliotekach czy programach. Rozmiar wirusa zależy od czynników takich jak:
- umiejętności programistyczne twórcy wirusa – wirus lepszego programisty napisany w tym samym języku będzie mniejszy lub będzie miał więcej funkcji;
- użyty język programowania – wirus o podobnej funkcjonalności napisany w języku maszynowym (asembler) zwykle będzie mniejszy niż w języku skryptowym czy języku wysokiego poziomu;
- przewidywana funkcjonalność wirusa – prosty wirus będzie mniejszy od szkodnika wykonującego wiele różnych czynności; najmniejsze wirusy potrafią tylko się powielać;
- wykorzystanie cech środowiska operacyjnego – wirus napisany jako maksymalnie niezależny musi mieć wbudowane wszystkie potrzebne biblioteki, wirus korzystający w pełni ze środowiska ma tylko minimum kodu niezbędne do wywołania dostępnych w tym środowisku funkcji.
Od programisty zależą także efekty, jakie wirus będzie wywoływał po zainfekowaniu systemu, na przykład:
- kasowanie i niszczenie danych
- rozsyłanie spamu
- dokonywanie ataków na serwery internetowe
- kradzież danych (hasła, numery kart płatniczych, dane osobowe)
- wyłączenie komputera
- wyświetlanie grafiki lub odgrywanie dźwięków
- uniemożliwienie pracy na komputerze
- umożliwienie przejęcia kontroli nad komputerem osobie nieupoważnionej
- tworzenie botnetu

|