一种基于windows的通用外设管控系统

上传人:小** 文档编号:31383678 上传时间:2018-02-07 格式:DOC 页数:8 大小:82KB
返回 下载 相关 举报
一种基于windows的通用外设管控系统_第1页
第1页 / 共8页
一种基于windows的通用外设管控系统_第2页
第2页 / 共8页
一种基于windows的通用外设管控系统_第3页
第3页 / 共8页
一种基于windows的通用外设管控系统_第4页
第4页 / 共8页
一种基于windows的通用外设管控系统_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《一种基于windows的通用外设管控系统》由会员分享,可在线阅读,更多相关《一种基于windows的通用外设管控系统(8页珍藏版)》请在金锄头文库上搜索。

1、一种基于 Windows 的通用外设管控系统 高发桂 湖北民族学院信息工程学院 摘 要: 提出一种基于 Windows 设备过滤驱动实现的外设管控方案, 主要讨论建立一种通用的 Windows 外部设备的管控系统, 即无需针对新型设备另外开发一套新的系统.该外部设备主要指 USB 移动存储设备、串口、并口、蓝牙、红外等物理设备.系统包括对设备使用权限的控制以及设备使用行为的审计并形成日志存储在本地.该方法具有与操作系统联系紧密, 安装监控模块便捷, 在用户无感知的情况下完成对终端外部设备的管控.关键词: 设备过滤驱动; Windows 驱动程序模型; I/O 请求包; 权限控制; 操作审计;

2、作者简介:高发桂 (1964-) , 女, 硕士, 副教授, 主要从事计算机网格安全的研究.收稿日期:2016-12-05基金:湖北省自然科学基金项目 (2009CDB069) A Universal Peripheral Management System Based on WindowsGAO Fagui School of Information and Engineering, Hubei University for Nationalities; Abstract: This paper presents a peripheral device control scheme base

3、d on Windows device filter driver.A general management system for Windows external devices is established, that is, there is no need to develop a new system for new devices.The peripheral devices mainly refer to such physical devices as USB removable storage device, serial port, parallel port, Bluet

4、ooth and infrared device.The system has the functions of controlling the usage right of the devices and auditing the device using behavior and forming the log to be stored locally.The method has the advantages of close connection with the operating system and convenient installation of the monitorin

5、g module and can complete management and control of the peripheral devices of the terminal without being realized by the user.Keyword: device filter driver; Windows driver model; I/O request packet; access control; operation auditing; Received: 2016-12-05随着信息技术的发展, 外部存储设备的使用越来越普遍, 同时外部设备的表现形式也是花样繁多,

6、 比如 USB 接口的无线网卡等, 这直接导致了用户借助于硬件设备的途径将机密数据泄露1.对于局域网中的硬件设备本身不是很严谨, 重要的数据很容易通过串、并口、可移动存储设备拷贝, 使得在局域网内违规获取机密信息变得十分快捷.缺少通用的外设管控系统, 使得局域网内任何人都有可能有意或者无意的泄露机密信息.目前国内针对设备的监控采用 Hook Windows API2, 通过在 ring3 模式下 HOOK Create File、Read File、Write File 等 API 以达到实现监控硬件设备的目的, 此种方式缺点非常明显, 比如在多线程调用下缺乏健壮性以及外部容易绕过而出现监控不

7、彻底的情况.张赟3等人通过 SSDT HOOK 内核函数, 以达到外设监控的目的, 此种方式存在的缺陷在于 Windows X64 平台的系统存在内核 patch, 在该平台上, 此种方式会出现蓝屏.杨思燕4提出基于 Windows 文件过滤驱动监控 USB 可移动存储设备, 效果较好, 但是只能针对 USB 等存储设备监控, 无法对串口等设备进行有效的监控.岳亮5提出了 USB 外设的监控, 较好的实现了 USB 设备的存储控制以及USB 访问日志记录, 但是对于其他外设的监控却没有提供支持.本文提出的基于 Windows 的通用外设的管控系统实现方案, 通过 WDM 设备过滤驱动程序6实现

8、管控通用外设的目的.过滤驱动7-8是一种中层驱动程序, 它位于其他的功能驱动程序的层次之间.处于功能驱动程序之上的被称为上层过滤器, 处于功能驱动程序之下的被称为下层过滤器.上层过滤器的作用是通过拦截IRP 驱动请求包来处理设备的附加功能, 而下层过滤器的作用是可以拦截并且修改发往设备驱动的 IRP 驱动请求包, 已达到拦截的目的9.WDM 模式的过滤驱动程序可以不断的叠加, 即任何一方的设备过滤驱动程序可以被更为底层的过滤驱动程序附加10.把硬件设备的管理与 Windows 功能设备驱动程序无缝集成, 对设备的权限使用的控制以及操作行为的审计对用户透明, 用户无感知, 可以方便部署在局域网中

9、主动防御通过硬件资源的泄密.本文首先介绍了本系统的目标, 其次介绍了通用外设管控系统的实现原理;再次介绍了基于 Windows 设备过滤驱动的通用外设管控系统实现;最后对系统做了功能以及性能测试.1 通用外设管控系统的目标为了克服现有硬件监控系统的不足, 使本文介绍的方案具有高安全性和实用性, 提出以下目标:1) 管控彻底, 从 Windows 底层入手, 拦截一切外部设备的 IRP_MJ_CREATE 与IRP_MJ_WRITE 等 IRP, 不会出现 ring3 层监控容易绕过的问题;2) 用户体验好, 效率高, 整个监控过程是在内核中透明完成的, 用户无感知;3) 系统兼容性强, 摒弃内

