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

J4 ›› 2015, Vol. 37 ›› Issue (06): 1058-1063.

• 论文 • 上一篇    下一篇

辅助检测Linux驱动中漏洞的符号驱动环境

范文良,茅俊杰,肖奇学,徐永健,杨维康,陈渝   

  1. (清华大学计算机科学与技术系,北京 100084)
  • 收稿日期:2014-05-05 修回日期:2014-06-11 出版日期:2015-06-25 发布日期:2015-06-25
  • 基金资助:

    国家自然科学基金资助项目(61170050);核高基重大专项基金资助项目(2012ZX01039004)

Symbolic driver environment:
a tool aided to detect Linux driver bugs 

FAN Wenliang,MAO Junjie,XIAO Qixue,XU Yongjian,YANG Weikang,CHEN Yu   

  1. (Department of Computer Science and Technology,Tsinghua University,Beijing 100084,China)
  • Received:2014-05-05 Revised:2014-06-11 Online:2015-06-25 Published:2015-06-25

摘要:

Linux系统中的驱动漏洞被证实是内核漏洞的主要来源,可以被利用导致严重的安全问题。通过系统模型、驱动与内核的交互和驱动与设备的交互这三部分的设计与实现,构建了符号驱动环境,用于辅助检测Linux驱动中的漏洞。使用符号驱动环境对两个真实的驱动进行检测,成功检测出了两个漏洞,证实了该工具的可行性。与SymDrive工具的性能相比,符号驱动环境执行速度快90%,覆盖率提高20%。

关键词: 驱动漏洞, 漏洞检测, 符号执行, 驱动环境

Abstract:

It has been proved that Linux driver bugs are the major bug source of the whole system, which can lead to serious security problems.A tool called symbolic driver environment (SDE) is designed to detect Linux driver bugs, which consists of the system model,the interactions between driver and kernel, and the interactions between driver and device.Using SDE, we detect two real Linux drivers, and find two bugs. The results prove that the tool is feasible, and the speed is 90% faster and the coverage is 20% larger compared with an existing tool called SymDrive.

Key words: driver bugs;detect bugs;symbolic execution;driver environment