[发明专利]动态探测程序执行路径的方法、装置和计算机系统有效
| 申请号: | 201210227478.9 | 申请日: | 2012-07-03 |
| 公开(公告)号: | CN102799523A | 公开(公告)日: | 2012-11-28 |
| 发明(设计)人: | 李俊;张超 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 动态 探测 程序 执行 路径 方法 装置 计算机系统 | ||
技术领域
本发明涉及信息技术领域,尤其涉及一种动态探测程序执行路径的方法、装置和计算机系统。
背景技术
现代的计算机技术中,应用程序在开发阶段使用调试工具可以探测应用程序的执行路径,获知应用程序的执行过程,了解内部的运行逻辑,从而可以检测应用程序漏洞。内核态程序采用预先在内核程序中加入探测点的方法,探测内核程序的执行路径,根据所述程序的执行路径来检测应用程序的漏洞。
然而,对于应用程序来说,使用调试工具的探测方式不适用于检测程序正式使用之后产生的问题,无法实时探测。对于内核态程序来说,使用预先在内核程序中加入探测点的方法,会使得系统的性能消耗较大,且该方法只适用于静态预先设置,无法动态增加探测点实时探测。
发明内容
本发明的实施例提供一种动态探测程序执行路径的方法、装置和计算机系统,能够实现程序执行路径的动态实时探测,对于应用程序和内核态程序具有通用性。进一步的,对于应用程序,在程序的不同使用阶段都能够实现动态探测程序的执行路径;对于内核态程序执行路径的探测,能够降低系统的性能损耗。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,本发明提供了一种动态探测程序执行路径的方法,所述方法应用于具有指令转移记录功能的处理器的计算机系统,所述处理器记录所述计算机系统上运行的每个程序的指令转移信息集合,所述方法包括:
根据被探测程序的进程特征码从所述处理器记录的指令转移信息集合中获取所述被探测程序的指令转移信息集合,所述指令转移信息集合包括至少一个指令转移信息,所述每一指令转移信息包括指令转移前后运行的指令所属的函数的符号表;
根据所述每一指令转移信息包括的所述每一指令转移前后运行的指令所属的函数的符号表,生成所述被探测程序的程序执行路径,所述被探测程序的程序执行路径包括所述被探测程序运行过程中的函数调用关系。
相应的,本发明还提供了一种动态探测程序执行路径的装置,所述装置包括:获取单元和生成单元;
所述获取单元,用于根据被探测程序的进程特征码从处理器记录的指令转移信息集合中获取所述被探测程序的指令转移信息集合,所述指令转移信息集合包括至少一个指令转移信息,所述每一指令转移信息包括指令转移前后运行的指令所属的函数的符号表;
所述生成单元,用于根据所述获取单元获取的所述指令转移信息集合中的每一指令转移信息包括的所述每一指令转移前后运行的指令所属的函数的符号表,获得所述被探测程序的程序执行路径,所述被探测程序的程序执行路径包括所述被探测程序运行过程中的函数调用关系。
另一方面,本发明实施例还提供了一种计算机系统,包括具有指令转移记录功能的处理器,所述处理器记录所述计算机系统上运行的每个程序的指令转移信息集合,其特征在于,所述处理器还用于:
根据被探测程序的进程特征码从所述处理器记录的指令转移信息集合中获取所述被探测程序的指令转移信息集合,所述指令转移信息集合包括至少一个指令转移信息,所述每一指令转移信息包括指令转移前后运行的指令所属的函数的符号表;
根据所述每一指令转移信息包括的所述每一指令转移前后运行的指令所属的函数的符号表,生成所述被探测程序的程序执行路径,所述被探测程序的程序执行路径包括所述被探测程序运行过程中的函数调用关系。
本发明实施例提供了一种动态探测程序执行路径的方法、装置和计算机系统,该方法应用于具有指令转移记录功能的处理器的计算机系统,所述具有指令转移记录功能的处理器记录所述计算机系统上运行的程序的指令转移信息,该方法根据被探测程序的进程特征码获取所述被探测程序的指令转移信息集合,所述指令转移信息集合的每一指令转移信息包括所述每一指令转移前后运行的指令所属的函数的符号表,然后根据每一指令转移信息包括的所述每一指令转移前后运行的指令所属的函数的符号表,生成获得所述被探测程序的程序执行路径。这样该方法由于从处理器中获取了被探测程序的指令转移信息集合,该指令转移信息集合中的每一条指令转移信息包括了所述每一条指令转移前后运行的指令所属的函数的符号表,从而计算机系统能够基于程序的进程特征码,根据处理器记录的指令转移信息集合动态实时探测程序的每一次运行过程的程序执行路径,对于应用程序和内核态程序具有通用性。进一步的,对于应用程序,在程序的不同使用阶段都能够实现动态探测程序的执行路径;对于内核态程序执行路径的探测,能够降低系统的性能损耗。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210227478.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:加速度开关
- 下一篇:多层陶瓷电子元件和多层陶瓷电容器





