信息网络安全 ›› 2016, Vol. 16 ›› Issue (11): 57-65.doi: 10.3969/j.issn.1671-1122.2016.11.010

• • 上一篇    下一篇

设备驱动非内核化通信架构的研究与实现

谭茁, 翟高寿   

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

    作者简介:谭茁(1992—),女,山西,硕士研究生,主要研究方向为操作系统安全;翟高寿(1971—),男,山西,副教授,博士,主要研究方向为操作系统与系统安全、系统软件设计、算法分析与设计。

  • 基金资助:
    国家自然科学基金[61672092];国家留学基金委青年骨干教师出国研修项目[201307095025]

Study and Implementation of Communication Mechanism for Non-kernel Device Drivers

Zhuo TAN, Gaoshou ZHAI   

  1. School of Computer and Information Technology, Beijing Jiaotong University, Beijing 100044, China
  • Received:2016-08-30 Online:2016-11-20 Published:2020-05-13

摘要:

操作系统内核安全是整个计算机及信息系统安全的基石,而拥有50%以上份额内核代码的设备驱动程序则被认为是内核漏洞的主要来源。设备驱动程序通常以系统级权限运行在内核空间,而操作系统对运行在内核空间的程序是完全信任的。所以,一旦设备驱动程序存在漏洞或恶意代码,往往会影响操作系统安全,甚至导致整个系统的崩溃。为解决此类安全问题,设备驱动程序非内核化成为可选的有效途径之一。考虑到设备驱动程序的复杂性及其与操作系统其他内核模块之间的密切关联性,设备驱动程序的非内核化迁移是一项耗时耗力的工作。立足于自动化迁移的最终目标,文章试图构建一种规范的通信架构,探索选择设备驱动函数迁移的科学依据、迁出函数与用户空间函数的设计框架以及典型的非内核化迁移操作过程。相关原型测试结果表明,文章给出的设备驱动非内核化通信机制在有效隔离设备驱动安全问题的同时,并未过多增加系统开销,对系统性能没有造成太大影响。

关键词: 操作系统安全, 非内核化设备驱动程序, 内核空间, 用户空间, 通信机制

Abstract:

The kernel security of operating systems is the foundation of the security of computer and information systems. Device drivers are considered to be the main source of kernel bugs because they account for more than 50% of kernel codes. Moreover, device drivers always run in kernel-space with system level permission, and the system completely trusts the codes running in kernel-space. So, if some bugs or malicious codes exist in device drivers, it could affect the safety of operating systems, and even render the whole system collapse. In order to prevent such failure caused by device drivers, moving part or whole codes of device drivers to user space becomes one of the effective ways to limit and isolate the vulnerability of device drivers. However, it will be a time consuming task because device drivers are various and complicated and closely related to other modules of kernels. Based on the final goal of automated split and migration, this paper attempts to construct unified and standardized communication architecture, to explore scientific policies about migrated functions within device drivers, to design framework for both user space part and kernel space part of the migrated functions, and to extract basic non-kernel migration operations. Corresponding prototypes are implemented and test results show that communication mechanisms and non-kernel solutions for device drivers in this paper are effective and less overloaded.

Key words: security of operating systems, non-kernel device drivers, kernel space, user space, communication mechanism

中图分类号: