Your Firmware Has Arrived: A Study of Firmware Update Vulnerabilities

A Systematic Study to Identifying Real-World Vulnerabilities in Heterogeneous Embedded Firmware Update Mechanisms

 

Abstract

Embedded devices are increasingly ubiquitous in our society. Firmware updates are one of the primary mechanisms to mitigate vulnerabilities in embedded systems. However, the firmware update procedure also introduces new attack surfaces, particularly through vulnerable firmware verification procedures. Unlike memory corruption bugs, numerous vulnerabilities in firmware updates stem from incomplete or incorrect verification steps, to which existing firmware analysis methods are not applicable. To bridge this gap, we propose ChkUp, an approach to Check for firmware Update vulnerabilities. ChkUp can resolve the program execution paths during firmware updates using cross-language inter-process control flow analysis and program slicing. With these paths, ChkUp locates firmware verification procedures, examining and validating their vulnerabilities. We implemented ChkUp and conducted a comprehensive analysis on 12,000 firmware images. Then, we validated the alerts in 150 firmware images from 33 device families, leading to the discovery of both zero-day and n-day vulnerabilities. Our findings were disclosed responsibly, resulting in the assignment of 25 CVE IDs and one PSV ID at the time of writing.

Overview of ChkUp

The high-level idea of ChkUp is to statically extract firmware update program execution paths from firmware codebase and pinpointing potential vulnerabilities along these paths based on summarized vulnerability patterns. Subsequently, dynamic vulnerability validation is performed to reduce false alerts. However, three primary challenges remain being addressed to implement this idea: C1. Diverse Programs in Update Paths during extracting firmware update execution paths, C2. Verification Procedure Recognition for vulnerability pattern matching, and C3. Vulnerability Validation to reduce false alerts. To address these challenges, we propose ChkUp (illustrated in Figure below), which comprises four modules:

CVE Details

Firmware Dataset and Source Code

If you find our work helpful, please consider citing our paper:


@inproceedings{wu2024firmware,

 title={Your Firmware Has Arrived: A Study of Firmware Update Vulnerabilities},

 author={Wu, Yuhao and Wang, Jinwen and Wang, Yujie and Zhai, Shixuan and Li, Zihan and He, Yi and Sun, Kun and Li, Qi and Zhang, Ning},

 booktitle={USENIX Security Symposium},

 year={2024}

}