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)

Accéder à ce document
Disponible
Libre accès au texte intégral dans PolyPublie
Texte Texte • 1MB •

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.

Programme:
Génie informatique
Directeurs ou directrices:
Adresse URL de PolyPublie:
Université/École:
École Polytechnique de Montréal
OAI:
oai:publications.polymtl.ca:717
ORCID
Date du dépôt:
17 févr. 2012 15:17
Dernière modification:
14 oct. 2026 10:36
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