Techniques d'injection de fautes malveillantes pour mettre un système hors de son fonctionnement nominal ou créer des latences non acceptables

par Timothée Cocault

Projet de thèse en Réseaux, information et communications

Sous la direction de Hervé Debar et de Gregory Blanc.

Thèses en préparation à Paris Saclay , dans le cadre de École doctorale Sciences et technologies de l'information et de la communication (Orsay, Essonne) , en partenariat avec Télécom SudParis (France) (laboratoire) , R3S (equipe de recherche) et de Institut national des télécommunications (Evry) (établissement de préparation de la thèse) depuis le 01-03-2017 .


  • Résumé

    L'objectif de ces travaux de thèse est de concevoir une méthodologie et des outils pour découvrir automatiquement des vulnérabilités dans les applications web. Les travaux se baseront sur des techniques de fuzzing, qui sont maintenant largement acceptées et utilisées. Plus précisément, nous nous intéresserons à la découverte automatisée de failles, de manière méthodique, et à la qualification du risque présenté par ces failles (reconnaissance de la possibilité de créer un exploit).

  • Titre traduit

    Malicious faults injection techniques for putting a system out of its normal operation or to create unacceptable latencies


  • Résumé

    The aim of this thesis is to devise a methodology and tools to automatically discover and qualify vulnerabilities in web applications. This methodology will rely on fuzzing techniques, which are well accepted tools for discovering vulnerabilities in many classes of applications. Fuzzing is the process of generating and providing random, unexpected, or invalid data to inputs of a program. Fuzzing techniques attempt to give any and all inputs that will cause an undefined behavior. The robustness of software is tested against invalid inputs that play on implementation limits or data boundaries. A high number of random combinations of such inputs are sent to the system through its interfaces. Despite its simplicity, history has shown fuzzing to be effective at uncovering flaws in a wide range of software systems. This led to the wide adoption of fuzzing based approaches within the software attacker community. Nevertheless, it provides one of the approaches to the security testing, which is penetration testing (a.k.a. pentesting), a well-known method for finding security flaws on a target and a simulation of a real-world attack. The main drawbacks of fuzzing tools are their poor coverage, which leads to missing many errors (flaws), and the quality of tests. There is no single fuzzing approach because it has no precise rules. Clearly, its efficiency depends on the creativity of its designer.