999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于動態(tài)資源使用策略的SMT執(zhí)行端口側(cè)信道安全防護

2022-02-11 14:12:04岳曉萌楊秋松李明樹
計算機研究與發(fā)展 2022年2期
關(guān)鍵詞:指令策略

岳曉萌 楊秋松 李明樹

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

隨著計算機技術(shù)的發(fā)展和數(shù)據(jù)處理需求的增大,處理器廠商一直致力于提升處理器的并行處理能力.早期處理器發(fā)展重點是提升處理器內(nèi)部的指令并行度,當(dāng)處理器指令并行度提升到了一定瓶頸后,處理器廠商開始提升線程并行度來提升處理器的整體性能,這也推動了多核處理器的出現(xiàn).

同時多線程(simultaneous multi-threading, SMT)技術(shù)是實現(xiàn)線程級并行的技術(shù)之一,其通過增加少量硬件資源,把1個物理核映射成2個邏輯核,同時運行的線程可共享處理器的資源.因為線程執(zhí)行總有空閑或者等待的時間,SMT環(huán)境下當(dāng)一個線程進入空閑或等待,另一個線程可以繼續(xù)執(zhí)行,從而更加合理地使用處理器資源,進而達到比單線程超標(biāo)量處理器更好的指令吞吐量和資源利用率.已實現(xiàn)SMT技術(shù)的處理器廠商包括Intel,AMD,IBM等,其中以Intel最早于2002年的Pentium4處理器上使用的超線程(hyper-threading, HT)技術(shù)最為典型.本文中的SMT技術(shù)均以Intel提出的超線程技術(shù)作為主要參考.

從Intel公司推出的HT技術(shù)商用開始,研究人員就開始針對SMT技術(shù)進行安全問題的挖掘和研究,因為SMT技術(shù)增加了很多處理器微架構(gòu)安全問題利用的場景和機會,因此有研究人員評價SMT技術(shù)是“廉價的硬件并行意味著廉價的安全性”.

在SMT技術(shù)設(shè)計下,處理器執(zhí)行資源是完全被2個線程共享的,2個線程間共享一樣的執(zhí)行端口及端口內(nèi)的執(zhí)行單元,很容易構(gòu)造資源的競爭,這種競爭可以被攻擊者檢測和利用.

2006年,Wang等人首次將執(zhí)行單元的競爭應(yīng)用于隱蔽信道.2016年,Covert shotgun項目提出一個自動化挖掘SMT環(huán)境下執(zhí)行單元隱蔽信道的框架.在執(zhí)行端口及執(zhí)行單元的隱蔽信道攻擊研究過程,逐步出現(xiàn)了基于相同技術(shù)原理的側(cè)信道攻擊技術(shù)研究.2018年,Aldaya等人在Intel Skylake和Kabylake架構(gòu)上利用其SMT技術(shù)開啟后執(zhí)行端口競爭問題提出了PortSmash攻擊.2019年,IBM的研究團隊提出了一種叫SMoTherSpectre的新型“Spectre”類型攻擊,其使用SMT環(huán)境下執(zhí)行端口的競爭構(gòu)建了投機代碼重用的攻擊場景,可以從受害者線程獲取私密信息.

在針對上述SMT環(huán)境下共享執(zhí)行端口或執(zhí)行單元的時間側(cè)信道攻擊,研究人員也提出了一些防護方法.Percival等人在早期提出可以禁用SMT來防范此類攻擊,其可以徹底解決執(zhí)行單元或執(zhí)行端口雙線程共享產(chǎn)生的時間側(cè)信道問題,但這種方式失去了SMT技術(shù)本身帶來的收益,會導(dǎo)致相應(yīng)的性能損失.Hu在提出通過將噪聲添加到與進程相關(guān)的所有時間信息中,達到降低時序信道帶寬的目的進行防護,其通過修改RDTSC或RDTSCP指令,將噪聲加入到指令執(zhí)行的返回值中,就可以達到降低攻擊者獲取時間信息精度的目的,但這種方式也會直接影響相應(yīng)被修改指令的功能準確性,影響正常程序的使用.2019年,Zhang等人提出了名為DDM(demand-based dynamic mitigation)的防護方法,其使用軟件的手段動態(tài)地基于需求關(guān)閉SMT技術(shù),進而達到防護基于SMT技術(shù)執(zhí)行資源共享的側(cè)信道攻擊的目的.然而DDM是通過軟件手段動態(tài)關(guān)閉SMT技術(shù)來達到防護目的,尚未有從處理器微架構(gòu)角度防護的案例.

本文提出了一種針對現(xiàn)代處理器SMT技術(shù)執(zhí)行端口時間側(cè)信道攻擊的防護方法.主要貢獻有2點:

1) 提出動態(tài)調(diào)整雙線程共享的執(zhí)行端口資源使用策略,防護SMT環(huán)境下執(zhí)行端口雙線程共享產(chǎn)生的時間側(cè)信道攻擊的方法,該方法將SMT技術(shù)對不同數(shù)據(jù)結(jié)構(gòu)的處理方式應(yīng)用到側(cè)信道安全防護中,通過對數(shù)據(jù)結(jié)構(gòu)共享策略的改變來達到防護效果,可以在SMT技術(shù)合理利用共享數(shù)據(jù)結(jié)構(gòu)的同時達到安全防護的目的;

2) 提出并設(shè)計了一種基于記錄分支預(yù)測錯誤刷新及執(zhí)行端口沖突歷史的防護方法,可以有效防護以SMotherSpectre為代表的組合使用誘導(dǎo)分支預(yù)測投機執(zhí)行的Spectre機制及執(zhí)行端口沖突時間側(cè)信道攻擊.

1 相關(guān)工作

在20世紀初期SMT技術(shù)問世之后,研究人員就開始在SMT技術(shù)上挖掘安全問題和防護方法.Ko?等人在2009年總結(jié)了當(dāng)時已有的基于SMT的攻擊技術(shù)和應(yīng)用案例,對SMT技術(shù)導(dǎo)致的安全問題進行了系統(tǒng)歸納,也匯總了當(dāng)時針對SMT技術(shù)安全問題的緩解手段.2018年,Ge等人總結(jié)了2002—2018年期間各個系統(tǒng)層級由于資源共享導(dǎo)致的時間信道安全問題及緩解措施,作者提出基于SMT技術(shù)產(chǎn)生的硬件線程級時間信道安全問題相對于跨核、跨處理器的時間信道安全問題是更難應(yīng)對和防護的.SMT環(huán)境下除緩存結(jié)構(gòu)外的其他共享數(shù)據(jù)結(jié)構(gòu)很難有好的防護效果,其中最突出的是SMT環(huán)境下執(zhí)行端口雙線程共享導(dǎo)致的時間側(cè)信道安全問題.

