Introduction to Procedural Debugging through Binary Libification
Introduction au debogage procedural via la libification binaire
Résumé
Assessing the existence, exact impact and exploitability of
a known (or theoretical) memory corruption vulnerability
in an arbitrary piece of compiled software has arguably not
become simpler. The current methodology essentially boils
down to writing an exploit - or at least a trigger - for each
potential vulnerability. Writing an exploit for a weird machine
involves several undecidable steps, starting with overcoming
the reachability problem. In this article, we introduce the no-
tions of “libification” and “procedural debugging” to facilitate
partial debugging of binaries at the procedural level. These
techniques allow the transformation of arbitrary dynamically
linked ELF binaries into shared libraries, and the study of
memory corruption bugs by directly calling the vulnerable
functions, hence separating the memory corruption intrapro-
cedural analysis from the reachability problem. Finally, we
publish a framework to implement such a libification un-
der a permissive open-source license to facilitate its adoption
within the security community.
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|