# Logiciel antivirus

Les antivirus sont des logiciels conçus pour identifier, neutraliser et éliminer des logiciels malveillants (dont les virus informatiques ne sont qu'une catégorie). Ces derniers peuvent se baser sur l'exploitation de failles de sécurité, mais il peut également s'agir de logiciels modifiant ou supprimant des fichiers, que ce soit des documents de l'utilisateur stockés sur l'ordinateur infecté, ou des fichiers nécessaires au bon fonctionnement de l'ordinateur (le plus souvent ceux du système d'exploitation).

## Fonctionnement

Un logiciel antivirus vérifie les fichiers et courriers électroniques, les secteurs de démarrage (afin de détecter les virus de boot), mais aussi la mémoire vive de l'ordinateur, les médias amovibles (clefs USB, CD, DVD, etc.), les données qui transitent sur les éventuels réseaux (dont internet), etc.
Différentes méthodes sont possibles :
* les principaux antivirus du marché se concentrent sur des fichiers et comparent alors la signature virale du virus aux codes à vérifier ;
* la méthode heuristique est la méthode la plus puissante, tendant à découvrir un code malveillant par son comportement. Elle essaie de le détecter en analysant le code d'un programme inconnu. Parfois de fausses alertes peuvent être provoquées ;
* l'analyse de forme repose sur du filtrage basé entre des règles regexp ou autres, mises dans un fichier junk. Cette dernière méthode peut être très efficace pour les serveurs de messagerie électronique supportant les regexp type postfix puisqu'elle ne repose pas sur un fichier de signatures.
Les antivirus peuvent balayer le contenu d'un disque dur, mais également la mémoire vive de l'ordinateur. Pour les antivirus les plus modernes, ils agissent en amont de la machine en scrutant les échanges de fichiers avec l'extérieur, aussi bien en flux descendant (téléchargement) que montant (téléversement ou upload). Ainsi, les courriels sont examinés, mais aussi les fichiers copiés sur ou à partir de supports amovibles tels que cédéroms, disquettes, connexions réseau, clefs USB…

## Approches

On distingue plusieurs types de logiciels antivirus selon leur fonctionnement. La première méthode est celle du dictionnaire.

### Dictionnaire

Les créateurs de logiciels antivirus ayant préalablement identifié et enregistré des informations sur des virus, comme le ferait un dictionnaire, le logiciel antivirus peut ainsi détecter et localiser la présence d’un virus.
On appelle ce dictionnaire la base de définition virale qui contient les signatures de virus.
Lorsque cela se produit, l'antivirus dispose de trois options, il peut :
* effectuer la suppression du fichier contaminé ;
* tenter de réparer le fichier endommagé en éliminant le virus ;
* déplacer le fichier dans une zone de quarantaine afin qu’il ne puisse être accessible aux autres utilisateurs et logiciels. Ceci permet d'éviter que le virus se répande (par autoréplication), et permet éventuellement de réparer le fichier ultérieurement.
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.
Une autre technique pour contourner ces définitions virales consiste à utiliser des packers/crypters, le fichier malicieux est chiffré et compressé et déchiffré et décompressé lors de son exécution, un peu à la manière des fichiers zip auto-extractible. Le fait que le fichier est chiffré empêche une détection par signature et permet de démultiplier les fichiers malicieux à partir d'une base unique en changeant de packers/crypters.

#### Liste blanche

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 logiciel à 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 logiciels 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.

### Comportements suspects

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é, modifier/supprimer des fichiers système l’antivirus détectera ce comportement suspect et en avisera l’utilisateur qui choisira 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 utilisateurs soient constamment avertis de fausses alertes peuvent les rendre insensibles aux véritables menaces. Si les utilisateurs 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'intelligence artificielle des nouveaux antivirus leur permet de choisir la décision à prendre sans en avertir l'utilisateur, ce qui permet d'utiliser à nouveau cette méthode. De plus les filtres se sont considérablement améliorés et les faux positifs sont moins nombreux.

### Autres approches

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ée. Il est impossible de le détecter à partir d’une seule exécution.
Les packers posent des problèmes d'efficacité aux détections par signature. Une autre limite était le temps assez long entre le moment où l'éditeur mettait à jour ses définitions virales, la disponibilité en ligne et la mise à jour des clients antivirus. Temps pendant lequel les utilisateurs pouvaient être vulnérables.
Pour pallier cela, les éditeurs utilisent des « Antivirus Cloud », où des bases de données gigantesques sont disponibles en ligne, permettant de recouper certaines données. En outre, ces bases de données sont utilisées en temps réel par les antivirus et permettent donc de supprimer le laps de temps entre la mise en ligne et le téléchargement des définitions virales.
Enfin, cela permet aussi d'alléger les clients antivirus où les bases locales étaient de plus en plus volumineuses face à la multiplication des menaces et l'utilisation des packers/crypters.
Une autre approche développée par SentinelOne et Carbon Black se concentre sur la détection comportementale en établissant en temps réel un contexte complet d'exécution de chaque processus, tandis que Cylance exploite un modèle d'intelligence artificielle basé sur l'apprentissage automatique. Ces approches sans signature ont été qualifiées par les médias et les cabinets d'analystes d'antivirus de « nouvelle génération » et connaissent une adoption rapide par le marché en tant que technologies de remplacement d'antivirus certifiées par des entreprises telles que Coalfire et DirectDefense. Après que des cabinets d'analystes tels que Forrester et Gartner aient estimé que les antivirus traditionnels basés sur les signatures étaient « inefficaces » et « dépassés », les fournisseurs d'antivirus traditionnels tels que Trend Micro, Symantec et Sophos ont réagi en intégrant des solutions « nouvelle génération » dans leur offre.

## Historique

Plusieurs sociétés revendiquent le titre de créateur du premier logiciel antivirus. La première annonce publique d’une neutralisation d’un virus pour PC a été faite par l'allemand Bernd Fix au début de l’année 1987, sur le virus Vienna. À la suite de ce virus, plusieurs autres virus ont fait surface comme Ping Pong, Lehigh et Surviv-3, aussi connu sous le nom de Jérusalem. G Data a développé le premier programme logiciel antivirus au monde en 1987$^,$$^,$.
Depuis 1988, plusieurs sociétés ayant pour objectif d’approfondir les recherches dans le domaine des logiciels antivirus se sont regroupées. Les premières percées en matière d'antivirus ont eu lieu en mars 1988 avec la sortie de Den Zuk, créé par l'Indonésien Denny Yanuar Ramdhani. Den Zuk pouvait neutraliser le virus Brain. En avril 1988, le forum Virus-L a été créé sur Usenet, et le milieu de l'année 1988 a vu la conception d'un appareil de recherche capable de détecter les virus et les chevaux de Troie qui étaient connus du public. En automne 1988 est paru le logiciel antivirus Dr Solomon's Antivirus (en) Toolkit conçu par Briton Alan Solomon. À la fin du mois de décembre 1990, le marché en est venu au point d'offrir au consommateur 19 différents produits reliés aux antivirus, parmi ceux-ci, Norton Antivirus et McAfee VirusScan.
Peter Tippett a beaucoup participé à l'émergent domaine de la détection de virus informatiques. Il était urgentologue de profession et possédait également sa société de logiciels. Il a lu un article à propos du virus Lehigh, qui fut le premier à être développé, mais c’est en fait sur Lehigh lui-même que Tippett s’est le plus renseigné. Il s’est posé la question s’il y avait des caractéristiques similaires entre ces virus et ceux qui attaquent les humains. D’un point de vue épidémique, il a été en mesure de déterminer comment ces virus affectaient les processeurs à même l’ordinateur (le secteur de démarrage était visé par le virus Brain, les fichiers .com par le virus Lehigh, tandis que le virus Jérusalem (en) s'attaquait à la fois aux fichiers .com et .exe). La société de Tippett, Certus International Corp. s’est donc impliquée dans la création de logiciels antivirus. Il a vendu la société en 1992 à Symantec Corp. et Tippett s'est joint à eux, en implantant le logiciel conçu au nom de Symantec, Norton AntiVirus.

## Part de marché

À la fin des années 2010, les programmes antivirus de Symantec, ESET et McAfee sont les produits anti-malware Windows les plus populaires, selon les données d'utilisation recueillies par le fournisseur de logiciels d'entreprise OPSWAT. L'entreprise a indiqué recueillir ses données à partir de plus de trente mille systèmes d'entreprise et systèmes domestiques où les clients ont installé ses applications gratuites.
Selon son dernier rapport, publié fin octobre 2019, Symantec est le premier fournisseur d'anti-programmes malveillants, avec une part de marché de 13,56 %, suivi par ESET avec 12,84 % et McAfee avec 12,21 %. Parmi les autres fournisseurs figurant dans le top 10 figurent Bitdefender (10,77 %), Kaspersky (7,66 %), Avast (6,98 %), Cylance (5,95 %), Webroot (5,88 %), Malwarebytes (5,8 %) et Sophos (3,62 %).