Attaque par réutilisation de code : génération dapos;exploits automatiques et protections

  • Cybersécurité : hardware et software,
  • Doctorat
  • Paris – Saclay
  • BAC+5
  • 2024-10-01
  • RECOULES Frédéric (DRT/DILS//LSL)
Candidater

Les vulnérabilités logicielles dues à des erreurs de gestion de la mémoire sont parmi les plus faciles à exploiter. Pour empêcher un attaquant dapos;injecter son propre code arbitraire (shellcode), les systèmes modernes appliquent généralement une prévention de lapos;exécution des données (DEP), souvent mise en œuvre sous la forme de permissions de segment (Write xor Execute - W^E). Cependant, des attaques par réutilisation de code sont apparues pour contourner les protections DEP. Grâce à un problème de logique de mémoire, lapos;attaquant détourne le flux de contrôle du programme cible et enchaîne de petits fragments de code appelés gadgets pour construire le comportement souhaité, par le biais de la programmation orientée retour (ROP) ou de la programmation orientée saut (JOP). Au cours des dernières années, plusieurs travaux de recherche ont exploré les moyens dapos;automatiser la construction dapos;attaques par réutilisation de code à partir dapos;attaques de base « sur la pile », abaissant ainsi la barrière à ces méthodes avancées. Dapos;autre part, la protection des programmes repose sur divers mécanismes tels quapos;une disposition aléatoire de la mémoire (par exemple, la randomisation de la disposition de lapos;espace dapos;adressage - ASLR), lapos;intégrité du flux de contrôle (CFI) ou un mécanisme de protection de la pile (par exemple, Shadow Stack) pour tenir lapos;attaquant en échec. Certaines de ces protections peuvent toutefois être coûteuses à mettre en œuvre (temps dapos;exécution, matériel spécialisé, etc.). Lapos;objectif général de cette thèse est dapos;améliorer lapos;état de lapos;art de la génération automatique dapos;exploits dans le but dapos;évaluer la sécurité de la protection contre la réutilisation des codes. Nous suivrons deux tendances : (1) dapos;une part, le candidat fera progresser les méthodes dapos;automatisation de la réutilisation de code, en prenant en compte la connaissance de la protection pour guider la recherche vers des exploits valides uniquement, en coupant proactivement dans lapos;espace de recherche, et en recherchant des synergies entre le chaînage ROP/JOP et les méthodes de synthèse de programme telles que la synthèse guidée par la syntaxe ou les méthodes de synthèse stochastiques ; (2) dapos;autre part, une fois que le potentiel de ces méthodes sera mieux compris, le candidat concevra une défense efficace contre elles, sur la base dapos;une analyse complète de leurs principales forces et faiblesses.

fr_FRFR

Contact us

We will reply as soon as possible...