OVH Cloud OVH Cloud

AV et émulation du code: svp , explanations needed !

35 réponses
Avatar
NickJrIII
Bonjour les pros !
j'ai une questio plutôt technique pour nos boss de la programmation
antiviral:
qu'est ce que "savoir émuler le code" ?
Je suis tombé un jour sur

http://groups.google.fr/groups?hl=fr&lr=&ie=UTF-8&oe=UTF-8&threadm=3B49CA63.9A4612EE%40worldnet.fr&rnum=1&prev=/groups%3Fq%3D%25C3%25A9muler%2Ble%2Bcode%2Bnod32%26hl%3Dfr%26lr%3D%26ie%3DUTF-8%26oe%3DUTF-8%26selm%3D3B49CA63.9A4612EE%2540worldnet.fr%26rnum%3D1

et sur un contest entre Bogdanov/Daniloff (AVP/Dr.Web) sur l'art de
programmer et les erreurs de programmation de leur logiciel respectif
(fascinant,même pour le profane que je suis, étudiant en droit, c'est
dire si je m'y connais...;-) ).
Je comprend donc que certains AV ont un moteur mieux programmé,alors
doit-on en déduire que le must en matière de moteur serait Dr.Web, AVP
et NOD32 ?

Enfin, sur un tout autre sujet, j'ai cru comprendre que NOD32
bénéficie d'un des meilleurs moteurs heuristiques: reality checked ?

Merci de votre patience pour éclairer un béotien (bon j'exagère quand
même !).

Sincerement,
Nick

10 réponses

1 2 3 4
Avatar
Frederic Bonroy
LaDDL wrote:

La pierre angulaire de la programmation pour les AV c'est
Assembleur/Visual Basic.


Vous ne trouverez pas beaucoup d'antivirus écrits en Visual Basic,
je crains... :-)

Ce choix offre plusieurs méthodes de programmation importantes :
coroutines, des techniques de construction de compilateur et les
algorithmes, des techniques de génération de programme, décompilation,
désossage et d'autres méthodes de compréhension binaire de programme.


C'est ça qui est chouette avec les virus: afin de pouvoir les détecter
tous il faut des programmes polyvalents et ça permet d'explorer et de
réunir un tas de disciplines informatiques. Effectivement, on y trouve
de la construction de compilateurs (importante pour l'analyse des
scripts), de l'émulation (qui est une discipline qui sert dans beaucoup
d'autres domaines que les virus), de l'intelligence artificielle,
des algorithmes de recherche, des mathématiques (analyses statistiques
et éventuellement décryptage générique), la cryptographie plus ou moins,
la compression, de l'optimisation de code de bas niveau, il faut se
familiariser avec le fonctionnement du matériel, et bien sûr il y a
la programmation qui est la base de tout.

Avatar
LaDDL
Noshi wrote:
Visual Basic ??? Tu es sur de ce que tu avances la ???
Moi a vue de nez je miserais plutot sur le C++
Pardon je n'ai pas été clair. ;)

Je voulais dire qu'il y a d'abord la programmation dans le grand et dans
le petit. En d'autres termes, le développeur utilise d'abord
l'assembleur puis un langage de script (VB, Javascript ss Windows).

Avatar
Roland Garcia

C'est ça qui est chouette avec les virus: afin de pouvoir les détecter
tous il faut des programmes polyvalents et ça permet d'explorer et de
réunir un tas de disciplines informatiques. Effectivement, on y trouve
de la construction de compilateurs (importante pour l'analyse des
scripts), de l'émulation (qui est une discipline qui sert dans beaucoup
d'autres domaines que les virus), de l'intelligence artificielle,
des algorithmes de recherche, des mathématiques (analyses statistiques
et éventuellement décryptage générique), la cryptographie plus ou moins,
la compression, de l'optimisation de code de bas niveau, il faut se
familiariser avec le fonctionnement du matériel, et bien sûr il y a
la programmation qui est la base de tout.


En plus court, de la cuisine....

Roland Garcia

Avatar
NickJrIII
LaDDL wrote in message news:<3f2c44d9$0$6716$...

Oui c'est vrai, domaine passionnant ;)
Merci en tt cas à Nick pour nous avoir permis d'ouvrir un débat riche et
animé ce soir. ;)


Quel honneur ! :-D
ça me fait plaisir !! ;-)

mais vous(tu?) dites(dis) que certains AV s'en sortent mieux, lesquels
précisemment ? ;-)

Avatar
NickJrIII
LaDDL wrote in message news:<3f2c44d9$0$6716$...
Frederic Bonroy wrote:
[Vous ne trouverez pas beaucoup d'antivirus écrits en Visual Basic,
je crains... :-) ...
se de tout.
Oui c'est vrai, domaine passionnant ;) ]




Je tiens à vous remercier tous pour vos réponses (LaDLL,Roland Garcia,
Frederic Bonroy,Joke0, AmcD, Noshi...).
Quand on évoque la détection des virus polymorphes, je crois
comprendre qu'elle est liée à l'émulation (j'espère ne pas raconter de
bétises :-( ),
pouvez-vous alors me dire, s'il vous plait, quels moteurs sortent du
lot ?

PS-HS: j'utilise le google groups et je dois attendre au moins 3/6
pour être posté...n'y a t-il pas un lecteur de news qui soit en
"direct" ?
Merci.

Sincerement,
Nick


Avatar
LaDDL
Nick Jr III wrote:
mais vous(tu?) dites(dis) que certains AV s'en sortent mieux, lesquels
précisemment ? ;-)
Je ne te citerai que ceux que je connais très bien et que j'ai vraiment

