[发明专利]在存储位置之间转移控制的系统和方法有效
申请号: | 201610866237.7 | 申请日: | 2016-09-29 |
公开(公告)号: | CN107463513B | 公开(公告)日: | 2021-01-12 |
发明(设计)人: | 弗拉季斯拉夫·V·皮恩提斯基;丹尼斯·V·阿尼金;德米特里·A·基尔萨诺夫 | 申请(专利权)人: | 卡巴斯基实验室股份制公司 |
主分类号: | G06F12/109 | 分类号: | G06F12/109 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华;何月华 |
地址: | 俄罗斯*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储 位置 之间 转移 控制 系统 方法 | ||
本发明涉及在存储位置之间转移控制的系统和方法。公开了用于控制程序执行的系统和方法。示例性方法包括:在虚拟存储地址空间中确定存储扇区,存储扇区用于存储计算机程序的执行指令的至少一部分;在虚拟存储地址空间中确定包含与存储扇区相关联的代码指令和数据的一个或多个页面;创建所述虚拟存储地址空间的副本,所述副本包括所述存储扇区和所述一个或多个页面;标记在所述虚拟存储地址空间及其副本中的所述存储扇区和所述一个或多个页面;在执行存储在所述虚拟存储地址空间或其副本中的指令的同时,接收在不同的存储扇区之间转移所述计算机程序的执行的通知;以及将所述计算机程序的执行转移到接收所述通知的存储位置以外的存储位置。
本申请要求在2016年6月2日递交的俄罗斯申请No.2016121876的优先权的权益,该俄罗斯申请的全部内容通过引用并入在本文中。
技术领域
本发明总体涉及计算领域,且更具体地涉及在存储位置之间转移控制的系统和方法。
背景技术
当前用于在程序执行期间生成API函数调用日志的技术要求介入进程或文件在硬驱动盘上的地址空间的内容中,诸如改变存储器中和磁盘上的操作系统的系统库中的代码。这类改变包括负责API函数调用的记录机制的“代码的引入”。
该机制的主要步骤可以如下:
·库管理的拦截(例如,通过改变目标函数的代码来拦截API函数);
·在API调用期间过渡到存储器的包含负责处理API函数和记录调用的处理程序代码的区域;
·执行记录系统的处理程序的代码;
·返回对库的控制。
为了捕获对记录系统的控制,还可以使用用于在“中间”库的可执行文件和/或布置的引入表中改变来自库的API函数调用的地址的方法,在过渡到来自原始库的原始调用的API函数之前,初始调用指向该“中间”库。
现有的记录系统的一个缺点是,难以在不同操作系统及其版本上实现该记录系统。例如,OS的更新可导致记录系统停止工作且可能需要修改以与更新的OS一起工作。另一缺点是,记录系统的存在可以被恶意程序检测到,不管这些恶意程序的特权,因为几乎任何“侵入”到进程的地址空间中都可以被恶意程序检测到。
因此,需要改善用于记录API函数调用的机制。
发明内容
公开了用于通过管理程序执行在不同虚拟存储位置之间的转移来控制程序执行的系统、方法和计算机程序产品的示例性方面。所公开的方面的一个应用为生成API函数的调用日志,该API函数在程序执行期间被调用。所公开的方面的一个技术结果包括:通过指令的执行从一个虚拟存储位置到另一个虚拟存储位置的交替转移和返回,跟踪处理器对嵌入在系统存储器中的程序代码的执行。
一种用于控制计算机程序的执行的示例性计算机实现的方法包括:通过处理器在虚拟存储地址空间中确定存储扇区,所述存储扇区用于存储所述计算机程序的执行指令的至少一部分;在所述虚拟存储地址空间中确定包含与所述存储扇区相关联的代码指令和数据的一个或多个页面;创建所述虚拟存储地址空间的副本,所述副本包括所述存储扇区和所述一个或多个页面;标记在所述虚拟存储地址空间和所述虚拟存储地址空间的所述副本中的所述存储扇区和所述一个或多个页面;在执行存储在所述虚拟存储地址空间或所述虚拟存储地址空间的所述副本中的指令的同时,接收在不同的存储扇区之间转移所述计算机程序的执行的通知;以及将所述计算机程序的执行转移到接收所述通知的存储位置以外的存储位置。
在一个示例性方面中,该方法还包括获得存储有所述计算机程序的所述执行指令的所述虚拟存储地址空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卡巴斯基实验室股份制公司,未经卡巴斯基实验室股份制公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610866237.7/2.html,转载请声明来源钻瓜专利网。