METHODES DE DETECTION DE MALWARE
Définitions:
*Malware:
Le terme "malware" en français désigne un logiciel (<= software) mal vaillant (<= malware), qui à pour but de nuire à un système numérique.
Un "malware" désigne tout type de virus, vers, trojans...
Voilà une définition en image:
*Anti-Virus:
Un anti-virus, au contraire d'un logiciel malveillant, aura pour but de détecter et d'éradiquer le malware.
Il va pour cela, analyser la [i]mémoire vive, les périphériques de stockage (USB, Disque dur...) et analyser les fichiers entrants (téléchargé sur internet, par exemple) périodiquement.[/i]
I. Avant-propos
Dans la lutte des logiciels malveillants, il a fallu inventer des méthodes permettant de détecter et supprimer dans sa totalité un malware sans l'interaction humaine, qui ne peut en aucun cas, détecter tout seul un virus bien dissimulé. Pour cela, les développeurs ont inventé ce que l'on appelle aujourd'hui les "anti-virus", tout le monde le connait, c'est notre meilleur amis, quand on achète un PC, l'une des premières
choses que l'on va faire, c'est télécharger notre antivirus (gratuit, ou payant, la différence est minime). Mais savez-vous comment celui-ci fonctionne ? c'est ce que nous allons voir à travers ce tutoriel qui va-vous
présenter les 4 méthodes les plus utilisées dans la détection de malware...
II. Sommaire :
Un anti-virus, au contraire d'un logiciel malveillant, aura pour but de détecter et d'éradiquer le malware.
Il va pour cela, analyser la [i]mémoire vive, les périphériques de stockage (USB, Disque dur...) et analyser les fichiers entrants (téléchargé sur internet, par exemple) périodiquement.[/i]
I. Avant-propos
Dans la lutte des logiciels malveillants, il a fallu inventer des méthodes permettant de détecter et supprimer dans sa totalité un malware sans l'interaction humaine, qui ne peut en aucun cas, détecter tout seul un virus bien dissimulé. Pour cela, les développeurs ont inventé ce que l'on appelle aujourd'hui les "anti-virus", tout le monde le connait, c'est notre meilleur amis, quand on achète un PC, l'une des premières
choses que l'on va faire, c'est télécharger notre antivirus (gratuit, ou payant, la différence est minime). Mais savez-vous comment celui-ci fonctionne ? c'est ce que nous allons voir à travers ce tutoriel qui va-vous
présenter les 4 méthodes les plus utilisées dans la détection de malware...
II. Sommaire :
1. Méthode De détection par signature
[a) Détection (& suppression)
b) Contournement]
2. Méthode D'analyse de spectre
[a) Détection (& suppression)
b) Contournement]
3. Méthode D'analyse comportementale
[a) Détection (& suppression)
b) Contournement]
4. Méthode Heuristique
[a) Détection (& suppression)
b) Contournement]
5. Liens
[a) Détection (& suppression)
b) Contournement]
2. Méthode D'analyse de spectre
[a) Détection (& suppression)
b) Contournement]
3. Méthode D'analyse comportementale
[a) Détection (& suppression)
b) Contournement]
4. Méthode Heuristique
[a) Détection (& suppression)
b) Contournement]
5. Liens
1. Méthode De détection par signature
a) Détéction (& suppression)
Cette méthode de détection appelée aussi Scanning" est la plus rependue chez les éditeurs d'anti-virus, simplement, car elle est très simple à programmer. Cette technique est aussi la première effectuée par l'antivirus,
car celle-ci permet de détecter le malware avant son exécution en mémoire.
L'anti-virus va "scanner" le fichier et essayer de trouver un bout de code qu'on appellera "signature", cette signature est enregistrée dans la base de données de l'antivirus (et elle est unique, chaque
logiciel dispose de sa propre signature, logique..) Et est mise régulièrement mise à jour.
Le seul bémol (enfin... on vera ça après

b) Contournement
Les développeurs de malware ont maintenant (enfin depuis longtemps) de nouvelles techniques pour "contourner" les antivirus, pour la méthode de détection par signature, il suffira que le malware soit dit "polymorphe" (<= prendre plusieurs formes)
Le mécanisme est très simple, le logiciel malveillant dispose d'une routine de chiffrement de sa signature et de déchiffrement et ces virus vont changer de signature à chaque réplication de celui-ci, ce qui le rend
Indétéctable à 99% pour la méthode de détection par signature.
2. Méthode D'analyse de spectre
a) Détection (& suppression)
La méthode d'analyse par signature étant vulnérable à des malware polymorphiques, les laboratoires d'anti-virus ont élaborés une technique permettant de détécter le polymorphisme, cette méthode s'appelle, comme vous l'avez
deviné, "l'analyse spectrale".
L'antivirus va en fait analyser les instructions dans le fichier suspect et, selon la présence ou l'absence d'instructions très particulières, jamais usitées normalement,
ou selon la fréquence (la distribution) de telles instructions, ils décident de signaler en parasite ou non un fichier. Cela vient du principe que tout programme compilé est censé contenir une trace du compileur dans le code
du programme (ex de compileur Microsoft Visual C++). et comme (en théorie) un code polymorphique est censé chiffrer la signature, il chiffre aussi par la même occasion la trace de la signature du compileur. L'av étant en présence de sécances innhabituelles,
il va détécter le programme comme "malveillant".
Exemple de signature de compilateur (Microsoft Visual C++ 5.0):
Code :
PUSH EBP
MOV EBP,ESP
PUSH -1
PUSH XXXXXXX.00000000
PUSH XXXXXXX.00000000
MOV EAX,DWORD PTR FS:[0]
PUSH EAX
MOV DWORD PTR FS:[0],ESP
ADD ESP,-58
PUSH EBX
PUSH ESI
PUSH EDI
MOV DWORD PTR SS:[EBP-18],ESP
b) Contournement
C'est maintenant la "gue-guerre" entre anti-virus et logiciels malveillants, les chercheurs ont simplement contourné cette méthode en introduisant dans le programme, une suite d'instructions inutiles que son moteur ne pourrait pas générer, pour pouvoir tromper l'analyse spectrale.
3. Méthode D'analyse comportementale (ou moniteurs de comportement)
a) Détection (& suppression)
Une des actions que l'anti-virus effectue h24, est l'analyse comportementale, cette technique, comme je l'ai dit, tourne toujours, elle est toujours active.
C'est une des méthodes les plus efficaces car elle permet la détection de malware sans qu'il soit "connue" dans la base donnée.
Son fonctionnement est celui-ci :
-Il scrute toutes tentatives d'écriture dans un programme &/ou modification d'un fichier système (ou autre action malveillante) qui va trahir un virus et donc, prévenir l'utilisateur du système.
Il existe aussi un moniteur "hardware" qui est comme son nom l'indique, incorporé au matériel, c'est le top du top niveau sécurité, car il interdit tout accès à des fichiers sensibles du système.
b) Contournement
Rien trouvé à ce sujet.
4. Méthode Heuristique (algorithme heuristique)
a) Détection (& suppression)
La méthode heuristique est de loin la meilleure méthode pour détecter un malware (car elle permet de détecter les virus polymorphiques), elle se base sur l'analyse du code machine, à la recherche de code pouvant être dangereux à son exécution &/ suspect. (appelé code virale)
MAIS attention, la méthode heuristique est dite "passive" (comme la méthode de détection par signature) car elle n'exécute pas le code et ne fait que l'analyser, pour cela, les av utilisant cette technique, sont munis d'un désassembleur.
Par exemple, un virus polymorphique/autocrypté peut être détecté par une technique d'analyse heuristique, l'anti-virus va parcourir le code juste à la routine de déchiffremment, et à ce momment il déclarera le fichier comme malicieux,
car la routine de déchiffremment va parcourir le code pour le modifié. (<= et c'est donc une instruction virale)
Il ne déclarera pas bien sûr, un fichier comme malveillant en voyant la première instruction suspecte, il lui faudra un certain nombre d'informations pour sonner l'alerte.
Son efficacité est telle, que cette technique à permis de trouver 40 à 60 % d'un nombre assez important de virus avec une signature "inconnue", bien sûr, cette technique peut être fusionnée avec
d'autres (comme toutes d'ailleurs) pour avoir la meilleure protection possible. Mais cette technique est loin d'être parfaite vu qu'elle est basée sur "l'incertitude" seul, l'humain pourra vérifier si le programme est
dangereux ou pas.
Le meilleur facteur d'analyse reste l'humain, qui une fois cerveau assemblé n'est pas bypassable fusionné à cette technique

b) Contournement
On peut imaginer une sorte "d'anti-désassemblage" (supposition) pour contourner l'analyse.
5. Liens
Car je n'ai pas la science infuse:
- http://vxheavens.com/lib/ama00.html
- http://antivirus-inf.blogspot.fr
- http://hal.archives-ouvertes.fr/docs/00/...ello-1.pdf
- http://hal.archives-ouvertes.fr/docs/00/...ello-1.pdf
Regards,
J0rD/Loup.
0 件のコメント:
コメントを投稿
Commentz for fun and chocapicz