Analyse et détection dynamique de code viraux dans un contexte cryptographique (et application à l'évaluation de logiciel antivirus)

par Sébastien Josse

Thèse de doctorat en Informatique et mathématiques appliquées

Sous la direction de Éric Filiol.

Soutenue en 2009

à Palaiseau, Ecole polytechnique .


  • Résumé

    Cette thèse est consacrée à la problématique de l’évaluation des produits antivirus. L’utilisateur final d’un produit antivirus ne sait pas toujours quelle confiance il peut placer dans son produit antivirus pour parer convenablement la menace virale. Pour répondre à cette question, il est nécessaire de formuler la problématique de sécurité à laquelle doit répondre un tel produit et de disposer d’outils et de critères méthodologiques, techniques et théoriques permettant d’évaluer la robustesse des fonctions de sécurité et la pertinence des choix de conception au regard d’une menace virale identifiée. Je concentre mon analyse de la menace virale sur quelques mécanismes (mécanismes cryptographiques, transformations de programme) adaptés au contexte boîte blanche, i. E. Permettant à un virus de protéger ses données critiques en confidentialité et de masquer son fonctionnement dans un environnement complètement maîtrisé par l’attaquant. Une première étape incontournable avant toute organisation d’une ligne de défense consiste à analyser les virus, afin d’en comprendre le fonctionnement et les effets sur le système. Les méthodes et techniques de la rétro-ingénierie logicielle occupent ici - au côté des techniques de cryptanalyse - une place centrale. J’ai pris le parti de focaliser sur les méthodes dynamiques d’extraction d’information fondées sur une émulation du matériel supportant le système d’exploitation. L’évaluation d’un moteur de détection selon des critères objectifs requiert un effort de modélisation. J’étudie quelques modèles utilisés actuellement (grammaires formelles, interprétation abstraite, statistique). Chacun de ces modèles permet de formaliser certains aspects du problème de la détection virale. Je m’attache à l’étude des critères qu’il est possible de définir dans chacun de ces cadres formels et à leur utilisation pour partie des travaux d’évaluation d’un moteur de détection. Mes travaux m’ont conduit à la mise en oeuvre d’une approche méthodologique et d’une plate-forme de tests pour l’analyse de robustesse des fonctions et mécanismes d’un produit anti-virus. J’ai développé un outil d’analyse de code viral, appelé VxStripper, dont les fonctionnalités sont utiles à la réalisation de plusieurs des tests. Les outils formels sont utilisés pour qualifier en boîte blanche - ou sur la base des documents de conception détaillée - la conformité et l’efficacité d’un moteur de détection.

  • Titre traduit

    Viral codes dynamic analysis and detection in a cryptographic context (and application to anti-virus software evaluation)


  • Résumé

    This thesis is devoted to the problem of anti-virus software evaluation. The end user of an anti-virus software package does not always know what confidence he can place in his product to counter effectively the viral threat. In order to answer this question, it is necessary to formulate the security issue which such a product must respond to and to have tools and methodological, technical and theoretical criteria for assessing the robustness of security functions and the relevance of design choices against an identified viral threat. I concentrate my analysis of the viral threat on a few mechanisms suited to the white box context, i. E. Allowing a virus to protect the confidentiality of its critical data and to mask its operations in an environment completely controlled by the attacker. A first mandatory step before any organization of a line of defense is to analyze viruses, in order to understand their operation and impact on the system. Software reverse-engineering methods and techniques occupy a central place here (alongside cryptanalysis methods). I basically focus on the dynamic methods of information extraction based on an emulation of the hardware supporting the operating system. The evaluation of a detection engine based on objective criteria requires an effort of modeling. I study a few models (formal grammars, abstract interpretation, statistics). Each of these models makes it possible to formalize some aspects of the viral detection problem. I make every effort to study the criteria it is possible to define in each of these formal frameworks and their use for part of the evaluation tasks of a detection engine. My work led me to implement a methodological approach and a testing platform for the robustness analysis of the functions and mechanisms of an anti-virus. I developed a tool to analyze viral code, called VxStripper, whose features are useful to several tests. The formal tools are used to qualify (on the basis of the detailed design information) compliance and effectiveness of a detection engine.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. ( 298 p.)
  • Annexes : Bibliographie

Où se trouve cette thèse ?

  • Bibliothèque : École polytechnique. Bibliothèque Centrale.
  • Disponible pour le PEB
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.