• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

J4 ›› 2016, Vol. 38 ›› Issue (02): 290-296.

• 论文 • Previous Articles     Next Articles

Symbolic device driver environment for
detecting bugs in Linux device driver 

XU Yongjian1,2,WANG Dan1,CHEN Yu2,FAN Wenliang2   

  1. (1.School of Computer Science,Beijing University of Technology,Beijing 100124;
    2.Department of Computer Science and Technology,Tsinghua University,Beijing 100084,China)
  • Received:2015-03-10 Revised:2015-05-06 Online:2016-02-25 Published:2016-02-25

Abstract:

Studies have shown that driver vulnerability is one of the main causes of Linux security issues, which can lead to privilege escalation, denial of service and other highrisk situations. Considering the difficulty of driver vulnerability detection without real devices, this paper proposes symbolic execution of Linux drivers and implements the symbolic device driver environment (SDDE ), which can detect bugs in Linux device driver. The SDDE provides symbolic kernel services and symbolic devices, making symbolic execution of Linux driver and runtime driver vulnerability detection possible. The SDDE works without real hardware, and has high coverage, high performance and good scalability. The SDDE is applied to 6 Linux drivers, and we found six real bugs, three of which are confirmed by Linux developers.

Key words: bug detection, symbolic execution, Linux, device driver