Greenhouse: Single-Service Rehosting of Linux-Based Firmware Binaries in User-Space Emulation

Authors: 

Hui Jun Tay, Kyle Zeng, Jayakrishna Menon Vadayath, Arvind S Raj, Audrey Dutcher, Tejesh Reddy, Wil Gibbs, Zion Leonahenahe Basque, Fangzhou Dong, Zack Smith, Adam Doupé, Tiffany Bao, Yan Shoshitaishvili, and Ruoyu Wang, Arizona State University

Abstract: 

As IoT devices grow more widespread, scaling current analysis techniques to match becomes an increasingly critical task. Part of this challenge involves not only rehosting the firmware of these embedded devices in an emulated environment, but to do so and discover real vulnerabilities. Current state-of-the-art approaches for rehosting must account for the discrepancies between emulated and physical devices, and thus generally focus on improving the emulation fidelity. However, this pursuit of fidelity ignores other potential solutions.

In this paper, we propose a novel rehosting technique, user-space single-service rehosting, which emulates a single firmware service in user space. We study the rehosting process involved in hundreds of firmware samples to generalize a set of roadblocks that prevent emulation and create interventions to resolve them. Our prototype Greenhouse automatically rehosts 2,841 (39.7%) of our collected 7,140 firmware images from nine different vendors. Our approach sidesteps many of the challenges encountered by previous rehosting techniques and enables us to apply common vulnerability discovery techniques to our rehosted images such as user-space coverage-guided fuzzing. Using these techniques, we find 717 N-day vulnerabilities and 26 zero-day vulnerabilities on a subset of our rehosted firmware services.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

BibTeX
@inproceedings {291031,
author = {Hui Jun Tay and Kyle Zeng and Jayakrishna Menon Vadayath and Arvind S Raj and Audrey Dutcher and Tejesh Reddy and Wil Gibbs and Zion Leonahenahe Basque and Fangzhou Dong and Zack Smith and Adam Doup{\'e} and Tiffany Bao and Yan Shoshitaishvili and Ruoyu Wang},
title = {Greenhouse: {Single-Service} Rehosting of {Linux-Based} Firmware Binaries in {User-Space} Emulation},
booktitle = {32nd USENIX Security Symposium (USENIX Security 23)},
year = {2023},
isbn = {978-1-939133-37-3},
address = {Anaheim, CA},
pages = {5791--5808},
url = {https://www.usenix.org/conference/usenixsecurity23/presentation/tay},
publisher = {USENIX Association},
month = aug
}

Presentation Video