Litcius/Paper detail

Challenges in Firmware Re-Hosting, Emulation, and Analysis

Christopher Wright, William A. Moeglein, Saurabh Bagchi, Milind Kulkarni, Abraham Anthony Clements

2021ACM Computing Surveys68 citationsDOIOpen Access PDF

Abstract

System emulation and firmware re-hosting have become popular techniques to answer various security and performance related questions, such as determining whether a firmware contain security vulnerabilities or meet timing requirements when run on a specific hardware platform. While this motivation for emulation and binary analysis has previously been explored and reported, starting to either work or research in the field is difficult. To this end, we provide a comprehensive guide for the practitioner or system emulation researcher. We layout common challenges faced during firmware re-hosting, explaining successive steps and surveying common tools used to overcome these challenges. We provide classification techniques on five different axes, including emulator methods, system type, fidelity, emulator purpose, and control. These classifications and comparison criteria enable the practitioner to determine the appropriate tool for emulation. We use our classifications to categorize popular works in the field and present 28 common challenges faced when creating, emulating, and analyzing a system from obtaining firmwares to post emulation analysis.

Topics & Concepts

EmulationFirmwareComputer scienceHardware emulationField (mathematics)Software engineeringMicrocodeFidelityEmbedded systemSoftwareOperating systemTelecommunicationsMathematicsPure mathematicsEconomic growthEconomicsAdvanced Malware Detection TechniquesSecurity and Verification in ComputingAdvanced Data Storage Technologies