Dobry program antywirusowy powinien charakteryzować się zarówno dużą skutecznością wykrywania niebezpieczeństw jak i możliwie największą prostotą obsługi.
Antywirus składa się z szeregu funkcjonalnych modułów odpowiedzialnych za wykonywanie określonych funkcji, a liczba modułów uzależniona jest od producenta danego programu. Poniżej przedstawione zostały najczęściej stosowane funkcjonalności programów antywirusowych:
Historycznie najstarszym modułem jest skaner antywirusowy odpowiedzialny za sprawdzanie wybranych części systemu pod kątem występowania wirusów (tzw. skanowanie systemu). Uruchamiany jest on przez użytkownika (skanowanie na żądanie) i tylko wówczas może usuwać ewentualne wirusy.
Następnym modułem jest działający w tle monitor antywirusowy. Ta rezydentna część programu antywirusowego odpowiedzialna jest za ciągłe nadzorowanie chronionego systemu (np. wszelkie operacje na plikach). Monitor uruchamiany jest zazwyczaj automatycznie podczas startu systemu i działa aż do jego wyłączenia, dzięki czemu jest to obecnie podstawowe źródło ochrony antywirusowej.
Kolejna część funkcjonalna antywirusa to skaner pocztowy mający za zadanie ochronę systemu przed niebezpieczeństwami pochodzącymi z poczty elektronicznej (obecnie najczęstszy nosiciel wirusów). Moduł ten sprawdza wiadomości wraz z załącznikami i w przypadku wykrycia wirusa podejmuje działania określone przez użytkownika (np. usuwa wirusa jeżeli jest taka możliwość, a jeżeli nie ma to usuwa zawirusowany plik).
Skaner skryptowy ma za zadanie sprawdzać uruchamiane skrypty pod kątem występowania niebezpiecznego kodu. Po znalezieniu takiego kodu uruchomienie skryptu zostaje wstrzymane.
W zależności od producenta programu i przyjętych przez niego rozwiązań zarówno skaner pocztowy jak i skaner skryptowy są oddzielnymi modułami (samodzielne programy) lub są częścią składową monitora antywirusowego.
Ważnym elementem każdego programu antywirusowego jest jego uaktualnianie (aktualizacje systemu antywirusowego). Aktualizacji podlega przede wszystkim baza rozpoznawanych sygnatur wirusów, przez co program dowiaduje się o nowych zagrożeniach przed którymi na chronić.
W celu zapewnienia jak największej funkcjonalności programu antywirusowego producenci wyposażają go w terminarz. Jego zadaniem jest automatyzacja czynności wykonywanych dotychczas przez użytkowników. Do jego zadań należy m. in. przeprowadzanie aktualizacji w odstępach czasu określonych przez użytkownika czy okresowe uruchamianie skanera antywirusowego (np. co piątek o 18:00 lub podczas działania wygaszacza ekranu).
Kolejnym modułem często pojawiającym się w programach antywirusowych jest kwarantanna. Polega ona na zapisywaniu nieuleczalnych w danej chwili plików w bezpiecznym formacie uniemożliwiającym dalsze rozprzestrzenianie się wirusa. Pliki takie można próbować wyleczyć przy pomocy nowszych aktualizacji lub wysłać do producenta programu w celu przeprowadzenia ich dokładnej analizy i ewentualnej naprawy.