Anti-malware

Transcription

Anti-malware
MGR850 – Hiver 2013
Anti-malware
Chamseddine Talhi
École de technologie supérieure (ÉTS)
Dép. Génie logiciel et des TI
1
Plan
•
•
•
•
•
Introduction
Top anti-virus
Critères de comparaison
C’est quoi une signature?
Algorithmes de pattern matching
2
Anti-Malware
•
Top 5 best paid antivirus for Internet security
(technoend)
1.
2.
3.
4.
5.
G-Data Internet Security 2012
Symantec Norton Internet Security 2012
BitDefender Internet Security 2012
Kaspersky Internet Security 2012
Trend Micro Titanium Internet Security 2012
Source: http://www.technoend.com/list-of-top-5-best-paid-antivirus-for-internetsecurity/?utm_source=rss&utm_medium=rss&utm_campaign=list-of-top-5-bestpaid-antivirus-for-internet-security
3
Anti-Malware
•
Top 3 most popular free antivirus software in 2012
(technoend)
1. AVG Antivirus Free Edition 2012
2. Avast Free Antivirus
3. Avast Free Antivirus
Source: http://www.technoend.com/top-3-most-popular-free-antivirus-software-in-2012/
4
Anti-Malware
• Critères de comparaison
•
•
•
•
Vitesse de scan MB par seconde
Mémoire utilisée pendant le scan
% CPU utilisée pendant le scan
% Mémoire utilisée durant la protection
temps réel
5
Anti-Malware
Scan Speed in MB per
Second
Memory Used During Scan
Faronics AV
Kaspersky
Faronics AV
Norton AV
Panda
BitDefender
BitDefender
Panda
ESET Node 32
ESET Node 32
Norton AV
Webroot
PC Tools
Trend Micro
Webroot
McAfee
McAfee
PC Tools
Trend Micro
Kaspersky
0
2
4
6
8
0
10
150
200
250
Faronics AV
ESET Node 32
Kaspersky
BitDefender
Panda
McAfee
Webroot
Norton AV
Trend Micro
PC Tools
Faronics AV
Norton AV
McAfee
BitDefender
Webroot
Kaspersky
Panda
ESET Node…
PC Tools
0%
100
20%
40%
60%
80%
300
Percent Memory Used with
Realtime Protection
CPU % Used During Scan
Trend Micro
50
100%
6
0%
2%
4%
6%
8%
Anti-Malware
C’est quoi une signature?
• 1er cas: Une empreinte générée par une fonction de
hachage
• Les plus utilisées: MD5 et SHA-1.
• On hache l’exécutable?
– Mais si un seul octet change, l’empreinte n’est plus utile!
– Exemple
• md5 (" Bonjour tout le monde") =
"D2 6D DD CF 80 D7 24 B0 31 E5 8A 7C FE C0 CD 27"
• md5 (« Bonjour tout le monde!“) =
"6F 7B 6C 05 06 1D A3 76 3F E6 BA 96 01 2F A1 5B"
7
Anti-Malware
C’est quoi une signature?
• Parfois la partie code de l’exécutable ne change pas, mais
seule les données utilisées changent
=> empreinte du code seulement!
• Exemple:
– Exécutable d’un Remote Access Trojan kit:
• Données différentes: 192.168.0.1 ou 192.160.2
• Le même code exécutable!
8
Anti-Malware
C’est quoi une signature?
• Un malware peut être polymorphe!
• Fuzzy hashing peut être utilisé pour identifier les fichiers
qui ont des parties communes.
• Outil : ssdeep
• Les deux empreintes suivantes sont matchées facilement:
– hJyMBCI1Ex85hKuwoK/ZiBqv5ICmOKk7iw:hJlC38wBY0
– BJyMBCI1Ex85hKuwoK/ZiBqv5ICmOKk7iw:BJlC38wBY0
9
Anti-Malware
C’est quoi une signature?
Et pourtant, les 2 codes suivants sont jugés différents selon Fuzzy
Hashing!
10
Anti-Malware
C’est quoi une signature?
• 2eme cas: Une suite de bytes.
• Exemple:
– 66 90 FF 16 83 EE 04 83 EB 01 75 F6
• Une condition d’alerte sur la détection de la signature:
–
–
–
–
Une seule occurrence
Au moins n occurrences
Occurrence dans une section en particulier
…
• Comment trouver des bloques de bytes?
–
-
Binary Diffing: comparaison de plusieurs variétés d’un même malware.
Pg1:
81 FB 8C 31 40 00 0F 83 3A FF FF FF BE 00 00 40 00 8D 7D E0
Pg2:
81 FB 94 31 40 00 0F 83 3A FF FF FF BE 00 00 40 00 8D 7D E0
Pg3: …
Signature : 81 FB ?? ?? ?? ?? 0F 83 3A FF FF FF BE 00 00 40 00 8D 7D E0
11
Anti-Malware
Pattern matching?
• Problème d’appariement exact d’ensemble
• Chercher à localiser plusieurs motifs donnés dans un large
texte.
• L’algorithme d’Aho-Corasick (AC)
– Alfred V. Aho et Margaret J. Corasick (Bell Labs) Juin 1975.
– Idée: parcourir le texte une seule fois, la recherche de tous les motifs dans
le dictionnaire à la fois
– ÉTAPE 1: Construire un K-CLÉ ARBRE des éléments de dictionnaire
– ÉTAPE 2: Créer des liens (LINK FAILURE) au sein de l’arbre
• LINK FAILURE: un lien à partir du plus long suffixe du motif actuel, qui existe
également comme préfixe dans l'arbre de clé, vers ce préfixe dans l'arbre
– ETAPE 3: Utilisation de l'algorithme AC, pour rechercher le texte T en
utilisant l’arbre de mot-clé pré-construit a partir du dictionnaire
• En ligne: http://blog.ivank.net/aho-corasick-algorithm-in-as3.html
12
Anti-Malware
Pattern matching : Aho-Corasick
13
Anti-Malware
Pattern matching : Aho-Corasick
Avec Failure Links
14
Anti-Malware
Pattern matching : Aho-Corasick
15
Anti-Malware
Pattern matching : Aho-Corasick
Text
State
0
u
s
h
e
r
s
0
3
4
5
8
9
2
output
she
hers
16
Références
• Contenu adapté de : http://hooked-onmnemonics.blogspot.com/2011/01/intro-tocreating-anti-virus-signatures.html
17