[发明专利]一种基于薄虚拟机监控器的USB存储设备安全访问控制方法有效
申请号: | 201710351397.2 | 申请日: | 2017-05-18 |
公开(公告)号: | CN107239321B | 公开(公告)日: | 2020-08-21 |
发明(设计)人: | 马恒太;刘欢;薛刚汝 | 申请(专利权)人: | 中国科学院软件研究所;北京兆芯电子科技有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F13/42;G06F21/60 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 邱晓锋 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 虚拟机 监控器 usb 存储 设备 安全 访问 控制 方法 | ||
1.一种基于薄虚拟机监控器的USB存储设备安全访问控制方法,其步骤包括:
1)在薄虚拟机监控器BitVisor中,利用USB主机控制器模拟BULK-ONLY数据传输协议;
2)通过薄虚拟机监控器BitVisor中的BULK-ONLY数据传输协议,对USB存储设备的识别操作、读操作和写操作进行拦截,实现对USB存储设备的安全访问控制;
所述对USB存储设备的安全访问控制包括USB存储设备识别控制、只读控制和只写控制;通过Bitvisor控制转发命令块包CBW和命令状态包CSW,实现对USB存储设备的I/O的拦截;按照USB存储设备安全访问控制需求,通过Bitvisor修改CBW的传输长度域和CSW的状态位信息来控制USB存储设备与操作系统之间的数据传递,从而在只写条件下控制操作系统对特定USB存储设备的读操作,在只读条件下控制操作系统对特定USB存储设备的写操作;
通过在Bitvisor中为USB存储设备注册HOOK函数,控制对特定USB存储设备的识别操作。
2.如权利要求1所述的方法,其特征在于,对于禁止访问的USB存储设备,当系统对该USB存储设备进行配置时,HOOK函数会被调用,并在HOOK函数中返回给操作系统配置错误的信息,此时操作系统对该USB存储设备的配置失败,导致该USB存储设备不能被操作系统识别。
3.如权利要求1所述的方法,其特征在于,在BitVisor中设有缓冲区列表,称为影子缓存,在操作系统中设有与其对应的缓冲区列表,称为客机缓存,在BitVisor中实现客机缓存与影子缓存中的数据交换,进而通过影子缓存与USB存储设备直接进行数据传输。
4.如权利要求3所述的方法,其特征在于,当有数据从USB存储设备到主机时,数据首先从USB存储设备传输到BitVisor的影子缓存中,然后再从影子缓存中拷贝到操作系统的客机缓存中以供用户使用;当有数据从主机到USB存储设备时,数据首先从客机缓存中拷贝到影子缓存中,然后再由BitVisor控制影子缓存中的数据传输到USB存储设备中。
5.如权利要求4所述的方法,其特征在于,通过以下步骤实现USB存储设备的只读控制:
a)在HOOK函数中得到CBW命令块,解析该命令块并根据其中数据的传输方向来判断数据是否是主机发送至USB存储设备的,若是则将其传输长度修改为0,并记录下命令块中SCSI命令,以及该命令块的标识;
b)当SCSI命令为0x2a或者0xaa时,阻止客机缓存中的数据被复制到BitVisor中的影子缓存,从而阻止数据流向USB存储设备;
c)将Bitvisor中此次数据传输的传输描述符qtds中状态标识设为传输完成,以使BitVisor能够接收USB存储设备发来的CSW传输状态包,完成一次完整的I/O传输过程;当BitVisor检查数据传输状态时,数据传输完成,则接收从USB存储设备返回的CSW命令状态块,根据CSW中的标识来判断是否是CBW命令包对应的CSW,若是则将该CSW的状态修改为1,代表此次读写操作传输错误,返回给操作系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所;北京兆芯电子科技有限公司,未经中国科学院软件研究所;北京兆芯电子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710351397.2/1.html,转载请声明来源钻瓜专利网。