[發(fā)明專利]用于高效地管理和處理影子棧的裝置和方法在審
| 申請?zhí)枺?/td> | 202011458472.3 | 申請日: | 2020-12-11 |
| 公開(公告)號: | CN113536293A | 公開(公告)日: | 2021-10-22 |
| 發(fā)明(設(shè)計)人: | V·尚伯格;G·奈格;D·K·古普塔;H·P·安文 | 申請(專利權(quán))人: | 英特爾公司 |
| 主分類號: | G06F21/52 | 分類號: | G06F21/52;G06F21/56;G06F9/30 |
| 代理公司: | 上海專利商標事務(wù)所有限公司 31100 | 代理人: | 陳依心;何焜 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 高效 管理 處理 影子 裝置 方法 | ||
本申請公開了用于高效地管理和處理影子棧的裝置和方法。處理器的一個實施例包括:多個寄存器,用于存儲多個影子棧指針(SSP),每個SSP與不同事件優(yōu)先級相關(guān)聯(lián);事件處理電路,用于響應(yīng)于接收到與第一事件優(yōu)先級等級相關(guān)聯(lián)的第一事件,從多個寄存器中的第一寄存器選擇多個SSP中的第一SSP,第一SSP能用于標識第一影子棧的頂部;驗證和利用檢查電路,用于確定第一SSP是否先前已經(jīng)被驗證,其中如果第一SSP先前還未被驗證,則發(fā)起原子操作的集合以驗證第一SSP并且確認第一SSP不在使用中,原子操作的集合使用鎖定操作來鎖定數(shù)據(jù),直到原子操作的集合完成,并且其中如果第一SSP先前已經(jīng)被驗證,則重新驗證第一SSP并且確認第一SSP不在使用中而無需使用鎖定操作。
背景技術(shù)
技術(shù)領(lǐng)域
本發(fā)明的實施例總體上關(guān)于計算機處理器領(lǐng)域。更具體地,實施例關(guān)于用于高效地管理和處理影子棧的裝置和方法。
背景技術(shù)
面向返回編程(ROP)利用是越來越常見形式的惡意的軟件(惡意軟件),它可以規(guī)避將存儲器的位置標記為不可執(zhí)行的某些防御措施。ROP利用通過將大量現(xiàn)有的可執(zhí)行代碼段(稱為小工具)串聯(lián)在一起來工作,這些代碼段中的每一個都以“返回”指令結(jié)束。每個ROP小工具通常都很短,并且通常不對應(yīng)于可執(zhí)行代碼中的現(xiàn)有過程或甚至現(xiàn)有指令邊界。攻擊者構(gòu)建惡意棧,包括指向所需的一系列小工具的一系列返回地址。通過使計算機的處理器使用惡意棧代替合法的系統(tǒng)棧執(zhí)行軟件來執(zhí)行ROP利用。例如,惡意棧可以通過粉碎棧、使用緩沖器溢出利用、樞轉(zhuǎn)到新的棧、或以其他方式破壞系統(tǒng)棧來引入。
可以通過與普通系統(tǒng)棧(也稱為“傳統(tǒng)棧”)并行地維護“影子棧”來防止某些ROP利用。影子棧在普通軟件無法訪問的存儲器中維護傳統(tǒng)棧的副本,并且可用于確定傳統(tǒng)棧是否已經(jīng)被惡意軟件篡改。影子棧可以使用二進制插樁來實現(xiàn),這對某些用途會帶來顯著的性能降低。
其他措施可用于幫助防止ROP利用。例如,可將“金絲雀”值在返回地址附近插入棧中,并且可以監(jiān)視它們的變化。作為另一示例,“控制傳輸終止指令”可以被插入到二進制文件中,以專門標識合法的返回目標。然而,此類措施可能需要重新編譯或以其他方式修改客戶機軟件。此外,某些處理器架構(gòu)可能提供某些軟件無法訪問的調(diào)用棧。例如,某些微控制器可以維護對軟件不可訪問的調(diào)用棧。作為另一示例,某些處理器架構(gòu)可以將調(diào)用棧信息維護在與諸如自動變量之類的其他棧值分開的存儲器區(qū)域中。
附圖說明
結(jié)合以下附圖,從以下具體實施方式可獲得對本發(fā)明更好的理解,其中:
圖1A和1B是圖示根據(jù)本發(fā)明的實施例的通用向量友好指令格式及其指令模板的框圖;
圖2A-圖2C是圖示根據(jù)本發(fā)明的實施例的示例性VEX指令格式的框圖;
圖3是根據(jù)本發(fā)明的一個實施例的寄存器架構(gòu)的框圖;以及
圖4A是圖示根據(jù)本發(fā)明的實施例的示例性有序取出、解碼、引退流水線以及示例性寄存器重命名的亂序發(fā)布/執(zhí)行流水線兩者的框圖;
圖4B是圖示根據(jù)本發(fā)明的實施例的要包括在處理器中的有序取出、解碼、引退核的示例性實施例和示例性寄存器重命名的亂序發(fā)布/執(zhí)行架構(gòu)核的框圖;
圖5A是單個處理器核以及它與管芯上互連網(wǎng)絡(luò)的連接的框圖;
圖5B圖示根據(jù)本發(fā)明的實施例的圖5A中的處理器核的部分的展開圖;
圖6是根據(jù)本發(fā)明的實施例的具有集成存儲器控制器和圖形器件的單核處理器和多核處理器的框圖;
圖7圖示根據(jù)本發(fā)明的一個實施例的系統(tǒng)的框圖;
圖8圖示根據(jù)本發(fā)明的實施例的第二系統(tǒng)的框圖;
圖9圖示根據(jù)本發(fā)明的實施例的第三系統(tǒng)的框圖;
圖10圖示根據(jù)本發(fā)明的實施例的芯片上系統(tǒng)(SoC)的框圖;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于英特爾公司,未經(jīng)英特爾公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011458472.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





