SBIR-STTR Award

SAFARI: Scalable Analysis of Firmware for AndRoid and IOS
Award last edited on: 7/17/2019

Sponsored Program
SBIR
Awarding Agency
DHS
Total Award Amount
$1,149,944
Award Phase
2
Solicitation Topic Code
H-SB018.1-008
Principal Investigator
Ryan Johnson

Company Information

Kryptowire LLC

5352 Brandon Ridge Way
Fairfax, VA 22032
   (571) 314-0153
   N/A
   www.kryptowire.com
Location: Single
Congr. District: 11
County: Fairfax

Phase I

Contract Number: 70RSAT18C00000025
Start Date: 00/00/00    Completed: 00/00/00
Phase I year
2018
Phase I Amount
$149,994
To address the supply chain threats that stem from vulnerable or malicious software distributed through firmware on mobile and IoT devices via binary firmware images, we propose a scalable, comprehensive, and automated framework to detect firmware-borne threats, both malicious and (un)intentionally insecure, present in Android and iOS devices. We use a workflow encompassing three analysis techniques: forced-path execution, static analysis, and dynamic analysis across multiple software modules and applications. The novelty of our approach is based on its capability to provide analysis of software across different vendors, operating system versions, and applications as opposed to single application testing that has been our aim for previous work on mobile application testing. Being able to identify and trace data and control flow between different applications, the operating system, and back-end services for Android and iOS devices (mobile and IoT) is necessary to uncover code vulnerabilities and threats in the presence of software bundles such as the firmware images. In addition, recognizing that no single binary code analysis approach is without its shortcomings, so we address and complement the shortcomings of each individual approach, by employing a more comprehensive analysis using a diversity of analysis techniques. We detail a feasibility study for the design and implementation of, a novel system that will automatically identify, trigger, and analyze vulnerabilities in firmware. Our goal is to uncover any code vulnerabilities and design errors and their effects by efficiently enumerating and null-fuzzing all statically and dynamically accessible software components on the firmware.

Phase II

Contract Number: 70RSAT19C00000007
Start Date: 00/00/00    Completed: 00/00/00
Phase II year
2019
Phase II Amount
$999,950
To address the supply chain threats that stem from vulnerable or malicious software distributed through firmware on mobile and IoT devices via binary firmware images, we propose a scalable, comprehensive, and automated framework to detect firmware-borne threats, both malicious and (un)intentionally insecure, present in Android and iOS devices. We use a workflow encompassing three analysis techniques: forced-path execution, static analysis, and dynamic analysis across multiple software modules and applications. The novelty of our approach is based on its capability to provide analysis of software across different vendors, operating system versions, and applications as opposed to single application testing that has been our aim for previous work on mobile application testing. Being able to identify and trace data and control flow between different applications, the operating system, and back-end services for Android and iOS devices (mobile and IoT) is necessary to uncover code vulnerabilities and threats in the presence of software bundles such as the firmware images. In addition, recognizing that no single binary code analysis approach is without its shortcomings, so we address and complement the shortcomings of each individual approach, by employing a more comprehensive analysis using a diversity of analysis techniques. We detail a feasibility study for the design and implementation of, a novel system that will automatically identify, trigger, and analyze vulnerabilities in firmware. Our goal is to uncover any code vulnerabilities and design errors and their effects by efficiently enumerating and null-fuzzing all statically and dynamically accessible software components on the firmware.