On distingue plusieurs types d’antivirus selon leur fonctionnement. La première méthode est celle du dictionnaire.
Les créateurs d’antivirus ayant préalablement identifié et enregistré des informations sur le virus, comme le ferait un dictionnaire, l’antivirus peut ainsi détecter et localiser la présence d’un virus. Lorsque cela se produit, l'antivirus dispose de trois options, il peut :
Afin de maximiser le rendement de l'antivirus, il est essentiel d’effectuer de fréquentes mises à jour en téléchargeant des versions plus récentes. Des internautes consciencieux et possédant de bonnes connaissances en informatique peuvent identifier eux-mêmes des virus et envoyer leurs informations aux créateurs de logiciels antivirus afin que leur base de données soit mise à jour.
Généralement, les antivirus examinent chaque fichier lorsqu'il est créé, ouvert, fermé ou lu. De cette manière, les virus peuvent être identifiés immédiatement. Il est possible de programmer le système d’administration pour qu’il effectue régulièrement un examen de l'ensemble des fichiers sur l'espace de stockage (disque dur, etc).
Même si les logiciels antivirus sont très performants et régulièrement mis à jour, les créateurs de virus font tout aussi souvent preuve d'inventivité. En particulier, les virus « oligomorphiques », « polymorphiques » et plus récemment, « métamorphiques », sont plus difficiles à détecter.
La « liste blanche » est une technique de plus en plus utilisée pour lutter contre les logiciels malveillants. Au lieu de rechercher les logiciels connus comme malveillants, on empêche l'exécution de tout programme à l'exception de ceux qui sont considérés comme fiables par l'administrateur système. En adoptant cette méthode de blocage par défaut, on évite les problèmes inhérents à la mise à jour du fichier de signatures virales. De plus, elle permet d'empêcher l'exécution de programmes indésirables. Étant donné que les entreprises modernes possèdent de nombreuses applications considérées comme fiables, l'efficacité de cette technique dépend de la capacité de l'administrateur à établir et mettre à jour la liste blanche. Cette tâche peut être facilitée par l'utilisation d'outils d'automatisation des processus d'inventaire et de maintenance.
Une autre approche pour localiser les virus consiste à détecter les comportements suspects des programmes. Par exemple, si un programme tente d’écrire des données sur un programme exécuté, l’antivirus détectera ce comportement suspect et en avisera l’usager qui lui indiquera les mesures à suivre.
Contrairement à l’approche précédente, la méthode du comportement suspect permet d’identifier des virus très récents qui ne seraient pas encore connus dans le dictionnaire de l'antivirus. Toutefois, le fait que les usagers soient constamment avertis, de fausses alertes peuvent les rendre insensibles aux véritables menaces. Si les usagers répondent « Accepter » à toutes ces alertes, l’antivirus ne leur procurera aucune protection supplémentaire. Ce problème s’est aggravé depuis 1997, puisque plusieurs programmes inoffensifs ont modifié certains fichiers exécutables sans observer ces fausses alertes. C’est pourquoi, les antivirus les plus modernes utilisent de moins en moins cette méthode.
L’analyse heuristique est utilisée par quelques antivirus. Par exemple, l’antivirus peut analyser le début de chaque code de toutes les nouvelles applications avant de transférer le contrôle à l’usager. Si le programme semble être un virus, alors l’usager en sera averti. Toutefois, cette méthode peut également mener à de fausses alertes. La méthode heuristique permet de détecter des variantes de virus et, en communiquant automatiquement les résultats de l'analyse à l'éditeur, celui-ci peut en vérifier la justesse et mettre à jour sa base de définitions virales.
La méthode du bac à sable (sandbox en anglais) consiste à émuler le système d’exploitation et à exécuter le fichier lors de cette simulation. Une fois que le programme prend fin, les logiciels analysent le résultat du bac à sable afin de détecter les changements qui pourraient contenir des virus. En raison des problèmes de performance, ce type de détection a lieu habituellement pendant le balayage sur demande. Cette méthode peut échouer puisque les virus peuvent s’avérer non déterministes et résulter de différentes actions ou même peut-être d’aucune action lorsque exécuté. Il est impossible de le détecter à partir d’une seule exécution.