Abstract:This paper studies the memory access characteristics of Linux kernel module, and then suggests a static approach to detect memory access errors when running the code inside kernel module. Through simulation of instructions inside kernel module and comparison between access request and record of memory region, our suggested method is able to find a variety of memory access errors, such as overflow, accessing arbitrary address, invalid pointer, which are the most common threats. At last, based on ARM Processor platform, we give an implementation of our method for detecting errors induced by kernel module, and the experiment result shows it can efficiently work as we expect.