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
-
محتواي کتاب
- view
- مقدمه
- تعریف مسئله
- اهمیت موضوع
- اهداف پژوهش
- ساختار پایاننامه
- مفاهیم اولیه
- ثابتافزار
- قابلیت اطمینان
- رابط ثابتافزار توسعه پذیر یکپارچه
- فرایند راهاندازی
- جمعبندی
- ادبیات پژوهش
- تزریق اشکال مبتنی بر سختافزار
- تزریق اشکال مبتنی بر نرمافزار
- تزریق اشکال مبتنی بر شبیهسازی
- پژوهشهای پیشین رابط ثابتافزار توسعهپذیر یکپارچه
- جمعبندی
- رویکرد پیشنهادی
- معرفی روش پیشنهادی
- محیط آزمایش و ابزارهای مورد استفاده
- شبیهساز QEMU
- خط فرمان GDB
- بسته توسعه EDK2
- مراحل پیادهسازی روش پیشنهادی
- جمعبندی
- نتایج و تحلیلها
- دستهبندی خطاها و تحلیل رفتاری سامانه
- شکست ورود به محیط مجازیسازی
- خطای داخلی سامانه مجازیسازی
- خطای صحتسنجی شاخص پردازنده
- اختلال در فرآیند بارگذاری راهانداز
- خطای دستورالعمل نامعتبر
- خطای نقص صفحه
- خطای حفاظت عمومی
- وقفه توقف
- خطای تقسیم بر صفر
- بخشهای آسیبپذیر
- تولید اعداد تصادفی
- تنظیم تاخیر
- پیکربندی پردازنده
- هسته مرکزی راهاندازی
- تحلیل آماری نتایج
- تحلیل زمانی وقوع خطاها
- تحلیل ارتباط شماره بیت و نوع خطاها
- تطبیق نتیجه اشکال با منشا آسیبپذیری
- راهکارهای پیشنهادی
- صفحات نگهبان
- حفاظت از اجرای داده
- تصادفیسازی چیدمان فضای آدرس
- جمعبندی
- دستهبندی خطاها و تحلیل رفتاری سامانه
- نتیجهگیری و کارهای آتی
- مراجع
- واژهنامه
- جزئیات فنی آزمایشها
- انتشار مقاله مرتبط با پژوهش
- مخزن کد منبع پیادهسازی
