Anti-malwares

Transcription

Anti-malwares
MGR850– Aut 2014
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 10 logiciels antivirus pour 2015
Source : http://www.pcantivirusreviews.com/Comparison/
3
4
Anti-Malware
•
Top 10 logiciels de sécurité Internet pour 2015
Source :
http://www.pcantivirusreviews.com/Comparison/InternetSecurity-Software/
5
6
Anti-Malware
•
Top antivirus gratuits pour 2014?
1.
2.
3.
4.
5.
•
Comodo Antivirus – Comodo Internet Security
Panda Cloud Antivirus
Avast! Free Antivirus
AVG Anti-Virus
360 Total Security
Comment les comparer?
Source: http://www.techsupportalert.com/best-free-anti-virus-software.htm
7
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
8
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%
9
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"
10
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!
11
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
12
Anti-Malware
C’est quoi une signature?
Et pourtant, les 2 codes suivants sont jugés différents selon Fuzzy
Hashing!
13
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
14
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
15
Anti-Malware
Pattern matching : Aho-Corasick
Les mots recherchés: {he, his, hers, she}
16
Anti-Malware
Pattern matching : Aho-Corasick
Avec Failure Links
17
Anti-Malware
Pattern matching : Aho-Corasick
18
Anti-Malware
Pattern matching : Aho-Corasick
Text
State
0
u
s
h
e
r
s
0
3
4
5
8
9
2
output
She
He
hers
19
Références
• Contenu adapté de : http://hooked-onmnemonics.blogspot.com/2011/01/intro-tocreating-anti-virus-signatures.html
20