{"title":"Automatically Repairing Stripped Executables with CFG Microsurgery","authors":"Scott E Friedman, D. Musliner","doi":"10.1109/SASOW.2015.21","DOIUrl":null,"url":null,"abstract":"BINSURGEON is a binary rewriting system that enhances stripped binary executables with repairs, defenses, and additional functionality. This involves making space-consuming changes to the program's control flow graph (CFG), recomputing instruction content, and relocating instructions, all while preserving functionality in the remainder of the program's control flow. BINSURGEON uses extendable rewrite templates that enable other systems to specify and parameterize program modifications, which allows BINSURGEON to be a fully-automatic component of a larger system. In this paper, we describe BINSURGEON in the context of the FUZZBOMB automated program analysis and repair system. We outline BIN Surgeon's general binary rewriting algorithm for modifying CFGs according to FUZZ Bomb's rewrite templates. We also review some of FUZZ Bomb's rewrite templates to demonstrate the diverse repair and defense strategies -- including stack protection, heap protection, CFI, pointer-checking, and more -- that are implemented by BINSURGEON to harden and repair vulnerable binaries.","PeriodicalId":384469,"journal":{"name":"2015 IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2015-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"5","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2015 IEEE International Conference on Self-Adaptive and Self-Organizing Systems Workshops","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SASOW.2015.21","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 5
Abstract
BINSURGEON is a binary rewriting system that enhances stripped binary executables with repairs, defenses, and additional functionality. This involves making space-consuming changes to the program's control flow graph (CFG), recomputing instruction content, and relocating instructions, all while preserving functionality in the remainder of the program's control flow. BINSURGEON uses extendable rewrite templates that enable other systems to specify and parameterize program modifications, which allows BINSURGEON to be a fully-automatic component of a larger system. In this paper, we describe BINSURGEON in the context of the FUZZBOMB automated program analysis and repair system. We outline BIN Surgeon's general binary rewriting algorithm for modifying CFGs according to FUZZ Bomb's rewrite templates. We also review some of FUZZ Bomb's rewrite templates to demonstrate the diverse repair and defense strategies -- including stack protection, heap protection, CFI, pointer-checking, and more -- that are implemented by BINSURGEON to harden and repair vulnerable binaries.