SBIR-STTR Award

SARAN: a System for Android Application Interposition
Award last edited on: 7/18/2018

Sponsored Program
SBIR
Awarding Agency
DOD : DARPA
Total Award Amount
$148,948
Award Phase
1
Solicitation Topic Code
SB171-006
Principal Investigator
Stelios Sidiroglou

Company Information

Aarno Labs LLC

One Broadway Street 14th Floor
Cambridge, MA 02142
   (617) 222-7664
   info@aarno-labs.com
   www.aarno-labs.com
Location: Single
Congr. District: 07
County: Middlesex

Phase I

Contract Number: ----------
Start Date: ----    Completed: ----
Phase I year
2017
Phase I Amount
$148,948
We propose to develop a new system, SARAN, to transparently, and efficiently, instrument Android applications. SARAN supports the transparent instrumentation of entire Android APKs (i.e., both DEX bytecode and native libraries). DEX bytecode is instrumented using a static binary decompilation that lifts the bytecode into an intermediate representation that facilitates program analysis and transformation. Our proposed DEX bytecode instrumentation maintains transparency by intercepting and sanitizing reflective calls and provides completeness by supporting method proxies and dynamic class loading. Native libraries are instrumented by a custom version of the DynamoRIO dynamic binary instrumentation engine. DynamoRIO operates by shifting an application's execution from its original instructions to a code cache, where the instructions can be freely, and transparently, modified. DynamoRIO occupies the address space with the application and has full control over execution, taking over whenever control leaves the code cache or when the operating system directly transfers control to the application. DynamoRIO, and the SARAN modifications, go to great lengths to maintain instrumentation transparency. Specifically, SARAN ensures library (reentrancy), heap (data layout), thread (hides extra threads) and stack transparency. SARAN's DEX and DynamoRIO instrumentation provide efficient and transparent instrumentation capabilities for entire Android APKs.

Phase II

Contract Number: ----------
Start Date: ----    Completed: ----
Phase II year
----
Phase II Amount
----