[發(fā)明專利]用于確定性代碼流完整性保護(hù)的技術(shù)有效
| 申請?zhí)枺?/td> | 201780052750.5 | 申請日: | 2017-08-17 |
| 公開(公告)號: | CN109643345B | 公開(公告)日: | 2023-07-25 |
| 發(fā)明(設(shè)計)人: | M.E.庫納維斯;D.M.德拉姆;R.L.薩希塔;K.S.格雷沃爾 | 申請(專利權(quán))人: | 英特爾公司 |
| 主分類號: | G06F21/54 | 分類號: | G06F21/54;G06F21/62;G06F21/64;H04L9/06 |
| 代理公司: | 中國專利代理(香港)有限公司 72001 | 代理人: | 高葦娟;申屠偉進(jìn) |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 確定性 代碼 完整性 保護(hù) 技術(shù) | ||
1.一種用于控制流完整性保護(hù)的計算設(shè)備,所述計算設(shè)備包括:
靜態(tài)分析器,其要(i)標(biāo)識受保護(hù)代碼的原子代碼路徑,其中所述原子代碼路徑包括入口點和出口點,以及(ii)標(biāo)識所述原子代碼路徑中的潛在小工具,其中所述潛在小工具為面向返回編程小工具、面向跳轉(zhuǎn)編程小工具、或外部動態(tài)鏈接庫(DLL)調(diào)用;以及
檢測管理器,其要(i)在所述原子代碼路徑中在所述潛在小工具附近插入第一標(biāo)記指令,所述第一標(biāo)記指令具有與第一標(biāo)記指令的地址對應(yīng)的參數(shù),其中第一標(biāo)記指令在被執(zhí)行時使目標(biāo)計算設(shè)備的處理器根據(jù)第一標(biāo)記指令的地址更新所述目標(biāo)計算設(shè)備的路徑散列,以及(ii)在所述受保護(hù)代碼中在所述原子代碼路徑的出口點之后插入一個或多個控制流完整性評估指令,其中所述控制流完整性評估指令在被執(zhí)行時使所述目標(biāo)計算設(shè)備的處理器將所述路徑散列與預(yù)期散列值進(jìn)行比較。
2.根據(jù)權(quán)利要求1所述的計算設(shè)備,其中所述原子代碼路徑包括不具有子例程調(diào)用、子例程返回、循環(huán)入口或者除了if語句跳轉(zhuǎn)或case語句跳轉(zhuǎn)之外的跳轉(zhuǎn)的代碼序列。
3.根據(jù)權(quán)利要求1所述的計算設(shè)備,其中插入所述一個或多個控制流完整性評估指令包括:
在所述受保護(hù)代碼中在所述原子代碼路徑的出口點之后插入第一散列評估器指令,所述第一散列評估器指令具有與第一標(biāo)記指令的地址對應(yīng)的參數(shù);
在所述受保護(hù)代碼中在第一散列評估器指令之后插入第一比較評估器指令;以及
在所述受保護(hù)代碼中在第一比較評估器指令之后插入散列校驗指令。
4.根據(jù)權(quán)利要求3所述的計算設(shè)備,其中:
所述靜態(tài)分析器進(jìn)一步要標(biāo)識所述原子代碼路徑中的第二潛在小工具,其中第二潛在小工具發(fā)生在所述原子代碼路徑中的第一潛在小工具之后;
所述檢測管理器進(jìn)一步要(i)在所述原子代碼路徑中在第二潛在小工具附近插入第二標(biāo)記指令,所述第二標(biāo)記指令具有與第二標(biāo)記指令的地址對應(yīng)的參數(shù),以及(ii)在所述受保護(hù)代碼中在第一散列評估器指令之后插入第二散列評估器指令,所述第二散列評估器指令具有與第二標(biāo)記指令的地址對應(yīng)的參數(shù);并且
插入第一比較評估器指令進(jìn)一步包括在第二散列評估器指令之后插入第一比較評估器指令。
5.根據(jù)權(quán)利要求3所述的計算設(shè)備,其中:
所述靜態(tài)分析器進(jìn)一步要:(i)標(biāo)識所述受保護(hù)代碼的第二原子代碼路徑,其中第二原子代碼路徑包括入口點和出口點,并且其中所述原子代碼路徑的出口點包括第二原子代碼路徑的出口點,以及(ii)標(biāo)識第二原子代碼路徑中的第二潛在小工具;
所述檢測管理器進(jìn)一步要(i)在第二原子代碼路徑中在第二潛在小工具附近插入第二標(biāo)記指令,所述第二標(biāo)記指令具有與第二標(biāo)記指令的地址對應(yīng)的參數(shù),(ii)在所述受保護(hù)代碼中在第一比較評估器指令之后插入第二散列評估器指令,所述第二散列評估器指令具有與第二標(biāo)記指令的地址對應(yīng)的參數(shù),以及(iii)在所述受保護(hù)代碼中在第二散列評估器指令之后插入第二比較評估器指令;并且
插入所述散列校驗指令進(jìn)一步包括在第二比較評估器指令之后插入所述散列校驗指令。
6.根據(jù)權(quán)利要求3所述的計算設(shè)備,其中所述檢測管理器進(jìn)一步要:
在所述原子代碼路徑中在所述原子代碼路徑的入口點處插入第二標(biāo)記指令,所述第二標(biāo)記指令具有與第二標(biāo)記指令的地址對應(yīng)的參數(shù);以及
在所述受保護(hù)代碼中在所述出口點之后并且在第一散列評估器指令之前插入第二散列評估器指令,所述第二散列評估器指令具有與第二標(biāo)記指令的地址對應(yīng)的參數(shù)。
7.根據(jù)權(quán)利要求3所述的計算設(shè)備,其中:
所述靜態(tài)分析器進(jìn)一步要標(biāo)識跳轉(zhuǎn)到所述原子代碼路徑的入口點的所述受保護(hù)代碼的非返回跳轉(zhuǎn);并且
所述檢測管理器進(jìn)一步要(i)在所述受保護(hù)代碼中在所述非返回跳轉(zhuǎn)之前插入第二標(biāo)記指令,所述第二標(biāo)記指令具有與第二標(biāo)記指令的地址對應(yīng)的參數(shù),以及(ii)在所述受保護(hù)代碼中在所述出口點之后并且在第一散列評估器指令之前插入第二散列評估器指令,所述第二散列評估器指令具有與第二標(biāo)記指令的地址對應(yīng)的參數(shù)。
該專利技術(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/201780052750.5/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計算機(jī)或計算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計算機(jī)系統(tǒng)或計算機(jī)網(wǎng)絡(luò)中的節(jié)點
G06F21-22 .通過限制訪問或處理程序或過程





