内存数据保护方法、安全组件和计算机设备及存储介质技术

技术编号:20546361 阅读:34 留言:0更新日期:2019-03-09 19:16
本发明专利技术公开了一种内存数据保护方法、安全组件和计算机设备及存储介质,属于计算机技术领域,用于提升进程内存数据的安全性。该方法包括:安全组件监测到目标进程启动时,备份备用数据,所述备用数据包括目标进程运行时控制寄存器存储的页表中指向需要保护的页面数据的页表项,或者,所述需要保护的页面数据;并,对指向需要保护的页面数据的页表项进行破坏;所述安全组件截获到因页表项被破坏造成的运行错误而上报的访问错误信息,且判定当前运行的进程的运行合法时,将备份的备用数据返回给相应的寄存器。

Memory data protection methods, security components, computer equipment and storage media

The invention discloses a memory data protection method, a security component, a computer device and a storage medium, which belongs to the field of computer technology and is used to enhance the security of process memory data. The method includes: backing up the standby data when the security component monitors the start of the target process, the standby data includes the page table entries in the page table stored by the runtime control register of the target process pointing to the page data to be protected, or the page data to be protected; destroying the page table entries pointing to the page data to be protected; intercepting the page table entries by the security component; The backup backup data is returned to the corresponding registers when the access error information reported due to the runtime error caused by the destruction of the page table entries and the runtime of the currently running process is determined to be legitimate.

【技术实现步骤摘要】
内存数据保护方法、安全组件和计算机设备及存储介质
本专利技术涉及计算机
,尤其涉及一种内存数据保护方法、安全组件和计算机设备及存储介质。
技术介绍
在计算机系统中运行的各个进程的内存空间中都存储了这些进程的一些敏感数据或者代码,内存空间中的数据一旦被非法访问或者修改,都有可能造成软件行为被操作或者用户的数据被泄露等后果,虽然现有的操作系统中本身就有相关的安全设计,也就是目前的操作系统中所具有的进程内存隔离的技术。但是,目前的进程内存隔离只能够阻止低权限进程访问高权限进程的数据,而若是黑客或者用户主动使用管理员(root)权限的进程进行访问,则无法阻止,例如内存中的数据被木马病毒等程序读取,或者,游戏用户使用外挂程序非法修改游戏的内存数据,这些情况,现有的操作系统是无法阻止的,因而目前进程内存数据的安全性较低。
技术实现思路
本专利技术实施例提供一种内存数据保护方法、安全组件和计算机设备及存储介质,用于提升进程内存数据的安全性。一方面,提供一种内存数据保护方法,所述方法包括:安全组件监测到目标进程启动时,备份备用数据,所述备用数据包括目标进程运行时控制寄存器存储的页表中指向需要保护的页面数据的页表项,或者,所述需要保护的页面数据;所述安全组件对指向需要保护的页面数据的页表项进行破坏;所述安全组件截获到因页表项被破坏造成的运行错误而上报的访问错误信息,且确定当前运行的进程为所述目标进程时,将备份的备用数据返回给相应的寄存器。一方面,提供一种安全组件,包括:备份模块,用于监测到目标进程启动时,备份备用数据,所述备用数据包括目标进程运行时控制寄存器存储的页表中指向需要保护的页面数据的页表项,或者,所述需要保护的页面数据;以及对指向需要保护的页面数据的页表项进行破坏;数据返回模块,用于在截获到因页表项被破坏造成的运行错误而上报的访问错误信息,且确定当前运行的进程为所述目标进程时,将备份的备用数据返回给相应的寄存器。一方面,提供一种计算机设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述所述的内存数据保护方法。一方面,提供一种计算机存储介质;所述计算机存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行上述所述的内存数据保护方法。本专利技术实施例中,通过在目标进程启动时,将目标进程的数据进行备份,并对相应的页表项进行破坏,那么在任何进程想要访问备份的数据时,必然会因为页表项被破坏而发生运行错误,也就提供了一个鉴别访问数据源的方式,若是访问数据的进程的运行是合法的,那么就把备份的数据返回到相应寄存器,使得进程能够继续运行,这样,只有在确定进程的运行合法时,才能够访问到相应数据,否则便不能,进而提升了进程内存数据的安全性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例中的应用场景示意图;图2为现有技术中外挂程序入侵的流程示意图;图3为本专利技术实施例中的内存数据保护方法的流程示意图一;图4为本专利技术实施例中提供的游戏截图;图5为本专利技术实施例中的内存数据保护方法的流程示意图二;图6为本专利技术实施例中的游戏的后台服务器的处理逻辑示意图;图7为本专利技术实施例中的安全组件的一种结构示意图;图8为本专利技术实施例中的计算机设备的一种结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在不冲突的情况下,本专利技术中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。为便于理解本专利技术实施例提供的技术方案,这里先对本专利技术实施例使用的一些关键名词进行解释:页表:又称页面映像表,页表是一种特殊的数据结构,放在系统空间的页表区,用于存放逻辑页与物理页的对应关系,每一个进程都拥有一个自己的页表。例如对于X86架构的计算机,在进程运行中,中央处理器(CentralProcessingUnit,CPU)内的控制寄存器(Controlregister,CR),即CR3中的值用于指向当前运行的进程的页表的地址,通过CR3中的值就可以获取当前运行的进程的页表。页表项(PageTableEntry,PTE):在页表中,一个页面编号与其对应的物理块号称为一个页表项,即页表项的数目与页面数目相等,其中,物理块中存储着相应页面的数据。另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。目前,为了防止一进程能够访问到另一进程的内存空间中的数据,现有的操作系统采用了进程内存隔离的技术。但是,现有的进程内存隔离的方案只能够阻止低权限进程访问高权限进程的数据,而若是黑客或者用户主动使用root权限的进程进行访问,则无法阻止,例如内存中的数据被木马病毒等程序读取,或者,游戏用户使用外挂程序非法修改游戏的内存数据,这些情况,现有的操作系统是无法阻止的,因而目前进程内存数据的安全性较低。本专利技术人对现有技术进行分析后发现,现有技术中由于数据是真实存放在内存空间中的,只要别的进程有办法访问到该内存空间,就可能能够获取到数据,因此数据的安全威胁始终是存在的。鉴于此,本专利技术人考虑到,想要提升数据的安全性,是必须要从根源上出发,彻底切断数据的访问路径,或者说对数据进行彻底的破坏,这样,任何进程都无法访问到数据,但是为了保证目标进程的正常运行,还必须有针对性的提供数据。鉴于上述的分析和考虑,本专利技术实施例提供了一种内存数据保护方法,在该方法中,通过在目标进程启动时,将目标进程的数据进行备份,并对相应的页表项进行破坏,那么在任何进程想要访问备份的数据时,必然会因为页表项被破坏而发生运行错误,也就提供了一个鉴别访问数据源的方式,若是访问数据的进程的运行是合法的,那么就把备份的数据返回到相应寄存器,使得进程能够继续运行,这样,只有在确定进程的运行合法时,才能够访问到相应数据,否则便不能,进而提升了进程内存数据的安全性。此外,对于每个进程而言,在操作系统中运行时,操作系统就会自动给每个进程分配一个独一无二的进程标识(processidentifier,PID),这个PID在进程结束时则会被操作系统回收,因此可以通过每个进程的PID对进程加以区分,在判定当前运行的进程是否合法时,既可以根据该进程的PID来判断该进程是否为目标进程,若是,则合法,反之不合法。本专利技术实本文档来自技高网...

