P^2IM: Scalable and Hardware-independent Firmware Testing via Automatic Peripheral Interface Modeling (extended version)

09/13/2019
by   Bo Feng, et al.
0

Dynamic testing or fuzzing of embedded firmware is severely limited by hardware-dependence and poor scalability, partly contributing to the widespread vulnerable IoT devices. We propose a software framework that continuously executes a given firmware binary while channeling inputs from an off-the-shelf fuzzer, enabling hardware-independent and scalable firmware testing. Our framework, using a novel technique called P^2IM, abstracts diverse peripherals and handles firmware I/O on the fly based on automatically generated models. P^2IM is oblivious to peripheral designs and generic to firmware implementations, and therefore, applicable to a wide range of embedded devices. We evaluated our framework using 70 sample firmware and 10 firmware from real devices, including a drone, a robot, and a PLC. It successfully executed 79 assistance. We also performed a limited fuzzing test on the real firmware, which unveiled 7 unique unknown bugs.

READ FULL TEXT

page 3

page 19

page 22

research
03/14/2023

Software-based security approach for networked embedded devices

As the Internet of Things (IoT) continues to expand, data security has b...
research
09/07/2019

WoTify: A platform to bring Web of Things to your devices

The Internet of Things (IoT) has already taken off, together with many W...
research
07/04/2021

From Library Portability to Para-rehosting: Natively Executing Microcontroller Software on Commodity Hardware

Finding bugs in microcontroller (MCU) firmware is challenging, even for ...
research
07/03/2020

DICE: Automatic Emulation of DMA Input Channels for Dynamic Firmware Analysis

Microcontroller-based embedded devices are at the core of Internet-of-Th...
research
07/13/2018

ASSURED: Architecture for Secure Software Update of Realistic Embedded Devices

Secure firmware update is an important stage in the IoT device life-cycl...
research
08/09/2022

Google Test/Google Mock to Verify Critical Embedded Software

Critical embedded systems (CES) have become ubiquitous in whether medica...
research
07/16/2021

Automatic Firmware Emulation through Invalidity-guided Knowledge Inference (Extended Version)

Emulating firmware for microcontrollers is challenging due to the tight ...

Please sign up or login with your details

Forgot password? Click here to reset