[发明专利]一种高效且高可用的空间内存错误检测方法有效
申请号: | 201410005315.5 | 申请日: | 2014-01-06 |
公开(公告)号: | CN103745755B | 公开(公告)日: | 2017-01-11 |
发明(设计)人: | 丁丽萍;赵晓柯;卢国庆 | 申请(专利权)人: | 中国科学院软件研究所;公安部第三研究所 |
主分类号: | G11C29/56 | 分类号: | G11C29/56 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙)11200 | 代理人: | 余长江 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提供一种高效且高可用的空间内存错误检测方法,其步骤包括:对程序进行静态污点分析,对可能会被攻击者所控制的指针进行污点标记;在程序运行前,构建影子内存空间,对被污点标记的指针的边界信息进行存储;然后对程序中污点标记的指针创建其边界信息,并传播到其他相关指针;最后对于程序中使用污点标记的指针写内存的指令进行指针边界检测,通过在程序中插入容忍错误的代码,使得程序可以容忍空间内存错误的发生,保证程序的可用性。本发明使得被转换过的程序在运行时性能开销降低,并且能够有效检测出空间内存错误。另外本发明采用错误容忍的方法,提高程序的可用性,防止程序遭受拒绝服务攻击。 | ||
搜索关键词: | 一种 高效 可用 空间 内存 错误 检测 方法 | ||
【主权项】:
一种空间内存错误检测方法,包括以下步骤:1)对程序进行静态污点分析,标记污点指针;2)对程序进行编译生成中间代码,并构建内存影子空间;3)分析程序的中间代码,创建所述污点指针的base和bound边界信息,并存储到所述内存影子空间;4)分析所述中间代码的指针运算、数组索引和指针赋值三种指令,将参与运算的被标记为污点指针的原始指针的边界信息拷贝到运算后得到的结果指针对应的内存影子空间;5)对程序中使用污点指针进行写内存的指令进行指针边界检测,根据污点指针的base和bound边界信息确定的内存边界检测出空间内存错误。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所;公安部第三研究所,未经中国科学院软件研究所;公安部第三研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201410005315.5/,转载请声明来源钻瓜专利网。