DocumentCode :
3472260
Title :
BIRD: binary interpretation using runtime disassembly
Author :
Nanda, Susanta ; Li, Wei ; Lam, Lap-chung ; Chiueh, Tzi-cker
Author_Institution :
Dept. of Comput. Sci., SUNY, Stony Brook, NY, USA
fYear :
2006
fDate :
26-29 March 2006
Abstract :
The majority of security vulnerabilities published in the literature is due to software bugs. Many researchers have developed program transformation and analysis techniques to automatically detect or eliminate such vulnerabilities. So far, most of them cannot be applied to commercially distributed applications on the Windows/x86 platform, because it is almost impossible to disassemble a binary file with 100% accuracy and coverage on that platform. This paper presents the design, implementation, and evaluation of a binary analysis and instrumentation infrastructure for the Windows/x86 platform called BIRD (binary interpretation using runtime disassembly), which provides two services to developers of security-enhancing program transformation tools: converting binary code into assembly language instructions for further analysis, and inserting instrumentation code at specific places of a given binary without affecting its execution semantics. Instead of requiring a high-fidelity instruction set architectural emulator, BIRD combines static disassembly with an on-demand dynamic disassembly approach to guarantee that each instruction in a binary file is analyzed or transformed before it is executed. It takes 12 student months to develop the first BIRD prototype, which can successfully work for all applications in Microsoft office suite as well as Internet explorer and IIS Web server, including all DLLs that they use. Moreover, the additional throughput penalty of the BIRD prototype on production server applications such as Apache, IIS, and BIND is uniformly below 4%.
Keywords :
instruction sets; program debugging; program diagnostics; security of data; IIS Web server; Internet explorer; Microsoft office suite; Windows/x86; binary interpretation using runtime disassembly; high-fidelity instruction set architectural emulator; program analysis; program transformation; security vulnerabilities; software bugs; Application software; Assembly; Binary codes; Birds; Computer bugs; Instruments; Prototypes; Runtime; Security; Web server;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Code Generation and Optimization, 2006. CGO 2006. International Symposium on
Print_ISBN :
0-7695-2499-0
Type :
conf
DOI :
10.1109/CGO.2006.6
Filename :
1611554
Link To Document :
بازگشت