[發明專利]緩沖區溢出保護方法在審
| 申請號: | 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.szxzyx.cn/pat/books/201510828343.1/1.html,轉載請聲明來源鉆瓜專利網。