SMT環(huán)境下執(zhí)行端口時間側(cè)信道攻擊路徑核心環(huán)節(jié)是沖突的構(gòu)建和對時間的度量,這也是時間信道利用的2個基本要素(簡稱為沖突和時間).表1描述了已有針對SMT共享執(zhí)行端口的時間側(cè)信道防護方法:

Table 1 Timing Channel Defending Method Under SMT Execution Port Shared表1 SMT環(huán)境下共享執(zhí)行端口的時間信道防護策略及方法

1.1 沖突要素防護

從沖突要素的防護策略角度,針對SMT技術(shù)下執(zhí)行端口雙線程共享產(chǎn)生的時間側(cè)信道安全問題目前主要有2種防護手段:將SMT技術(shù)禁用以及動態(tài)關(guān)閉SMT(DDM).

Percival在早期提出數(shù)據(jù)緩存可以在SMT環(huán)境下被利用于構(gòu)造隱蔽信道和側(cè)信道攻擊,建議可以通過禁用SMT來防范此類攻擊.當(dāng)前禁用SMT的方案在實踐中已經(jīng)得到使用,例如微軟Microsoft Azure的公共云服務(wù)上就禁用SMT技術(shù).除了直接禁用SMT技術(shù),DDM可以基于上層軟件的配合來達到防護目的.DDM是一種基于需求的動態(tài)SMT瞬態(tài)攻擊防護技術(shù),其實現(xiàn)了進程級的防護粒度,當(dāng)安全進程在運行時,如果有防護范圍內(nèi)的惡意進程嘗試分配到和安全進程一樣的物理核時會被OS拒絕.當(dāng)安全進程在一個物理核中運行時,另一個相同物理核的進程可以通過HLT指令的系統(tǒng)調(diào)用完成SMT狀態(tài)的關(guān)閉,保證安全進程能夠在等同于關(guān)閉SMT的狀態(tài)下運行,從而達到防護SMT技術(shù)下共享執(zhí)行端口側(cè)信道攻擊的目的.DDM的防護方式本質(zhì)上也是通過關(guān)閉SMT技術(shù)達到防護效果,但是其動態(tài)開關(guān)的方式會一定程度上降低徹底關(guān)閉SMT的性能損失.DDM使用SPEC2000進行性能評估約產(chǎn)生8%左右的性能損失.

1.2 時間要素防護

從時間要素的防護策略角度,可以通過修改時間度量指令的方式增加時間噪聲來防護針對SMT技術(shù)下執(zhí)行端口共享產(chǎn)生的時間側(cè)信道攻擊.

增加時間噪聲是指在時間度量方式和手段上進行噪聲添加.Hu在1991年就提出了模糊時間(fuzzy time)技術(shù),通過將噪聲添加到與進程相關(guān)的所有時序信息中,最終達到降低時間信道帶寬的目的.文章中通過修改RDTSC或RDTSCP指令在時間信息中添加噪聲,此指令的功能是通過讀取處理器內(nèi)部的時間戳計數(shù)器(time stamp counter, TSC)來度量運行時間,通過修改指令的實現(xiàn)方式,將噪聲加入到指令執(zhí)行的返回值中,就可以達到降低攻擊者獲取時間精度的目的.

Vattikonda等人通過修改Xen虛擬機監(jiān)控器(hypervisor),將噪聲加入到RDTSC指令的返回值中.Martin等人發(fā)現(xiàn)如果處理器內(nèi)部時間度量變得不精確,可以有效防護時間側(cè)信道攻擊.作者修改了x86體系架構(gòu)下的RDTSC指令的硬件實現(xiàn),使得RDTSC指令會暫停所有執(zhí)行操作直到預(yù)設(shè)的時間閾值

T

滿足,然后通過產(chǎn)生一個0到時間閾值

T

的隨機數(shù)返回給指令使用者來達到模擬時間的效果.

1.3 小 結(jié)

當(dāng)前除了禁用SMT技術(shù)、動態(tài)關(guān)閉SMT以及修改時間度量指令(RDTSC/RDTSCP)的方法外,還沒有其他可以針對SMT環(huán)境下執(zhí)行端口時間側(cè)信道攻擊的防護手段.已有的防護手段都有其明顯的缺陷,禁用或動態(tài)關(guān)閉SMT技術(shù)會損失SMT技術(shù)帶來的性能收益;修改指令語義會弱化指令功能,從而影響其他使用時間度量指令應(yīng)用的正常使用.綜合已有的防護方法,目前針對SMT環(huán)境下執(zhí)行端口時間側(cè)信道攻擊效果較好的防護策略是動態(tài)關(guān)閉SMT技術(shù)(DDM),還沒有公開的基于處理器微架構(gòu)的防護方案.

2 背景知識

2.1 SMT微架構(gòu)特征及安全挑戰(zhàn)

處理器在開啟SMT技術(shù)后,處理器內(nèi)部微架構(gòu)會使用相關(guān)的SMT功能特性,從而完成微架構(gòu)功能的轉(zhuǎn)變,進入到同時多線程模式,可以在同一時刻利用不同執(zhí)行端口發(fā)射執(zhí)行不同線程的指令.

如圖1所示,SMT技術(shù)區(qū)別于其他的多線程技術(shù)的核心是可以在同一個流水級執(zhí)行來自幾個不同線程的微操作(或稱Uop、微指令).普通的超標(biāo)量單核處理器同時只能運行1個線程,在局部時間內(nèi)流水線資源還會處于空閑狀態(tài)(例如取指令階段);對于普通的多核處理器,其會使用多個物理核來運行多個線程,是普通單核處理器的簡單疊加;粗粒度和細粒度多線程技術(shù)使用時間片的方式分配資源使用,資源會在一段時間內(nèi)分配給獨立的1個線程使用,同一時間資源只會分配給1個線程使用;SMT技術(shù)區(qū)別于粗/細粒度的多線程技術(shù),其可以靈活分配處理器內(nèi)部資源,大部分數(shù)據(jù)結(jié)構(gòu)資源被多個線程共享且同一周期可以調(diào)度多個線程的操作同時執(zhí)行,最大化得提高資源利用率.

Fig. 1 SMT feature圖1 SMT技術(shù)特征

Fig. 2 Intel SMT front end resource圖2 Intel SMT前端資源的處理方式

