一种资源获取方法、装置、设备和计算机可读存储介质制造方法及图纸

技术编号:35126892 阅读:18 留言:0更新日期:2022-10-05 09:58
本申请实施例公开了一种资源获取方法、装置、设备和计算机可读存储介质,依据内核调试信息,在资源调用函数入口处设置第一钩子函数;利用第一钩子函数记录目标资源的参数信息。参数信息包含目标资源的存储位置信息。根据资源调用函数的寄存器信息,可以获知资源调用函数的返回位置,从而在返回位置处设置第二钩子函数;利用第二钩子函数可以识别目标资源的调用进度;在目标资源调用完成的情况下,依据参数信息可以将目标资源存储至虚拟机监控器。通过在资源调用函数的入口处以及返回位置设置钩子函数,可以实现对资源调用函数所调用资源的监控,该实现过程无需在虚拟机内部部署agent,可以在用户无感知的情况下实现对用户访问资源的提取。访问资源的提取。访问资源的提取。

【技术实现步骤摘要】
一种资源获取方法、装置、设备和计算机可读存储介质


[0001]本申请涉及网络安全
,特别是涉及一种资源获取方法、装置、设备和计算机可读存储介质。

技术介绍

[0002]常用的虚拟化技术有操作系统中内存的虚拟化,实际运行时用户需要的内存空间可能远远大于物理机器的内存大小,利用内存的虚拟化技术,用户可以将一部分硬盘虚拟化为内存,而这对用户是透明的。
[0003]虚拟机的内存空间中存储有各类资源,文件是常用的一种资源。文件的非正常操作会直接影响操作系统的运行稳定性和安全性。在实际应用中,可能会存在一些恶意软件通过伪装身份实现对虚拟机内部文件的访问,从而对虚拟机内部文件进行恶意篡改或删除,导致操作系统的安全性受到威胁。
[0004]为了实现对虚拟机内部文件读写操作的检测,常用的方式是在虚拟机内部部署一个代理软件(agent),通过agent与外部通信完成对文件读写操作的检测。但是agent的部署会被用户感知,用户可能是恶意访问的用户,恶意访问的用户感知到agent的部署后,可以根据agent的检测机制,实现对读写操作的伪装,从而规避agent的检测。
[0005]可见,如何在用户无感知的情况下实现对用户访问资源的提取,是本领域技术人员需要解决的问题。

技术实现思路

