预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第11卷第3期柳州职业技术学院学报Vol.11No.3 2011年6月JOURNALOFLIUZHOUVOCATIONAL&TECHNICALCOLLEGEJun.2011 [理工农学研究] 基于内核驱动层的操作系统监控技术研究 罗海波 (柳州职业技术学院信息工程系,广西柳州545006) 摘要:根据基于驱动层的操作系统内核监控技术可以截获操作系统底层运行的细节情况,探讨了 采用内核态的监控技术,实现对操作系统底层外设操作驱动的监控。首先,阐述内核驱动拦截技术的 核心思想、实现步骤和典型过程;然后,对内核驱动数据结构进行详细分析,给出了DRIVER_OB- JECT的数据结构,为开发相应拦截程序奠定基础。最后介绍基于内核驱动的监控程序实现过程,给 出了内核驱动监控的具体实现流程,并以一个具体的内核函数调用为例,介绍了信息拦截过程。 关键词:驱动;内核监控;数据结构;拦截程序 中图分类号:TP316文献标志码:A文章编号:1671-1084(2011)03-0051-04 0引言通信的顶层驱动、中间的一个或多个中间层驱 动以及最底层与具体物理设备的通信的底层驱 在Windows操作系统下,用户的所有对底 动。设备驱动程序采用这种开发结构看似把问 层硬件的操作动作都是通过驱动程序完成,而 题变得复杂化了,实现的代码也明显增加。但 不是由操作系统直接给硬件设备发出操作信号。 是这种结构却非常有利于代码的共享重用。处 因此对于计算机中应用程序的开发者而言 ,,于中间层的驱动可以被不同设备的驱动程序重 可以既不了解每一种硬件实体的操作规程、通 用,这将大大降低设备驱动程序的总体代码开 信协议和使用方法,也可以不了解如何识别硬 发量。各层驱动程序工作时,通过其提供的API 件是否工作正常、如何从硬件设备中读取信息 函数完成访问功能。这种API函数统一采用I/O 和控制硬件设备执行具体操作。所有这一切的 请求包结构进行编写和管理。I/O请求包结构通 工作都可以交给硬件设备相关的驱动程序完成。 常也被简称为IRP结构,是Windows操作系统 每一种硬件设备都有与其对应的驱动程序, 中调用和访问驱动程序必须使用的数据结构。 这种驱动程序通常被称为设备驱动程序。其内 在整个Windows操作系统中,存在着大量的 部包含了各种可能对硬件设备的操作程序,通 IRP,这些IRP完成着所有操作系统所交给任 过这些程序,既可以获知硬件设备的工作状态 务,不管是合法的还是非法的。因此,从如何 和提取硬件设备上的相关数据、也可以根据这 提高计算机安全性的角度来看,相比在应用层 些状态控制硬件设备完成指定的操作。设备的 拦截用户操作,并分析用户访问的合法性及危 驱动程序一般都是由设备开发商连同设备一起 害,从操作系统的内核驱动层进行拦截和分析 开发好,供用户使用。 将有巨大的优势。因此,本文也将重点以内核 需要注意的设备驱动程序虽然随着每个设 驱动层的拦截与分析,探讨如何提高计算机上 备不同,而在开发过程中使用不同的代码。但 各种行为的安全性。 是设备驱动程序的总体结构却不是一个独立的 操作系统内核驱动拦截技术 结构,而是一种分层次的结构。一个驱动程序1Windows 由多个层次组成,分别是一个与上层应用程序为了实现对操作系统中各种操作的安全性 收稿日期:2011-03-28 作者简介:罗海波(1973-),男,广西柳州人,柳州职业技术学院高级实验师,工程硕士,主要研究方向:计算机应用技术。 52柳州职业技术学院学报2011年6月 检查和分析,首先需要活动每个动作的具体操 作细节比如是读取硬盘还是外设所访问的 。, 区域是在硬盘中的系统区还是用户的数据文件 等等只有获得了这些详细的操作细节才能  。, 够对用户的具体操作是否违反安全策略、所有 IO_Creat_Device 的操作是否合法等做出判断。如果在用户层对! 用户进程进行分析那么针对每一个用户程序 ,Add_Device 都需要开发相应的检测和拦截程序。随着用户!"#$%&’()* 程序的千变万化,很难准确、实时地开发那么+,-.4)*5 !678-.9:5IRP 多的拦截程序。因此,对Windows操作系统的  用户行为安全性分析不能停留在应用层的程序+,-./0123 上而应该通过对操作系统中的内核 ,Windows+,-.; 4< 驱动层进行拦截。 在实现操作系统内核驱动拦截程 Windows图1Windows操作系统中 序之前,首先需要分析内核驱动的工作机制和内核驱动工作和拦截示意图 原理,掌握驱动程序工作时数据的流向和相关 特性通过分析可知在内核驱动