[發明專利]一種目標主機分支預測單元的安全性評估方法有效
| 申請號: | 201910541462.7 | 申請日: | 2019-06-21 |
| 公開(公告)號: | CN110336803B | 公開(公告)日: | 2020-08-11 |
| 發明(設計)人: | 霍天霖;趙培;岳曉萌;趙姍 | 申請(專利權)人: | 中國科學院軟件研究所 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L12/24;G06F21/57 |
| 代理公司: | 北京君尚知識產權代理有限公司 11200 | 代理人: | 司立彬 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 目標 主機 分支 預測 單元 安全性 評估 方法 | ||
1.一種目標主機分支預測單元的安全性評估方法,其步驟包括:
1)初始化階段,將目標主機的分支預測單元BPU由一級預測器預測模式轉變為二級預測器預測模式;然后將測試分支歷史序列和測試分支指令重復交替執行,用于將目標PHT項中的飽和計數器值設定為弱跳轉狀態;其中,測試程序中所執行過的分支歷史序列稱為測試分支歷史序列,測試程序中與目標程序中的目標分支指令位于相同程序位置的分支指令被稱為測試分支指令,目標程序中與設定私密信息相關的分支指令稱為目標分支指令,目標分支指令在二級方向預測器中進行預測時所使用的PHT項稱為目標PHT項;
2)執行階段,目標主機在已執行過目標分支歷史序列的基礎上,執行目標程序中的目標分支指令,修改二級方向預測器中指定條目中的信息;目標程序中所執行過的分支歷史序列稱為目標分支歷史序列;
3)探測階段,目標主機執行測試代碼中的測試分支指令,用于對二級方向預測器中目標PHT項的狀態進行探測,如果探測時間超過設定閾值,則判定BPU預測錯誤;否則判定BPU預測正確并且目標分支指令是一個跳轉指令,然后測試程序預測該目標分支指令的跳轉方向,如果預測的跳轉方向與目標分支指令真實執行的跳轉方向一致,則判定目標主機不安全。
2.如權利要求1所述的方法,其特征在于,步驟1)中,構造誘使一級方向預測器發生預測錯誤的分支序列給目標主機,使得目標主機產生一級方向預測器的預測錯誤。
3.如權利要求1所述的方法,其特征在于,通過逆向分析出從一級方向預測器轉移到二級方向預測器的算法,然后利用該算法構造誘使一級方向預測器發生預測錯誤的分支序列。
4.如權利要求1所述的方法,其特征在于,步驟1)中,按照BPU中一級方向預測器和二級方向預測器協同工作的機制,構造測試分支指令并發送給目標主機,從而使得目標主機產生一級方向預測器的預測錯誤。
5.如權利要求1所述的方法,其特征在于,所述測試分支歷史序列與所述目標分支歷史序列相同。
6.如權利要求1所述的方法,其特征在于,測試程序和目標程序分別運行于同一個物理核的兩個不同邏輯核上,二者共享二級方向預測器中的所有PHT項。
7.如權利要求1所述的方法,其特征在于,將測試分支歷史序列和測試分支指令重復執行8次,且設置測試分支指令的執行方向為不跳轉,用于將二級方向預測器中目標PHT項中3位飽和計數器的值設定為強不跳轉狀態;將測試分支歷史序列和測試分支指令重復執行4次,且設置測試分支指令的執行方向為跳轉,用于將PHT項中的飽和計數器值設定為弱跳轉狀態。
8.如權利要求1所述的方法,其特征在于,步驟1)中,將目標PHT項中的飽和計數器值設定為弱跳轉狀態的方法為:將測試分支歷史序列和測試分支指令重復交替執行,用于將二級方向預測器中目標PHT項中3位飽和計數器的值設定為強不跳轉狀態;然后將測試分支歷史序列和測試分支指令重復執行,用于將目標PHT項中的飽和計數器值設定為弱跳轉狀態。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院軟件研究所,未經中國科學院軟件研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910541462.7/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種服務器的遠程操作方法及裝置
- 下一篇:多媒體文件的恢復方法、裝置及設備