SMT技術(shù)原理(以Intel的超線程技術(shù)為例)主要包含3個部分:

1) 制定資源共享策略.SMT技術(shù)可以使用資源復(fù)制、資源分割和資源共享的方式來實現(xiàn)數(shù)據(jù)結(jié)構(gòu)資源的分配.以圖2為例,Intel SMT技術(shù)中的ITLB和IP結(jié)構(gòu)采用了資源復(fù)制的處理策略,微操作隊列結(jié)構(gòu)采用了資源分割的處理策略,追蹤緩存結(jié)構(gòu)采用了資源共享的處理策略.

2) 設(shè)置線程選擇點.使用SMT技術(shù)的處理器微架構(gòu)需要在合適的流水線位置增加線程選擇點,其作用是在共享資源的使用上進行2個線程的選擇及切換.合理的線程選擇點設(shè)置和選擇算法使用能夠有效提高雙線程共享資源的利用率以及雙線程的公平性.

3) 保證線程公平性.處理器微架構(gòu)在實現(xiàn)SMT技術(shù)時需要注重線程間的公平性,線程選擇點需要使用相應(yīng)的公平算法,避免單一線程由于長時間得不到資源而餓死的情況出現(xiàn).

SMT技術(shù)中資源復(fù)制和資源分割的處理方式使得2個線程在處理器內(nèi)部會公平地使用自己的私有資源,不會對另外線程的資源產(chǎn)生影響,因此基于共享資源競爭的時間信道攻擊方式對該類型的微架構(gòu)組件無效.對于資源共享的處理方式,2個線程在處理器內(nèi)部會產(chǎn)生競爭,容易被攻擊者利用,例如針對SMT環(huán)境下執(zhí)行端口雙線程共享的技術(shù)原理,控制執(zhí)行指令流的類型可以構(gòu)建端口沖突,攻擊者可以通過時間信道傳遞信息獲取另一線程運算邏輯或指令類型的使用狀態(tài).

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

本節(jié)通過剖析SMT技術(shù)的多端口調(diào)度算法的微架構(gòu)實現(xiàn),來描述SMT環(huán)境下執(zhí)行端口時間側(cè)信道攻擊原理,如圖3所示:

Fig. 3 SMT multi-port schedule micro-architecture圖3 SMT技術(shù)的多端口調(diào)度微架構(gòu)

在超標(biāo)量處理器微架構(gòu)設(shè)計中,指令集架構(gòu)中描述的宏指令會經(jīng)過取指、譯碼的流程形成對應(yīng)的微操作.微操作在進行指令執(zhí)行前,會通過指令解析完成對應(yīng)執(zhí)行端口的綁定.在關(guān)閉SMT技術(shù)的情況下,處理器流水線內(nèi)部只有1個線程,完成端口綁定的微操作會通過對應(yīng)的端口進入執(zhí)行單元;在開啟SMT技術(shù)的情況下,處理器解碼系統(tǒng)和亂序執(zhí)行系統(tǒng)交互過程中,因為在重命名和分配微架構(gòu)設(shè)計中約束了同一時刻只能處理來自于同一個線程的微操作,因此,同一時刻也只有1個線程的微操作可以進入調(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ā)射更“老”的線程的微操作進入相應(yīng)端口,那么已經(jīng)就緒但由于較“年輕”導(dǎo)致無法發(fā)射到相同端口的另外線程的微操作就產(chǎn)生了延遲,此時就叫作出現(xiàn)了線程間的端口沖突.

假設(shè)線程

T

T

是1個物理核上分配的2個邏輯核,按照SMT微架構(gòu)特征的描述,其按照線程公平性原理進行執(zhí)行端口的分配使用,分配策略如算法1所示.

算法1.

端口分配策略

Alloc

(

T

,

P

,

C

,

A

)

.

輸入:準備分配線程端口

T

x

={0,1},執(zhí)行端口

P

={

p

,

p

,…,

p

-1},

i

={0,

n

},時鐘周期

C

;輸出:線程分配端口

A

.

① 時鐘周期

C

執(zhí)行:② for (0≤

i

<

n

)③ if (

T

==

p

&&

T

(1-)==

p

)④

A

=

p

;

⑤ else

A

=

p

;⑦

A

(1-)=

P

p

;

⑧ end if

⑨ end for

⑩ 時鐘周期

C

+1執(zhí)行:

上述分配策略會產(chǎn)生2種極端情況,當(dāng)

T

T

都處于完全流水線執(zhí)行的狀態(tài)時,一種極端情況是如果

T

T

一直使用不相關(guān)的執(zhí)行端口,那么

T

T

不會有任何的執(zhí)行端口沖突;另一種極端情況是如果

T

T

一直使用相同的某一個執(zhí)行端口,那么

T

T

需要輪流使用該執(zhí)行端口,吞吐量是上一種極端情況的一半

.

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

.

3 防護目標(biāo)

2018年的PortSmash和2019年的SMoTher-Spectre是近期利用SMT技術(shù)執(zhí)行端口雙線程共享產(chǎn)生的時間側(cè)信道構(gòu)建攻擊的案例.

PortSmash針對Intel Skylake的執(zhí)行微架構(gòu)(如圖4所示)設(shè)計了3組沖突指令流,分別適用于端口1、端口5、端口0156的沖突構(gòu)建,端口1、端口5的沖突構(gòu)建指令選用了長延遲指令,端口1選用整型乘法(INT MUL)執(zhí)行單元執(zhí)行的crc32指令,端口5選用了向量交織(VEC SHU)執(zhí)行單元執(zhí)行的vpermd指令,端口0156的重構(gòu)構(gòu)建指令選用了單周期指令,使用最常見的算術(shù)邏輯(INT ALU)執(zhí)行單元執(zhí)行的ADD指令.

Fig. 4 Intel Skylake execution port distribution圖4 Intel Skylake執(zhí)行端口分布

SMoTherSpectre除了采用同PortSmash類似的沖突構(gòu)造指令來構(gòu)建用于受害者泄露信息的SMoTher Gadget和用于攻擊者度量時間信息Time SMoTher Gadget外,其在沖突構(gòu)建階段使用了Spectre分支誘導(dǎo)的方式來加強沖突構(gòu)建的成功率,如圖5所示.受害者的BTI Gadget和攻擊者的Poison BTB組件的作用是構(gòu)建分支誘導(dǎo)場景,攻擊者通過訓(xùn)練處理器分支預(yù)測單元的分支目標(biāo)緩存(branch target buffer, BTB)結(jié)構(gòu)來誘導(dǎo)受害者投機執(zhí)行SMoTher Gadget的程序,當(dāng)受害者程序被分支誘導(dǎo)后會進入SMoTher Gadget中,該組件通過分支跳轉(zhuǎn)的形式構(gòu)建了2組沖突指令,在POC示例中,分支指令后使用了popcnt指令,分支目標(biāo)使用了ror指令,同時攻擊者程序中的Time SMoTher Gadget使用了大量的ror指令,2個線程同時執(zhí)行ror指令在Intel Skylake微架構(gòu)中會造成端口6的沖突,從而達到構(gòu)建沖突的目的.

