[发明专利]一种基于KVM的虚拟机文件强制访问控制方法及系统有效
申请号: | 201510180485.1 | 申请日: | 2015-04-16 |
公开(公告)号: | CN104794407B | 公开(公告)日: | 2018-01-26 |
发明(设计)人: | 金海;羌卫中;陈峰;邹德清 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F9/455 |
代理公司: | 华中科技大学专利中心42201 | 代理人: | 廖盈春 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于KVM的虚拟机文件强制访问控制方法及系统,属于云计算和信息安全技术领域。本发明包括系统调用截获,语义解析和策略分析三个部分。系统调用截获是指当虚拟机内部发生系统调用时,发生虚拟机退出,陷入KVM中;语义解析是指当虚拟机陷入KVM后,通过虚拟处理器中的寄存器信息还原出虚拟机陷入前的状态信息;策略分析是指根据虚拟机陷入前的状态信息与用户自定义策略对比决定是否对文件进行访问控制。本发明能够对虚拟机实施透明的文件访问控制,可以防止恶意程序破坏,提高了文件强制访问控制的安全性。 | ||
搜索关键词: | 一种 基于 kvm 虚拟机 文件 强制 访问 控制 方法 系统 | ||
【主权项】:
一种基于KVM的虚拟机文件强制访问控制方法,其特征在于,包括:该方法只需要制定对文件的访问控制策略,即能够实现对一个节点的多台虚拟机进行批量化定制;该方法能够实现普通模式和访问控制模式,其中,在所述普通模式下,不对系统调用截获和语义解析,不进行文件访问控制;在所述访问控制模式下,截获发生的系统调用并进行语义解析,并对文件进行访问控制,整个访问控制过程对虚拟机透明,并能够防止发生由于虚拟机操作系统漏洞或用户操作不当而导致的强制访问控制失败;该方法具体包括下述步骤:步骤1 在前端指定文件访问控制策略;步骤2 将虚拟处理器中特殊模块寄存器的值保存,并设置其值为0;步骤3 当虚拟机发生系统调用时,在所述虚拟处理器中设置的所述特殊模块寄存器的值被加载到CS寄存器中,系统调用号被压入EAX寄存器中,所述虚拟机切入内核态;步骤4 CPU根据代码段为0的地址寻址,产生一般保护错误,发生虚拟机退出,虚拟机陷入KVM;步骤5 为所述KVM添加处理所述一般保护错误的代码,分析出错原因,如果出错原因是由于设定CS寄存器值为0引起的,则执行步骤6;否则,将原先保存的所述特殊模块寄存器的值写入所述CS寄存器,执行虚拟机进入,恢复虚拟机执行;步骤6 屏蔽所述虚拟处理器中保存的堆栈段寄存器ESP字段的低13位得到thread_info结构体的地址;步骤7 根据所述thread_info结构体的地址读取task_struct结构体的地址,以获取进程控制块的信息;步骤8 重构所述进程控制块内存,获得文件系统信息,遍历进程文件目录,获取进程打开所有文件的绝对路径;步骤9 获取所述虚拟处理器中的EAX字段的值,该值对应虚拟机所发生系统调用的系统调用号,如果该值为3或4,则读取虚拟机中发生系统调用的文件描述符,转入执行步骤10,否则将原先保存的所述特殊模块寄存器的值写入所述CS寄存器,执行虚拟机进入,恢复虚拟机执行;步骤10 根据所述文件描述符获取发生读写文件的绝对路径及对文件的读写模式,对比所述文件访问控制策略,如果所述文件访问控制策略允许该文件操作,则将原先保存的所述特殊模块寄存器的值写入所述CS寄存器,执行虚拟机进入,恢复虚拟机执行,否则转入执行步骤11;步骤11 执行文件强制访问控制,恢复虚拟机系统调用堆栈,并执行虚拟机进入,系统调用被禁止执行。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510180485.1/,转载请声明来源钻瓜专利网。