Introduction to Procedural Debugging through Binary Libification
Authors/Creators
Contributors
Editor:
Description
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 notions 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 intraprocedural analysis from the reachability problem. Finally, we publish a framework to implement such a libification under a permissive open-source license to facilitate its adoption within the security community.
Files
woot2024-brossard-appendix.pdf
Files
(529.2 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:24a597c0897aff07fc43de17f4d2317d
|
135.4 kB | Preview Download |
|
md5:30dcf091a723a7192bf45ab201816653
|
393.8 kB | Preview Download |
Additional details
Dates
- Available
-
2024-08-12WOOT Conference
Software
- Repository URL
- https://github.com/endrazine/wcc
- Programming language
- C , Lua
- Development Status
- Active