攻击检测方法及装置制造方法及图纸

技术编号:36580725 阅读:14 留言:0更新日期:2023-02-04 17:40
本申请涉及计算机技术领域,具体涉及一种攻击检测方法及装置。该方法应用于宿主机,宿主机运行有虚拟机监视器和第一虚拟机,虚拟器监视器包括第一进程,第一进程用于模拟第一虚拟机的虚拟设备;该方法包括:在第一进程的指令集中,确定用于模拟虚拟设备的I/O接口的第一指令子集,第一指令子集包括多个间接跳转指令;为多个间接跳转指令中的每一个间接跳转指令关联检测函数;其中,每一个间接跳转指令所关联的检测函数,用于检测间接跳转指令在第一进程运行期间的跳转目标地址是否合法。该方法可在进行攻击检测的同时,减少攻击检测函数的执行对代码执行整体性能的影响。执行对代码执行整体性能的影响。执行对代码执行整体性能的影响。

【技术实现步骤摘要】
攻击检测方法及装置


[0001]本申请涉及计算机
,且特别涉及一种攻击检测方法及装置。

技术介绍

[0002]利用虚拟化技术,可以在一个物理机上模拟出多个虚拟机。虚拟机(virtual machine,VM)是指通过软件模拟的具有完整硬件系统功能的、运行在一个隔离环境中的计算机系统。为了给虚拟机的操作系统(operating system,OS)提供虚拟化的硬件环境,虚拟机管理软件(例如虚拟机监视器(virtual machine monitor,VMM))需要为虚拟机提供必要的虚拟设备,例如显卡、磁盘、网卡、通用串行总线(universal serial bus,USB)设备等。这些虚拟设备由软件模拟实现的,且实现逻辑较为复杂,因此,容易引入安全漏洞。通过安全漏洞,虚拟机可能会从其隔离环境中逃逸。
[0003]一旦虚拟机从其隔离环境中逃逸,其便拥有了在VMM内执行代码的权限,并有可能控制整个VMM,对宿主机(host)以及其上面运行的其他虚拟机造成极大安全风险。

技术实现思路

