Detection of web vulnerabilities via model inference assisted evolutionary fuzzing - TEL - Thèses en ligne
Thèse Année : 2014

Detection of web vulnerabilities via model inference assisted evolutionary fuzzing

Détection de vulnérabilités Web par frelatage (fuzzing) évolutionniste et inférence de modèle

Fabien Duchene
  • Fonction : Auteur
  • PersonId : 769095
  • IdRef : 179830104

Résumé

Testing is a viable approach for detecting implementation bugs which have a security impact, a.k.a. vulnerabilities. When the source code is not available, it is necessary to use black-box testing techniques. We address the problem of automatically detecting a certain class of vulnerabilities (Cross Site Scripting a.k.a. XSS) in web applications in a black-box test context. We propose an approach for inferring models of web applications and fuzzing from such models and an attack grammar. We infer control plus taint flow automata, from which we produce slices, which narrow the fuzzing search space. Genetic algorithms are then used to schedule the malicious inputs which are sent to the application. We incorporate a test verdict by performing a double taint inference on the browser parse tree and combining this with taint aware vulnerability patterns. Our implementations LigRE and KameleonFuzz outperform current open-source black-box scanners. We discovered 0-day XSS (i.e., previously unknown vulnerabilities) in web applications used by millions of users.
Le test est une approche efficace pour détecter des bogues d'implémentation ayant un impact sur la sécurité, c.a.d. des vulnérabilités. Lorsque le code source n'est pas disponible, il est nécessaire d'utiliser des techniques de test en boîte noire. Nous nous intéressons au problème de détection automatique d'une classe de vulnérabilités (Cross Site Scripting alias XSS) dans les applications web dans un contexte de test en boîte noire. Nous proposons une approche pour inférer des modèles de telles applications et frelatons des séquences d'entrées générées à partir de ces modèles et d'une grammaire d'attaque. Nous inférons des automates de contrôle et de teinte, dont nous extrayons des sous-modèles afin de réduire l'espace de recherche de l'étape de frelatage. Nous utilisons des algorithmes génétiques pour guider la production d'entrées malicieuses envoyées à l'application. Nous produisons un verdict de test grâce à une double inférence de teinte sur l'arbre d'analyse grammaticale d'un navigateur et à l'utilisation de motifs de vulnérabilités comportant des annotations de teinte. Nos implémentations LigRE et KameleonFuzz obtiennent de meilleurs résultats que les scanneurs boîte noire open-source. Nous avons découvert des XSS ``0-day'' (c.a.d. des vulnérabilités jusque lors inconnues publiquement) dans des applications web utilisées par des millions d'utilisateurs.
Fichier principal
Vignette du fichier
39119_DUCHENE_FABIEN_2014_archivage.pdf (64.88 Mo) Télécharger le fichier
Origine Version validée par le jury (STAR)
Loading...

Dates et versions

tel-01548923 , version 1 (28-06-2017)
tel-01548923 , version 2 (29-06-2017)

Identifiants

  • HAL Id : tel-01548923 , version 2

Citer

Fabien Duchene. Detection of web vulnerabilities via model inference assisted evolutionary fuzzing. Artificial Intelligence [cs.AI]. Université de Grenoble, 2014. English. ⟨NNT : 2014GRENM022⟩. ⟨tel-01548923v2⟩
361 Consultations
73 Téléchargements

Partager

More