[发明专利]缓冲区溢出保护方法在审
| 申请号: | 201510828343.1 | 申请日: | 2015-11-24 |
| 公开(公告)号: | CN105426752A | 公开(公告)日: | 2016-03-23 |
| 发明(设计)人: | 马晓东;谢汶兵;漆锋滨;尉红梅;翟彦河;陈茜 | 申请(专利权)人: | 无锡江南计算技术研究所 |
| 主分类号: | G06F21/52 | 分类号: | G06F21/52;G06F21/56 |
| 代理公司: | 北京众合诚成知识产权代理有限公司 11246 | 代理人: | 龚燮英 |
| 地址: | 214083 江苏*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 缓冲区 溢出 保护 方法 | ||
1.一种缓冲区溢出保护方法,其特征在于包括:
根据原始栈形成一个备份栈,其中备份栈备份了函数返回地址和堆栈帧指针,而且备份栈在调用函数入口处备份控制流信息;
在函数调用返回时通过比较原始栈与备份栈信息来判断是否有溢出发生。
2.根据权利要求1所述的缓冲区溢出保护方法,其特征在于,所有进程都有共享库中代码;在基础库链接过程中,不把所述共享库拷贝到输出文件,而是使得所有进程共享一份它们用到的共享库中的例程的拷贝。
3.根据权利要求1或2所述的缓冲区溢出保护方法,其特征在于,通过设计一个库来实现在调用函数入口处备份控制流信息。
4.根据权利要求3所述的缓冲区溢出保护方法,其特征在于,所述库中定义了一个静态数组用于保存控制流信息。
5.根据权利要求3所述的缓冲区溢出保护方法,其特征在于,所述库中的函数实现栈的压入和弹出操作,以及监测到控制流信息被修改时的处理机制。
6.根据权利要求3所述的缓冲区溢出保护方法,其特征在于,所述库包括第一函数和第二函数;其中第一函数在被编译程序的每个函数的入口处被调用,第一函数的输入为当前函数的帧指针指向的内存位置的内容和返回地址;第二函数在被编译程序的每个函数的出口处被调用,其中第二函数的输入为当前函数的帧指针指向的内存位置的内容和返回地址。
7.根据权利要求6所述的缓冲区溢出保护方法,其特征在于,第一函数和第二函数被插入在目标函数的头部和尾部的第一条指令前和最后一条指令后。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于无锡江南计算技术研究所,未经无锡江南计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510828343.1/1.html,转载请声明来源钻瓜专利网。





