System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 对寄存器执行操作的方法、计算机设备、存储介质及程序产品技术_技高网

对寄存器执行操作的方法、计算机设备、存储介质及程序产品技术

技术编号:42507433 阅读:13 留言:0更新日期:2024-08-22 14:22
本发明专利技术涉及虚拟机技术领域,公开了对寄存器执行操作的方法、计算机设备、存储介质及程序产品,包括:捕获目标操作指令,其中,目标操作指令为导致虚拟机从工作状态切换为退出状态的操作指令;根据目标操作指令,确定目标操作指令的类型;当根据目标操作指令的类型,确定目标操作指令为对目标寄存器进行操作的指令时,获取与目标寄存器对应的原值;获取与目标操作指令对应的第一新值;在预构建的策略表中,确定是否存在与目标寄存器对应的目标策略数据;当确定策略表中存在目标策略数据时,从目标策略数据、原值,以及第一新值中选取一个或多个元素,对目标寄存器执行操作。本发明专利技术可以防止某些软件绕过内核加固技术攻击虚拟机操作系统。

【技术实现步骤摘要】

本专利技术涉及虚拟机,具体涉及对寄存器执行操作的方法、计算机设备、存储介质及程序产品


技术介绍

1、随着云计算的兴起,现阶段很多用户选择云端的计算、存储、网络等资源来构建计算环境。作为云计算的支撑技术,虚拟化技术已经实现大部分物理设备的功能。

2、在虚拟机
中,虚拟机操作系统的安全手段与物理机操作系统的安全防御手段一致,例如,内核加固技术。内核加固技术是指通过对操作系统内核进行修改、优化和加密等手段,以提高系统的安全性和抵抗外部攻击的能力。例如,内核加固技术可以通过对关键内核函数进行限制,防止某些软件通过调用关键内核函数获取操作系统的权限,对虚拟机操作系统执行破坏操作。

3、但是,内核加固技术是在内核层面实现,而在虚拟机场景中,虚拟机内核并非运行在处理器的最高权限,因此,存在某些软件绕过内核加固技术进而攻击虚拟机操作系统的风险。


技术实现思路

1、有鉴于此,本专利技术提供了一种对寄存器执行操作的方法、装置、计算机设备、存储介质及程序产品,以解决某些软件绕过内核加固技术进而攻击虚拟机操作系统的问题。

2、第一方面,本专利技术提供了一种对寄存器执行操作的方法,捕获目标操作指令,其中,所述目标操作指令为导致虚拟机从工作状态切换为退出状态的操作指令;

3、根据所述目标操作指令,确定所述目标操作指令的类型;

4、当根据所述目标操作指令的类型,确定所述目标操作指令为对目标寄存器进行操作的指令时,获取与所述目标寄存器对应的原值;

5、获取与所述目标操作指令对应的第一新值;

6、在预构建的策略表中,确定是否存在与所述目标寄存器对应的目标策略数据;

7、当确定所述策略表中存在所述目标策略数据时,从所述目标策略数据、所述原值,以及所述第一新值中选取一个或多个元素,对所述目标寄存器执行操作。

8、本专利技术提供的一种对寄存器执行操作的方法,具有如下优点:

9、由于对寄存器中的值进行修改是最底层的修改方式,尽管某些软件会绕过内核加固技术,但是本方案通过在寄存器层面直接拦截目标操作指令,并可以根据预先构建的策略表中的策略数据,以及获取到的目标寄存器的原值和第一新值,对目标操作指令进行具体分析后,才对目标寄存器执行操作。这样,可以避免某些软件直接修改寄存器中的值导致的虚拟机安全问题。

10、在一种可选的实施方式中,所述目标寄存器为控制寄存器;

11、所述当确定所述策略表中存在所述目标策略数据时,从所述目标策略数据、所述原值,以及所述第一新值中选取一个或多个元素,对所述目标寄存器执行操作,包括:

12、对所述原值和所述第一新值进行异或操作,确定是否存在至少一个修改位;

13、当确定存在至少一个所述修改位时,根据每一个所述修改位和所述目标策略数据,对所述第一新值中与每一个所述修改位对应的值进行更新,得到第二新值;

14、根据所述第二新值,对所述目标寄存器执行更新操作。

15、具体地,由于控制寄存器的每一个比特位用于指示一种功能,因此,对于每一个比特位都进行策略验证操作,可以全面覆盖所有功能。并且,对于每一个修改位都进行策略验证后进行更新,可以保证最终更新的值是安全值,可以提高虚拟机的安全性。

16、在一种可选的实施方式中,所述当确定存在至少一个所述修改位时,根据每一个所述修改位和所述目标策略数据,对所述第一新值中与每一个所述修改位对应的值进行更新,得到第二新值,包括:

17、根据目标修改位,确定所述目标策略数据中是否存在与所述目标修改位对应的策略子数据,其中,所述目标修改位为至少一个所述修改位中的任一个修改位;

18、当确定所述目标策略数据中存在所述策略子数据时,根据所述策略子数据,对所述第一新值中与所述目标修改位对应的值进行更新;

19、在确定存在策略子数据的修改位均被执行更新操作后,得到所述第二新值。

20、具体地,通过存在策略子数据的修改位,对第一新值进行更新后,可以得到安全值,即第二新值,可以保证最终更新的值是安全值,可以提高虚拟机的安全性。

21、在一种可选的实施方式中,所述当确定所述目标策略数据中存在所述策略子数据时,根据所述策略子数据,对所述第一新值中与所述目标修改位对应的值进行更新,包括:

