Automated Analysis of ARM Binaries using the Low-Level Virtual Machine Compiler Framework

Abstract

Binary program analysis is a critical capability for offensive and defensive operations in Cyberspace. However, many current techniques are ineffective or time-consuming and few tools can analyze code compiled for embedded processors such as those used in network interface cards, control systems and mobile phones. This research designs and implements a binary analysis system, called the Architecture-independent Binary Abstracting Code Analysis System (ABACAS), which reverses the normal program compilation process, lifting binary machine code to the Low-Level Virtual Machine (LLVM) compiler?s intermediate representation, thereby enabling existing security-related analyses to be applied to binary programs. The prototype targets ARM binaries but can be extended to support other architectures. Several programs are translated from ARM binaries and analyzed with existing analysis tools. Programs lifted from ARM binaries are an average of 3.73 times larger than the same programs compiled from a high-level language (HLL). Analysis results are equivalent regardless of whether the HLL source or ARM binary version of the program is submitted to the system, confirming the hypothesis that LLVM is effective for binary analysis.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Mar 01, 2011
Accession Number
ADA540141

Entities

People

  • Jeffery Scott

Organizations

  • Air Force Institute of Technology

Tags

Communities of Interest

  • Cyber
  • Engineered Resilient Systems

DTIC Thesaurus Topics

  • Computer Architecture
  • Computer Programming
  • Computer Programs
  • Computers
  • Debugging
  • Grammars
  • High Level Languages
  • Instruction Set Architecture
  • Language
  • Machine Languages
  • Mobile Devices
  • Mobile Phones
  • Operating Systems
  • Personal Computers
  • Programming Languages
  • Smartphones
  • Software Development

Fields of Study

  • Computer science

Readers

  • Cybersecurity.
  • Parallel and Distributed Computing.
  • Regression Analysis.

Technology Areas

  • Cyber