Font Size: a A A

Study On Fault Injection Method Of Device Drivers

Posted on:2020-12-12Degree:MasterType:Thesis
Country:ChinaCandidate:R X ZhaiFull Text:PDF
GTID:2428330575995223Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
At present,the Linux operating system has been widely used in the world.With the increase of the Linux market share and the number of users,the security and the failure tolerant ability of the system have been paid more and more attention.As the core of the whole operating system,kernel affects the stability and security of the whole system.More than half of its source codes are device driver codes,which are the main source of the kernel vulnerabilities.In particular,device drivers work well in a normal system environment,but when the system failure occurs,they can get into serious troubles because they cannot handle some specific errors.In order to ensure the safety and reliability of the system,and make the system provide high-quality failure tolerant processing,various tools and technologies are needed to conduct the fault simulations for the negative impacts of hidden defects in the device driver module test.Fault injection technology is a verification technology that observes the system behaviors when a fault occurs because of artificially introducing a fault to the target system.It is often used to evaluate the reliability of the system and the effectiveness of the fault tolerance mechanism.Therefore,it is necessary to study the fault injection method for the device drivers,which has very important application value and practical significance for improving the security and reliability of the system.This paper takes the Linux device driver as the research object and proposes the device driver fault injection method based on the kernel function call instruction detection and replacement.Meanwhile,this method constructs a fault injection core mechanism based on the dynamic loadable module mechanism.It also designs and implements the corresponding fault injection startup configuration and shutdown handler.Based on this,the robustness and reliability of the relevant drivers are verified through various fault injection test experiments on device drivers,and the code design defects that are hidden in some device drivers are also found.Meanwhile,the kernel dependent interface of device driver is analyzed first,and a list of fault injection target functions are extracted for specific device drivers.The kermel notification chain mechanism is used to monitor the target module status of the fault injection,and a fault scenario builder is provided to check,confirm and prepare the pre-injection environment for the core mechanism of the fault injection.The scenario builder can also set the target module name of the fault injection and the fault injection functions list.This method uses a call interception technique to detect a kernel function call instruction of the specific fault injection target object,and replaces the name of the target function with the hijacker function name to perform fault simulation.In addition,considering the timely recovery after the fault occurrence and the need for multiple triggering of the fault,the fault re-trigger mechanism is implemented by the debugfs pseudo-file system,so that the tester can set the fault type to be triggered again from the user space at any time in an interactive manner.The prototype test results of the device-driven fault injection show that the method can effectively monitor the status of the target module for the fault injection,and give the corresponding fault hints and fault location.At the same time,it can also verify the robustness of the target module.Compared with other existing fault injection tools,this tool can achieve multi-kernel function fault injection and trigger multiple different paths.It is more flexible and controllable for the target program test.
Keywords/Search Tags:Security of kernel, Device drivers, Fault injection, Notifier chain, Debugfs
PDF Full Text Request
Related items