Fig. 6 Modification of multi-port scheduling algorithm by protection design圖6 防護設(shè)計對多端口調(diào)度算法的改動

Fig. 5 SMoTherSpectre attack gadget圖5 SMoTherSpectre攻擊組件示意圖

PortSmash和SMoTherSpectre均使用了rdtsc/rdtscp指令來作為時間度量的手段,通過在攻擊者程序沖突指令執(zhí)行前后使用rdtsc/rdtscp指令可以得出沖突指令的執(zhí)行時間,從而獲取沖突程度或沖突次數(shù)的信息.

本文提出的基于動態(tài)資源使用策略的SMT環(huán)境下執(zhí)行端口時間側(cè)信道攻擊防護方法目標(biāo)是通過執(zhí)行端口資源使用策略的動態(tài)調(diào)整,破壞上述2種攻擊方式在端口沖突構(gòu)建環(huán)節(jié)中使用的技術(shù)原理,從而切斷通過改變指令類型來構(gòu)建端口沖突進而通過時間信道傳遞信息的攻擊路徑,達到防護上述2種攻擊方式及使用同類技術(shù)原理的其他攻擊的效果.

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

4.1 設(shè)計概述

本文從微架構(gòu)角度針對SMT環(huán)境下執(zhí)行端口時間側(cè)信道攻擊設(shè)計了一種軟件不可見的防護機制,圖6描述了本文設(shè)計的防護設(shè)計對SMT技術(shù)的多端口調(diào)度算法的改進.

在SMT技術(shù)的多端口調(diào)度標(biāo)準算法中,2個線程通過輪詢算法交替選擇線程內(nèi)的微操作送入分配單元,分配單元完成微操作的端口綁定,單端口執(zhí)行的微操作綁定對應(yīng)執(zhí)行端口,多端口執(zhí)行的微操作采用循環(huán)選擇算法綁定執(zhí)行端口.微操作進入調(diào)度器后通過依賴矩陣建立就緒向量,通過年齡矩陣生成最終的選擇向量,調(diào)度器按照當(dāng)前端口上綁定的已就緒的微操作的年齡順序依次選擇微操作發(fā)射到對應(yīng)端口上.

本文的防護設(shè)計對SMT技術(shù)的多端口調(diào)度算法進行了擴充,詳細的微架構(gòu)示意圖如圖7所示.

Fig. 7 The micro-architecture of protection design圖7 防護設(shè)計微架構(gòu)圖

在年齡矩陣訪問生成最終的選擇向量后增加沖突檢測的檢查環(huán)節(jié),本文在原有的依賴矩陣和年齡矩陣之外,新增了端口沖突矩陣的數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)提取依賴矩陣的就緒向量信息、年齡矩陣的選擇向量信息以及調(diào)度器的線程向量信息,通過分線程的飽和計數(shù)器陣列來記錄線程間的端口沖突情況.如果檢測到?jīng)_突,則將沖突信息提供給分支過濾和策略修改器進行下一步的防護算法應(yīng)用;如果沒有檢測到?jīng)_突則不會產(chǎn)生額外動作,不會影響正常的調(diào)度算法.分支過濾器對分支指令產(chǎn)生的端口沖突信息進行過濾并記錄分支刷新產(chǎn)生時的沖突信息,動態(tài)資源使用策略修改器(簡稱:策略修改器)生成策略使能向量和優(yōu)先級向量進行防護算法的應(yīng)用.

防護算法應(yīng)用會改變標(biāo)準的SMT技術(shù)的多端口調(diào)度算法,主要分2個方面:

① 防護策略類型、策略端口使能向量伴隨指令操作碼會提供給分配單元.分配單元接收到分割的策略類型和策略端口使能向量時,會在原端口綁定算法的基礎(chǔ)上將多端口執(zhí)行的微操作采用的循環(huán)選擇算法改為端口分割算法.當(dāng)匹配到微操作的操作碼一致時,不同線程的微操作固定使用分開的執(zhí)行端口.

② 防護策略類型、策略端口使能向量、優(yōu)先級向量伴隨指令操作碼會提供給調(diào)度器選擇邏輯.調(diào)度器選擇邏輯接收到分時策略、策略端口使能向量以及優(yōu)先級向量時,會改變原始完全按照年齡矩陣的選擇算法,而是基于優(yōu)先級向量進行優(yōu)先級選擇,即使高優(yōu)先級線程微操作在年齡矩陣中記錄的年齡比另外的線程年輕,其也會被優(yōu)先選擇.當(dāng)匹配到微操作操作碼一致時,選擇邏輯按照優(yōu)先級在對應(yīng)端口中優(yōu)先選擇優(yōu)先級高的線程微操作進行分發(fā).

本文的防護設(shè)計微架構(gòu)實現(xiàn)共包含3個子模塊,分別是端口沖突矩陣、分支過濾器及策略修改器.在整個防護設(shè)計中,通過對端口沖突的連續(xù)檢測形成端口沖突向量;然后通過分支過濾器過濾掉分支類型微操作并且針對SMoTherSpectre此類攻擊特征進行分支刷新后的優(yōu)先級調(diào)整;最后通過策略修改器進行處理器分配單元及調(diào)度器選擇邏輯的算法策略修改,消除由于執(zhí)行端口沖突產(chǎn)生的時間信道,進而防護SMT環(huán)境下利用雙線程共享執(zhí)行端口進行的時間側(cè)信道攻擊.

4.2 端口沖突矩陣

為了記錄SMT技術(shù)2個線程的端口沖突,本文的防護方法需要設(shè)計實現(xiàn)用于記錄SMT技術(shù)2個線程的端口沖突矩陣.

端口沖突矩陣由2個線程獨立的2維數(shù)組組成,數(shù)組內(nèi)部的每一行代表1個端口,按照圖7中描述,存在6個端口,分別是

P

P

