[發明專利]一種目標主機分支預測單元的安全性評估方法有效
| 申請號: | 201910541462.7 | 申請日: | 2019-06-21 |
| 公開(公告)號: | CN110336803B | 公開(公告)日: | 2020-08-11 |
| 發明(設計)人: | 霍天霖;趙培;岳曉萌;趙姍 | 申請(專利權)人: | 中國科學院軟件研究所 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L12/24;G06F21/57 |
| 代理公司: | 北京君尚知識產權代理有限公司 11200 | 代理人: | 司立彬 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 目標 主機 分支 預測 單元 安全性 評估 方法 | ||
本發明公開了一種目標主機分支預測單元的安全性評估方法,其步驟包括:1)將目標主機的分支預測單元BPU由一級預測器預測模式轉變為二級預測器預測模式;然后將二級方向預測器中目標PHT項中飽和計數器的值設定為強不跳轉狀態,將目標PHT項中的飽和計數器值設定為弱跳轉狀態;2)目標主機在已執行過目標分支歷史序列的基礎上,執行目標程序中的目標分支指令,修改二級方向預測器中指定條目中的信息;3)目標主機執行測試代碼中的測試分支指令,用于對目標PHT項的狀態進行探測,如果探測時間超過設定閾值,則判定BPU預測錯誤;否則判斷預測的跳轉方向與目標分支指令真實執行的跳轉方向是否一致,如果一致則判定目標主機不安全。
技術領域
本發明涉及一種針對目標主機分支預測單元的安全性評估和防御方法,屬于系統安全技術領域。
背景技術
分支預測單元(Branch Prediction Unit,BPU)是現代處理器中用以提升處理器性能的重要組件之一。它會對程序執行的分支跳轉指令的方向和地址進行預測,并允許處理器投機執行預測的結果以充分利用流水線資源。如果由于預測錯誤而導致投機執行失敗,處理器會對錯誤執行的整個路徑進行刷新。
BPU設計如圖1所示,主要包括模式歷史表(Pattern History Table,簡稱PHT)、分支目標緩存(Branch Target Buffer,簡稱BTB)、分支歷史緩存(Branch History Buffer,簡稱BHB)等。模式歷史表主要負責分支指令跳轉方向的預測(即該分支taken還是不taken),是BPU中方向預測器中的核心器件;分支目標緩存主要負責預測本次分支跳轉的目標地址;分支歷史緩存主要用于記錄之前出現的歷史分支跳轉。其中,方向預測器一般包括一級預測器(即雙峰預測器),二級方向預測器,循環預測器等,這些預測器協同工作保證BPU分支預測的正確率。對于一個新到來的分支指令,BPU會首先選擇一級方向預測器來預測該分支指令可能的跳轉方向;而當數次預測錯誤后,BPU會轉為使用二級方向預測器進行預測。一級預測器僅會根據當前分支跳轉指令的PC(program counter)值來進行PHT索引,而二級預測器在此基礎上,同時還會考慮分支歷史緩存(BHB)中的歷史信息來進行PHT索引。
BPU在為處理器帶來巨大性能提升的同時,也為側信道入侵提供了機會。目前存在大量針對BPU的側信道安全問題,例如2018年1月暴露的Spectre測試就是一種利用BPU來竊取目標用戶私密信息的典型測試實例,該測試可以對現有的絕大部分Intel、AMD以及ARM處理器造成危害。為了更好地防御BPU側信道測試,針對處理器中BPU的安全性進行評估顯得尤為重要。針對BPU安全性評估的通用方法是監測BPU中目標器件的微架構狀態變化,進而檢測該狀態變化是否可以推測出目標程序中的私密數據。本發明重點關注與BPU中的二級方向預測器相關的側信道安全。對目標主機進行基于側信道測試的安全性評估是亟待解決的技術問題,從而基于評估可以提出相應的防御措施。
發明內容
針對現有技術中存在的技術問題,本發明的目的在于提供一種針對目標主機分支預測單元的安全性評估方法,通過是否能夠推測目標主機進程的執行路徑對目標主機的分支預測單元安全性進行評估,并根據評估結果給出目標主機進程中私密數據的是否安全。
在安全評估時被測試的程序稱為目標程序,而將該程序中與私密信息相關的分支指令稱為目標分支指令。在目標分支指令執行前,目標程序中所執行過的分支歷史序列稱為目標分支歷史序列。目標分支指令在二級方向預測器中進行預測時,所使用的PHT項被稱為目標PHT項。
與此同時,將對目標程序進行安全測試評估的程序稱為測試程序,測試程序中與目標程序中的目標分支指令位于相同程序位置(即具有相同PC值)的分支指令被稱為測試分支指令。在測試分支指令執行前,測試程序中所執行過的分支歷史序列稱為測試分支歷史序列。
本發明采用的技術方案如下:
一種針對目標主機分支預測單元的安全性評估方法,其步驟包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院軟件研究所,未經中國科學院軟件研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910541462.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種服務器的遠程操作方法及裝置
- 下一篇:多媒體文件的恢復方法、裝置及設備





