Loading...
Reliability Analysis of Embedded Software Using Simulation-Based Fault Injection
Farahani, Mahsa | 2025
0
Viewed
- Type of Document: M.Sc. Thesis
- Language: Farsi
- Document No: 58051 (19)
- University: Sharif University of Technology
- Department: Computer Engineering
- Advisor(s): Ejlali, Alireza; Asadi, Hossein
- Abstract:
- With the growth of embedded systems, particularly in the fields of infrastructure and critical services, the role of the Unified Extensible Firmware Interface (UEFI) as a key component in managing the early stages of system initialization and bridging hardware and operating systems has become increasingly significant. This component plays a vital role in ensuring the security and reliability of systems. However, firmware vulnerabilities to accidental or deliberate faults remain a fundamental challenge that can disrupt system performance. Fault injection, a powerful method for analyzing reliability and identifying system weaknesses, previously focused on software, hardware, and operating systems, has been extended in this research to the firmware level. The FWIFI framework has been designed and developed to enable, for the first time, fault injection at the firmware level. Leveraging the QEMU emulator and the opensource EDK2 package, this framework automates fault injection into the processor’s primary registers and analyzes system reactions during the boot process. In this regard, system reactions such as code path deviations, invalid instruction generation, and system exceptions have been identified and logged. Events such as page faults, general protection faults, and division-by-zero errors have also been analyzed. The examination of these reactions has led to the identification of patterns that reveal the correlation between the firmware boot phases and the outcomes of the injected faults. Additionally, the vulnerability statistics of different units and the frequency of fault-induced events have been comprehensively analyzed. The results indicate that the UEFI architecture, due to its high sensitivity to address alterations and the lack of advanced recovery mechanisms during the early stages of initialization, is highly vulnerable to faults. In contrast, advanced stages, such as operating system loading, benefit from more robust recovery mechanisms. This research, beyond developing the fault injection framework, contributes to a deeper understanding of firmware behavior under fault conditions and provides recommendations for improving the reliability of UEFI-based systems
- Keywords:
- Firmware ; Fault Injection ; Reliability ; Triggering (Computer) ; Reliability Analysis
