Browse > Article
http://dx.doi.org/10.5392/JKCA.2010.10.5.070

Static Control Flow Analysis of Binary Codes  

Kim, Ki-Tae (인하대학교 IT컴퓨터공학부)
Kim, Je-Min (인하대학교 IT컴퓨터공학부)
Yoo, Weon-Hee (인하대학교 IT컴퓨터공학부)
Publication Information
Abstract
We perform static program analysis for the binary code. The reason you want to analyze at the level of binary code, installed on your local computer, run the executable file without source code. And the reason we want to perform static analysis, static program analysis is to understand what actions to perform on your local computer. In this paper, execution flow graph representing information such as the execution order among functions and the flow of control is generated. Using graph, User can find execution flow of binary file and calls of insecure functions at the same time, and the graph should facilitate the analysis of binary files. In addition, program to be run is ensured the safety by providing an automated way to search the flow of execution, and program to be downloaded and installed from outside is determined whether safe before running.
Keywords
Binary Code; Static Analysis; Control Flow Analysis;
Citations & Related Records
연도 인용수 순위
  • Reference
1 Intel Corporation, Intel$^{{\circledR}}$64 and IA-32 Architectures Software Developer's Manual Volume 2B: Instruction Set Reference, N-Z, Intel Corporation, March 2010.
2 http://www.eclipse.org
3 http://www.jgraph.com
4 http://www.ollydbg.de
5 http://www.hex-rays.com/idapro
6 C. Cifuentes and K. John, “Decompilation of binary programs,” Software Practice & Experience, Vol.25, Issue 7, pp.811-829, 1995.   DOI   ScienceOn
7 C. Kruegel, W. Robertson, F. Valeur, and G. Vigna, "Static disassembly of obfuscated binaries," Proceedings of the 13th conference on USENIX Security Symposium, pp.18-18, 2004.
8 A. Lanzi, L. Martignoni, M. Monga, and R. Paleari, "A Smart Fuzzer for x86 Executables," Proceedings of the Third International Workshop on Software Engineering for Secure Systems, pp.1-7, 2007.
9 G. Balakrishnan, T. Reps, D. Melski, and T. Teitelbaum, "WYSINWYX: What You See Is Not What You eXecute," In IFIP Working Conference on Verified Software: Theories, Tools, Experiments, 2005.
10 M. Cova, V. Felmetsger, G. Banks, and G. Vigna, "Static Detection of Vulnerabilities in x86 Executables," In Proceedings of the Annual Computer Security Applications Conference (ACSAC), 2006.
11 M. D. Ernst. "Static and Dynamic Analysis:Synergy and Duality," In WODA 2003: ICSE Workshop on Dynamic Analysis, Portland, OR, May 9, 2003.
12 B. Schwarz, S. K. Debray, and G. R. Andrews, "Disassembly of Executable Code Revisited," In 9th Working Conference on Reverse Engineering (WCRE), pp.45?54, IEEE Computer Society, 2002.
13 G. Snelting, T. Robschink, and J. Krinke. "Efficient path conditions in dependence graphs for software safety analysis," ACM Trans. Softw. Eng. Methodol. Vol.15, No.4, pp.410-457, 2006.   DOI
14 Microsoft Corporation, Microsoft Portable Executable and Common Object File Format Specification, Microsoft Corporation, Rev.8.1, 2008.