<  Retour au portail Polytechnique Montréal

Détection, protection, évolution et test de défaillances à l'aide d'un modèle inter-procédural simple

Dominic Letarte

Thèse de doctorat (2011)

Document en libre accès dans PolyPublie
[img]
Affichage préliminaire
Libre accès au plein texte de ce document
Conditions d'utilisation: Tous droits réservés
Télécharger (1MB)
Afficher le résumé
Cacher le résumé

Résumé

Il est utile de disposer d'outils pour aider à effectuer des opérations de maintenances dans les logiciels. Plusieurs types d'outils sont disponibles à cet effet, pour cette étude nous nous concentrerons sur quatre types d'outils soit, les outils de détection, d'évolution, de correction et de tests. Cette thèse étudie ces quatre types d'outils en fonction de la maintenance à effectuer en rapport avec les défaillances de type SQL-injection dans une application Web écrite en PHP. Les approches que nous proposons emploient l'analyse statique, l'analyse dynamique, la réingénierie du code source et un algorithme génétique pour réaliser ces tâches de maintenance. Un modèle inter-procédural du code source en PHP est construit et est utilisé pour détecter et faire le suivi de l'évolution des vulnérabilités identifiées. Un modèle de requêtes SQL légitimes est construit par analyse statique et dynamique afin de protéger automatiquement les applications Web écrite en PHP. Une approche pour la génération automatique de tests basée sur un algorithme génétique est aussi présentée. Ces approches ont été validées en les appliquant sur plusieurs version d'une application connue pour contenir des vulnérabilités SQL-injections soit : le logiciel phpBB qui est une application gérant un babillard électronique qui utilise la base de données MySql pour stocker l'information d'une manière persistante. Une expérimentation a été réalisée avec la version 2.0.0 de phpBB et a permis de détecter automatiquement des vulnérabilités en utilisant une analyse statique de flux inter-procédurale. Ces résultats ont été reproduits en utilisant le modèle checking ce qui vient confirmer et renforcer l'approche. Aussi, 31 versions de phpBB ont été utilisées pour suivre l'évolution des vulnérabilités identifiées. Un algorithme génétique est utilisé pour générer des cas de tests qui visent un cas particulier dans l'application. Cette expérimentation a été effectuée sur l'optimiseur de requêtes de la base de données DB2. Les résultats montrent que l'algorithme génétique permet de générer des cas de tests plus rapidement qu'un générateur aléatoire.

Abstract

Automated tools can be helpful for doing maintenance tasks on computer software. Many kinds of tools are available for doing so; in this study we concentrate on four kinds of tools that are: detection tools, evolution tools, corrective tools and testing tools. In this thesis we study those four kinds of tools in the perspective of doing maintenance related to SQL-injections vulnerabilities in applications written in PHP. We propose to use static analysis, dynamic analysis, source code reengineering and a genetic algorithm for doing theses tasks. An interprocedural model of the PHP source code is built for detecting SQL-injections vulnerabilities. A model of legitimate SQL queries is built by using static analysis and dynamic analysis; this model is used in an automated source code reengineering that implement an automated protection against SQL-injections vulnerabilities. An approach to automatically generate targeted testing cases by using a genetic algorithm is also presented. A case study using theses approaches have been done. We have used phpBB that is a software known for the abundance of SQL-injection vulnerabilities. An experimentation using the approach of inter-procedural static analysis has detected vulnerabilities in phpBB v2.0.0. These results have been reproduced using model checking instead of static analysis in the objective of gaining more confidence in both static analysis and model checking approaches. Also, 31 versions of phpBB have been used for studying the evolution of SQL-injections vulnerabilities. Finally, a genetic algorithm is used to automatically generate targeted testing cases. This last experimentation has been done on the DB2 database SQL query optimizer, results show that the genetic algorithm is faster then a random generator to generate targeted testing cases.

Département: Département de génie informatique et génie logiciel
Programme: Génie informatique
Directeurs ou directrices: Ettore Merlo
URL de PolyPublie: https://publications.polymtl.ca/717/
Université/École: École Polytechnique de Montréal
Date du dépôt: 17 févr. 2012 15:17
Dernière modification: 08 nov. 2022 10:19
Citer en APA 7: Letarte, D. (2011). Détection, protection, évolution et test de défaillances à l'aide d'un modèle inter-procédural simple [Thèse de doctorat, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/717/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document Afficher document