发明名称 |
一种非法内存读写的检测方法 |
摘要 |
本发明公开一种非法内存读写的检测方法,应用于CPU中含有MMU的嵌入式系统平台,包括步骤:将针对非法内存读写的异常处理程序挂到数据存取违背存取权限的异常向量处;设定需要监控的内存、合法任务及对非法访问的处理方式,并内存所在页设置为不可读或/及写;当有程序指令访问到设置了读写保护的页时,产生数据存取违背存取权限的异常,CPU自动跳到所述异常处理程序中;在异常处理程序中判断该指令读写的是需要监控的内存且读写该内存的指令不是合法任务时,根据设置的对非法访问的处理方式记录和处理,结束;否则正常读写内存,完成后跳出异常处理程序,回到正常的程序中去。本发明方法可以方便地实现对非法内存读写的实时检测。 |
申请公布号 |
CN100432955C |
申请公布日期 |
2008.11.12 |
申请号 |
CN200510132287.4 |
申请日期 |
2005.12.27 |
申请人 |
中兴通讯股份有限公司 |
发明人 |
康剑;王云峰 |
分类号 |
G06F11/36(2006.01);G06F12/14(2006.01) |
主分类号 |
G06F11/36(2006.01) |
代理机构 |
北京安信方达知识产权代理有限公司 |
代理人 |
龙洪;霍育栋 |
主权项 |
1、一种非法内存读写的检测方法,应用于含有内存管理单元的嵌入式系统平台,包括以下步骤:(a)初始化全局变量,将针对非法内存读写的异常处理程序挂到数据存取违背存取权限的异常向量处;(b)设定需要监控的内存和可访问内存的合法任务,以及对非法访问的处理方式,计算出所述内存所在的页,并将所在页设置为不可写、不可读或者不可读写;(c)当有程序指令访问到设置了读写保护的页时,产生数据存取违背存取权限的异常,CPU自动跳到所述异常处理程序中;(d)在异常处理程序中,如果判断该指令读写的是需要监控的内存且该指令不是合法任务时,执行步骤(e),否则执行步骤(f);(e)根据设置的对非法访问的处理方式记录和处理,结束;(f)按该指令正常读写内存,完成后跳出异常处理程序,回到正常的程序中去。 |
地址 |
518057广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部 |