Eric Filiol efiliol@esat.terre.defense.gouv.fr ESAT Laboratoire de virologie et de cryptologie Rennes 7 février 2007
Plan Introduction 1 Introduction 2 La classification d Adleman Aspects fonctionnels 3 4 5 6
Introduction Le risque infectieux informatique est récent : environ 30 ans d existence. Existence d une volonté maligne : les pirates informatiques. Capacité d adaptation et d organisation. Disposent de plus en plus de moyens. La défense évolue moins vite que la menace. Faillite du monde logiciel : vulnérabilités, efficacité limitée des antivirus. Problème général d hygiène informatique.
Introduction (2) La vision de l attaquant n est jamais considérée du point de vue pro-actif. Contraintes problématiques de la loi (LCEN 2004). Difficulté de publier des résultats reproductibles. Importance de cette vision pour le défenseur. La lutte antivirale doit passer par une veille technologique permanente et pro-active.
Introduction (3) Postulat Les infections informatiques concernent tous les environnements capables d exécution! Tous les systèmes d exploitation. Les environnements mobiles (téléphones, consoles de jeux, GPS, ordinateurs embarqués...). Presque tous les formats de documents.
Plan Introduction 1 Introduction 2 La classification d Adleman Aspects fonctionnels 3 4 5 6
Plan Introduction La classification d Adleman Aspects fonctionnels 1 Introduction 2 La classification d Adleman Aspects fonctionnels 3 4 5 6
Classification d Adleman La classification d Adleman Aspects fonctionnels Infections informatiques Simples Autoreproductrices Bombes logiques Chevaux de Troie Vers Virus Une infection informatique est un programme! Absence de vocabulaire normalisé. Tendance confirmée : cumul des différents types (Ex. : Botnets).
Les infections simples La classification d Adleman Aspects fonctionnels Définition Bombe logique.- Programme résident dont la charge finale est activée en fonction d un ou plusieurs paramètres fournis par le système ou ses entrées/sorties. Effet à retardement plus ou moins grand. Définition Cheval de Troie.- Programme composé de deux parties, le module serveur et le module client. Le module serveur, installé dans l ordinateur de la victime, donne discrètement accès à tout ou partie de ses ressources à l attaquant, qui en dispose via le réseau, grâce un module client.
Les infections autoreproductrices La classification d Adleman Aspects fonctionnels Définition Virus.- Programme se propageant par recopie de son propre code dans des cibles préalablement choisies. Définition Vers.- Peut-être vu comme un virus orienté réseau. La différence éventuelle avec un virus réside dans le fait que le ver n est pas nécessairement attaché à un fichier (vers simples de type Slammer).
Les vers informatiques La classification d Adleman Aspects fonctionnels Trois classes principales. Les vers simples. Utilisation d une faille de sécurité (Slammer, Sasser...). Les macros vers. Utilisation d ingénierie sociale et d une pièce jointe bureautique infectée (Melissa). Les vers de courrier électronique. Utilisation d ingénierie sociale et d une pièce jointe exécutable infectée (Bagle, NetSky).
Les vers informatiques (2) La classification d Adleman Aspects fonctionnels Vers Propagation CodeRed 14 H (2001) Slammer 30 (2003) P-o-C 1 (2005-2007) Très grande vitesse de propagation possible. La tendance actuelle (depuis 2004) consiste à diminuer la vitesse de propagation au profit de la furtivité.
Attaque du ver Slammer (2003) La classification d Adleman Aspects fonctionnels
Les techniques anti-antivirales La classification d Adleman Aspects fonctionnels Définition Furtivité.- Capacité à leurrer toute surveillance du système en vue de faire croire à l absence d infection. Définition Mutation de code.- Capacité à automodifier tout ou partie de son propre code (chiffrement, réécriture) afin de leurrer les tentatives de détection. Définition Blindage.- Capacité plus ou moins grande du code à résister à l analyse par désassemblage/debugging.
Le cycle de vie d une infection La classification d Adleman Aspects fonctionnels Cinq phases dans la vie d une infection. Phase de conception. Phase de transmission et d infection. Phase d incubation. Phase de maladie. Phase de détection et d éradication : cette phase n est pas systématiquement réalisée!
Aspects opérationnels La classification d Adleman Aspects fonctionnels Mode de dissémination des codes malveillants : Echanges de données. Informatique mobile et embarquée. Ingénierie sociale. Vulnérabilités logicielles. Défauts ou absence de politique de sécurité.
Plan Introduction 1 Introduction 2 La classification d Adleman Aspects fonctionnels 3 4 5 6
Etat de l art Peu de résultats fondamentaux. En vingt ans : Moins de 15 articles théoriques. Moins de dix thèses. L absence de recherche sérieuse et indépendante profite directement aux attaquants. Responsabilité directe de la communauté antivirale.
Les résultats de Fred Cohen Travaux de Fred Cohen (1984-1988) Travaux de formalisation des virus. Non-décidabilité de la détection virale Notion de virus évolutifs. Etudes de propagation. Modèles de sécurité : le seul modèle de protection efficace est le modèle isolationniste.
Les autres travaux Etudes de complexité de la détection virale : Adleman (1989). Spinellis (2003). Zuo & Zhou (2004, 2005). Bonfante, Marion & Kaczmarek (2005). Filiol (2006-2007). Beaucoup de classes virales sont NP-complètes. La détection antivirale est un problème généralement très difficile.
Conséquences Corollaire Affirmer pouvoir détecter tous les virus, y compris ceux inconnus est une affirmation fausse et mensongère. Equivalence du problème de détection avec d autres problèmes connus : Cryptanalyse de systèmes de chiffrement à clef publique. Il est encore très et trop facile de contourner un antivirus, quelle que soit la technique de détection utilisée.
Plan Introduction 1 Introduction 2 La classification d Adleman Aspects fonctionnels 3 4 5 6
Principes généraux 0.2 0.18 0.16 0.14 0.12 0.1 0.08 0.06 0.04 0.02 H 0 β Seuil de décision H 1 0 10 5 0 5 10 15 20 α Tout ensemble de techniques de détection est assimilable à un test statistique (Filiol - 2007). Probabilités de fausse alarme (faux positifs) et de non détection. Ces deux risques s opposent! L éditeur est confronté doit faire un choix. La loi gouvernant l infection (H 1 ) est généralement inconnue.
Structure générale d un antivirus
L analyse de forme Le code est étudié hors contexte d exécution. Fait (Filiol 2006 ; Filiol - Jacob - Le Liard 2006) Tous les antivirus fondent encore de manière quasi-exclusive la détection sur l analyse de forme. Sur les 14 principaux antivirus analysés : Les fonctions et motifs de détection utilisés sont tous très faibles. Très grande similitude d un produit à un autre. les produits actuels sont trop faciles à leurrer et à contourner.
Schéma pour W32/Bagle.P Produit Taille signature Signature (en octets) (indices) Avast 8 12,916 12,919 12,937 12,940 AVG 14,575 533 536-538 -... Bit Defender 8,330 0-1 - 60-128 - 129-134 -... DrWeb 6,169 0-1 - 60-128 - 129-134 -... etrust/vet 1,284 0-1 - 60-128 - 129-134 -... etrust/inoculateit 1,284 0-1 - 60-128 - 129-134 -... F-Secure 2005 59 0-1 - 60-128 - 129-546 -... G-Data 54 0-1 - 60-128 - 129-546 -... KAV Pro 59 Identique à F-Secure McAfee 2006 12,1278 0-1 - 60-128 - 129-134 -... NOD 32 21,849 0-1 - 60-128 - 129-132 - 133 -... Norton 2005 6 0-1 - 60-128 - 129-134 Panda Tit. 2006 7,579 0-1 - 60-134 - 148-182 - 209... Sophos 8,436 0-1 - 60-128 - 129-134 - 148... Trend Office Scan 88 0-1 - 60-128 - 129 -...
Test du site www.virus.gr - Août 2006 Produits % KAV 99,62 F-Secure 96,86 Bit Defender 96,63 NOD32 95,14 McAfee 93 Norton 83,18 Sophos 69,48 etrust 50,36 Scan de 147 184 virus connus. Configuration optimale pour la détection. Paramétrage optimisé. Détection par heuristique activée.
L analyse comportementale Etude du code dans un contexte d exécution. Les actions potentiellement dangereuses sont recherchées. Techniques encore peu utilisées directement (Filiol - Jacob - Le Liard 2006). Utilisation de l analyse de forme pour validation. Ces techniques sont encore facilement contournables (τ-obfuscation, polymorphisme fonctionnel).
Plan Introduction 1 Introduction 2 La classification d Adleman Aspects fonctionnels 3 4 5 6
Principes généraux L attaquant va exploiter de plus en plus le fait qu un produit antivirus est avant tout un produit commercial! Antivirus et codes malveillants n ont pas les mêmes contraintes. Un code malveillant peut prendre 10 minutes pour agir. Pas un antivirus! Considération d instances difficiles ou complexes. Utilisation d instances indécidables. Nouveaux modèles viraux.
La furtivité Fait (Mike Danseglio - Microsoft - 2006) Quand vous êtes infectés par des rootkits ou des spywares très évolués, la seule solution est de repartir de zéro. Dans certains cas, il n existe aucun autre moyen pour retrouver un système stable que de tout effacer et de tout résintaller! Rootkits utilisant les techniques de virtualisation : Techniques de type SubVirt (Microsoft/Univ. Michigan 2006). Techniques de type BluePill (Attaque Vista - Rutkowska 2006). La détection doit agir depuis l extérieur du système.
Le mutation de code Les techniques de polymorphisme et de métamorphisme vont devenir beaucoup plus complexes à gérer en temps acceptable, voire impossible à appréhender. Modélisation par grammaires et langages formels. Mutation classique : le langage de mutation est facilement reconnaissable. le mot facilement est français. Mutation évoluée : le langage de mutation est difficile voire impossible à reconnaître. le mot dot est-il : anglais, français, indonésien...? Possibilités de contournement de l analyse comportementale : Ralentissement du processus de traduction. Polymorphisme ou mimétisme fonctionnel (Filiol - Jacob - Le Liard, 2006).
Le blindage de code L analyse d un code permet de déterminer les actions réalisées par un code, de comprendre son fonctionnement et éventuellement de mettre à jour les antivirus. Ce qui est possible pour un analyste humain n est pas toujours possible pour un programme. Techniques de blindage léger par τ-obfuscation (Beaucamps - Filiol 2006). Techniques de blindage total (codes Bradley, (Filiol, 2005)).
Nouveaux modèles viraux Les modèles viraux existants ne sont pas les seuls possibles. Codes k-aires (Filiol 2007) : L information virale n est plus concentrée sur un seul programme. Groupe de k codes en mode collaboratif : Mode parallèle. Mode série. Chaque partie est en soi anodine. La détection de ces codes est un problème NP-complet.
Plan Introduction 1 Introduction 2 La classification d Adleman Aspects fonctionnels 3 4 5 6
Conclusion L avenir n est sombre que dans le référentiel actuel : Un antivirus est indispensable mais son rayon d action sera de plus en plus limité. Détection versus éradication. Un antivirus contaste un problème déjà ancien. Face à certains codes, la seule solution est d éviter leur arrivée dans un système. La lutte antivirale doit relever (enfin) prioritairement de la politique de sécurité. Les codes malveillants posent un problème de société : Peut-on ouvrir de plus en plus les systèmes? Doit-on accepter l interconnexion tous azimuts? Sécurité et ergonomie sont globalement incompatibles.
Perspectives La lutte antivirale doit passer par une recherche théorique et appliquée, indépendante. Problème dual de reproductibilité des résultats. Redéfinition des responsabilité des différents acteurs : Décideurs. Editeurs. Utilisateurs (administrateurs inclus).
Merci de votre attention.
Bibliographie P. Beaucamps et E. Filiol. On the possibility of practically obfuscating programs - Towards a unified perspective of code protection. WTCV 06 Special Issue, G. Bonfante & J.-Y. Marion eds, Journal in Computer Virology, 2 (4), 2006. E. Filiol. Les virus informatiques : théorie, pratique et applications. Springer Verlag France, 2004. E. Filiol. Techniques virales avancées. Springer Verlag France, 2007. E. Filiol - G. Jacob - M. Le Liard. Evaluation Methodology and Theoretical Model for Antiviral Behavioural Detection Strategies. WTCV 06 Special Issue, G. Bonfante & J.-Y. Marion eds, Journal in Computer Virology, 2 (4), 2006. E. Filiol. Malware Pattern Scanning Schemes Secure Against Black-box Analysis. EICAR 2006 Special Issue, V. Broucek & Paul Turner eds, Journal in Computer Virology, 2 (1), 2006. E. Filiol et P. Richard. Cybercriminalité : les mafias envahissent le web. éditions Dunod, novembre 2006.