Cross-architecture bug search in binary executables

By Jannik Pewny, Behrad Garmany, Robert Gawlik, Christian Rossow, Thorsten Holz. IEEE Symposium on Security and Privacy, 2015

358 citations recorded by the source corpus.

Abstract With the general availability of closed-source software for various CPU architectures, there is a need to identify security-critical vulnerabilities at the binary level. Unfortunately, existing bug finding methods fall short in that they i) require source code, ii) only work on a single architecture (typically x86), or iii) rely on dynamic analysis, which is difficult for embedded devices. In this paper, we propose a system to derive bug signatures for known bugs. First, we compute semantic hashes for the basic blocks of the binary. When can then use these semantics to find code parts in the binary that behave similarly to the bug signature, effectively revealing code parts that contain the bug. As a result, we can find vulnerabilities, e.g., the famous Heartbleed vulnerabilities, in buggy binary code for any of the supported architectures (currently, ARM, MIPS and x86).

Subfields: Artificial Intelligence, Software, Signal Processing

View Paper: https://www.semanticscholar.org/paper/083e479096f018b075f79cbd43caaab93d01f8bf

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Artificial Intelligence

  1. Dawn Song
  2. Pushmeet Kohli
  3. Yoshua Bengio
  4. William L. Hamilton
  5. Percy Liang
  6. Le Song
  7. Chang Liu
  8. Mohit Bansal

In Software

  1. Dawn Song
  2. Heng Yin
  3. Benjamin C. M. Fung
  4. Philippe Charland
  5. Steven H. H. Ding
  6. Chang Liu
  7. Giovanni Vigna
  8. Qian Feng

In Signal Processing

  1. Christopher Krügel
  2. Giovanni Vigna
  3. Dawn Song
  4. Heng Yin
  5. Benjamin C. M. Fung
  6. Philippe Charland
  7. Steven H. H. Ding
  8. Xiaofeng Wang

Citations in the corpus