[發(fā)明專利]用于確定性代碼流完整性保護的技術(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)鍵詞: | 用于 確定性 代碼 完整性 保護 技術(shù) | ||
用于代碼流完整性保護的技術(shù)包括靜態(tài)分析器,其標(biāo)識受保護代碼的原子代碼路徑中的潛在小工具。在潛在小工具之后插入標(biāo)記指令,所述標(biāo)記指令具有與該標(biāo)記指令的地址對應(yīng)的參數(shù),在原子代碼路徑的出口點之后插入散列評估器指令,所述散列評估器指令具有與該標(biāo)記指令的地址對應(yīng)的參數(shù),并且在散列評估器指令之后插入比較評估器指令和散列校驗指令。目標(biāo)計算設(shè)備執(zhí)行受保護代碼并根據(jù)標(biāo)記指令的參數(shù)更新路徑散列,根據(jù)散列評估器指令的參數(shù)確定預(yù)期散列值,并且如果路徑散列和預(yù)期散列值不匹配則生成異常。描述并要求保護其他實施例。
對相關(guān)美國專利申請的交叉引用
本申請要求2016年9月27日提交的題為“TECHNOLOGIES?FOR?DETERMINISTIC?CODEFLOW?INTEGRITY?PROTECTION”的美國實用專利申請序列號15/276,895的優(yōu)先權(quán)。
背景技術(shù)
面向返回編程(ROP)漏洞利用是可以規(guī)避將存儲器的位置標(biāo)記為不可執(zhí)行的某些防御的惡意的軟件(惡意軟件)的越來越常見的形式。ROP漏洞利用通過將每個以“返回”指令結(jié)束的大量現(xiàn)有的可執(zhí)行代碼段(稱為小工具(gadget))串起來而工作。每個ROP小工具通常短,并且通常不對應(yīng)于現(xiàn)有過程或甚至可執(zhí)行代碼中的現(xiàn)有指令邊界。攻擊者構(gòu)造惡意堆棧,所述惡意堆棧包括一系列指向所期望的小工具序列的返回地址。通過使計算機的處理器使用惡意堆棧而不是合法系統(tǒng)堆棧執(zhí)行軟件來實行ROP漏洞利用。例如,可以通過粉碎堆棧、使用緩沖區(qū)溢出漏洞利用、轉(zhuǎn)向新堆棧或以其他方式破壞系統(tǒng)堆棧來引入惡意堆棧。面向跳轉(zhuǎn)編程(JOP)和面向調(diào)用編程(COP)漏洞利用是類似的,但目標(biāo)小工具分別以間接跳轉(zhuǎn)指令或調(diào)用指令而不是返回指令開始或結(jié)束。
可以通過維持與普通系統(tǒng)堆棧(也稱為“遺留堆棧”)并行的“影子堆棧”來防止某些ROP漏洞利用。影子堆棧維持普通軟件不可訪問的存儲器中的遺留堆棧的副本,并且可用于確定遺留堆棧是否已被惡意軟件篡改。可用于幫助防止ROP、JOP或其他控制流漏洞利用的其他措施可以包括將ENDBRANCH指令插入到二進(jìn)制文件中以專門標(biāo)記針對間接分支或跳轉(zhuǎn)的被允許目標(biāo)。
附圖說明
在附圖中通過示例的方式而非通過限制的方式圖示了本文中描述的概念。為了圖示的簡單和清楚,各圖中圖示的元件不一定按比例繪制。在認(rèn)為適當(dāng)?shù)那闆r下,參考標(biāo)簽在各圖之間重復(fù)以指示對應(yīng)或類似的元件。
圖1是用于代碼流完整性保護的計算設(shè)備的至少一個實施例的簡化框圖;
圖2是可以由圖1的一個或多個計算設(shè)備建立的各種環(huán)境的簡化框圖;
圖3是用于靜態(tài)地分析和檢測(instrument)可以由圖1-2的計算設(shè)備執(zhí)行的代碼的方法的至少一個實施例的簡化流程圖;
圖4是為了代碼流完整性保護所檢測的原子代碼路徑的至少一個實施例的簡化流程圖;
圖5A和5B是可以由圖1-2的計算設(shè)備執(zhí)行的用于代碼流完整性保護的方法的至少一個實施例的簡化流程圖;以及
圖6是可以由圖1-2的計算設(shè)備的處理器執(zhí)行的用于代碼流完整性保護的方法的至少一個實施例的簡化流程圖。
具體實施方式
雖然本公開的概念對各種修改和替代形式敏感,但是其特定實施例已被在附圖中通過示例的方式示出并且將在本文中詳細(xì)地描述。然而,應(yīng)當(dāng)理解,不意圖將本公開的概念限制于所公開的特定形式,而正相反,意圖是涵蓋與本公開和所附權(quán)利要求一致的所有修改、等同物和替代物。
該專利技術(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/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





