OVH Cloud OVH Cloud

Programmer un antivirus

63 réponses
Avatar
cyril_vieville
Bonjour tout le monde,
J'aimerais savoir quelque trucs pour programmer un antivirus.
C'est a dire comment sont stockes les signatures (cryptage, base
cryptee, ...)
Comment creer un moteur de balayage efficace?
en fait un descriptif technique de comment on fait un antivirus SVP

Derniere question comment gerer le fait du grossisement de la base des
signatures (je crois savoir que beaucoup de vieux virus sont effaces
des bases par les editerurs non?)


Merci pour toutes vos reponses

10 réponses

1 2 3 4 5
Avatar
Misterjack
Salut !

Bonjour tout le monde,
J'aimerais savoir quelque trucs pour programmer un antivirus.
C'est a dire comment sont stockes les signatures (cryptage, base
cryptee, ...)


Ca c'est à vous de le choisir, vu que c'est vous qui voulez écrire un
antivirus... A moins que la question soit destinée à extraire les
signatures déjà connues pour les réutiliser ? Auquel cas je vous
conseille de laisser tomber.

Comment creer un moteur de balayage efficace?


Si quelqu'un a la réponse, ça risque d'intéresser du monde. En fait les
techniques précises utilisées par les antivirus ne sont pas vraiment du
domaine public, même si les algorithmes de base sont connus.
Sans avoir la moindre idée du fonctionnement d'un antivirus, pensez-vous
être compétent pour en écrire un ???

en fait un descriptif technique de comment on fait un antivirus SVP


Ah... oui...
Eh bien en fait, je vais vous donner une marche à suivre :
- Faites un antivirus contre un virus unique, bien spécifique pour
commencer (un simple si possible). Utilisez les techniques que vous
souhaitez, utilisez votre imagination.
- Ensuite essayez d'améliorer fortement la vitesse de fonctionnement,
sans perdre en précision et sans générer de faux-positifs. (créez des
pièges dans lequel votre antivirus ne devra pas tomber).
- Ensuite ajoutez d'autres virus à votre collection, avec leurs méthodes
spécifiques.
- Plus tard, après plusieurs virus ajoutés, essayez d'unifier au plus
les méthodes de détection pour accélérer le traitement. Vous convergerez
vers une solution honnête, qui fonctionnera correctement, si tout va bien.
- Et finalement, vous essaierez d'intégrer une méthode de détection des
virus inconnus. Normalement votre maîtrise de la détection de virus
connus, à ce moement, vous sera utile.

N'oubliez pas que l'imagination est le point fort des concepteurs de
virus. L'imagination doit donc être aussi un point fort pour vous.
Il ne sert absolument à rien de copier les méthodes des logiciels
existants (en moins bien).

Derniere question comment gerer le fait du grossisement de la base des
signatures (je crois savoir que beaucoup de vieux virus sont effaces
des bases par les editerurs non?)


C'est toujours à vous de faire les choix techniques.

Merci pour toutes vos reponses


Même si celle-ci vous est totalement inutile ?

Cordialement,
--
Mister Jack (MJ)
Pour me répondre souriez et cliquez sur "Répondre".

Avatar
Roland Garcia

Derniere question comment gerer le fait du grossisement de la base des
signatures (je crois savoir que beaucoup de vieux virus sont effaces
des bases par les editerurs non?)


Certainement pas et pour deux raisons:
1) l'anti-virus deviendrait mauvais dans les tests anti-virus.
2) Cela n'apporterait rien du tout en terme de rapidité.

Roland Garcia

Avatar
Olivier Aichelbaum
Roland Garcia wrote:
Derniere question comment gerer le fait du grossisement de la base des
signatures (je crois savoir que beaucoup de vieux virus sont effaces
des bases par les editerurs non?)


Certainement pas et pour deux raisons:
1) l'anti-virus deviendrait mauvais dans les tests anti-virus.


Comment se fait-il que les forces armées envoyées en ex-Yougoslavie
(de tête) avaient choppé un vieux virus ?


2) Cela n'apporterait rien du tout en terme de rapidité.


En tant que programmeur, je peux vous dire que détecter 100 ou 10 000
virus sur un disque, ça ne prend pas le même temps.

--
Olivier Aichelbaum


Avatar
Roland Garcia

Roland Garcia wrote:

Derniere question comment gerer le fait du grossisement de la base des
signatures (je crois savoir que beaucoup de vieux virus sont effaces
des bases par les editerurs non?)


Certainement pas et pour deux raisons:
1) l'anti-virus deviendrait mauvais dans les tests anti-virus.



Comment se fait-il que les forces armées envoyées en ex-Yougoslavie
(de tête) avaient choppé un vieux virus ?


Parce que ce virus avait été justement choisi parmi ceux qui n'étaient
pas détectés, c'est ça l'inconvénient de ne pas intégrer les virus de
collection.....

2) Cela n'apporterait rien du tout en terme de rapidité.


En tant que programmeur, je peux vous dire que détecter 100 ou 10 000
virus sur un disque, ça ne prend pas le même temps.


Rien à voir avec le nombre de virus dans la base.

Roland Garcia



Avatar
Olivier Aichelbaum
Roland Garcia wrote:
Comment se fait-il que les forces armées envoyées en ex-Yougoslavie
(de tête) avaient choppé un vieux virus ?


Parce que ce virus avait été justement choisi parmi ceux qui n'étaient
pas détectés, c'est ça l'inconvénient de ne pas intégrer les virus de
collection.....


Le virus en question figurait dans une version d'avant...