10、核 HOOK 的办法, 采用 WDM 下层过滤器的方式拦截设备操作, 在 X64 平台不会蓝屏死机;4) 管控精细, 不仅对硬件设备进行权限控制, 同时也对硬件设备的使用行为进行审计, 便于事后追溯;5) 策略灵活, 系统控制应该较为灵活, 可以很快修改某类设备的权限;2 基于设备过滤驱动的通用外设监控系统2.1 设备过滤驱动的工作原理图 1 WDM 过滤驱动层次图 Fig.1 WDM filter driven hierarchical diagram 下载原图WDM 驱动是对 NT 模式驱动的有效补充, 增加了对即插即用的支持11, 同时需要提供一个用以描述安装过程的 INF 文件, 在

11、INF 文件中注明过滤驱动程序所对应的功能驱动程序在注册表中子键的信息以及本过滤器自身的信息.WDM 是一个层次化的驱动程序模型, 在该模型中, 驱动的层和堆栈一起协同处理 I/O 请求.Windows 的子系统是基于对象的, 同时也是包驱动的, 每个 I/O 操作是通过一个 IRP 描述, 驱动程序的工作过程即是 IRP 包处理的过程12.WDM 设备过滤驱动的层次如图 1 所示.WDM 使用了图 1 所示的模型, 右边是一个设备对象的堆栈.任意一个物理硬件设备都可以有多个这样的数据结构, 处于堆栈最底层的设备对象称为物理设备对象, 简称 PDO, 在设备对象堆栈的中间某一层的对象称为功能设

12、备对象, 简称FDO, 位于 FDO 上面的称为上层过滤器, 位于 FDO 下面的称为下层过滤器.操作系统的 PNP 管理器按照设备驱动程序的要求去构造设备对象堆栈.一旦总线驱动检测到新硬件的存在, 那么 PNP (即插即用) 管理器即会创建一个 PDO, 之后开始生成上述数据结构的堆栈.PNP 管理器最先装入最底层的过滤器驱动程序并调用 Add Device 函数, 创建 FIDO, 然后 Add Device 将 PDO 连接到 FIDO 上, PNP管理器继续向上执行, 装入并调用每个底层过滤器、功能驱动程序、高层过滤器, 直至完成整个堆栈13.在下层过滤器驱动的初始化过程中, Add

13、Device函数作用是创建设备类对象, 即所过滤设备驱动的类对象14, 进一步是通过调用 Io Create Device 实现的.图 2 基于设备过滤驱动的通用外设管控系统的总体设计模型 Fig.2 A general design model of universal peripheral management and control system based on device filter driver2.2 通用外设管控系统总体设计模型基于设备过滤驱动的通用外设管控系统的总体设计模型如图 2 所示.用户通过设置各类硬件设备的使用权限, 设备过滤驱动模块依据应用程序所设置的硬件设备的权

14、限, 在 IRP_MJ_CREATE 以及 IRP_MJ_WRITE 上进行控制设备的打开以及写入操作.同时在 Add Device 处记录通过事件通知应用程序, 有设备接入系统, 需要记录接入行为.在 IRP_MN_REMOVE_DEVICE 派遣函数中通过事件通知应用程序, 有设备移除系统, 需要记录移除行为.2.3 设备权限的管理在应用层与设备过滤驱动的交互中, 设备权限的数据结构如下:在 Filter Device Type_Auth 结构成员中, dw Device Type 表示待监控的设备类型, 其取值为枚举_DEVICE-TYPE 中对应数据, 权限字段 dw Auth Fla

15、g 表示待监控设备所具有的权限, 其取值为枚举_DEVICE_AUTH_FLAG 中对应的数据.对于外设正常的使用情况下, 仅需过滤驱动将 IRP 向下层传递即可, 而对于完全禁用和只读的情况需要分开处理, 下面分完全禁用和只读两种情况分别阐述拦截的流程.a) 对于硬件设备完全禁用的处理流程如下图 3 所示.用户通过设置各类硬件设备的使用权限, 设备过滤驱动模块依据应用程序所设置的硬件设备的权限, 控制设备完全禁用的情况下, 只需要控制硬件设备的打开操作即可, 控制了打开, 其设备的读写无需控制.在 IRP_MJ_CREATE 例程中, 先查询设备的类型, 根据设备类型查询设备权限控制链表,

16、如果不属于完全禁用的设备, 只需将 IRP 传递至下层总线驱动即可, 如果属于完全禁用的设备, 需要在本层完成此 IRP, 同时返回状态 STATUS_IN-VALID_DEVICE_REQUEST.b) 对于硬件设备只读的处理流程如下图 4 所示.用户通过设置各类硬件设备的使用权限, 设备过滤驱动模块依据应用程序所设置的硬件设备的权限, 控制设备只读的情况下, 只需要控制硬件设备的写入操作即可.在 IRP_MJ_WRITE 例程中, 先查询设备的类型, 根据设备类型查询设备权限控制链表, 如果不属于正常的设备, 只需将 IRP 传递至下层总线驱动即可, 如果属于只读的设备, 需要在本层完成此 IRP, 同时返回状态STATUS_INVALID_DEVICE_REQUEST.不能返回 STATUS_ACCESS_DENIED 状态, 因为在写入的时候, 如果返回拒绝写入, I/O 管理器会误认为是权限问题, 会多次写入, 造成资源管理器响应缓慢的情况.图 3 设备完全禁用情况下的处理流程图

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号