Mémoire de maîtrise (2019)
Résumé
Les applications Web mettent en place des politiques de contrôle d'accès pour protéger leurs utilisateurs en restreignant les accès aux actions et aux données. Lors de l'évolution de l'application, en introduisant des nouvelles fonctionnalités ou en corrigeant des erreurs, les développeurs peuvent accidentellement briser la politique de contrôle d'accès et injecter des vulnérabilités dans l'application. L'une des techniques applicables pour prévenir et réparer l'injection de ces vulnérabilités est l'utilisation d'analyses statiques afin d'étudier les propriétés du programme, et de comparer les propriétés de deux versions successives. Si les propriétés sont différentes, il est possible qu'une vulnérabilité ait été injectée. Pour aborder ce problème, nous extrayons donc les propriétés de protection des instructions d'un programme par Analyse de Flux de Traversement de Motif (PTFA), et nous considérons les différences de protection entre deux versions d'un projet comme un ensemble de vulnérabilités à corriger. Après avoir revu l'antériorité de l'étude du problème de réparation automatique de logiciel, nous étudions les cas de différence de protection afin de proposer deux modèles de réparation de ces différences, en recherchant des patchs dans deux espaces différents. Le premier consiste à réverser les changements faits entre les deux versions que l'on soupçonne comme responsables des différences de protection. Cette solution s'appuie sur l'étude des Changements Impactant la Protection (PIC), et est précédée d'une étude des limites de ceux-ci. Nous définissons un cadre pour ce modèle et nous démontrons formellement qu'il permet de générer un patch corrigeant les vulnérabilités ciblées. Nous le mettons ensuite en application afin de mesurer ses performances sur trois jeux de données, comportant au total 148 paires de versions issues de deux applications php différentes, WordPress et MediaWiki, et à deux niveaux de granularité de versionnage différents. Le deuxième consiste à insérer des motifs de sécurité aux emplacements adéquats du programme. Nous définissons un cadre pour ce modèle et nous montrons formellement qu'il permet de générer un patch corrigeant les vulnérabilités ciblées.
Statistiques
Total des téléchargements à partir de PolyPublie
Téléchargements par année
Provenance des téléchargements