22、当确定所述策略子数据中包括与所述目标修改位对应的第一固定值时,将所述第一新值中与所述目标修改位对应的值修改为所述第一固定值;

23、或者,

24、当确定所述策略子数据中包括禁止修改的指示信息时,将所述第一新值中与所述目标修改位对应的值进行还原为所述原值中与所述目标修改位对应的值。

25、具体地,不同的修改位可以对应不同的修改方式,该修改方式与相应修改位的功能相关,通过相应的修改方式,可以将第一新值更新为一个安全值,可以提高虚拟机的安全性。

26、在一种可选的实施方式中,所述目标寄存器为特殊模块msr寄存器;

27、所述当确定所述策略表中存在所述目标策略数据时,从所述目标策略数据、所述原值,以及所述第一新值中选取一个或多个元素,对所述目标寄存器执行操作,包括:

28、当确定所述目标策略数据中包括与所述目标寄存器对应的第二固定值时,根据所述第一新值和所述第二固定值,对所述目标操作指令设置执行标志;

29、或者,

30、当确定所述目标策略数据中不包括与所述目标寄存器对应的第二固定值时,根据所述目标策略数据中是否包括禁止修改的指示信息,对所述目标操作指令设置所述执行标志;

31、根据所述执行标志,对所述目标寄存器执行与所述执行标志对应的操作。

32、具体地,当存在第二固定值时,根据第一新值与第二固定值,可以防止未经授权的修改,确保寄存器值保持在安全范围内。当不存在第二固定值但有禁止修改的指示信息时,直接阻止修改操作,进一步加强了对目标寄存器的保护。

33、在一种可选的实施方式中,所述执行标志为第一标志或第二标志,其中,所述第一标志用于指示执行所述目标操作指令,所述第二标志用于指示禁止执行所述目标操作指令;

34、所述当确定所述目标策略数据中包括与所述目标寄存器对应的第二固定值时,根据所述第一新值和所述第二固定值,对所述目标操作指令设置执行标志,包括:

35、对所述第一新值和所述第二固定值进行比较;

36、当比较结果为所述第一新值和所述第二固定值一致时,将所述目标操作指令的执行标志设置为所述第一标志;

37、或者,

38、当比较结果为所述第一新值和所述第二固定值不一致时,将所述目标操作指令的执行标志设置为所述第二标志。

39、具体地,本方案可以确保只有当新值与预设的固定值完全一致时,才会允许执行修改操作,这有效地防止了未经授权的更改,提升了虚拟机的安全性。

40、在一本文档来自技高网...

【技术保护点】

1.一种对寄存器执行操作的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述目标寄存器为控制寄存器;

3.根据权利要求2所述的方法,其特征在于,所述当确定存在至少一个所述修改位时,根据每一个所述修改位和所述目标策略数据,对所述第一新值中与每一个所述修改位对应的值进行更新,得到第二新值,包括:

4.根据权利要求3所述的方法,其特征在于,所述当确定所述目标策略数据中存在所述策略子数据时,根据所述策略子数据,对所述第一新值中与所述目标修改位对应的值进行更新,包括:

5.根据权利要求1所述的方法,其特征在于,所述目标寄存器为特殊模块MSR寄存器;

6.根据权利要求5所述的方法,其特征在于,所述执行标志为第一标志或第二标志,其中,所述第一标志用于指示执行所述目标操作指令,所述第二标志用于指示禁止执行所述目标操作指令;

7.根据权利要求6所述的方法,其特征在于,所述当确定所述目标策略数据中不包括与所述目标寄存器对应的第二固定值时,根据所述目标策略数据中是否包括禁止修改的指示信息,对所述目标操作指令设置所述执行标志,包括:

8.根据权利要求5所述的方法,其特征在于,所述根据所述执行标志,对所述目标寄存器执行与所述执行标志对应的操作,包括:

9.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:

10.根据权利要求5所述的方法,其特征在于,所述获取与所述目标操作指令对应的第一新值,包括:

11.根据权利要求9所述的方法,其特征在于,所述方法还包括:

12.根据权利要求1至8任一项所述的方法,其特征在于,所述方法还包括:

13.一种计算机设备,其特征在于,包括:

14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至12中任一项所述的对寄存器执行操作的方法。

15.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令用于使计算机执行权利要求1至12中任一项所述的对寄存器执行操作的方法。

...

【技术特征摘要】

1.一种对寄存器执行操作的方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述目标寄存器为控制寄存器;

3.根据权利要求2所述的方法,其特征在于,所述当确定存在至少一个所述修改位时,根据每一个所述修改位和所述目标策略数据,对所述第一新值中与每一个所述修改位对应的值进行更新,得到第二新值,包括:

4.根据权利要求3所述的方法,其特征在于,所述当确定所述目标策略数据中存在所述策略子数据时,根据所述策略子数据,对所述第一新值中与所述目标修改位对应的值进行更新,包括:

5.根据权利要求1所述的方法,其特征在于,所述目标寄存器为特殊模块msr寄存器;

6.根据权利要求5所述的方法,其特征在于,所述执行标志为第一标志或第二标志,其中,所述第一标志用于指示执行所述目标操作指令,所述第二标志用于指示禁止执行所述目标操作指令;

7.根据权利要求6所述的方法,其特征在于,所述当确定所述目标策略数据中不包括与所述目标寄存器对应的第二固定值时,根据所述目标...

【专利技术属性】
技术研发人员:许鑫苏志远徐国振戴纯兴吴保锡
申请(专利权)人:苏州元脑智能科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1