Je pensais donc aux virus récemment et je me demandais comment les antivirus pouvaient suivre exactement. Considérant que toute personne qui codait depuis quelques semaines pouvait pirater quelque chose qui ferait des choses désagréables au PC de quelqu'un, la quantité seule rendrait une simple liste de hachages prohibitive, alors comment les antivirus le font-ils? Surveillent-ils l'activité des processus et appliquent-ils une règle des 3 coups pour faire des choses ressemblant à des virus? Et si oui, qu'est-ce qui l'empêche de déclencher des actions parfaitement inoffensives (comme le déplacement de fichiers dans \ system32)?
J'ai fait un peu de googler, mais les places habituelles ne m'ont pas aidée et je ne pouvais pas trouver une dupe ici, alors j'ai pensé que ce serait bien de demander :)
la source
Réponses:
Cet article de 2002 parle de la construction d'un moteur antivirus.
Il existe également un article sur les techniques heuristiques pour détecter les infections. C'est aussi une lecture intéressante.
la source
Il y a environ un an, j'ai assisté à une conférence de Mikko Hyyppönen, l'un des principaux chercheurs de F-Secure. Il a montré leur réseau de test automatisé, où ils créent des machines virtuelles pour chaque échantillon qui leur est envoyé, analysent sa structure, le laisse fonctionner, enregistrent tout ce qu'il fait, font des références croisées avec les échantillons précédents et génèrent un résumé à vérifier par une personne. Si l'humain conclut qu'il s'agit d'un virus, le système génère automatiquement la signature de détection et envoie une mise à jour aux clients. J'imagine que d'autres fournisseurs ont également des systèmes similaires pour maintenir leurs bases de données de signatures à jour.
la source
De Comment fonctionne le logiciel anti-virus? (AntivirusWorld):
Un logiciel anti-virus est un programme informatique qui peut être utilisé pour analyser des fichiers afin d’identifier et d’éliminer les virus informatiques et autres logiciels malveillants (malwares).
Un logiciel anti-virus utilise généralement deux techniques différentes pour y parvenir:
Approche par dictionnaire de virus Dans l'approche par dictionnaire de virus, lorsque le logiciel anti-virus examine un fichier, il fait référence à un dictionnaire de virus connus identifiés par l'auteur du logiciel anti-virus. Si un élément de code du fichier correspond à un virus identifié dans le dictionnaire, le logiciel anti-virus peut alors supprimer le fichier, le mettre en quarantaine afin que le fichier soit inaccessible à d'autres programmes et que son virus ne puisse pas se propager, ou soit tenté. réparer le fichier en supprimant le virus lui-même.
Pour réussir à moyen et à long terme, l’approche du dictionnaire des virus nécessite des téléchargements en ligne périodiques des entrées de dictionnaire de virus mises à jour. À mesure que les nouveaux virus sont identifiés "à l'état sauvage", les utilisateurs à l'esprit civique et enclins à la technique peuvent envoyer leurs fichiers infectés aux auteurs du logiciel anti-virus, qui incluent ensuite des informations sur les nouveaux virus dans leurs dictionnaires.
Un logiciel antivirus basé sur un dictionnaire examine généralement les fichiers lorsque le système d'exploitation de l'ordinateur les crée, les ouvre et les ferme; et lorsque les fichiers sont envoyés par courrier électronique. De cette manière, un virus connu peut être détecté immédiatement après réception. Le logiciel peut également être programmé pour examiner régulièrement tous les fichiers du disque dur de l'utilisateur.
Bien que l'approche par dictionnaire soit considérée comme efficace, les auteurs de virus ont tenté de garder une longueur d'avance sur ces logiciels en écrivant des "virus polymorphes", qui chiffrent des éléments d'eux-mêmes ou se modifient eux-mêmes en tant que méthode de dissimulation, de manière à ne pas correspondre à la signature du virus. dans le dictionnaire.
Méthode du comportement suspect Au contraire, la méthode du comportement suspect ne tente pas d'identifier les virus connus, mais surveille plutôt le comportement de tous les programmes. Si un programme essaie d'écrire des données dans un programme exécutable, par exemple, cela est signalé comme un comportement suspect et l'utilisateur en est averti et il lui est demandé quoi faire.
Contrairement à l'approche par dictionnaire, l'approche par comportement suspect offre donc une protection contre les nouveaux virus qui n'existent pas encore dans les dictionnaires de virus. Cependant, il semble également y avoir un grand nombre de faux positifs et les utilisateurs deviennent probablement insensibles à tous les avertissements. Si l'utilisateur clique sur "Accepter" à chaque avertissement, le logiciel antivirus est évidemment inutile pour cet utilisateur. Ce problème a été particulièrement aggravé au cours des 7 dernières années, car de nombreux autres concepteurs de programmes non malveillants ont choisi de modifier d’autres fichiers .ex sans tenir compte de ce faux positif. Ainsi, la plupart des logiciels antivirus modernes utilisent cette technique de moins en moins.
Autres moyens de détecter les virus Certains logiciels anti-virus essaieront d’émuler le début du code de chaque nouvel exécutable en cours d’exécution avant de transférer le contrôle sur l’exécutable. Si le programme semble utiliser du code à modification automatique ou apparaître comme un virus (il essaie immédiatement de trouver d'autres exécutables), on peut supposer que l'exécutable a été infecté par un virus. Cependant, cette méthode génère beaucoup de faux positifs.
Une autre méthode de détection consiste à utiliser un bac à sable. Un bac à sable émule le système d'exploitation et exécute le fichier exécutable dans cette simulation. Une fois le programme terminé, la sandbox analyse les modifications susceptibles d'indiquer un virus. En raison de problèmes de performances, ce type de détection est normalement effectué uniquement lors d'analyses à la demande.
Sujets de préoccupation
Les macro-virus, qui sont sans aucun doute les virus informatiques les plus destructeurs et les plus répandus, pourraient être évités beaucoup plus économiquement et efficacement, et sans que tous les utilisateurs aient besoin d'acheter un logiciel anti-virus, si Microsoft corrigeait les failles de sécurité dans Microsoft Outlook et Microsoft Office l'exécution du code téléchargé et à la capacité des macros de documents à se propager et à causer des ravages.
La formation des utilisateurs est aussi importante que les logiciels anti-virus. le simple fait de former les utilisateurs aux pratiques informatiques sûres, telles que ne pas télécharger et exécuter des programmes inconnus à partir d’Internet, ralentirait la propagation des virus, sans recourir à un logiciel anti-virus.
Les utilisateurs d’ordinateurs ne doivent pas toujours s’exécuter avec un accès administrateur sur leur propre ordinateur. S'ils s'exécutaient simplement en mode utilisateur, certains types de virus ne pourraient pas se propager.
L'approche du dictionnaire pour détecter les virus est souvent insuffisante en raison de la création continue de nouveaux virus, mais l'approche du comportement suspect est inefficace en raison du problème de faux positif; par conséquent, la compréhension actuelle des logiciels anti-virus ne pourra jamais vaincre les virus informatiques.
Il existe différentes méthodes de cryptage et d’emballage des logiciels malveillants pour rendre même les virus bien connus indétectables par les logiciels anti-virus. La détection de ces virus "camouflés" nécessite un puissant moteur de décompression, capable de décrypter les fichiers avant de les examiner. Malheureusement, de nombreux programmes antivirus populaires ne le possèdent pas et sont donc souvent incapables de détecter les virus cryptés.
Les entreprises qui vendent des logiciels antivirus semblent avoir un intérêt financier à ce que les virus soient écrits et propagés, et au public à paniquer devant la menace.
(J'aime cet article et je viens de copier-coller depuis AntivirusWorld.)
la source
Phoshi, votre question est très intéressante, mais je vous suggère de commencer votre quête par une autre. Je conseille cela parce que les réponses à la question que vous avez posée peuvent vous induire en erreur.
Je vous suggère de commencer par réfléchir à ce que vous considérez comme un virus, quelle est sa définition.
Les auteurs de virus Elite sont des chercheurs en sécurité, et non des script kiddies. Leur définition de virus est la suivante: "un virus est un morceau de code qui peut se multiplier". C'est ça. Comme vous pouvez le constater, aucune caractéristique destructive n’est mentionnée ici. Tous les virus obligatoires sont maléfiques - c'est ce que vous obtenez des fabricants d'antivirus propriétaires pour qu'ils puissent vendre leur logiciel.
À mon humble avis, il est judicieux de traiter les virus comme faisant partie de l’ensemble de l’écosystème logiciel, et non comme des extraterrestres maléfiques.
la source
L’inverse est un moyen très important de regarder les virus. Comment les virus compromettent-ils les systèmes? Ceci est généralement dû aux vulnérabilités logicielles. Un logiciel anti-virus est conscient de ces vulnérabilités et recherche les logiciels les influençant. Quoi qu'il en soit, les virus font toujours quelque chose. Ils ont donc besoin d'un processus de travail pour faire ce qu'ils font le mieux. Parfois, cela se trouve dans un existant, parfois, ils se créent eux-mêmes.
Cependant, la plupart des virus fonctionnent de la même manière, ce qui permet à un anti-virus de les distinguer facilement. Il existe de nombreux virus utilisant la même vulnérabilité!
http://en.wikipedia.org/wiki/List_of_computer_viruses
la source