亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于動態(tài)分支過濾的SMT執(zhí)行端口側(cè)信道安全防護(hù)

        2022-08-13 08:22:24岳曉萌楊秋松李明樹
        電子學(xué)報 2022年7期
        關(guān)鍵詞:指令

        岳曉萌,楊秋松,李明樹

        (1.中國科學(xué)院軟件研究所基礎(chǔ)軟件國家工程研究中心,北京 100190;2.中國科學(xué)院大學(xué),北京 100049)

        1 引言

        同時多線程通過增加少量硬件資源,把1個物理核映射成多個邏輯核,同時運(yùn)行的線程可共享處理器的硬件資源.因?yàn)榫€程執(zhí)行總有空閑或者等待的時間,SMT環(huán)境下當(dāng)1個線程進(jìn)入空閑或等待,另外的線程可以繼續(xù)執(zhí)行,從而更加合理的使用處理器資源.Intel最早于2002 年的Pentium 4 處理器上使用超線程(Hyper-Threading,HT)技術(shù)[1].Intel HT 技術(shù)在1 個物理核內(nèi)實(shí)現(xiàn)了2 個邏輯核,本文中的SMT 技術(shù)均以Intel 提出的超線程技術(shù)作為主要參考.

        SMT 技術(shù)增加了很多處理器微架構(gòu)安全問題利用的場景和機(jī)會,因此有研究人員評價SMT 技術(shù)是“廉價的硬件并行意味著廉價的安全性”[2].2018 年,Ge 等人[3]總結(jié)了2002年到2018年期間各個系統(tǒng)層級由于資源共享導(dǎo)致的時間信道安全問題及緩解措施,提出基于SMT 技術(shù)產(chǎn)生的硬件線程級時間信道安全問題相對于跨核和跨處理器的時間信道安全問題是更難應(yīng)對和防護(hù)的,其將利用SMT 技術(shù)的攻擊稱為“簡單攻擊(Easy Attacks)”,而SMT環(huán)境下時間信道安全問題的防護(hù)或緩解方法大部分集中在緩存結(jié)構(gòu)上.普林斯頓的He 等人在2017 年發(fā)表了在側(cè)信道攻擊下的緩存是否安全的文章[4],通過分析攻擊成功概率來總結(jié)已有防護(hù)型緩存架構(gòu)的安全性.

        2006 年,Wang 等人[5]首次使用執(zhí)行單元的資源競爭構(gòu)建了隱蔽信道.2018 年,Aldaya 等人[6]在Intel Skylake 和Kabylake 微架構(gòu)上利用其SMT 技術(shù)開啟后執(zhí)行端口競爭問題提出了PortSmash 攻擊,該攻擊通過構(gòu)建不同執(zhí)行端口的指令沖突場景,經(jīng)過一定規(guī)模的時間信道收集和降噪后獲取受害者信息.2019 年,IBM 的研究團(tuán)隊(duì)提出了一種叫SMoTherSpectre[7]的新型“Spectre”類型攻擊,其在PortSmash 攻擊基礎(chǔ)上同時利用了SMT 環(huán)境下分支預(yù)測器和執(zhí)行端口共享的特征,通過構(gòu)建投機(jī)代碼重用的攻擊場景提高執(zhí)行端口沖突產(chǎn)生時間信道的準(zhǔn)確性.

        針對上述SMT 環(huán)境下共享執(zhí)行端口或執(zhí)行單元的時間側(cè)信道攻擊,研究人員也提出了一些防護(hù)方法.Percival等人[8]在早期提出可以禁用SMT來防范此類攻擊,其可以徹底解決執(zhí)行單元或執(zhí)行端口雙線程共享產(chǎn)生的時間側(cè)信道問題.Hu[9]提出通過將噪聲添加到與進(jìn)程相關(guān)的所有時間信息中,達(dá)到降低時序信道帶寬的目的進(jìn)行防護(hù).2019 年,Zhang 等人[10]提出了名為DDM(Demand-based Dynamic Mitigation)的防護(hù)方法,DDM 通過軟件手段動態(tài)關(guān)閉SMT 技術(shù)來達(dá)到防護(hù)目的,尚未有從處理器微架構(gòu)角度防護(hù)的案例.

        SMoTherSpectre[7]在利用沖突指令時,僅僅使用了非常小的沖突窗口,增加了防護(hù)難度.本文提出了一種針對現(xiàn)代處理器SMT 環(huán)境下SMoTherSpectre 執(zhí)行端口時間信道攻擊的防護(hù)方法.主要貢獻(xiàn)有如下兩點(diǎn):

        (1)首次使用TSG 模型完成SMoTherSpectre 攻擊原理的建模并推導(dǎo)對應(yīng)的防護(hù)路徑,針對投機(jī)代碼瞬態(tài)執(zhí)行窗口的分支刷新特性基于分支指令執(zhí)行狀態(tài)設(shè)計動態(tài)調(diào)整執(zhí)行端口資源分配策略的防護(hù)方案;

        (2)提出并設(shè)計了一種基于記錄分支預(yù)測錯誤刷新并動態(tài)調(diào)整執(zhí)行端口資源使用策略的SMT 環(huán)境下執(zhí)行端口時間信道防護(hù)方法,可以有效防護(hù)以SMother-Spectre 為代表的組合使用誘導(dǎo)分支預(yù)測投機(jī)執(zhí)行及執(zhí)行端口沖突的時間信道攻擊.

        2 背景知識

        2.1 SMT微架構(gòu)特征

        如圖1(a)所示[1],多核架構(gòu)下2個線程的架構(gòu)狀態(tài)和執(zhí)行資源是分開的,2個線程只通過線程間的總線進(jìn)行交互.如圖1(b)所示,SMT 技術(shù)開啟后,2 個線程的架構(gòu)狀態(tài)依然是分開的,但是其會共享執(zhí)行資源,SMT技術(shù)的優(yōu)勢是可以靈活分配處理器內(nèi)部資源,使得大部分?jǐn)?shù)據(jù)結(jié)構(gòu)可以被多個線程共享且同一周期可以調(diào)度多個線程的操作同時執(zhí)行,最大化得提高資源利用率.

        圖1 SMT技術(shù)特征

        2.2 SMT技術(shù)的多端口調(diào)度算法

        在超標(biāo)量處理器微架構(gòu)設(shè)計中,指令集架構(gòu)中描述的宏指令會經(jīng)過取指和譯碼的流程形成對應(yīng)的微操作.微操作在進(jìn)行指令執(zhí)行前,會通過指令解析完成對應(yīng)執(zhí)行端口的綁定.在關(guān)閉SMT技術(shù)的情況下,處理器流水線內(nèi)部只有1個線程,完成端口綁定的微操作會通過對應(yīng)的端口進(jìn)入執(zhí)行單元;在開啟SMT 技術(shù)的情況下,處理器解碼系統(tǒng)和亂序執(zhí)行系統(tǒng)交互過程中,因?yàn)樵谥孛头峙湮⒓軜?gòu)設(shè)計中約束了同一時刻只能處理來自于同一個線程的微操作,因此,每個周期也只有1個線程的微操作可以進(jìn)入調(diào)度器.在調(diào)度器微架構(gòu)設(shè)計中為了更快地調(diào)度和分發(fā)微操作,其并不關(guān)心微操作的線程信息,只考慮其是否就緒(“就緒”指的是某條微操作已滿足被選擇并發(fā)射到執(zhí)行端口的條件),如果有同時就緒的微操作則年齡更老的優(yōu)先發(fā)射,因此,調(diào)度器可以同一周期向不同執(zhí)行端口發(fā)射2 個線程的微操作.

        如果2 個線程在調(diào)度器內(nèi)的微操作指向同一個端口,那么由于分配時的先后關(guān)系,2 個線程的微操作會自然攜帶不同的年齡信息.調(diào)度器中有2 個關(guān)鍵數(shù)據(jù)結(jié)構(gòu),一個是年齡矩陣,另一個是就緒矩陣,雖然2個線程的微操作即使都處于就緒狀態(tài),依賴于年齡矩陣的先后關(guān)系,調(diào)度器會先發(fā)射更“老”的線程的微操作進(jìn)入相應(yīng)端口,那么已經(jīng)就緒但由于較“年輕”導(dǎo)致無法發(fā)射到相同端口的另外線程的微操作就產(chǎn)生了延遲,此時就出現(xiàn)了線程間的端口沖突.

        因此,某線程在特定的執(zhí)行端口下執(zhí)行指令并且度量其執(zhí)行程序的時間就可以推斷同一端口或執(zhí)行單元下另一線程的執(zhí)行情況.

        2.3 TSG模型

        TSG 模型是2020 年由普林斯頓大學(xué)He 等人[11]針對處理器微架構(gòu)側(cè)信道安全問題提出的一種新的攻擊圖模型,是一種由頂點(diǎn)和頂點(diǎn)之間的邊來形成序列的有向無環(huán)圖,示例如圖2.

        圖2 TSG示例

        TSG 中的頂點(diǎn)表示操作,例如訪問緩存行、刷新緩存行等,如示例中的頂點(diǎn)A,B,C,…,I;

        TSG 中的有向邊(示例中帶方向箭頭的線)表示2個頂點(diǎn)間的依賴,如果2 個頂點(diǎn)u和v之間有u到v的有向邊,表示u在v之前發(fā)生,如示例中頂點(diǎn)A 即在頂點(diǎn)C之前發(fā)生;

        TSG中的路徑表示連接頂點(diǎn)間的連續(xù)有向邊,如示例中頂點(diǎn)A 到頂點(diǎn)D 的路徑經(jīng)過2 個有向邊A->C,C->D;

        TSG 中頂點(diǎn)的序列可以由一個帶有序列信息的頂點(diǎn)集合表示,示例中的其中一個有效序列S=(A,B,C,D,E,F(xiàn),G,H,I),頂點(diǎn)間的順序需要精確描述頂點(diǎn)間的依賴關(guān)系;

        TSG 條件競爭指的是TSG 模型中的頂點(diǎn)u和v之間,如果有2個不同的有效序列S1和S2,在S1中,u在v之前,在S2中u在v之后,TSG 模型中存在條件競爭意味著缺失安全依賴性,示例中頂點(diǎn)D 和E 就存在條件競爭,因?yàn)榇嬖赟1=(A,B,C,D,E,F(xiàn),G,H,I),也存在S2=(A,B,C,E,D,F(xiàn),G,H,I).

        TSG模型遵循如下定理:

        對于任意一對頂點(diǎn)u和v,當(dāng)且僅當(dāng)有一條有向路徑連接u和v這2 個頂點(diǎn)時,頂點(diǎn)u和v則沒有條件競爭.

        3 防護(hù)目標(biāo)及防護(hù)方法推導(dǎo)

        SMoTherSpectre[7]在沖突 構(gòu)建階 段使用 了Spectre[12]分支誘導(dǎo)的方式來加強(qiáng)沖突構(gòu)建的成功率.其使用了分支預(yù)測器投機(jī)代碼重用的攻擊場景,即混合了分支預(yù)測器資源沖突和執(zhí)行端口資源沖突這2 個微架構(gòu)組件的SMT 技術(shù)特征,具有更強(qiáng)的適應(yīng)性和攻擊準(zhǔn)確性.基于2.3 節(jié)的TSG 模型建立規(guī)則,利用SMT 環(huán)境下執(zhí)行端口及執(zhí)行單元進(jìn)行時間信道攻擊的TSG 模型建立如下:

        TSG模型頂點(diǎn)包括:

        ①連續(xù)執(zhí)行端口P/執(zhí)行單元U指令;

        ②踢出BTB預(yù)測項(xiàng);

        ③條件/間接分支指令執(zhí)行;

        ④執(zhí)行私密操作O;

        ⑤調(diào)度/執(zhí)行資源沖突;

        ⑥分支刷新(授權(quán)檢查);

        ⑦度量連續(xù)執(zhí)行端口P/執(zhí)行單元U 指令執(zhí)行總時間T.

        基于TSG 模型定理,要保證沒有條件競爭,需要切斷涉及條件競爭頂點(diǎn)的有效路徑,即上述序列1到序列4中的頂點(diǎn)路徑.

        當(dāng)前已有的防護(hù)手段分別是采用硬件隔離、時間隔離和增加全局時間噪聲三種方式,對應(yīng)典型的防護(hù)方法有SMT 技術(shù)禁用/DDM 及修改時間度量指令,分別應(yīng)用于圖3 的①②③位置.除了已有的防護(hù)手段外,可以從頂點(diǎn)-執(zhí)行私密操作O(④)、頂點(diǎn)-調(diào)度/執(zhí)行資源沖突(⑤)和頂點(diǎn)-分支刷新(授權(quán)檢查)(⑥)進(jìn)行防護(hù)機(jī)制設(shè)計.

        圖3 SMoTherSpectre攻擊TSG模型防護(hù)方法推導(dǎo)

        基于TSG 模型推導(dǎo),可以利用頂點(diǎn)-調(diào)度/執(zhí)行資源沖突和頂點(diǎn)-分支刷新(授權(quán)檢查)的執(zhí)行路徑,來形成防護(hù)方法,涉及頂點(diǎn)及相關(guān)防護(hù)策略如下:

        ④作用于頂點(diǎn)-執(zhí)行私密操作O,目的是當(dāng)帶有私密信息的分支指令執(zhí)行時,相對于該分支指令更年輕的操作無法產(chǎn)生時間信道.

        ⑤作用于頂點(diǎn)-調(diào)度/執(zhí)行資源沖突,目的是當(dāng)檢測到分支指令時,在調(diào)度算法和端口綁定策略上進(jìn)行雙線程執(zhí)行端口和執(zhí)行資源的隔離,消除資源沖突.

        ⑥作用于頂點(diǎn)-分支刷新(授權(quán)檢查),目的是使得SMT 環(huán)境下當(dāng)一個線程調(diào)度分支指令時,首先將分支指令信息記錄下來,然后使能調(diào)度/執(zhí)行資源隔離,當(dāng)觸發(fā)分支刷新時,記錄該分支刷新的線程到對應(yīng)分支指令記錄表中;當(dāng)沒有分支刷新時,刪除該分支指令記錄表,分配對應(yīng)分支指令過濾表,分支指令過濾表維持可過濾掉的分支指令類型,命中分支指令過濾表的操作則無需使能調(diào)度/執(zhí)行資源隔離機(jī)制,提升執(zhí)行資源的利用率.

        4 防護(hù)設(shè)計與實(shí)現(xiàn)

        本防護(hù)設(shè)計微架構(gòu)實(shí)現(xiàn)共包含2個子模塊,分別是分支過濾器及策略修改器.分支過濾器中包含2 個核心數(shù)據(jù)結(jié)構(gòu),分別是分支過濾表和分支刷新表,分別記錄可過濾的分支操作和觸發(fā)刷新的分支操作,分支過濾器會產(chǎn)生隔離使能信號和優(yōu)先級向量傳遞給策略修改器,最后通過策略修改器進(jìn)行處理器分配單元及調(diào)度器選擇邏輯的算法策略修改,消除由于執(zhí)行端口沖突產(chǎn)生的時間信道.詳細(xì)的微架構(gòu)示意圖如圖4所示.

        圖4 防護(hù)設(shè)計微架構(gòu)圖

        5 評估

        5.1 評估方法

        本文使用Gem5[13]模擬一個高性能多執(zhí)行端口的超標(biāo)量處理器作為本文防護(hù)方法的防護(hù)有效性和性能開銷的評估平臺.

        對于防護(hù)有效性評估,選用SMoTherSpectre 攻擊中的POC 代碼片段,在不同沖突指令的規(guī)模量級下進(jìn)行度量時間的比較.

        對于性能評估,選用SPEC CPU 2006 INT測試集[14]的7 個測試程序作為性能評估的參考主要評估防護(hù)方法對性能的影響以及同關(guān)閉SMT 技術(shù)產(chǎn)生的性能影響進(jìn)行對比(注:測試集共12 個測試程序,有5 個測試程序在Gem5模擬器中運(yùn)行異常).

        對于硬件開銷的評估,使用華力HLMC 40GP 工藝進(jìn)行防護(hù)方法的硬件開銷評估,主要包含面積及時序.

        5.2 防護(hù)有效性評估

        圖5 中的SMTwC 和SMTwoC 分別代表了SMT 環(huán)境下出現(xiàn)指令端口沖突的執(zhí)行時間和無指令端口沖突的執(zhí)行時間,呈現(xiàn)非常明顯的差別且隨著量級增長呈線性趨勢.圖中的SMTwDwC和SMTwDwoC分別代表了使能防護(hù)機(jī)制的SMT 環(huán)境下出現(xiàn)指令端口沖突的執(zhí)行時間和無指令端口沖突的執(zhí)行時間,基于動態(tài)分支過濾的SMT 執(zhí)行端口時間信道防護(hù)方法可以達(dá)到禁用或動態(tài)關(guān)閉SMT技術(shù)的防護(hù)效果.

        圖5 防護(hù)效果評估

        5.3 性能開銷評估

        由圖6 看出,使用本防護(hù)設(shè)計后SPEC CPU 2006 INT 測試集測試出的執(zhí)行性能相比于開啟SMT 技術(shù)平均下降8.6%,僅為關(guān)閉SMT技術(shù)性能下降比例的22%.其中性能下降最明顯的是471,相比開啟SMT技術(shù)性能下降比例為50.86%,不包括471 的其他6 個SPEC CPU 2006 INT 測試程序平均下降比例為1.6%.在471 的程序特征下,開啟防護(hù)機(jī)制后性能比關(guān)閉SMT 技術(shù)要差,其他程序均優(yōu)于關(guān)閉SMT 技術(shù),且以462 和473 為代表的測試程序在增加防護(hù)設(shè)計后性能沒有下降,基本和開啟SMT技術(shù)持平.

        圖6 性能對比

        5.4 硬件開銷評估

        本防護(hù)機(jī)制使用Verilog 語言進(jìn)行RTL 實(shí)現(xiàn).然后使用HLMC 40GP 工藝和ASIC 設(shè)計流程和工具進(jìn)行面積和時序的評估.

        使用DC-Compiler 工具,設(shè)置時鐘約束為2 GHz,clk_uncertainty 參數(shù)為100 ps.本防護(hù)設(shè)計的時序和面積數(shù)據(jù)如表1所示.

        表1 硬件開銷評估

        為了進(jìn)行面積和時序的對比,使用DC-Compiler 工具在相同的設(shè)置和約束下分析了6 端口整型執(zhí)行單元的整體面積約為302 979 μm2,本防護(hù)設(shè)計單元的面積為其24.7%,開銷可控.

        6 結(jié)論

        本文使用TSG 模型對SMoTherSpectre 攻擊路徑和特征進(jìn)行描述,通過建模進(jìn)一步推導(dǎo)SMT 執(zhí)行端口共享時間信道攻擊的微架構(gòu)防護(hù)手段可以為防護(hù)方案的設(shè)計提供有效的理論依據(jù).

        本文提出的基于動態(tài)分支過濾并進(jìn)行資源調(diào)整的SMT 執(zhí)行端口時間信道安全防護(hù)方法通過在處理器微架構(gòu)級別對端口綁定和調(diào)度算法進(jìn)行防護(hù)設(shè)計,記錄分支預(yù)測錯誤刷新以及正常執(zhí)行狀態(tài)實(shí)時調(diào)整執(zhí)行端口資源使用策略,達(dá)到防護(hù)SMoTherSpectre 攻擊的目的.

        猜你喜歡
        指令
        聽我指令:大催眠術(shù)
        ARINC661顯控指令快速驗(yàn)證方法
        LED照明產(chǎn)品歐盟ErP指令要求解讀
        電子測試(2018年18期)2018-11-14 02:30:34
        殺毒軟件中指令虛擬機(jī)的脆弱性分析
        巧用G10指令實(shí)現(xiàn)橢圓輪廓零件倒圓角
        中斷與跳轉(zhuǎn)操作對指令串的影響
        科技傳播(2015年20期)2015-03-25 08:20:30
        基于匯編指令分布的惡意代碼檢測算法研究
        一種基于滑窗的余度指令判別算法
        歐盟修訂電氣及電子設(shè)備等產(chǎn)品安全規(guī)定
        家電科技(2014年5期)2014-04-16 03:11:28
        MAC指令推動制冷劑行業(yè)發(fā)展
        汽車零部件(2014年2期)2014-03-11 17:46:27
        毛片在线播放a| av影片手机在线观看免费网址| 久久精品国产亚洲av一般男女| 亚洲人成在久久综合网站| 鲁一鲁一鲁一鲁一曰综合网| 色妺妺在线视频| 亚洲av中文无码乱人伦在线咪咕 | 久久久久久久亚洲av无码| 四川老熟妇乱子xx性bbw| 欧美日韩亚洲成色二本道三区 | 男女在线免费视频网站| 日本视频一区二区三区| 在线观看网址你懂的| 精品国产乱来一区二区三区| 亚洲国产中文字幕在线视频综合| 国产裸体美女永久免费无遮挡| 成人网站免费看黄a站视频| 午夜福利视频合集1000| 亚洲欧美久久婷婷爱综合一区天堂| 男女啦啦啦视频在线观看| 国产精品一区二区三区av在线| 99视频在线精品免费观看6| 无码av无码天堂资源网| 国产精品18久久久久久不卡中国 | 久久日本三级韩国三级 | 中文字幕一区二区三区人妻精品 | 亚洲日本高清一区二区| 中文字幕亚洲精品一区二区三区| 伊人久久大香线蕉综合影院首页| 色妞色综合久久夜夜| 国产91AV免费播放| 户外精品一区二区三区| 18禁黄久久久aaa片| 真正免费一级毛片在线播放| 亚洲人av毛片一区二区| 久久精品国产av一级二级三级| 又大又紧又粉嫩18p少妇| 中文字幕不卡在线播放| 国产激情视频在线观看首页 | 国产乱妇乱子在线视频| 国产女主播强伦视频网站|