Benefits of Binary Static Analysis
5 stars based on
Binary analysis Statement and Overview Binary binary analysis is imperative for protecting COTS common off-the-shelf programs and analyzing binary analysis defending against the myriad of malicious code, where source code is unavailable, and the binary may even be obfuscated.
Also, binary analysis analysis provides the ground truth about program behavior since computers execute binaries executablesnot source code. However, binary analysis is challenging due to the lack binary analysis 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 binary analysis for analyzing COTS software, as well as malicious binaries.
The BitBlaze project aims to design binary analysis develop a powerful binary analysis platform and employ the platform binary analysis order to 1 analyze and develop novel Binary analysis protection and diagnostic mechanisms and 2 analyze, understand, and develop defenses against malicious code.
The BitBlaze project binary analysis 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 binary analysis generation. The BitBlaze Binary Analysis Binary analysis The underlying BitBlaze Binary Analysis Platform features a novel fusion of static and dynamic analysis techniques, dynamic symbolic execution, and whole-system binary analysis and binary instrumentation.
The BitBlaze platform has different components for each task: The three components in tandem provide the power for effective analysis of real-world binary programs for various applications. We are now making some key parts binary analysis the BitBlaze Binary Analysis Platform available under open-source licenses.
See a separate page for more information. In conjunction with our BlackHat presentation, we have also made a demonstration binary release of some tools for binary analysis crash analysis.
In binary analysis, we show below three classes of security applications: Vulnerability Detection, Diagnosis, binary analysis Defense Hybrid Information- and Control-Flow Graph HI-CFG Binary analysis security analysis tasks require understanding the high-level structure of a binary program in terms of both its control-flow and the data it operates on. To facilitate the automatic reverse engineering of such structure, we have introduced a new program representation, a hybrid information- and control-flow graph HI-CFG.
Our research explores algorithms binary analysis infer a HI-CFG from an instruction-level trace, without requiring source-level information or static analysis. Identifying Causal Execution Differences for Security Applications A security analyst often needs to understand two runs of the same program that exhibit a difference in program state or output.
This is important, for example, for vulnerability analysis, as well as for analyzing a malware program that features different behaviors when run in different environments. Differential Slicing is an automatic slicing technique for the analysis of such execution differences.
The causal difference graph it outputs captures the input differences that triggered the observed difference and the causal path of differences that led from those input differences to the observed difference. Sting is an automatic worm defense system which proposes a suite of novel techniques to automatically detect new binary analysis, perform in-depth diagnosis, and generate effective anti-bodies vulnerability signatures and hardened binaries binary analysis protect vulnerable binary analysis and networks from further attacks.
In this work, we propose binary analysis techniques and demonstrate that one could automatically generate exploits from the patch binary and the original vulnerable program binary and sometimes in minutes of time. Buffer Overflow Diagnosis and Discovery Loop-extended symbolic execution or LESE is a new technique that generalizes the results of previous dynamic symbolic execution techniques, which broadens the results with effects of loops. It also enables deeper diagnosis of known vulnerabilities, binary analysis allows automated signature generation tools to reason about variable-length input or repeated elements in the input.
Measuring Quantitative Influence Dynamic taint analysis is a fundamental tool for detecting overwrite attacks, but it is limited to an all-or-nothing distinction as to whether values are under the control of an attacker, and suffers from both false-positive and false-negative errors.
We propose quantitative influence to more precisely characterize the degree of control an attacker has over a value. A specialization of the concept of channel capacity from binary analysis theory, we show that quantitative influence can be computed precisely using a decision procedure.
Quantitative influence accurately distinguishes real binary analysis from false positives among warnings generated by a dynamic taint analysis tool on vulnerable binary servers.
Our work on statically-directed dynamic automated test generation explores a three-stage process. It first performs dynamic analysis to build a control-flow model, then performs static analysis to search for potential vulnerabilities, and finally uses dynamic symbolic execution to prove that warnings are true positives by finding concrete test cases for them.
In an evaluation on a suite of buffer-overflow benchmarks extracted from real applications, the results of the first two phases allowed binary analysis execution to trigger vulnerabilities it otherwise could not, including all but one of the benchmarks. Panorama proposes a unified approach to detect privacy-breaching malware using whole-system dynamic taint analysis.
Renovo proposes a fully dynamic approach for hidden code extraction, capturing an intrinsic nature of hidden code execution. Detection and Analysis of Malware Hooking Behaviors One important malware attacking vector is its hooking mechanism.
Malicious programs implant hooks for many different purposes. Spyware may implant hooks to get notified of the arrival of new sensitive data. Rootkits may implant hooks to intercept and tamper with critical system binary analysis to conceal their presence in the system. A stealth backdoor may also place hooks on the network stack to establish a stealthy communication channel with remote attackers.
HookFinder proposes fine-grained binary analysis analysis to automatically binary analysis and analyze malware's hooking behaviors. Since this technique captures the intrinsic nature of hooking behaviors, it is well suited for identifying new hooking mechanisms. Automatic Malware Dissection and Trigger-based Behavior Analysis Malware often has embedded behavior which is only exhibited when certain conditions are met. Binary analysis trigger-based behavior includes time bombs, binary analysis bombs, and botnets programs which reacts to commands.
Static analysis of malware often provides little utility binary analysis to code packing and obfuscation. Vanilla dynamic analysis can only provides limited view since the trigger conditions are usually not met.
How can we design automatic analysis methods to uncover the trigger conditions and trigger-based behavior hidden in malware? 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 dynamic symbolic execution.
Deviation Detection in Binaries Many network protocols and services have several different implementations. How can we automatically identify such deviations in binaries implementing the same specification?
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. Dispatcher, Polygot and Replayer automatically extract information about network protocols and enables application dialogue replay using binary analysis.
The BitBlaze project is looking for developers to help extend and enhance our state-of-the art framework for binary analysis in security applications. For general questions regarding the BitBlaze project, please send email to bitblaze at gmail. To receive announcements about code releases and other bitblaze related updates, please subscribe to the Bitblaze Announcement List.