TY - GEN
T1 - From debugging-information based binary-level type inference to CFG generation
AU - Zeng, Dongrui
AU - Tan, Gang
N1 - Publisher Copyright:
© 2018 Copyright held by the owner/author(s).
PY - 2018/3/13
Y1 - 2018/3/13
N2 - Binary-level Control-Flow Graph (CFG) construction is essential for applications such as control-flow integrity. There are two main approaches: the binary-analysis approach and the compiler-modification approach. The binary-analysis approach does not require source code, but it constructs low-precision CFGs. The compiler-modification approach requires source code and modifies compilers for CFG generation. We describe the design and implementation of an alternative system for high-precision CFG construction, which still assumes source code but does not modify compilers. Our approach makes use of standard compiler-generated meta-information, including symbol tables, relocation information, and debugging information. A key component in the system is a type-inference engine that infers types of low-level storage locations such as registers from types in debugging information. Inferred types enable a type-signature matching method for high-precision CFG construction.
AB - Binary-level Control-Flow Graph (CFG) construction is essential for applications such as control-flow integrity. There are two main approaches: the binary-analysis approach and the compiler-modification approach. The binary-analysis approach does not require source code, but it constructs low-precision CFGs. The compiler-modification approach requires source code and modifies compilers for CFG generation. We describe the design and implementation of an alternative system for high-precision CFG construction, which still assumes source code but does not modify compilers. Our approach makes use of standard compiler-generated meta-information, including symbol tables, relocation information, and debugging information. A key component in the system is a type-inference engine that infers types of low-level storage locations such as registers from types in debugging information. Inferred types enable a type-signature matching method for high-precision CFG construction.
UR - http://www.scopus.com/inward/record.url?scp=85052013831&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85052013831&partnerID=8YFLogxK
U2 - 10.1145/3176258.3176309
DO - 10.1145/3176258.3176309
M3 - Conference contribution
AN - SCOPUS:85052013831
T3 - CODASPY 2018 - Proceedings of the 8th ACM Conference on Data and Application Security and Privacy
SP - 366
EP - 376
BT - CODASPY 2018 - Proceedings of the 8th ACM Conference on Data and Application Security and Privacy
PB - Association for Computing Machinery, Inc
T2 - 8th ACM Conference on Data and Application Security and Privacy, CODASPY 2018
Y2 - 19 March 2018 through 21 March 2018
ER -