,每一個端口都有一個2 b的飽和計數(shù)器,該計數(shù)器的初始值為0,當(dāng)某線程因為綁定的端口同另一個線程相同但由于年齡先后的原因而導(dǎo)致延遲發(fā)射時,計數(shù)器加1,當(dāng)某線程綁定的端口連續(xù)2次發(fā)射均沒有沖突時,計數(shù)器減1.

判定某線程同另一個線程由于端口資源沖突導(dǎo)致延遲發(fā)射的算法如下:

算法2.

端口沖突延遲發(fā)射

ConflictCounterSet

(

T

,

S

,

P

,

C

,

Conf

[1:0])

.

輸入:就緒線程端口

T

,選擇線程端口

S

x

={0,1},執(zhí)行端口

P

={

p

,

p

,…,

p

-1},

i

∈{0,

n

},時鐘周期

C

;輸出:沖突飽和計數(shù)器

Conf

[1:0]

.

① 時鐘周期

C

執(zhí)行:② for (0≤

i

<

n

)③ if (

T

==

p

&&

T

(1-)==

p

)④ if (

S

==

p

)⑤

Conf

[1-

x

]=1;⑥ else if(

S

(1-)==

p

)⑦

Conf

[

x

]=1;

⑧ end if

⑨ else

S

=

p

;

判定某線程綁定的端口連續(xù)2次發(fā)射均沒有沖突的算法如下:

算法3.

端口沖突取消

ConflictCounterReset

(

T

,

S

,

P

,

C

Conf

[1:0])

.

輸入:就緒線程端口

T

,選擇線程端口

S

,

x

={0,1},執(zhí)行端口

P

={

p

,

p

,…,

p

-1},

i

∈{0,

n

},時鐘周期

C

;輸出:沖突飽和計數(shù)器

Conf

[1:0]

.

① 時鐘周期

C

執(zhí)行:② for (0≤

i

<

n

)③ if (~(

T

==

p

&&

T

(1-)==

p

)&&

S

==

p

)④

Flag

[

x

]=1;⑤ else if (~(

T

==

p

&&

T

(1-)==

p

) &&

S

(1-)==

p

)⑥

Flag

[1-

x

]=1;

⑦ else

Flag

[

x

]=0;⑨

Flag

[1-

x

]=0;

⑩ end if

&&

S

==

p

&&

Flag

[

x

]==1)

p

) &&

S

(1-)==

p

&&

Flag

[1-

x

]==1)

因為SMT技術(shù)的公平性設(shè)計,沖突會在2個線程中間交替出現(xiàn),當(dāng)2個線程的飽和計數(shù)器全為1時,則判斷該端口存在雙線程的沖突.沖突端口的信息會以獨熱碼(one-hot)的形式作為沖突向量給到分支過濾器.

4.3 分支過濾器

在SMoTherSpectre中,攻擊者通過Spectre分支誘導(dǎo)的方式誘導(dǎo)受害者進入SMoTher Gadget,SMoTher Gadget包含受害者投機執(zhí)行的代碼片段.因為是誘導(dǎo)投機執(zhí)行代碼,后續(xù)會產(chǎn)生分支刷新刷掉該指令流,該指令流使用了攻擊者構(gòu)造的端口沖突代碼,長時間執(zhí)行相同端口的微操作,而這些微操作同攻擊者Time SMoTher Gadget中的指令沖突與否則會產(chǎn)生對應(yīng)的時間信道.

分支過濾器的作用是當(dāng)接收到?jīng)_突向量后進行包含分支類型微操作執(zhí)行單元端口的沖突信息進行過濾并針對SMoTherSpectre中使用Spectre誘導(dǎo)方式進行沖突構(gòu)建和安全信息提取的攻擊方式進行專門的防護.

分支過濾器除了接收端口沖突矩陣的沖突向量外,還接收譯碼過后的微操作信息.識別分支指令的目的是對分支指令進行沖突過濾,其他信息會解碼后給到后面的策略修改器用于防護策略的算法應(yīng)用.

對分支指令進行過濾的原因是在普通應(yīng)用程序中,分支指令占比較高,且在實際攻擊應(yīng)用時因為分支指令執(zhí)行會產(chǎn)生流水線刷新行為,攻擊者不會使用分支指令作為執(zhí)行端口沖突的構(gòu)建對象.如圖8所示,本文選取了常用的Linux指令(mount,cat,ls,sh,su,hostname,login,password,id,which),其分支指令類型的占比接近23%.以Intel Skylake微架構(gòu)為例,其分支執(zhí)行單元在端口0和端口6,如果一旦端口0和端口6檢測到端口沖突,且分支過濾器獲取微操作類型是分支時,過濾器將過濾掉該沖突信息.

Fig. 8 Linux typical application instruction frequency statistics圖8 Linux典型應(yīng)用指令頻度統(tǒng)計

除了分支指令過濾的功能外,分支過濾器還可以通過記錄分支刷新的方法來防護使用Spectre誘導(dǎo)方式進行沖突構(gòu)建和安全信息提取的攻擊.具體算法流程如下:

算法4.

分支刷新優(yōu)先級設(shè)置

BranchFlush

-

PriorSet

(

F

,

S

,

P

Conf

[1:0])

.

輸入:選擇線程端口

S

,分支刷新線程

F

x

={0,1},執(zhí)行端口

P

={

p

,

p

,…,

p

-1},

i

∈{0,

n

},沖突飽和計數(shù)器

Conf

[1:0];輸出:線程優(yōu)先級

Prior

x

={0,1}

.

① for (0≤

i

<

n

)② if(

S

==

p

&&

F

==1 && |

Conf

)③

Prior

--;④ else if(

S

(1-)==

p

&&

F

1-==1&& |

Conf

)⑤

Prior

1---;

⑥ end if

⑦ end for

線程對某端口的分時調(diào)度優(yōu)先級降低后,僅當(dāng)另一線程不使用該端口時才調(diào)度本線程綁定該端口的微操作,該優(yōu)先級策略會覆蓋策略修改器的優(yōu)先級策略.

針對SMoTherSpectre攻擊,分支過濾器通過對分支刷新后沖突端口的記錄并降低其優(yōu)先級的方式可以使得受害者投機執(zhí)行的SMoTher Gadget指令流中的端口沖突指令無法同攻擊者Time SMoTher Gadget的指令沖突,進而在攻擊者的時間度量范圍內(nèi)無法觀測到?jīng)_突出現(xiàn),破壞其在信息提取階段的關(guān)鍵信息,使得SMoTherSpectre此類攻擊方式失效.

4.4 動態(tài)資源使用策略修改器