[0006]本申请实施例的目的是提供一种资源获取方法、装置、设备和计算机可读存储介质,可以在用户无感知的情况下实现对用户访问资源的提取。
[0007]为解决上述技术问题,本申请实施例提供一种资源获取方法,包括:
[0008]依据内核调试信息,在资源调用函数入口处设置第一钩子函数;
[0009]在检测到目标资源被调用的情况下,利用所述第一钩子函数记录所述目标资源的参数信息;根据所述资源调用函数的寄存器信息,在所述资源调用函数的返回位置处设置第二钩子函数;
[0010]利用所述第二钩子函数识别所述目标资源的调用进度;
[0011]在所述目标资源调用完成的情况下,依据所述参数信息将所述目标资源存储至虚拟机监控器。
[0012]可选地,所述依据内核调试信息,在资源调用函数入口处设置第一钩子函数包括:
[0013]查询内核调试信息,以确定出所述资源调用函数在内存的位置;
[0014]基于所述资源调用函数在内存的位置,在资源调用函数入口处设置第一钩子函数。
[0015]可选地,所述在检测到目标资源被调用的情况下,利用所述第一钩子函数记录所述目标资源的参数信息包括:
[0016]从寄存器中获取当前进程的进程控制块基址;
[0017]依据所述进程控制块基址,获取进程对应的资源信息;
[0018]在所述资源信息中存储有与设定的属性信息匹配的目标资源的情况下,触发所述第一钩子函数,以记录所述目标资源的参数信息。
[0019]可选地,所述资源调用函数包括读函数;
[0020]所述利用所述第一钩子函数记录所述目标资源的参数信息包括:
[0021]利用所述第一钩子函数记录所述目标资源的存储位置信息。
[0022]可选地,所述资源调用函数包括写函数;
[0023]所述利用所述第一钩子函数记录所述目标资源的参数信息包括:
[0024]利用所述第一钩子函数记录所述目标资源的存储位置信息和写入内容。
[0025]可选地,所述根据所述资源调用函数的寄存器信息,在所述资源调用函数的返回位置处设置第二钩子函数包括:
[0026]从所述资源调用函数对应的寄存器中读取基址信息;
[0027]利用所述基址信息和所述资源调用函数对应的堆栈大小,确定出所述资源调用函数的返回位置;
[0028]在所述返回位置出部署第二钩子函数。
[0029]可选地,所述目标资源包括文件;所述属性信息包括文件类型和/或文件名称。
[0030]本申请实施例还提供了一种资源获取装置,包括第一设置单元、记录单元、第二设置单元、识别单元和存储单元;
[0031]所述第一设置单元,用于依据内核调试信息,在资源调用函数入口处设置第一钩子函数;
[0032]所述记录单元,用于在检测到目标资源被调用的情况下,利用所述第一钩子函数记录所述目标资源的参数信息;
[0033]所述第二设置单元,用于根据所述资源调用函数的寄存器信息,在所述资源调用函数的返回位置处设置第二钩子函数;
[0034]所述识别单元,用于利用所述第二钩子函数识别所述目标资源的调用进度;
[0035]所述存储单元,用于在所述目标资源调用完成的情况下,依据所述参数信息将所述目标资源存储至虚拟机监控器。
[0036]可选地,所述第一设置单元用于查询内核调试信息,以确定出所述资源调用函数在内存的位置;基于所述资源调用函数在内存的位置,在资源调用函数入口处设置第一钩子函数。
[0037]可选地,所述记录单元包括地址获取子单元、信息获取子单元和触发子单元;
[0038]所述地址获取子单元,用于从寄存器中获取当前进程的进程控制块基址;
[0039]所述信息获取子单元,用于依据所述进程控制块基址,获取进程对应的资源信息;
[0040]所述触发子单元,用于在所述资源信息中存储有与设定的属性信息匹配的目标资源的情况下,触发所述第一钩子函数,以记录所述目标资源的参数信息。
[0041]可选地,所述资源调用函数包括读函数;
[0042]所述记录单元用于利用所述第一钩子函数记录所述目标资源的存储位置信息。
[0043]可选地,所述资源调用函数包括写函数;
[0044]所述记录单元用于利用所述第一钩子函数记录所述目标资源的存储位置信息和写入内容。
[0045]可选地,所述第二设置单元包括读取子单元、确定子单元和部署子单元;
[0046]所述读取子单元,用于从所述资源调用函数对应的寄存器中读取基址信息;
[0047]所述确定子单元,用于利用所述基址信息和所述资源调用函数对应的堆栈大小,确定出所述资源调用函数的返回位置;
[0048]所述部署子单元,用于在所述返回位置出部署第二钩子函数。
[0049]可选地,所述目标资源包括文件;所述属性信息包括文件类型和/或文件名称。
[0050]本申请实施例还提供了一种电子设备,包括:
[0051]存储器,用于存储计算机程序;
[0052]处理器,用于执行所述计算机程序以实现如上述资源获取方法的步骤。
[0053]本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述资源获取方法的步骤。
[0054]由上述技术方案可以看出,依据内核调试信息,在资源调用函数入口处设置第一钩子函数;在实际应用中,需要使用资源调用函数调用相关资源。为了确保目标资源被调用的安全性,可以在检测到目标资源被调用的情况下,利用第一钩子函数记录目标资本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种资源获取方法,其特征在于,包括:依据内核调试信息,在资源调用函数入口处设置第一钩子函数;在检测到目标资源被调用的情况下,利用所述第一钩子函数记录所述目标资源的参数信息;根据所述资源调用函数的寄存器信息,在所述资源调用函数的返回位置处设置第二钩子函数;利用所述第二钩子函数识别所述目标资源的调用进度;在所述目标资源调用完成的情况下,依据所述参数信息将所述目标资源存储至虚拟机监控器。2.根据权利要求1所述的资源获取方法,其特征在于,所述依据内核调试信息,在资源调用函数入口处设置第一钩子函数包括:查询内核调试信息,以确定出所述资源调用函数在内存的位置;基于所述资源调用函数在内存的位置,在资源调用函数入口处设置第一钩子函数。3.根据权利要求1所述的资源获取方法,其特征在于,所述在检测到目标资源被调用的情况下,利用所述第一钩子函数记录所述目标资源的参数信息包括:从寄存器中获取当前进程的进程控制块基址;依据所述进程控制块基址,获取进程对应的资源信息;在所述资源信息中存储有与设定的属性信息匹配的目标资源的情况下,触发所述第一钩子函数,以记录所述目标资源的参数信息。4.根据权利要求1所述的资源获取方法,其特征在于,所述资源调用函数包括读函数;所述利用所述第一钩子函数记录所述目标资源的参数信息包括:利用所述第一钩子函数记录所述目标资源的存储位置信息。5.根据权利要求1所述的资源获取方法,其特征在于,所述资源调用函数包括写函数;所述利用所述第一钩子函数记录所述目标资源的参数信息包括:利用所述第一钩子函数记录所述目标资源的存...

【专利技术属性】
技术研发人员:马长春
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:

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

1