Binary analysis is imperative for protecting COTS (common off-the-shelf) programs and analyzing and defending against the myriad of malicious code, where source code is unavailable, and the binary may even be obfuscated. Also, binary analysis provides the ground truth about program behavior since computers execute binaries (executables), not source code. However, binary analysis is challenging due to the lack of higher-level semantics. Many higher level techniques are often inadequate for analyzing even benign binaries, let alone potentially malicious binaries. Thus, we need to develop tools and techniques which work at the binary level, can be used for analyzing COTS software, as well as malicious binaries.
The BitBlaze project aims to design and develop a powerful binary analysis platform and employ the platform in order to (1) analyze and develop novel COTS protection and diagnostic mechanisms and (2) analyze, understand, and develop defenses against malicious code. The BitBlaze project also strives to open new application areas of binary analysis, which provides sound and effective solutions to applications beyond software security and malicious code defense, such as protocol reverse engineering and fingerprint generation.
The BitBlaze project consists of two central research directions: (1) the design and development of the underlying BitBlaze Binary Analysis Platform, and (2) applying the BitBlaze Binary Analysis Platform to real security problems. The two research focii drive each other: as new security problems arise, we develop new analysis techniques. Similarly, we develop new analysis techniques in order to better or more efficiently solve known problems. Below, we give an overview of the two research directions.
The BitBlaze
Binary Analysis Platform Project
The underlying BitBlaze Binary Analysis
Platform features a novel fusion of static and dynamic analysis
techniques, mixed concrete and symbolic execution, and whole-system
emulation and binary instrumentation. The BitBlaze platform has
different components for each task: Vine, TEMU, and
Rudder. The three components in tandem provide the power for
effective analysis of real-world binary programs for various
applications.
Projects for COTS Protection and Malicious Code Defense
Below are some of our current research endeavors using the BitBlaze
Binary Analysis platform for both COTS protection and malicious code
defense.
Sting is an automatic worm defense system which proposes a suite of novel techniques to automatically detect new exploits, perform in-depth diagnosis, and generate effective anti-bodies (vulnerability signatures and hardened binaries) to protect vulnerable hosts and networks from further attacks.
Panorama proposes a unified approach to detect privacy-breaching malware using whole-system dynamic taint analysis.
BitScope enables automatic exploration of program execution paths in malware to uncover trigger conditions (such as the time used in time bombs and commands in botnet programs) and trigger-based behavior, using mixed concrete and symbolic execution. BitScope also provides in-depth analysis of the input/output behavior of the malware.
Deviation Detection automatically identifies deviations in different binaries to detect implementation errors and generate fingerprints. It is achieved by building symbolic formulas that characterize how each binary processes an input.
Reverser and Replayer automatically extract information about network protocols and enables application dialogue replay using binary analysis.
Faculty: Dawn Song
Postdocs:
Students:
Staff:Ivan Jager
Alumni: