一种跨进程内存的处理方法及系统技术方案

技术编号:37262842 阅读:23 留言:0更新日期:2023-04-20 23:36
本申请实施例提供一种跨进程内存的处理方法及系统,涉及终端安全技术领域。该跨进程内存的处理方法包括:确定安全业务进程和目标进程;获取所述目标进程的目标寄存器信息;获取所述目标进程的目标内存地址范围信息;根据所述目标寄存器信息和所述目标内存地址范围信息,获得被映射线性地址的页信息;获取所述安全业务进程的安全业务寄存器信息;根据所述安全业务寄存器信息获取空闲索引位置;将所述被映射线性地址的页信息写入所述空闲索引位置,生成索引信息;将所述索引信息传递至所述安全业务进程,通知所述安全业务进程已完成映射。该方法可以实现跨进程读写,实现安全业务的高效实现、减少资源占用、提高运行效率的技术效果。术效果。术效果。

【技术实现步骤摘要】
一种跨进程内存的处理方法及系统


[0001]本申请涉及终端安全
,具体而言,涉及一种跨进程内存的处理方法、系统、电子设备及计算机可读存储介质。

技术介绍

[0002]目前,在一个进程获取目标进程的数据的过程中,一般是直接在目标进程中将该数据、以及将该数据占用的内存直接拷贝进来,不仅占用自身的内存,而且在此过程中中央处理器(CPU,central processing unit)占用率过高,从而导致系统运行较慢;此外,在内联钩子(inline hook)的过程中,向目标进程放进代码的过程会被目标进程感知,从而进一步降低系统的运行效率。

技术实现思路

