Antivirus
Transcription
Antivirus
GTI619– 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 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