[发明专利]内存改写检测方法及装置在审
申请号: | 201711471848.2 | 申请日: | 2017-12-29 |
公开(公告)号: | CN108255746A | 公开(公告)日: | 2018-07-06 |
发明(设计)人: | 聂保珍;李翔 | 申请(专利权)人: | 北京元心科技有限公司 |
主分类号: | G06F12/14 | 分类号: | G06F12/14;G06F21/79 |
代理公司: | 北京金阙华进专利事务所(普通合伙) 11224 | 代理人: | 陈建春 |
地址: | 100176 北京市大兴区北京经济*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存区域 改写 读取 内存改写 内存数据 一致性确定 数据压缩 原始数字 准确监测 检测 使能 进程 权限 跟踪 申请 | ||
本申请公开了内存改写检测方法及装置,其中所述方法包括:获取一进程的不应被改写的内存区域的地址范围;获得所述进程的跟踪权限;逐字对所述内存区域中的数据进行读取;将读取的数据压缩生成固定长度的数字摘要;将新生成的数字摘要与所述内存区域的相应最原始数字摘要进行比较;基于比较结果的一致性确定所述内存区域是否被改写。本发明使能准确监测关键性内存数据,在内存数据被改写时及时采取行动,避免因内存数据被改写造成不必要的损失。
技术领域
本申请涉及电数字数据处理领域,尤其涉及内存改写检测方法及装置。
背景技术
在软件开发和使用中,经常会出现应用程序内存数据被改写的情况。导致内存数据被改写的原因有很多,如内存越界或被其他进程恶意更改。内存被改写会严重影响程序的稳定性,其危险在于后果和症状的随机性,从而可能导致程序执行结果出现问题或者自身崩溃,并很难确定问题原因,在没有虚拟地址空间管理的操作系统中,甚至可能导致系统崩溃。因此,对关键性内存数据进行监测是十分必要的。
发明内容
为了克服现有技术中存在的不足,本发明要解决的技术问题是提供一种内存改写检测方法及装置,其能快速、准确监测关键性内存数据,避免因内存数据被改写造成不必要的损失。
为解决上述技术问题,本发明的内存改写检测方法,包括:
获取一进程的不应被改写的内存区域的地址范围;
获得所述进程的跟踪权限;
逐字对所述内存区域中的数据进行读取;
将读取的数据压缩生成固定长度的数字摘要;
将新生成的数字摘要与所述内存区域的相应最原始数字摘要进行比较;
基于比较结果的一致性确定所述内存区域是否被改写。
作为本发明所述方法的改进,所述方法还包括:响应于确定所述内存区域被改写,使发生内存改写的进程退出运行。
作为本发明所述方法的另一种改进,所述方法还包括:利用私钥对生成的数字摘要进行加密生成签名。
作为本发明所述方法的进一步改进,调用Ptrace接口函数获得所述进程的跟踪权限及逐字对所述内存区域中的数据进行读取。
作为本发明所述方法的另一进一步改进,所述获取一进程的不应被改写的内存区域的地址范围包括:解析所述进程的内存映像文件以获取不应被改写的内存区域的地址范围。
为解决上述技术问题,本发明的内存改写检测装置,包括:
地址范围获取模块,用于获取一进程的不应被改写的内存区域的地址范围;
跟踪权限获得模块,用于获得所述进程的跟踪权限;
数据读取模块,用于逐字对所述内存区域中的数据进行读取;
数字摘要生成模块,用于将读取的数据压缩生成固定长度的数字摘要;
比较模块,用于将新生成的数字摘要与所述内存区域的相应最原始数字摘要进行比较;
改写确定模块,用于基于比较结果的一致性确定所述内存区域是否被改写。
作为本发明所述装置的改进,所述装置还包括退出模块,用于响应于确定所述内存区域被改写,使发生内存改写的进程退出运行。
作为本发明所述装置的另一种改进,所述装置还包括签名模块,用于利用私钥对生成的数字摘要进行加密生成签名。
作为本发明所述装置的又一种改进,所述跟踪权限获得模块和所述数据读取模块通过调用Ptrace接口函数实现。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京元心科技有限公司,未经北京元心科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711471848.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:处理器以及无效指令缓存的方法
- 下一篇:一种识别存储卡的方法和系统