Font Size: a A A

Design And Implementation Of Embedded Software Defects Analysis Tool Based On Fuzzing

Posted on:2024-04-19Degree:MasterType:Thesis
Country:ChinaCandidate:Z H CaoFull Text:PDF
GTID:2568306944963419Subject:Computer technology
Abstract/Summary:PDF Full Text Request
With the fast development of the Internet of Things(IoT)industry,more and more embedded devices are being applied in various fields such as home,medical,transportation,and security,and their security and reliability are increasingly being valued.However,since embedded devices usually use software for control and management,and software often does not have source code or an appropriate development environment,it is extremely difficult to conduct security assessments and vulnerability discovery,especially for memory vulnerabilities.Due to the lack of certain security mechanisms,memory vulnerabilities are often present in software but difficult to detect,and once exploited,they can have serious impacts on the system.Existing embedded software fuzzing tools,such as FIRM-AFL and DICE,focus on how to accurately simulate the execution process of embedded software,reduce simulation overhead,and improve the throughput of fuzzing.However,due to the lack of memory detection,the above tools expose memory-related defects at a slower speed,and many complex memory defects are still difficult to expose.This paper proposes a new embedded software fuzzing tool called DBFuzz(Dynamic Binary Fuzzing)that innovatively addresses memory defects in embedded software.DBFuzz uses memory address detection and memory-oriented methods to implement memory testing of binary embedded software through QEMU simulation dynamic binary instrumentation(DBI for short).Compared with existing fuzzing tools,DBFuzz can record crash information in real time when discovering potential memory defects.This information can help detect memoryrelated defects,so DBFuzz detects memory-related defects faster and with higher accuracy.At the same time,DBFuzz can also guide fuzzing through memory usage,add memory usage for memory selection,and generate more efficient seeds for exploring and exposing memory defects.In summary,this paper combines dynamic memory detection instrumentation technology with memory-guided fuzzing technology to build an embedded software fuzzing tool called DBFuzz.The performance of DBFuzz’s memory instrumentation,fuzzing,and ability to discover real defects were evaluated on commonly used binary embedded software programs in real life.In addition,this paper compared DBFuzz with existing excellent tools DICE and FIRM-AFL.The experimental results showed that DBFuzz has the ability to perforrm dynamic binary memory detection instrumentation on embedded software programs and can discover memory vulnerabilities that DICE and FIRM-AFL cannot detect.The speed of discovering memory vulnerabilities is also faster than existing excellent tools.
Keywords/Search Tags:firmware fuzzing, dynamic instrumentation, firmware emulation, memory vulnerability detection
PDF Full Text Request
Related items