[发明专利]监测计算机设备中的进程的运行空间的方法以及装置有效
申请号: | 201610825243.8 | 申请日: | 2016-09-14 |
公开(公告)号: | CN107818034B | 公开(公告)日: | 2021-02-12 |
发明(设计)人: | 刘恒;樊辉;侯承舜 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F11/07 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 王仲凯 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 监测 计算机 设备 中的 进程 运行 空间 方法 以及 装置 | ||
1.一种监测计算机设备中的进程的运行空间的方法,应用于所述计算机设备中的操作系统,其特征在于,包括:
确定被监测函数,所述被监测函数为所述进程运行过程中被调用的函数;
获得所述计算机设备中的处理器执行所述被监测函数前所述进程的运行空间的内容与执行所述被监测函数后所述进程的运行空间的内容;
判断执行所述被监测函数前所述进程的运行空间的内容与执行所述被监测函数后所述进程的运行空间的内容是否一致,若不一致,则确定所述被监测函数破坏所述进程的运行空间;
所述确定所述被监测函数破坏所述进程运行空间之后,所述方法还包括:
判断所述被监测函数是否为可重入函数;
若判断所述被监测函数为不可重入函数,则生成第一警告信息,并向所述计算机设备所处网络中的监控中心服务器发送所述第一警告信息,所述第一警告信息用于指示所述被监测函数破坏所述进程的运行空间。
2.根据权利要求1所述的方法,其特征在于,所述进程的运行空间的内容包括所述被监测函数的栈空间的内容和/或寄存器组的内容,所述寄存器组包括所述被监测函数执行时所用到的所有寄存器。
3.根据权利要求2所述的方法,其特征在于,所述确定被监测函数包括:
确定所述进程的函数调用轨迹;
按照所述函数调用轨迹依次选取函数作为所述被监测函数。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述获得所述计算机设备中的处理器执行所述被监测函数前所述进程的运行空间的内容与执行所述被监测函数后所述进程的运行空间的内容,包括:
将所述被监测函数的入口指令替换为第一trap指令,并记录所述入口指令以及所述入口指令对应的入口地址;
将所述被监测函数的返回指令替换为第二trap指令,并记录所述返回指令以及所述返回指令对应的返回地址;
当所述处理器执行到所述第一trap指令时,将当前所述进程的运行空间的内容保存至第一临时空间,将所述第一trap指令替换回所述入口指令,并执行第一异常返回eret指令跳回所述入口地址;
当所述处理器执行到所述第二trap指令时,将当前所述进程的运行空间的内容保存至第二临时空间,将所述第二trap指令替换回所述返回指令,并执行第二eret指令跳回所述返回地址;
根据所述第一临时空间获得所述处理器执行所述被监测函数前所述进程的运行空间的内容,根据所述第二临时空间获得所述处理器执行所述被监测函数后所述进程的运行空间的内容。
5.根据权利要求4所述的方法,其特征在于,
若判断所述被监测函数为可重入函数,则创建临时进程,所述临时进程的入口地址为所述第一临时空间的入口地址,所述临时进程的入口函数为所述被监测函数,所述第一临时空间的页对齐,所述页为只读属性;
执行所述临时进程使得触发TLB异常;
根据所述TLB异常确定触发所述TLB异常的指令地址;
根据所述指令地址生成第二警告信息,并向所述计算机设备所处网络中的监控中心服务器发送所述第二警告信息,所述第二警告信息用于指示所述被监测函数的所述指令地址破坏所述进程的运行空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610825243.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种缓存分区重构的方法和装置
- 下一篇:电子系统中日志数据的管理