[0004]本申请实施例提供了一种攻击检测方法及装置,可在进行攻击检测的同时,减少攻击检测函数的执行对代码执行整体性能的影响。
[0005]第一方面,本申请实施例提供了一种攻击检测方法,应用于宿主机,宿主机运行有虚拟机监视器和第一虚拟机,虚拟器监视器包括第一进程,第一进程用于模拟第一虚拟机的虚拟设备;该方法包括:在第一进程的指令集中,确定用于模拟虚拟设备的I/O接口的第一指令子集,第一指令子集包括多个间接跳转指令;为多个间接跳转指令中的每一个间接跳转指令关联检测函数;其中,每一个间接跳转指令所关联的检测函数,用于检测间接跳转指令在第一进程运行期间的跳转目标地址是否合法。
[0006]在一种可能的实现方式中,该方法还包括:在启动第一进程之前,为多个间接跳转指令中每个间接跳转指令添加标识信息;为多个间接跳转指令中的每一个间接跳转指令关联检测函数,包括:在启动第一进程时,为具有标识信息的间接跳转指令关联检测函数。
[0007]也就是说,在该实现方式中,在进程启动之前,通过标识信息标记需要关联检测函数的间接跳转指令,而非直接将检测函数关联到间接跳转指令上。从而避免了攻击者攻击磁盘中的信息,得到检测函数的信息,进而在进程运行时,根据检测函数的信息,确定并更改检测函数。
[0008]在一种可能的实现方式中,为多个间接跳转指令中的每一个间接跳转指令关联检测函数,包括:当第一进程符合预设条件时,为多个间接跳转指令中的每一个间接跳转指令关联检测函数。
[0009]也就是说,在该实现方式中,在进程符合预设条件时,为该进程的间接跳转指令关联检测函数,可以选择性地为进程的间接跳转指令关联检测函数,改善了用户体验。
[0010]在一种可能的实现方式中,该方法还包括:在启动第一进程之前,根据多个间接跳
转指令的多个预设目标函数,确定第一控制流图,第一控制流图用于表示多个间接跳转指令和多个预设目标函数的一一对应关系;在启动第一进程时,确定多个预设目标函数在第一进程运行期间的内存地址;根据多个预设目标函数的内存地址和第一控制流图,确定第二控制流图,第二控制流图用于表示多个间接跳转指令和多个预设目标函数的内存地址的一一对应关系。
[0011]也就是说,在该实现方式中,可以生成间接跳转指令和预设目标函数在第一进程运行期间的地址对应关系,从而可以在第一进程运行期间,检测间接跳转指令是否发生异常跳转,从而实现攻击检测。
[0012]在一种可能的实现方式中,多个间接跳转指令包括第一间接跳转指令,第一间接跳转指令与第一检测函数关联,且对应第一预设目标函数;其中,第一检测函数用于确定第一间接跳转指令在第一进程运行期间的第一跳转目标地址,并根据第二控制流图,判断第一跳转目标地址与第一预设目标函数的内存地址是否相同;其中,当第一跳转目标地址与第一预设目标函数的内存地址不同时,确定第一跳转目标地址不合法。
[0013]也就是说,在该实现方式中,可以检测间接跳转函数在第一进程运行期间的跳转目标地址是否合法,从而实现攻击检测。
[0014]在一种可能的实现方式中,多个间接跳转指令包括第一间接跳转指令,该方法还包括:在第一进程运行期间,获取第一更新信息,第一更新信息包括第一函数,第一函数用于更新第一间接跳转指令的预设目标函数;将第一函数作为第一间接跳转指令新的预设目标函数,并根据第一函数在第一进程运行期间的内存地址更新第二控制流图。
[0015]也就是说,在该实现方式中,在第一进程运行期间,可以根据间接跳转指令的预设目标函数,从而可以同时实现攻击检测和进程更新。
[0016]在一种可能的实现方式中,第一更新信息为热补丁或动态库。
[0017]也就是说,在该实现方式中,在进行攻击检测的同时,可以进行热补丁升级或加载动态库。
[0018]在一种可能的实现方式中,多个间接跳转指令包括第一间接跳转指令,第一间接跳转指令与第一检测函数关联,第一检测函数包括预设的攻击应对策略;该方法还包括:当第一检测函数检测到第一间接跳转指令在第一进程运行期间的跳转目标地址不合法时,执行攻击应对策略。
[0019]也就是说,在该实现方式中,可以预先设置攻击应对策略,在检测到间接跳转指令的跳转目标地址不合法时,执行预设的攻击应该策略,从而可以在检测到攻击时,针对该攻击进行灵活处理。
[0020]在一种可能的实现方式中,攻击应对策略包括以下至少一种:
[0021]忽略第一检测函数的检测结果、输出异常日志、终止第一进程的运行、触发告警。
[0022]也就是说,在该实现方式中,可以设置多样化的攻击对应策略,从而可以在检测到攻击时,针对该攻击进行灵活处理。
[0023]第二方面,本申请实施例提供了一种攻击检测装置,配置于宿主机,宿主机运行有虚拟机监视器和第一虚拟机,虚拟器监视器包括第一进程,第一进程用于模拟第一虚拟机的虚拟设备;该装置包括:确定单元,用于在第一进程的指令集中,确定用于模拟虚拟设备的I/O接口的第一指令子集,第一指令子集包括多个间接跳转指令;关联单元,用于为多个
间接跳转指令中的每一个间接跳转指令关联检测函数;其中,每一个间接跳转指令所关联的检测函数,用于检测间接跳转指令在第一进程运行期间的跳转目标地址是否合法。
[0024]在一种可能的实现方式中,该装置还包括添加单元,用于在启动第一进程之前,为多个间接跳转指令中每个间接跳转指令添加标识信息;关联单元还用于在启动第一进程时,为具有标识信息的间接跳转指令关联检测函数。
[0025]在一种可能的实现方式中,关联单元还用于当第一进程符合预设条件时,为多个间接跳转指令中的每一个间接跳转指令关联检测函数。
[0026]在一种可能的实现方式中,确定单元还用于:在启动第一进程之前,根据多个间接跳转指令的多个预设目标函数,确定第一控制流图,第一控制流图用于表示多个间接跳转指令和多个预设目标函数的一一对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种攻击检测方法,其特征在于,应用于宿主机,所述宿主机运行有虚拟机监视器和第一虚拟机,所述虚拟器监视器包括第一进程,所述第一进程用于模拟所述第一虚拟机的虚拟设备;所述方法包括:在所述第一进程的指令集中,确定用于模拟所述虚拟设备的I/O接口的第一指令子集,所述第一指令子集包括多个间接跳转指令;为所述多个间接跳转指令中的每一个间接跳转指令关联检测函数;其中,每一个间接跳转指令所关联的检测函数,用于检测所述间接跳转指令在所述第一进程运行期间的跳转目标地址是否合法。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在启动所述第一进程之前,为所述多个间接跳转指令中每个间接跳转指令添加标识信息;所述为所述多个间接跳转指令中的每一个间接跳转指令关联检测函数,包括:在启动所述第一进程时,为具有所述标识信息的间接跳转指令关联检测函数。3.根据权利要求1所述的方法,其特征在于,所述为所述多个间接跳转指令中的每一个间接跳转指令关联检测函数,包括:当所述第一进程符合预设条件时,为所述多个间接跳转指令中的每一个间接跳转指令关联检测函数。4.根据权利要求1