經(jīng)過分支過濾器過濾后,最終的端口沖突向量及分支過濾后的刷新沖突記錄向量會進入動態(tài)資源使用策略修改器,策略修改器用于生成對SMT技術(shù)的多端口調(diào)度算法的防護邏輯并完成新防護算法的應(yīng)用.

策略修改器主要應(yīng)用的策略有2種,端口分割策略和端口分時策略.為了保證2個線程之間的公平性,默認分時優(yōu)先級選擇采用Ping-Pong原則,且該默認優(yōu)先級受分支過濾器的控制.策略修改器會產(chǎn)生策略類型、策略端口使能向量、優(yōu)先級向量.策略類型、策略端口使能向量、優(yōu)先級向量伴隨微操作的操作碼會同時提供給分配單元和調(diào)度器選擇邏輯.

策略修改器接收來自于提交單元的刷新信號,當(dāng)出現(xiàn)中斷、事件、異常等單線程事件或SMT下線程喚醒、線程睡眠、線程切換等雙線程事件時,策略修改器重置,恢復(fù)原始的雙線程共享多端口調(diào)度算法.

以Intel Skylake微架構(gòu)的多端口的執(zhí)行單元INT ALU以及單端口的執(zhí)行單元INT MUL為例,給出策略修改器的算法.

算法5.

資源策略修改

ResourceModify

(

T

,

Prior

,

P

,

S

)

.

輸入:就緒線程端口

T

,線程優(yōu)先級

Prior

x

={0,1},執(zhí)行端口

P

={

p

,

p

,…,

p

-1},

i

∈{0,

n

};輸出:選擇線程

S

,

x

={0,1}

.

① 多端口執(zhí)行單元(INT ALU):

② for (

i

∈{0,1,5,6})③ if (

T

==

p

&&

T

(1-)==

p

)④

S

=

p

(

m

∈{0,1});⑤

S

(1-)=

p

(

n

∈{5,6});

⑥ else

S

=

p

;⑧

S

(1-)=

P

p

;

⑨ end if

⑩ end for

Prior

>

Prior

1-)

&&

Prior

<

Prior

1-)

在分配單元,策略修改器將多端口執(zhí)行的微操作采用的循環(huán)選擇算法改為端口分割算法.在調(diào)度器選擇邏輯,策略修改器將完全按照年齡矩陣的選擇算法改為基于優(yōu)先級的選擇算法.如果分支過濾器的端口優(yōu)先級向量使能,該使能信息會覆蓋分時優(yōu)先級Ping-Pong選擇器結(jié)果,固定匹配線程的優(yōu)先級低于另一線程.

4.5 小 結(jié)

本文提出的基于動態(tài)資源使用策略的SMT環(huán)境下執(zhí)行端口時間側(cè)信道攻擊防護方法,可以將SMT技術(shù)對數(shù)據(jù)結(jié)構(gòu)分割和分時處理的方式應(yīng)用到SMT環(huán)境下執(zhí)行端口時間側(cè)信道安全防護中,通過對數(shù)據(jù)結(jié)構(gòu)共享策略和算法的改進來達到防護效果,可以在SMT技術(shù)合理利用共享數(shù)據(jù)結(jié)構(gòu)的同時達到安全防護的目的.

在破壞SMT技術(shù)下執(zhí)行端口時間側(cè)信道攻擊路徑上,本防護機制可以同時作用于攻擊路徑的沖突構(gòu)建和時間度量2個環(huán)節(jié)上.

首先,防護機制從沖突要素入手,動態(tài)資源使用策略會作用于SMT技術(shù)的多端口分配和調(diào)度選擇算法上,使得SMT環(huán)境下2個線程不發(fā)生同樣類型的端口沖突,達到?jīng)_突要素防護中不產(chǎn)生沖突防護策略的硬件隔離效果.

其次,本文提出的防護機制在時間要素上同樣具有作用,其對時間的干擾主要體現(xiàn)在針對SMoTherSpectre類型攻擊上,區(qū)別于PortSmash攻擊,SMoTherSpectre攻擊者在進行時間信道的度量時,沖突產(chǎn)生的時間信息及無沖突產(chǎn)生的時間信息都有作用.PortSmash攻擊對時間信息的度量完全基于沖突時間來完成,而SMoTherSpectre通過時間度量采集的時間即使沒有沖突也可以用于私密信息的分析.通過本文的防護算法應(yīng)用,從SMoTherSpectre攻擊者角度,其度量到的時間信息不再準確.從時間要素防護的角度,這也是破壞時間度量精度的一種方式.

5 防護評估

5.1 評估方法概述

本文使用Gem5模擬一個高性能多執(zhí)行端口的超標(biāo)量處理器作為本文防護方法的防護有效性、性能開銷的評估平臺,其配置參數(shù)如表2.對標(biāo)的防護方式是目前針對SMT環(huán)境下執(zhí)行端口雙線程共享的時間側(cè)信道攻擊最有效的防護策略—關(guān)閉SMT技術(shù).

Table 2 Gem5 Simulator Configuration Parameters表2 Gem5模擬器配置參數(shù)

對于硬件開銷的評估,本文使用華力HLMC 40 GP工藝進行防護方法的硬件開銷評估,主要包含面積及時序.

對于防護有效性評估,本文選用了PortSmash和SMoTherSpectre兩篇文章中的POC(proof of code)代碼作為實驗?zāi)繕?biāo),分析本文提出的防護設(shè)計對這2種攻擊方式的防護效果.

對于性能評估,本文選用SPEC CPU 2006測試集作為性能評估的參考,主要評估防護方法對性能的影響以及同關(guān)閉SMT技術(shù)產(chǎn)生的性能影響進行對比.本文將采用12組SPEC CPU 2006 INT測試集.通過在Gem5上運行測試程序,分別統(tǒng)計關(guān)閉SMT技術(shù)、正常開啟SMT技術(shù)、開啟SMT技術(shù)并且使用本文的防護方法3個場景的執(zhí)行周期數(shù)值,然后進行SPEC CPU 2006 INT程序的整體性能對比,執(zhí)行周期數(shù)越大,性能越差,周期數(shù)越小,性能越好.

本文SPEC CPU 2006 INT程序在Gem5 ALPHA架構(gòu)下12個測試程序可成功運行7個,錯誤原因均為Gem5模擬器對系統(tǒng)調(diào)用支持情況的缺陷導(dǎo)致.表3是SPEC CPU2006整型計算基準程序在本實驗下的運行情況:

Table 3 Running Condition of SPEC CPU2006 Integer Base Programs

