[發(fā)明專利]檢測堆棧中返回地址被篡改的方法及裝置在審
| 申請?zhí)枺?/td> | 201811108301.0 | 申請日: | 2018-09-21 |
| 公開(公告)號: | CN109508537A | 公開(公告)日: | 2019-03-22 |
| 發(fā)明(設(shè)計(jì))人: | 陳李維;李錦峰;史崗;孟丹 | 申請(專利權(quán))人: | 中國科學(xué)院信息工程研究所 |
| 主分類號: | G06F21/52 | 分類號: | G06F21/52 |
| 代理公司: | 北京路浩知識產(chǎn)權(quán)代理有限公司 11002 | 代理人: | 王瑩;吳歡燕 |
| 地址: | 100093 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 返回地址 堆棧 篡改 設(shè)計(jì)復(fù)雜度 鏈?zhǔn)浇Y(jié)構(gòu) 性能損耗 種檢測 加密 存儲 驗(yàn)證 檢測 | ||
本發(fā)明上述實(shí)施例提供一種檢測堆棧中返回地址被篡改的方法及裝置,本發(fā)明將返回地址和加密值都通過一個鏈?zhǔn)浇Y(jié)構(gòu)來存儲并驗(yàn)證,本發(fā)明實(shí)施例具有安全性高、性能損耗小、設(shè)計(jì)復(fù)雜度低等有益效果。
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,更具體地,涉及檢測堆棧中返回地址被篡改的方法及裝置。
背景技術(shù)
計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)的建設(shè)和發(fā)展,對整個社會的經(jīng)濟(jì)、文化、科技等各方面帶來了巨大的推動和沖擊,大量電信、電子商務(wù)、金融網(wǎng)絡(luò)等信息化系統(tǒng)已經(jīng)成為國家和政府的關(guān)鍵基礎(chǔ)設(shè)施,因此如何確保計(jì)算機(jī)系統(tǒng)的安全已成為擺在我們面前迫切需要解決的難題。
堆棧溢出漏洞是一個極其嚴(yán)重的系統(tǒng)安全漏洞,它是通過向一個有限的內(nèi)存空間寫入過長的數(shù)據(jù),破壞系統(tǒng)的內(nèi)存空間,導(dǎo)致系統(tǒng)運(yùn)行異常、死機(jī)或重啟。通過堆棧溢出攻擊,使用攻擊代碼的地址覆蓋函數(shù)指針,可以讓攻擊者獲取部分或全部的系統(tǒng)控制權(quán),這是一種極具威脅的安全隱患。
現(xiàn)有技術(shù)中,對于堆棧溢出攻擊主要的阻止和防御方式為通過影子棧和棧保護(hù)技術(shù),保證返回地址不被惡意篡改。但影子棧和棧保護(hù)的安全性都不夠,攻擊者仍能找到一些辦法來繞過上述兩種防御技術(shù)進(jìn)行攻擊。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明實(shí)施例提供一種克服上述問題或者至少部分地解決上述問題的一種檢測堆棧中返回地址被篡改的方法及裝置。
根據(jù)本發(fā)明實(shí)施例的第一方面,提供了一種檢測堆棧中返回地址被篡改的方法,包括:
S1,根據(jù)堆棧中棧頂幀中所存儲的待驗(yàn)證返回地址和待驗(yàn)證返回地址所對應(yīng)的加密值,基于任一加密值生成算法,獲得待驗(yàn)證加密值;
其中,所述堆棧中的第i幀中存儲了第i個返回地址和一個隨機(jī)數(shù);所述堆棧中第i+1幀至棧頂幀中的任一幀中存儲了所述任一幀所對應(yīng)的返回地址和返回地址所對應(yīng)的加密值;其中,返回地址所對應(yīng)的加密值根據(jù)棧中所述任一幀的前一幀中存儲的返回地址和返回地址所對應(yīng)的加密值,基于所述任一加密值生成算法,獲得的加密值;j>i≥1,其中j為棧頂幀的序號;
S2,若待驗(yàn)證加密值與預(yù)先生成的正確加密值不同,則確認(rèn)待驗(yàn)證返回地址被篡改;其中,所述正確加密值預(yù)先根據(jù)棧中棧頂幀的未被篡改的返回地址和未被篡改的返回地址所對應(yīng)的加密值,基于所述任一加密值生成算法獲得的。
進(jìn)一步,用于執(zhí)行所述檢測堆棧中返回地址被篡改的方法的處理器中,還包括一個Top寄存器,所述Top寄存器用于存儲所述正確加密值,且Top寄存器中所存儲的正確加密值只能通過預(yù)設(shè)指令修改。
進(jìn)一步,用于執(zhí)行所述檢測堆棧中返回地址被篡改的方法的處理器中,還包括一個用于執(zhí)行所述任一加密值生成算法的加密計(jì)算模塊。
進(jìn)一步,所述堆棧中任一返回地址,和與所述任一返回地址所對應(yīng)的加密值分別單獨(dú)保存在所述堆棧中同一棧幀內(nèi)的不同位置上。
進(jìn)一步,S2還包括:
若待驗(yàn)證加密值與預(yù)先生成的正確加密值相同,則確認(rèn)待驗(yàn)證返回地址沒有被篡改。
根據(jù)本發(fā)明實(shí)施例的另一個方面,提供一種檢測堆棧中返回地址被篡改的裝置,包括:
加密值計(jì)算模塊,用于根據(jù)堆棧中棧頂幀中所存儲的待驗(yàn)證返回地址和待驗(yàn)證返回地址所對應(yīng)的加密值,基于任一加密值生成算法,獲得待驗(yàn)證加密值;
其中,所述堆棧中的第i幀中存儲了第i個返回地址和一個隨機(jī)數(shù);所述堆棧中第i+1幀至棧頂幀中的任一幀中存儲了所述任一幀所對應(yīng)的返回地址和返回地址所對應(yīng)的加密值;其中,返回地址所對應(yīng)的加密值根據(jù)棧中所述任一幀的前一幀中存儲的返回地址和返回地址所對應(yīng)的加密值,基于所述任一加密值生成算法,獲得的加密值;j>i≥1,其中j為棧頂幀的序號;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國科學(xué)院信息工程研究所,未經(jīng)中國科學(xué)院信息工程研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811108301.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程