3任一项所述的方法,其特征在于,所述方法还包括:在启动所述第一进程之前,根据所述多个间接跳转指令的多个预设目标函数,确定第一控制流图,所述第一控制流图用于表示所述多个间接跳转指令和所述多个预设目标函数的一一对应关系;在启动所述第一进程时,确定所述多个预设目标函数在所述第一进程运行期间的内存地址;根据所述多个预设目标函数的内存地址和所述第一控制流图,确定第二控制流图,所述第二控制流图用于表示所述多个间接跳转指令和所述多个预设目标函数的内存地址的——对应关系。5.根据权利要求4所述的方法,其特征在于,所述多个间接跳转指令包括第一间接跳转指令,所述第一间接跳转指令与第一检测函数关联,且对应第一预设目标函数;其中,所述第一检测函数用于确定所述第一间接跳转指令在所述第一进程运行期间的第一跳转目标地址,并根据所述第二控制流图,判断所述第一跳转目标地址与所述第一预设目标函数的内存地址是否相同;其中,当所述第一跳转目标地址与所述第一预设目标函数的内存地址不同时,确定所述第一跳转目标地址不合法。6.根据权利要求4所述的方法,其特征在于,所述多个间接跳转指令包括第一间接跳转指令,所述方法还包括:在所述第一进程运行期间,获取第一更新信息,所述第一更新信息包括第一函数,所述第一函数用于更新所述第一间接跳转指令的预设目标函数;将所述第一函数作为所述第一间接跳转指令新的预设目标函数,并根据所述第一函数在所述第一进程运行期间的内存地址更新所述第二控制流图。7.根据权利要求6所述的方法,其特征在于,所述第一更新信息为热补丁或动态库。
8.根据权利要求1所述的方法,其特征在于,所述多个间接跳转指令包括第一间接跳转指令,所述第一间接跳转指令与第一检测函数关联,所述第一检测函数包括预设的攻击应对策略;所述方法还包括:当所述第一检测函数检测到所述第一间接跳转指令在所述第一进程运行期间的跳转目标地址不合法时,执行所述攻击应对策略。9.根据权利要求8所述的方法,其特征在于,所述攻击应对策略包括以下至少一种:忽略所述第一检测函数的检测结果、输出异常日志、终止所述第一进程的运行、触发告警。10.一种攻击检测装置,其特征在于,配置于宿主机,所述宿主机运行有虚拟机监视器和第一虚拟机,所述虚拟器监视器包括第一进程,所述第一进程用于模拟所述第一虚拟机的虚拟设备;所述装置包括:确定单元,用于在所述第一进程的指令集中,确定用于模拟所述虚拟设备的I/O接口的第一指令子集,所述第一指令子集包括多个间接跳转指令;关...

【专利技术属性】
技术研发人员:严政
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1