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