2) Cela n'apporterait rien du tout en terme de rapidité.


En tant que programmeur, je peux vous dire que détecter 100 ou 10 000
virus sur un disque, ça ne prend pas le même temps.


Rien à voir avec le nombre de virus dans la base.


Je parle bien du nombre de virus dans la base.

--
Olivier Aichelbaum



Avatar
bidouille
Openantivirus est un projet pour un antivirus libre en licence GPL


bonjour ,
mais si c'est du gpl , les hakers on les sources !
donc facile je crois à contourner ?
@suivre
--


--
les seuls qui lisent les FAQs sont ceux qui savent déjà ce qu'il
y a dedans.
-+- AT in: Guide du Cabaliste Usenet - chapitre 4 -+-

Avatar
AMcD
Salut.

Cyril Vi?ville wrote:
Bonjour tout le monde,
J'aimerais savoir quelque trucs pour programmer un antivirus.
C'est a dire comment sont stockes les signatures (cryptage, base
cryptee, ...)


Hum, vu tes questions, soit c'est un projet étudiant, soit va falloir bosser
un peu mon gars :o)

Pour le stockage des signatures, tu peux par exemple utiliser les hash.
Certains utilisent le MD5. Bizarre, j'arrive pas à mettre la main sur le
nom... Tu as un exemple d'implementation de MD5 ici :

- http://www.codeguru.com/algorithms/MD5.html

Comment creer un moteur de balayage efficace?
en fait un descriptif technique de comment on fait un antivirus SVP


Cela sent de plus en plus le projet étudiant quand même...

Pour la recherche de chaînes rapide, tiens par exemple, lis tout ça :

http://ei.cs.vt.edu/~cs5604/f95/cs5604cnSS/Algs.html

Derniere question comment gerer le fait du grossisement de la base des
signatures (je crois savoir que beaucoup de vieux virus sont effaces
des bases par les editerurs non?)


Effacé, non. Quoique... Souvent c'est une signature générique qui est
utilisée. Elle peut évoluer. Et trouver/nommer différement un virus d'une
version à 'autre.

Merci pour toutes vos reponses


A+

--
AMcD

http://arnold.mcdonald.free.fr/

Avatar
Roland Garcia

Roland Garcia wrote:

Comment se fait-il que les forces armées envoyées en ex-Yougoslavie
(de tête) avaient choppé un vieux virus ?


Parce que ce virus avait été justement choisi parmi ceux qui n'étaient
pas détectés, c'est ça l'inconvénient de ne pas intégrer les virus de
collection.....



Le virus en question figurait dans une version d'avant...


texte.com Infecté Spanska.1120.a
http://www.google.fr/groups?selm—811B.2060402%40wanadoo.fr&oe=UTF-8&output=gplain

Ce virus était pourtant dans la liste de NOD32.


2) Cela n'apporterait rien du tout en terme de rapidité.


En tant que programmeur, je peux vous dire que détecter 100 ou 10 000
virus sur un disque, ça ne prend pas le même temps.


Rien à voir avec le nombre de virus dans la base.



Je parle bien du nombre de virus dans la base.


Ce qui ne change rien.

Roland Garcia




Avatar
Olivier Aichelbaum
Roland Garcia wrote:
Le virus en question figurait dans une version d'avant...


texte.com Infecté Spanska.1120.a
http://www.google.fr/groups?selm—811B.2060402%40wanadoo.fr&oe=UTF-8&output=gplain

Ce virus était pourtant dans la liste de NOD32.


Il ne faudrait pas confondre mauvaise signature et signature retirée.

Il y a des tas de vaccinations qu'on ne fait plus de nos jours pour
les enfants, parce que les virus sont considérés comme disparus.
Il n'est pas impossible qu'à un moment, certains éditeurs aient
voulu expérimenter la même chose avec des antivirus informatiques.


En tant que programmeur, je peux vous dire que détecter 100 ou 10 000
virus sur un disque, ça ne prend pas le même temps.


Rien à voir avec le nombre de virus dans la base.


Je parle bien du nombre de virus dans la base.


Ce qui ne change rien.


Eh bien, on attend votre algorithme miracle !

--
Olivier Aichelbaum




Avatar
AMcD
En tant que programmeur, je peux vous dire que détecter 100 ou 10
000
virus sur un disque, ça ne prend pas le même temps.


Rien à voir avec le nombre de virus dans la base.



Je parle bien du nombre de virus dans la base.


Ce qui ne change rien.


Il faudrait que OA consulte les archives de ce NG. Nous en avons déjà parlé
icic avec code source à l'appui avec Tweakie, Bonroy, etc. ici. En gros,
évidemment que chercher n signatures prend plus de temps que n-1. Mais pas
dans les proportions que l'on pourrait imaginer. Loin de là. Certains
algorithmes genre Boyer-Moore, Naive, etc., donnent des résultats très
impressionnants. Nous avions donné d'ailleurs des liens à ce sujet. Il
restait quand même deux problèmes. Tant qu'on a pas 10.000.000 de
signatures, c'est sûr, ça changera pas grand chose quelques milliers de
signatures en plus. N'oublions pas que le matériel gagne en vitesse tous les
18 mois :o). Par contre, il nous semblait quand même très bizarre que les AV
puissent balayer un disque dur aux vitesses où ils vont... Mais bon, c'est
promis, un jour, j'écrirai un truc là dessus. J'avais déjà commencé
d'ailleurs, faudrait que je retrouve.

A+

--
AMcD

http://arnold.mcdonald.free.fr/




1 2 3 4 5