信息网络安全 ›› 2019, Vol. 19 ›› Issue (6): 19-27.doi: 10.3969/j.issn.1671-1122.2019.06.003

• 技术研究 • 上一篇    下一篇

设备驱动故障注入方法的研究与实现

翟高寿(), 翟瑞霞, 刘峰, 李红辉   

  1. 北京交通大学计算机与信息技术学院,北京 100044
  • 收稿日期:2019-03-20 出版日期:2019-06-10 发布日期:2020-05-11
  • 作者简介:

    作者简介:翟高寿(1971—),男,山西,副教授,博士,主要研究方向为操作系统、系统安全、系统软件;翟瑞霞(1994—),女,山西,硕士研究生,主要研究方向为操作系统安全;刘峰(1961—),男,山西,教授,博士,主要研究方向为网络管理、软件测试;李红辉(1964—),女,湖南,研究员,硕士,主要研究方向为网络管理、软件测试。

  • 基金资助:
    国家重点研发计划[2016YFF0204002];教育部产学合作协同育人项目[201702025004]

Study and Implementation of Fault Injection Method for Device Drivers

Gaoshou ZHAI(), Ruixia ZHAI, Feng LIU, Honghui LI   

  1. School of Computer and Information Technology, Beijing Jiaotong University, Beijing 100044, China
  • Received:2019-03-20 Online:2019-06-10 Published:2020-05-11

摘要:

文章以Linux设备驱动为研究对象,提出了一种灵活可控的基于加载时函数调用指令检测替换及运行时自动恢复与交互式再触发相结合的故障注入模型,设计并实现了相应的故障注入原型。目标驱动模块的加载监测利用了内核事件通知链机制,故障注入采用了函数调用指令检测替换方法,目标函数集的设置综合运用了Shell程序命令行参数和内核模块加载时参数传入方式,故障再触发机制利用了内核调试伪文件系统。与其他故障注入工具相比,该原型系统存储开销小,灵活性和可用性更佳,能够更加高效地进行健壮性和可靠性的测试验证。

关键词: 内核安全, 设备驱动, 故障注入, 事件通知链, 内核调试伪文件系统

Abstract:

In this paper, a flexible and controllable model of fault injection is put forward based on location and replacement of function invocation instructions at the time of module installation and based on automatic recovery and interactive re-triggering at run-time. The corresponding prototype is designed and implemented where notifier chain is used for monitoring the installation of target modules, command line arguments of Shell programs and module parameters are used comprehensively for the configuration of target functions of fault injection, and debugfs is exploited for triggering fault again. Compared with other fault injection tools, our prototype has more flexible and more controllable features in routines of triggering faults of multiple kernel functions so that robustness and dependability of kernel modules such as device drivers can be verified more effectively.

Key words: security of kernel, device drivers, fault injection, notifier chain, pseudo file system for kernel debugging

中图分类号: