Efficient and Safe Control Flow Recovery Using a Restricted Intermediate Language

作者: Tobias Pfeffer , Paula Herber , Lucas Druschke , Sabine Glesner

DOI: 10.1109/WETICE.2018.00052

关键词: Finite setKey (cryptography)Control flowSource codeSecurity policyComputer scienceDistributed computingObject codeControl (linguistics)Semantics (computer science)

摘要: Approaches for the automatic analysis of security policies on source code level cannot trivially be applied to binaries. This is due lacking high-level semantics low-level object code, and fundamental problem that control-flow recovery from binaries difficult. We present a novel approach recover both safe efficient. The key idea our use information contained in mechanisms approximate targets computed branches. To achieve this, we first define restricted control transition intermediate language (RCTIL), which restricts number possible each branch finite given targets. Based this language, demonstrate how model flow can recovered without data-flow analyses. Our evaluation shows makes solution more efficient than existing solutions.

参考文章(20)
Sébastien Bardin, Philippe Herrmann, Jérôme Leroux, Olivier Ly, Renaud Tabary, Aymeric Vincent, The BINCOA framework for binary code analysis computer aided verification. ,vol. 6806, pp. 165- 170 ,(2011) , 10.1007/978-3-642-22110-1_13
Bart Demoen, Bruno De Bus, Bjorn De Sutter, Koenraad De Bosschere, P. Keyngnaert, On the static analysis of indirect control transfers in binaries parallel and distributed processing techniques and applications. ,vol. 2, pp. 1013- 1019 ,(2000)
Prabhat K. Singh, Arun Lakhotia, CHALLENGES IN GETTING ‘FORMAL’ WITH VIRUSES ,(2003)
Emmanuel Fleury, Olivier Ly, Gérald Point, Aymeric Vincent, Insight: An Open Binary Analysis Framework Tools and Algorithms for the Construction and Analysis of Systems. pp. 218- 224 ,(2015) , 10.1007/978-3-662-46681-0_18
Andrea Flexeder, Bogdan Mihaila, Michael Petter, Helmut Seidl, Interprocedural control flow reconstruction asian symposium on programming languages and systems. pp. 188- 203 ,(2010) , 10.1007/978-3-642-17164-2_14
Gogul Balakrishnan, Thomas Reps, Analyzing Memory Accesses in x86 Executables compiler construction. pp. 5- 23 ,(2006) , 10.1007/978-3-540-24723-4_2
Caroline Tice, Tom Roeder, Peter Collingbourne, Stephen Checkoway, Úlfar Erlingsson, Luis Lozano, Geoff Pike, Enforcing forward-edge control-flow integrity in GCC & LLVM usenix security symposium. pp. 941- 955 ,(2014)
Balakrishnan Gogul, T Reps, D Melski, T Teitelbaum, WYSINWYX: What you see is not what you eXecute ACM Transactions on Programming Languages and Systems. ,vol. 32, pp. 23- ,(2010) , 10.1145/1749608.1749612
Yan Shoshitaishvili, Ruoyu Wang, Christophe Hauser, Christopher Kruegel, Giovanni Vigna, None, Firmalice - Automatic Detection of Authentication Bypass Vulnerabilities in Binary Firmware. network and distributed system security symposium. ,(2015) , 10.14722/NDSS.2015.23294
B. Schwarz, S. Debray, G. Andrews, Disassembly of executable code revisited working conference on reverse engineering. pp. 45- 54 ,(2002) , 10.1109/WCRE.2002.1173063