[0003]本申请实施例的目的在于提供一种跨进程内存的处理方法、系统、电子设备及计算机可读存储介质,可以实现跨进程读写,实现安全业务的高效实现、减少资源占用、提高运行效率的技术效果。
[0004]第一方面,本申请实施例提供了一种跨进程内存的处理方法,包括:确定安全业务进程和目标进程;获取所述目标进程的目标寄存器信息;获取所述目标进程的目标内存地址范围信息;根据所述目标寄存器信息和所述目标内存地址范围信息,获得被映射线性地址的页信息;获取所述安全业务进程的安全业务寄存器信息;根据所述安全业务寄存器信息获取空闲索引位置;将所述被映射线性地址的页信息写入所述空闲索引位置,生成索引信息;将所述索引信息传递至所述安全业务进程,通知所述安全业务进程已完成映射,所述安全业务进程通过所述索引信息构造生成内存线性地址,所述内存线性地址用于访问被映射的所述目标进程的内存。
[0005]在上述实现过程中,该跨进程内存的处理方法通过目标进程的目标寄存器信息和目标内存地址范围信息,确定被映射线性地址的页信息,进而将被映射线性地址的页信息写入安全业务进程的空闲索引位置、实现在安全业务进程的内存映射目标进程的内存;从而,该跨进程内存的处理方法通过操作页表的方式,实现安全业务进程的内存映射目标进程已占用的内存,安全业务进程就可以像读写自己的内存一样去读写目标进程的内存,从而高效的实现相关安全业务;从而,该跨进程内存的处理方法可以实现跨进程读写,实现安全业务的高效实现、减少资源占用、提高运行效率的技术效果。
[0006]进一步地,所述获取所述目标进程的目标寄存器信息的步骤,包括:遍历所述目标进程的EPROCESS链表,获取所述目标进程的EPROCESS对象;
通过所述EPROCESS对象获取所述目标进程的KPROCESS对象;通过所述KPROCESS对象获取DirectoryTableBase字段;基于所述DirectoryTableBase字段确定所述目标寄存器信息,所述目标寄存器信息包括所述目标进程CR3寄存器的值。
[0007]进一步地,在根据所述目标寄存器信息和所述目标内存地址范围信息,获得被映射线性地址的页信息的步骤之前,包括:根据所述目标进程的内存地址结构和所述目标内存地址范围确定所述目标PML4索引。
[0008]进一步地,所述被映射线性地址的页信息包括Directory Ptr页框号信息,所述根据所述目标寄存器信息和所述目标内存地址范围信息,获得被映射线性地址的页信息的步骤,包括:根据所述目标进程CR3寄存器的值获得目标PML4目录的地址;根据所述目标PML4索引对所述目标PML4目录的地址进行查找,获得所述目标内存地址范围信息对应的Directory Ptr页框号信息。
[0009]进一步地,将所述被映射线性地址的页信息写入所述空闲索引位置,生成索引信息的步骤,包括:将所述Directory Ptr页框号信息写入所述空闲索引位置,生成索引信息;调用INVLPG指令刷新所述安全业务进程的TLB缓存。
[0010]在上述实现过程中,通过调用预设指令刷新安全业务进程的TLB缓存,从而可以防止老的TLB缓存干扰地址映射。
[0011]进一步地,在获取所述目标进程的目标寄存器信息的步骤之前,所述方法还包括:在内核中安装预设驱动,通过所述预设驱动访问所述安全业务进程的页表和所述目标进程的页表。
[0012]第二方面,本申请实施例提供了一种跨进程内存的处理系统,包括:进程确定模块,用于确定安全业务进程和目标进程;目标寄存器模块,用于获取所述目标进程的目标寄存器信息;目标内存地址模块,用于获取所述目标进程的目标内存地址范围信息;页信息模块,用于根据所述目标寄存器信息和所述目标内存地址范围信息,获得被映射线性地址的页信息;安全业务寄存器模块,用于获取所述安全业务进程的安全业务寄存器信息;空闲索引模块,用于根据所述安全业务寄存器信息获取空闲索引位置;写入模块,用于将所述被映射线性地址的页信息写入所述空闲索引位置,生成索引信息;将所述索引信息传递至所述安全业务进程,通知所述安全业务进程已完成映射,所述安全业务进程通过所述索引信息构造生成内存线性地址,所述内存线性地址用于访问被映射的所述目标进程的内存。
[0013]进一步地,所述目标寄存器模块具体用于:遍历所述目标进程的EPROCESS链表,获取所述目标进程的EPROCESS对象;通过所述EPROCESS对象获取所述目标进程的KPROCESS对象;通过所述KPROCESS对象获取DirectoryTableBase字段;基于所述DirectoryTableBase字段确定所述目标寄存器信息,所述目标寄存器信息包括所述目标进程CR3寄存器的值。
[0014]进一步地,所述跨进程内存的处理系统还包括索引模块,所述索引模块用于:根据所述目标进程的内存地址结构和所述目标内存地址范围确定所述目标PML4索引。
[0015]进一步地,所述被映射线性地址的页信息包括Directory Ptr页框号信息,所述页信息模块具体用于:根据所述目标进程CR3寄存器的值获得目标PML4目录的地址;根据所述目标PML4索引对所述目标PML4目录的地址进行查找,获得所述目标内存地址范围信息对应的Directory Ptr页框号信息。
[0016]进一步地,所述写入模块还用于将所述Directory Ptr页框号信息写入所述空闲索引位置,生成索引信息;调用INVLPG指令刷新所述安全业务进程的TLB缓存。
[0017]进一步地,所述跨进程内存的处理系统还包括驱动模块,所述驱动模块用于:在内核中安装预设驱动,通过所述预设驱动访问所述安全业务进程的页表和所述目标进程的页表。
[0018]第三方面,本申请实施例提供的一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面任一项所述的方法的步骤。
[0019]第四方面,本申请实施例提供的一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,使得所述计算机执行如第一方面任一项所述的方法。
[0020]第五方面,本申请实施例提供的一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面任本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨进程内存的处理方法,其特征在于,包括:确定安全业务进程和目标进程;获取所述目标进程的目标寄存器信息;获取所述目标进程的目标内存地址范围信息;根据所述目标寄存器信息和所述目标内存地址范围信息,获得被映射线性地址的页信息;获取所述安全业务进程的安全业务寄存器信息;根据所述安全业务寄存器信息获取空闲索引位置;将所述被映射线性地址的页信息写入所述空闲索引位置,生成索引信息;将所述索引信息传递至所述安全业务进程,通知所述安全业务进程已完成映射,所述安全业务进程通过所述索引信息构造生成内存线性地址,所述内存线性地址用于访问被映射的所述目标进程的内存。2.根据权利要求1所述的跨进程内存的处理方法,其特征在于,所述获取所述目标进程的目标寄存器信息的步骤,包括:遍历所述目标进程的EPROCESS链表,获取所述目标进程的EPROCESS对象;通过所述EPROCESS对象获取所述目标进程的KPROCESS对象;通过所述KPROCESS对象获取DirectoryTableBase字段;基于所述DirectoryTableBase字段确定所述目标寄存器信息,所述目标寄存器信息包括所述目标进程CR3寄存器的值。3.根据权利要求2所述的跨进程内存的处理方法,其特征在于,在根据所述目标寄存器信息和所述目标内存地址范围信息,获得被映射线性地址的页信息的步骤之前,包括:根据所述目标进程的内存地址结构和所述目标内存地址范围确定目标PML4索引。4.根据权利要求3所述的跨进程内存的处理方法,其特征在于,所述被映射线性地址的页信息包括Directory Ptr页框号信息,所述根据所述目标寄存器信息和所述目标内存地址范围信息,获得被映射线性地址的页信息的步骤,包括:根据所述目标进程CR3寄存器的值获得目标PML4目录的地址;根据所述目标PML4索引对所述目标PML4目录的地址进行查找,获得所述目标内存地址范围信息对应的Directory Ptr页框号信息。5.根据权利要求4所述的跨进程内存的处理方法,其特征在于,将所述被映射线性地址的页信息写入所述空闲索引位置,生成索引信息的步骤,包括:将所述Directory Ptr页框号信息写入所...

【专利技术属性】
技术研发人员:杨秋实樊兴华薛锋
申请(专利权)人:北京微步在线科技有限公司
类型:发明
国别省市:

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

1