"retourné". lol
Dans l'ordre alphabétique ce sera mieux : ;)
Dr Web (Dialogue Science) ; F Prot (Frisk) ; F Secure ; Kav (Kaspersky)
; NAI (McAfee) ; NOD32 (ESET) ; Sophos.

Mes préférés :
DrWeb ; Kav ; NOD32.

Et pour ceux qui connaissent :
File::Scan

Avatar
LaDDL
Nick Jr III wrote:
PS-HS: j'utilise le google groups et je dois attendre au moins 3/6
pour être posté...n'y a t-il pas un lecteur de news qui soit en
"direct" ?
Pour ma part j'utilise Noworyta News Reader 2.9.

Il y en a d'autres ;)

Avatar
Frederic Bonroy
Nick Jr III wrote:

Quand on évoque la détection des virus polymorphes, je crois
comprendre qu'elle est liée à l'émulation (j'espère ne pas raconter de
bétises :-( ),


Oui.

pouvez-vous alors me dire, s'il vous plait, quels moteurs sortent du
lot ?


Aucun antivirus moderne n'a de problès majeurs, mais il y en a certains
qui sont mieux que d'autres.

Les meilleurs sont toujours les mêmes: AVK, Dr. Web, F-Secure, KAV
et McAfee.

PS-HS: j'utilise le google groups et je dois attendre au moins 3/6
pour être posté...n'y a t-il pas un lecteur de news qui soit en
"direct" ?


Tenez, essayez ça plus un lecteur de forums:
http://news.individual.net

Avatar
LaDDL
Noshi wrote:
Ben deja tu parlais de la programmation des antivirus...
Oui je confirme je parle bien du développement d'AV ;)


Je voulais dire qu'il y a d'abord la programmation dans le grand et dans
le petit. En d'autres termes, le développeur utilise d'abord
l'assembleur puis un langage de script (VB, Javascript ss Windows).


Le dévellopeur va utiliser le language adapté a ce qu'il veut faire.
Oui là-dessus on est d'accord ;)


Il ne va pas se taper l'assembleur pour faire une interface graphique.
Moi non mais j'en connais ! De vrais fondus.


Ni utiliser VB pour faire du multithread. Et je connais pas mal de
dévellopeur qui n'utilisent jamais l'assembleur...
C'est clair que pour être développeur on va pas te demander en premier

si tu maîtrises l'assembleur ;) IHMO c'est regrettable d'ailleurs !
L'industrie des AV utilise bien entendu tous les types de langage y
compris ceux (malheureusement) orientés Microsoft. Mais IHMO le choix de
l'assembleur au moment de la conception d'un AV sera payant à l'arrivée.


Avatar
LaDDL
AMcD wrote:

Moi non mais j'en connais ! De vrais fondus.
Ou des pas malins.

C'est ce que je viens de dire ;)


L'ASM est à réserver à des cas très spécifiques,
notamment lorsque tu recherche des optimisation de taille ou que certaines
optimisations ne sont pas possibles autrement.
Oui


Les compilateurs font du très
bon boulot de nos jours, inutile de passer 15 heures sur une IHM en ASM si
tu peux faire la même en 3 minutes avec un langage de haut niveau.
Ca tombe ss le sens ;)


Si tu n'y gagnes rien, c'est stupide,
Idem


car la programmation ASM est beaucoup plus lourde à gérer.
C'est vrai. Mais pour des questions mémo-techniques je retiens plus

facilement les lettres que les chiffres.

Et j'ai plus de 20 ans d'ASM derrière moi...
12 ;)


[...]
Parce que tout simplemnt cette compétence ne sert à rien dans 99.9 % des
applications qui sont codées aujourd'hui.
Pour celles existantes oui !

Mais qd il s'agit de développer un nouveau programme.
Notamment pr revenir à la question posée, le choix de l'assembleur IHMO
est la solution.

L'industrie des AV utilise bien entendu tous les types de langage y
compris ceux (malheureusement) orientés Microsoft.


Pourquoi malheureusement ? Tu as quoi contre le C# ou le Visual C++ ?
Rien de grave docteur. ;)


Mais IHMO le choix
de l'assembleur au moment de la conception d'un AV sera payant à
l'arrivée.


Non.
Ah bon ? Cela a été pourtant le choix d'ESET pour son AV et le résultat

est impressionnant. Vitesse d'exécution, faible consommation des
ressources, par exemple.

Ne confonds pas étude de virus, écriture de virus et lutte anti-virus.
Cela n'a rien à voir.
Je distingue bien les champs d'application merci ;)



Pour simplifier à l'extrême, l'écriture de virus c'est
du hack système, la lutte c'est des mathématiques. Pas grand chose en
commun...
Raccourci simpliste mais amusant ;)

IHMO la démarche intellectuelle n'est pas la même.


1 2 3 4