Les antivirus sont des logiciels conçus pour identifier, neutraliser et éliminer des logiciels malveillants (dont les virus informatique 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. 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.
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 fichier 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 positif 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é. Il est impossible de le détecter à partir d’une seule exécution.
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 European Bernt Fix (ou Bernd) 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.
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 Trojans 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 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.