對于硬件開銷評估,本文提出的防護機制使用RTL(register-transfer level)進行代碼實現(xiàn).完成設(shè)計實現(xiàn)后的防護設(shè)計代碼在HLMC 40 GP工藝下使用新思科技的ASIC設(shè)計流程和工具進行面積和時序的評估.

5.2 防護有效性評估

本節(jié)防護有效性評估針對PortSmash和SMoTherSpectre兩個攻擊案例進行,在禁用或動態(tài)關(guān)閉SMT技術(shù)后,2個攻擊案例均無法實現(xiàn),因此,禁用或關(guān)閉SMT的防護效果為最佳,本文的防護設(shè)計目的是盡量接近禁用或關(guān)閉SMT技術(shù)的防護效果.

PortSmash參考其針對Intel Skylake微架構(gòu)的POC代碼片段,攻擊者循環(huán)執(zhí)行某端口指令,受害者同樣會使用該端口指令,也會使用其他端口指令.為了使攻擊效果明顯,設(shè)計受害者循環(huán)進行相同操作,攻擊者也循環(huán)進行相同操作且攻擊者和受害者同時在開啟SMT技術(shù)的2個邏輯核上執(zhí)行.SMo-TherSpectre選用其攻擊模型中使用的POC代碼片段類型,受害者運行程序中包含了攻擊者植入的一個SMOTHER代碼片段,正常運行過程中,受害者不會運行SMOTHER代碼片段,其在加載完核心參數(shù)后會跳走,但由于攻擊者使用了Spectre的分支預(yù)測誘導(dǎo)機制將受害者跳轉(zhuǎn)指令的目標(biāo)地址誘導(dǎo)進SMOTHER代碼片段中,進而實施執(zhí)行端口沖突的時間側(cè)信道攻擊,其技術(shù)原理同PortSmash一致.

將攻擊者和受害者的運行代碼使用gcc編譯器編譯成可執(zhí)行二進制文件,其中攻擊者可以使用同受害者端口一致的指令類型,也可以使用同受害者端口不同的指令類型.首先使用原始Gem5模擬器,開啟SMT選項,且同時加載PortSmash攻擊的攻擊者和受害者POC代碼的二進制可執(zhí)行文件,配置不同沖突次數(shù)和頻度,通過原始Gem5模擬攻擊者通過端口沖突獲取受害者信息的攻擊路徑,并統(tǒng)計運行時間來提取端口沖突時間信息;然后使用增加防護設(shè)計后的Gem5模擬器,進行同樣的操作.在本實驗過程中,為了測試不同沖突頻度產(chǎn)生的沖突效果,選取了60~30 720共10組不同量級的指令沖突頻度進行測量.

圖9為防護效果評估對比,SMTwC表示SMT下端口沖突的攻擊者執(zhí)行周期;SMTwoC表示SMT下端口無沖突的攻擊者執(zhí)行周期;SMTwDwC表示SMT下增加防護設(shè)計后有端口沖突的攻擊者執(zhí)行周期;SMTwDwoC表示SMT下增加防護設(shè)計后端口無沖突的攻擊者執(zhí)行周期.表4詳細給出了Gem5輸出的時鐘周期數(shù)據(jù).

Fig. 9 Evaluation of protective effect圖9 防護效果評估

從圖9中的SMTwC和SMTwoC的對比可以看出,在SMT技術(shù)下PortSmash和SMoTherSpectre攻擊中攻擊者使用的攻擊指令同受害者同端口指令出現(xiàn)沖突時其沖突造成的時間延遲和沖突規(guī)模呈線性關(guān)系,而不產(chǎn)生沖突時,其指令延遲信息也呈現(xiàn)明顯的線性關(guān)系,這樣通過時間延遲的不同可以提取出受害者程序執(zhí)行的指令類型和次數(shù).

Table 4 Effect of Defending Method表4 防護效果數(shù)據(jù)

從圖9中的SMTwDwC和SMTwDwoC的對比可以看出,增加防護設(shè)計后,由于沖突端口隨著沖突指令量級增大會使能分割或分時的動態(tài)資源使用策略,攻擊者程序即使存在同受害者的指令沖突且沖突造成的時間延遲和沖突規(guī)模呈明顯的線性關(guān)系,但是使用同受害者不產(chǎn)生沖突的指令類型其造成的時間延遲和沖突規(guī)模也呈明顯的線性關(guān)系且同有沖突時趨于一致.通過該實驗數(shù)據(jù)表明,攻擊者使用PortSmash和SMoTherSpectre類型的攻擊方式通過度量沖突時間來采集時間信道過程中會有明顯的誤差和干擾存在,無法判斷受害者使用的指令類型和頻度,可以達到禁用或動態(tài)關(guān)閉SMT技術(shù)的防護效果,進而防止受害者指令執(zhí)行端口、指令執(zhí)行次數(shù)及指令類型信息的泄露.

5.3 性能開銷評估

本文防護設(shè)計的性能評估選用SPEC CPU 2006測試集作為性能評估的參考,主要評估防護方法對性能的影響以及同禁用或動態(tài)關(guān)閉SMT技術(shù)(DDM)產(chǎn)生的性能影響進行對比.

1) 評估樣本.7個SPEC CPU 2006 INT測試程序.

2) 評估方式.使用總執(zhí)行周期數(shù)據(jù)指標(biāo)作為性能優(yōu)劣的核心評估參數(shù).

3) 評估目標(biāo).對比禁用SMT技術(shù)、正常開啟SMT技術(shù)、開啟SMT技術(shù)并且使用本文的防護方法3個場景的程序總執(zhí)行周期數(shù)據(jù)(其中401和471的程序規(guī)模較大,其統(tǒng)計的時鐘周期數(shù)進行等比例縮減,縮減比例100∶1),分析本文的防護方法對性能的影響程度.

4) 對比數(shù)據(jù)(如圖10所示).

① NOSMT——關(guān)閉SMT技術(shù)后Gem5運行7組SPEC CPU 2006 INT測試程序的執(zhí)行周期數(shù);

② SMT——正常開啟SMT技術(shù)后Gem5運行7組SPEC CPU 2006 INT測試程序的執(zhí)行周期數(shù);

③ DEFENCE——開啟SMT技術(shù)并且使用本文的防護方法下Gem5運行7組SPEC CPU 2006 INT測試程序的執(zhí)行周期數(shù).

Fig. 10 Performance comparison圖10 性能對比