【技术保护点】
1.一种内存数据保护方法,其特征在于,所述方法包括:安全组件监测到目标进程启动时,备份备用数据,所述备用数据包括目标进程运行时控制寄存器存储的页表中指向需要保护的页面数据的页表项,或者,所述需要保护的页面数据;所述安全组件对指向需要保护的页面数据的页表项进行破坏;所述安全组件截获到因页表项被破坏造成的运行错误而上报的访问错误信息,且确定当前运行的进程为所述目标进程时,将备份的备用数据返回给相应的寄存器。

【技术特征摘要】
1.一种内存数据保护方法,其特征在于,所述方法包括:安全组件监测到目标进程启动时,备份备用数据,所述备用数据包括目标进程运行时控制寄存器存储的页表中指向需要保护的页面数据的页表项,或者,所述需要保护的页面数据;所述安全组件对指向需要保护的页面数据的页表项进行破坏;所述安全组件截获到因页表项被破坏造成的运行错误而上报的访问错误信息,且确定当前运行的进程为所述目标进程时,将备份的备用数据返回给相应的寄存器。2.如权利要求1所述的方法,其特征在于,所述安全组件根据当前运行的进程的进程标识PID为目标进程的PID时,确定当前运行的进程为所述目标进程。3.如权利要求1所述的方法,其特征在于,所述安全组件监测到目标进程启动时,修改内存中的中断描述符表,以将页面中断事件的处理权修改为所述安全组件;以及所述安全组件截获到因页表项被破坏造成的运行错误而上报的访问错误信息,具体包括:所述安全组件根据页面中断事件的处理权,截获到新的页面中断事件时,确定截获的页面中断事件所访问的内存空间是否为所述目标进程的内存空间;若确定结果为是,则所述安全组件接管截获的页面中断事件,并确定页面中断事件是否为因页表项被破坏而造成的,其中:在确定页面中断事件因页表项被破坏而造成的时,所述安全组件截获上报的访问错误信息。4.如权利要求3所述的方法,其特征在于,在所述安全组件截获到因页表项被破坏造成的运行错误而上报的访问错误信息之后,所述方法还包括:所述安全组件将所述访问错误信息上报至后台服务器;或者,所述安全组件判定当前运行的进程的运行不合法时,将所述访问错误信息以及指示当前运行的进程不合法运行的异常信息上报至所述后台服务器。5.如权利要求1所述的方法,其特征在于,所述安全组件监测到目标进程启动时,备份备用数据之后,所述方法还包括:所述安全组件锁定所述需要保护的页面数据占用的内存;并,清除内存中存储的所述需要保护的页面数据的原始数据。6.如权利要求1所述的方法,其特征在于,所述对指向需要保护的页面数据的页表项进行破坏,包括:所述安全组件清除指向需要保护的页面数据的页表项;或者,所述安全组件修改或者增加指向需要保护的页面数据的页表项的保留位。7.如权利要求1~6任一项所述的方法,其特征在于,所述将备份的备用数据返回给相应的寄存器,包括:所述安全组件将备份的页表项的存储地址返回给处理器中存储页表的控制寄存器;或者,所述安全组件...

【专利技术属性】
技术研发人员:谭文杨榕郑德鸿
申请(专利权)人:深圳市腾讯网络信息技术有限公司
类型:发明
国别省市:广东,44

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

1