5) 評估結(jié)論.使用本文的防護設(shè)計后SPEC CPU 2006 INT測試集測試出的執(zhí)行性能平均下降2.98%,性能下降最明顯的是471,下降比例為7.77%,也優(yōu)于DDM動態(tài)關(guān)閉SMT的性能表現(xiàn)(SPEC2000評測約8%的性能損失),且以473為代表的測試程序在增加防護設(shè)計后性能沒有下降,且有0.5%的性能提升.

綜上可以得出,本文防護方法對性能的影響整體可控,且相比于禁用或動態(tài)關(guān)閉SMT技術(shù)有明顯的性能優(yōu)勢.

5.4 硬件開銷評估

本文描述的防護機制使用Verilog語言進行RTL實現(xiàn).然后使用HLMC 40 GP工藝和新思科技的ASIC設(shè)計流程和工具進行面積和時序的評估.

本文防護機制設(shè)計為1個獨立的單元,命名為smt_defend,該單元支持針對6個執(zhí)行端口,64個調(diào)度器項的處理器微架構(gòu)設(shè)計.

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

Table 5 Hardware Overhead Evaluation表5 硬件開銷評估

經(jīng)過綜合工具實現(xiàn),smt_defend單元總面積為4 877 μm,在時序方面,3類時序數(shù)據(jù)的最差路徑分別為reg2reg(寄存器到寄存器)時序最差路徑為357 ps;in2reg(輸入到寄存器)時序最差路徑為381 ps;reg2out(寄存器到輸出)時序最差路徑為300 ps.在2 GHz的時鐘約束下無任何時序違例.

3個子模塊conflict_matrix,branch_filter,policy_modifier的面積數(shù)據(jù)分別為4 607 μm,135 μm,132 μm.

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

相比于處理器內(nèi)部的基本單元,本文描述的防護機制實現(xiàn)在硬件開銷上可控,且該防護機制在流水線設(shè)計上,并不影響直接影響SMT技術(shù)的多端口調(diào)度算法時序,在時序角度上不存在設(shè)計負擔(dān).

6 結(jié) 論

本文針對SMT環(huán)境下執(zhí)行端口時間側(cè)信道攻擊防護的一些相關(guān)工作進行了系統(tǒng)的分析、歸納.同時,本文提出了一種基于動態(tài)資源使用策略的SMT環(huán)境下執(zhí)行端口時間側(cè)信道攻擊防護方法,在SMT技術(shù)對共享數(shù)據(jù)結(jié)構(gòu)的處理算法上進行改進,將不同的資源處理策略應(yīng)用到SMT環(huán)境下執(zhí)行端口時間側(cè)信道安全防護中,通過對數(shù)據(jù)結(jié)構(gòu)共享策略和算法的改進來達到防護效果,可以在SMT技術(shù)合理利用共享數(shù)據(jù)結(jié)構(gòu)的同時達到安全防護的目的.經(jīng)過充分評估,本文方法從防護有效性上針對已有的攻擊方式有很好的防護效果,基本和關(guān)閉SMT技術(shù)的防護方式等效;在性能開銷上遠遠好于關(guān)閉SMT技術(shù)的防護方法;在硬件開銷角度,本文防護方法的設(shè)計簡潔,面積和時序影響小,具有一定的實用價值.

作者貢獻聲明

:岳曉萌提出可動態(tài)調(diào)整雙線程共享的執(zhí)行端口資源使用策略的防護方法,并進行了實驗;楊秋松指導(dǎo)并優(yōu)化動態(tài)資源使用防護策略的算法,審閱文章內(nèi)容,提出改進建議;李明樹指導(dǎo)研究方向和技術(shù)方法,審閱文章內(nèi)容,提出改進建議.

猜你喜歡
指令策略
聽我指令:大催眠術(shù)
基于“選—練—評”一體化的二輪復(fù)習(xí)策略
求初相φ的常見策略
例談未知角三角函數(shù)值的求解策略
我說你做講策略
ARINC661顯控指令快速驗證方法
LED照明產(chǎn)品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
高中數(shù)學(xué)復(fù)習(xí)的具體策略
殺毒軟件中指令虛擬機的脆弱性分析
Passage Four
主站蜘蛛池模板: 国产麻豆精品久久一二三| 免费啪啪网址| 色老二精品视频在线观看| 久久亚洲国产最新网站| 国产精品区视频中文字幕| 在线看AV天堂| 国产成人91精品免费网址在线| 三上悠亚一区二区| 亚洲一区二区三区麻豆| 国产麻豆精品在线观看| 国产伦精品一区二区三区视频优播| 欧美成人第一页| 国产成人精品三级| 欧美一级在线| 中文字幕在线免费看| 欧美日韩免费在线视频| 一级毛片免费观看久| 日本少妇又色又爽又高潮| 午夜福利无码一区二区| 国产在线八区| 成年人福利视频| 欧美色视频日本| 日韩a级毛片| 欧美日在线观看| 中文字幕在线观看日本| 亚洲熟女中文字幕男人总站| 呦女亚洲一区精品| 国产xxxxx免费视频| 高清色本在线www| 国产微拍一区二区三区四区| 久久国产毛片| 九九视频免费在线观看| 亚洲嫩模喷白浆| 欧美成人日韩| 国产精品三级av及在线观看| 欧洲成人免费视频| 亚洲第一精品福利| 色综合天天娱乐综合网| 最新国产麻豆aⅴ精品无| 少妇露出福利视频| 欧美成人精品在线| 日韩美毛片| 无码电影在线观看| 97成人在线观看| 久久视精品| 色呦呦手机在线精品| a级免费视频| 91九色最新地址| 国产凹凸视频在线观看| igao国产精品| 欧美一区二区福利视频| 欧美日韩福利| 五月天综合网亚洲综合天堂网| 久久久波多野结衣av一区二区| 久久精品无码国产一区二区三区| 亚洲妓女综合网995久久| 中文字幕无码中文字幕有码在线| 亚洲最大福利视频网| 久久公开视频| 国产精品不卡永久免费| 亚洲美女一区| 深夜福利视频一区二区| 久久精品这里只有国产中文精品| 国产微拍精品| 亚洲人成网站在线观看播放不卡| 就去吻亚洲精品国产欧美| 国产老女人精品免费视频| 91精品视频在线播放| 91久久偷偷做嫩草影院免费看| 无码专区第一页| 黄色污网站在线观看| 国产在线视频二区| 她的性爱视频| 日韩欧美中文字幕在线韩免费| 国产流白浆视频| 六月婷婷精品视频在线观看 | 国产h视频免费观看| 国产国产人成免费视频77777| 色婷婷久久| 亚洲欧洲天堂色AV| 99国产在线视频| 亚洲天堂网在线视频|