本發(fā)明屬于網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別涉及一種基于動(dòng)態(tài)內(nèi)存重映射和緩存清除的側(cè)信道攻擊防御方法及其裝置。
背景技術(shù):
隨著云計(jì)算產(chǎn)業(yè)的不斷發(fā)展,云環(huán)境下的安全問(wèn)題得到了廣泛的關(guān)注。為了提高資源的利用率,云虛擬化技術(shù)要求不同租戶(hù)共享底層的物理資源,使得一個(gè)租戶(hù)可以通過(guò)探測(cè)另一個(gè)租戶(hù)訪問(wèn)共享資源的行為特征,推測(cè)目標(biāo)租戶(hù)的敏感信息,實(shí)現(xiàn)側(cè)信道攻擊。其中,基于緩存的側(cè)信道攻擊由于實(shí)現(xiàn)方法多樣、攻擊結(jié)果可靠,帶來(lái)的危害也最大。近年來(lái),相關(guān)領(lǐng)域的專(zhuān)家研究并實(shí)現(xiàn)了多種緩存攻擊,可以達(dá)到諸如竊取高級(jí)加密標(biāo)準(zhǔn)(aes)的加密密鑰和rsa公鑰加密算法的解密密鑰,以及監(jiān)控用戶(hù)鍵盤(pán)操作等目的。
然而,當(dāng)前針對(duì)這種攻擊的防御主要依靠資源的隔離實(shí)現(xiàn),雖然可以取得較好的安全性,但是這與云中資源共享的基本理念是相違背的。并且,當(dāng)前提出的防御方法都是攻擊無(wú)感的,不僅難以達(dá)到針對(duì)性的防御效果,而且容易造成資源的浪費(fèi)。因此,急劇膨脹的云產(chǎn)業(yè)急需一種能夠滿足要求的安全解決方案,可以實(shí)時(shí)感知基于緩存的側(cè)信道攻擊,并且在盡量不影響資源共享的基礎(chǔ)上能夠?qū)崿F(xiàn)高效的防御。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)現(xiàn)有技術(shù)中的不足,本發(fā)明提供一種基于動(dòng)態(tài)內(nèi)存重映射和緩存清除的側(cè)信道攻擊防御方法及其裝置,有效解決現(xiàn)有技術(shù)中因防御操作對(duì)云資源共享等問(wèn)題,具有較好的防御效果。
按照本發(fā)明所提供的設(shè)計(jì)方案,一種基于動(dòng)態(tài)內(nèi)存重映射和緩存清除的側(cè)信道攻擊防御方法,基于虛擬機(jī)監(jiān)控器和硬件多層級(jí)緩存架構(gòu)實(shí)現(xiàn),該方法包含如下內(nèi)容:
收集虛擬機(jī)監(jiān)控器上運(yùn)行的虛擬機(jī)信息,該虛擬機(jī)信息至少包含每一個(gè)虛擬機(jī)所占用的物理頁(yè)面,以及虛擬機(jī)提交的保護(hù)內(nèi)存;同時(shí)實(shí)時(shí)監(jiān)測(cè)當(dāng)前發(fā)生的基于緩存的側(cè)信道攻擊,得到攻擊目標(biāo)信息,該攻擊目標(biāo)信息至少包含:被攻擊的目標(biāo)虛擬機(jī)、攻擊頻率和被攻擊的緩存層;
根據(jù)收集的虛擬機(jī)信息及實(shí)時(shí)監(jiān)測(cè)得到的攻擊目標(biāo)信息,選取防御操作,其中,所述的防御操作根據(jù)攻擊目標(biāo)信息中被攻擊的緩存層選取緩存清除操作或內(nèi)存動(dòng)態(tài)重映射操作;
以攻擊目標(biāo)信息中攻擊頻率執(zhí)行選取的防御操作。
上述的,根據(jù)攻擊虛擬機(jī)在攻擊目標(biāo)虛擬機(jī)時(shí)攻擊虛擬機(jī)和目標(biāo)虛擬機(jī)兩者訪問(wèn)緩存的行為相似,檢測(cè)當(dāng)前可能發(fā)生的基于緩存的側(cè)信道攻擊,得到攻擊目標(biāo)信息。
上述的,硬件多層級(jí)緩存架構(gòu)包含用于緩存數(shù)據(jù)和指令的第一級(jí)緩存層,用于單核統(tǒng)一緩存的第二級(jí)緩存層,及用于統(tǒng)一共享緩存的第三級(jí)緩存層。
優(yōu)選的,選取防御操作,包含如下內(nèi)容:將目標(biāo)虛擬機(jī)所占用的物理內(nèi)存頁(yè)面分為敏感頁(yè)面和普通頁(yè)面兩類(lèi),根據(jù)攻擊目標(biāo)信息中被攻擊的緩存層,若為第一級(jí)緩存層,則確定防御操作為緩存清洗操作,每一次目標(biāo)虛擬機(jī)執(zhí)行敏感操作后,隨機(jī)清洗部分或全部緩存;若為第二級(jí)緩存層或第三級(jí)緩存層,則確定防御操作為內(nèi)存動(dòng)態(tài)重映射操作,動(dòng)態(tài)隨機(jī)交換敏感頁(yè)面和普通頁(yè)面兩者之間的內(nèi)存映射關(guān)系,混淆緩存行為特征和目標(biāo)信息關(guān)聯(lián)。
更進(jìn)一步,緩存清洗操作,包含如下內(nèi)容:
a1)構(gòu)建緩存清洗頁(yè)面集合;
a2)依次訪問(wèn)緩存清洗頁(yè)面集合中每一個(gè)內(nèi)存頁(yè)面,清洗與敏感目標(biāo)頁(yè)面對(duì)應(yīng)的緩存。
優(yōu)選,a1中構(gòu)建緩存清洗頁(yè)面集合,包含如下內(nèi)容:對(duì)于s個(gè)映射到與敏感目標(biāo)頁(yè)面相同的緩存位置的內(nèi)存頁(yè)面,隨機(jī)選擇w個(gè)內(nèi)存頁(yè)面作為該敏感目標(biāo)頁(yè)面的清洗頁(yè)面集合,其中,s≥w,w是緩存的關(guān)聯(lián)系數(shù)。
更進(jìn)一步,內(nèi)存動(dòng)態(tài)重映射操作,包含如下內(nèi)容:
b1)根據(jù)虛擬機(jī)信息中虛擬機(jī)所占用的物理頁(yè)面及虛擬機(jī)提交的保護(hù)內(nèi)存,定位虛擬機(jī)上存儲(chǔ)目標(biāo)信息的敏感頁(yè)面,將目標(biāo)虛擬機(jī)所占用的物理內(nèi)存頁(yè)面分為敏感頁(yè)面和普通頁(yè)面兩類(lèi),從虛擬機(jī)監(jiān)控器負(fù)責(zé)頁(yè)表中隨機(jī)選擇兩個(gè)頁(yè)表項(xiàng);
b2)獲取所選擇頁(yè)表項(xiàng)對(duì)應(yīng)的物理內(nèi)存頁(yè)面;
b3)清除地址翻譯緩存,并禁止其他進(jìn)程對(duì)頁(yè)表項(xiàng)和對(duì)應(yīng)物理內(nèi)存頁(yè)面的訪問(wèn);
b4)交換兩個(gè)物理內(nèi)存頁(yè)面的存儲(chǔ)內(nèi)容,并交換兩個(gè)頁(yè)表項(xiàng)內(nèi)容;
b5)恢復(fù)其他進(jìn)程對(duì)頁(yè)表項(xiàng)和對(duì)應(yīng)物理內(nèi)存頁(yè)面的訪問(wèn)。
優(yōu)選,b1中從虛擬機(jī)監(jiān)控器負(fù)責(zé)頁(yè)表中隨機(jī)選擇兩個(gè)頁(yè)表項(xiàng),兩個(gè)頁(yè)表項(xiàng)中:一個(gè)為敏感頁(yè)面表項(xiàng),另一個(gè)為普通頁(yè)面表項(xiàng)。
一種基于動(dòng)態(tài)內(nèi)存重映射和緩存清除的側(cè)信道攻擊防御裝置,基于虛擬機(jī)監(jiān)控器和硬件多層級(jí)緩存架構(gòu)實(shí)現(xiàn),包含攻擊檢測(cè)模塊、信息收集模塊、防御決策模塊及執(zhí)行模塊,其中,
攻擊檢測(cè)模塊,用于實(shí)時(shí)監(jiān)測(cè)當(dāng)前發(fā)生的基于緩存的側(cè)信道攻擊,獲取攻擊目標(biāo)信息,該攻擊目標(biāo)信息至少包含:被攻擊的目標(biāo)虛擬機(jī)、攻擊頻率和被攻擊的緩存層;
信息收集模塊,用于收集虛擬機(jī)監(jiān)控器上運(yùn)行的虛擬機(jī)信息,該虛擬機(jī)信息至少包含每一個(gè)虛擬機(jī)所占用的物理頁(yè)面,以及虛擬機(jī)提交的保護(hù)內(nèi)存;
防御決策模塊,用于根據(jù)攻擊檢測(cè)模塊獲取的攻擊目標(biāo)信息及信息收集模塊收集的虛擬機(jī)信息,選取防御操作,其中,所述的防御操作為緩存清除操作或?yàn)閮?nèi)存動(dòng)態(tài)重映射操作;
執(zhí)行模塊,用于將目標(biāo)虛擬機(jī)所占用的物理內(nèi)存頁(yè)面分為敏感頁(yè)面和普通頁(yè)面兩類(lèi),執(zhí)行防御決策模塊選取的防御操作。
上述的防御裝置中,所述的執(zhí)行模塊包含緩存清洗單元和內(nèi)存動(dòng)態(tài)重映射單元,其中,
緩存清洗單元,根據(jù)執(zhí)行防御決策模塊選取的緩存清洗操作,構(gòu)建緩存清洗頁(yè)面集合,并依次訪問(wèn)緩存清洗頁(yè)面集合中每一個(gè)內(nèi)存頁(yè)面,清洗與敏感目標(biāo)頁(yè)面對(duì)應(yīng)的緩存;
內(nèi)存動(dòng)態(tài)重映射單元,用于根據(jù)執(zhí)行防御決策模塊選取的內(nèi)存動(dòng)態(tài)重映射操作,動(dòng)態(tài)隨機(jī)交換敏感頁(yè)面和普通頁(yè)面的內(nèi)存映射關(guān)系,混淆緩存行為特征和目標(biāo)信息關(guān)聯(lián)。
本發(fā)明的有益效果:
本發(fā)明基于虛擬機(jī)監(jiān)控器實(shí)現(xiàn),通過(guò)攻擊檢測(cè)、信息收集,決策執(zhí)行,實(shí)現(xiàn)防御操作,并通過(guò)內(nèi)存動(dòng)態(tài)重映射方法,通過(guò)不斷更新虛擬內(nèi)存和物理內(nèi)存的映射關(guān)系,混淆物理緩存訪問(wèn)的行為特征和目標(biāo)信息之間的關(guān)聯(lián),有效防止緩存攻擊;實(shí)現(xiàn)通過(guò)感知當(dāng)前系統(tǒng)的安全狀況,并根據(jù)感知得到的攻擊頻率和受攻擊的緩存目標(biāo)動(dòng)態(tài)地確定需要執(zhí)行的防御操作以及對(duì)應(yīng)操作的執(zhí)行頻率,使得緩存攻擊能夠被有效防御,并且兼顧虛擬機(jī)監(jiān)控器的運(yùn)行效率;有針對(duì)性的進(jìn)行防御,避免資源浪費(fèi),保證云計(jì)算產(chǎn)業(yè)的安全性,可以實(shí)時(shí)感知基于緩存的側(cè)信道攻擊,并且在盡量不影響資源共享的基礎(chǔ)上實(shí)現(xiàn)高效防御。
附圖說(shuō)明:
圖1為本發(fā)明的方法流程示意圖;
圖2為緩存?zhèn)刃诺拦舴烙鶎?shí)現(xiàn)過(guò)程原理圖;
圖3為動(dòng)態(tài)內(nèi)存重映射方法流程圖;
圖4為緩存清洗方法流程圖;
圖5為本發(fā)明的裝置示意圖;
圖6為緩存?zhèn)刃诺拦舴烙b置原理圖。
具體實(shí)施方式:
下面結(jié)合附圖和技術(shù)方案對(duì)本發(fā)明作進(jìn)一步清楚、完整的說(shuō)明,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供一種基于動(dòng)態(tài)內(nèi)存重映射和緩存清除的側(cè)信道攻擊防御方法,基于虛擬機(jī)監(jiān)控器和硬件多層級(jí)緩存架構(gòu)實(shí)現(xiàn),參見(jiàn)圖1所示,該方法包含如下內(nèi)容:
收集虛擬機(jī)監(jiān)控器上運(yùn)行的虛擬機(jī)信息,該虛擬機(jī)信息至少包含每一個(gè)虛擬機(jī)所占用的物理頁(yè)面,以及虛擬機(jī)提交的保護(hù)內(nèi)存;同時(shí)實(shí)時(shí)監(jiān)測(cè)當(dāng)前發(fā)生的基于緩存的側(cè)信道攻擊,得到攻擊目標(biāo)信息,該攻擊目標(biāo)信息至少包含:被攻擊的目標(biāo)虛擬機(jī)、攻擊頻率和被攻擊的緩存層;根據(jù)虛擬機(jī)提交的保護(hù)內(nèi)存范圍,計(jì)算該虛擬機(jī)需要保護(hù)的目標(biāo)物理頁(yè)面。
根據(jù)收集的虛擬機(jī)信息及實(shí)時(shí)監(jiān)測(cè)得到的攻擊目標(biāo)信息,選取防御操作,其中,所述的防御操作根據(jù)攻擊目標(biāo)信息中被攻擊的緩存層選取緩存清除操作或內(nèi)存動(dòng)態(tài)重映射操作;
以攻擊目標(biāo)信息中攻擊頻率執(zhí)行選取的防御操作。
本發(fā)明實(shí)施例提供的基于動(dòng)態(tài)內(nèi)存重映射和緩存清除的側(cè)信道攻擊防御方法,基于虛擬機(jī)監(jiān)控器實(shí)現(xiàn),通過(guò)手機(jī)虛擬機(jī)監(jiān)控器上運(yùn)行的虛擬機(jī)信息并實(shí)時(shí)監(jiān)測(cè)當(dāng)前發(fā)生的基于緩存的側(cè)信道攻擊,根據(jù)收集到的虛擬機(jī)信息及實(shí)時(shí)監(jiān)測(cè)情況,動(dòng)態(tài)選取防御操作,以相應(yīng)的大公雞頻率進(jìn)行執(zhí)行,使得緩存攻擊能夠被有效防御,并且兼顧虛擬機(jī)監(jiān)控器的運(yùn)行效率,有針對(duì)性的進(jìn)行防御,避免資源浪費(fèi),保證云計(jì)算產(chǎn)業(yè)的安全性。
為了使本領(lǐng)域的技術(shù)人員更好的了解本發(fā)明,下面列舉一個(gè)更為詳細(xì)的實(shí)施例,如圖2所示,本發(fā)明實(shí)施例提供一種基于動(dòng)態(tài)內(nèi)存重映射和緩存清除的側(cè)信道攻擊防御方法,基于虛擬機(jī)監(jiān)控器和硬件多層級(jí)緩存架構(gòu)實(shí)現(xiàn),硬件多層級(jí)緩存架構(gòu)包含用于緩存數(shù)據(jù)和指令的第一級(jí)緩存層,用于單核統(tǒng)一緩存的第二級(jí)緩存層,及用于統(tǒng)一共享緩存的第三級(jí)緩存層,參見(jiàn)圖2所示,該方法包含如下內(nèi)容:
101、收集虛擬機(jī)監(jiān)控器上運(yùn)行的虛擬機(jī)信息,該虛擬機(jī)信息至少包含每一個(gè)虛擬機(jī)所占用的物理頁(yè)面,以及虛擬機(jī)提交的保護(hù)內(nèi)存;102、同時(shí)根據(jù)攻擊虛擬機(jī)在攻擊目標(biāo)虛擬機(jī)時(shí)攻擊虛擬機(jī)和目標(biāo)虛擬機(jī)兩者訪問(wèn)緩存的行為相似,實(shí)時(shí)監(jiān)測(cè)當(dāng)前發(fā)生的基于緩存的側(cè)信道攻擊,得到攻擊目標(biāo)信息,該攻擊目標(biāo)信息至少包含:被攻擊的目標(biāo)虛擬機(jī)、攻擊頻率和被攻擊的緩存層。
103、根據(jù)收集的虛擬機(jī)信息及實(shí)時(shí)監(jiān)測(cè)得到的攻擊目標(biāo)信息,選取防御操作,其中,所述的防御操作根據(jù)攻擊目標(biāo)信息中被攻擊的緩存層選取緩存清除操作或內(nèi)存動(dòng)態(tài)重映射操作.。
其中,選取防御操作,包含如下內(nèi)容:將目標(biāo)虛擬機(jī)所占用的物理內(nèi)存頁(yè)面分為敏感頁(yè)面和普通頁(yè)面兩類(lèi),根據(jù)攻擊目標(biāo)信息中被攻擊的緩存層,若為第一級(jí)緩存層,則確定防御操作為緩存清洗操作,每一次目標(biāo)虛擬機(jī)執(zhí)行敏感操作后,隨機(jī)清洗部分或全部緩存;若為第二級(jí)緩存層或第三級(jí)緩存層,則確定防御操作為內(nèi)存動(dòng)態(tài)重映射操作,動(dòng)態(tài)隨機(jī)交換敏感頁(yè)面和普通頁(yè)面兩者之間的內(nèi)存映射關(guān)系,混淆緩存行為特征和目標(biāo)信息關(guān)聯(lián)。敏感操作包含涉及目標(biāo)敏感信息的操作。
更進(jìn)一步,緩存清洗操作,如圖4所示包含如下內(nèi)容:
a1)構(gòu)建緩存清洗頁(yè)面集合;
a2)依次訪問(wèn)緩存清洗頁(yè)面集合中每一個(gè)內(nèi)存頁(yè)面,清洗與敏感目標(biāo)頁(yè)面對(duì)應(yīng)的緩存。
優(yōu)選,a1中構(gòu)建緩存清洗頁(yè)面集合,包含如下內(nèi)容:對(duì)于s個(gè)映射到與敏感目標(biāo)頁(yè)面相同的緩存位置的內(nèi)存頁(yè)面,隨機(jī)選擇w個(gè)內(nèi)存頁(yè)面作為該敏感目標(biāo)頁(yè)面的清洗頁(yè)面集合,其中,s≥w,w是緩存的關(guān)聯(lián)系數(shù)。利用同樣的方法可以得到其他敏感目標(biāo)頁(yè)面的清洗頁(yè)面集合。
更進(jìn)一步,內(nèi)存動(dòng)態(tài)重映射操作,如圖3所示,包含如下內(nèi)容:
201)根據(jù)虛擬機(jī)信息中虛擬機(jī)所占用的物理頁(yè)面及虛擬機(jī)提交的保護(hù)內(nèi)存,定位虛擬機(jī)上存儲(chǔ)目標(biāo)信息的敏感頁(yè)面,將目標(biāo)虛擬機(jī)所占用的物理內(nèi)存頁(yè)面分為敏感頁(yè)面和普通頁(yè)面兩類(lèi),從虛擬機(jī)監(jiān)控器負(fù)責(zé)頁(yè)表中隨機(jī)選擇兩個(gè)頁(yè)表項(xiàng),如果敏感頁(yè)面所占比例較大,可以進(jìn)行適當(dāng)調(diào)整,隨機(jī)選擇兩個(gè)敏感頁(yè)面表項(xiàng);
202)獲取所選擇頁(yè)表項(xiàng)對(duì)應(yīng)的物理內(nèi)存頁(yè)面;
203)清除地址翻譯緩存;
204)禁止其他進(jìn)程對(duì)頁(yè)表項(xiàng)和對(duì)應(yīng)物理內(nèi)存頁(yè)面的訪問(wèn);
205)交換兩個(gè)物理內(nèi)存頁(yè)面的存儲(chǔ)內(nèi)容;
206)交換兩個(gè)頁(yè)表項(xiàng)內(nèi)容;
207)恢復(fù)其他進(jìn)程對(duì)頁(yè)表項(xiàng)和對(duì)應(yīng)物理內(nèi)存頁(yè)面的訪問(wèn)。
優(yōu)選,b1中從虛擬機(jī)監(jiān)控器負(fù)責(zé)頁(yè)表中隨機(jī)選擇兩個(gè)頁(yè)表項(xiàng),兩個(gè)頁(yè)表項(xiàng)中:一個(gè)為敏感頁(yè)面表項(xiàng),另一個(gè)為普通頁(yè)面表項(xiàng)。
104、以攻擊目標(biāo)信息中攻擊頻率執(zhí)行選取的防御操作。
通過(guò)內(nèi)存動(dòng)態(tài)重映射方法,不斷更新虛擬內(nèi)存和物理內(nèi)存的映射關(guān)系,混淆物理緩存訪問(wèn)的行為特征和目標(biāo)信息之間的關(guān)聯(lián),有效防止緩存攻擊;實(shí)現(xiàn)通過(guò)感知當(dāng)前系統(tǒng)的安全狀況,并根據(jù)感知得到的攻擊頻率和受攻擊的緩存目標(biāo)動(dòng)態(tài)地確定需要執(zhí)行的防御操作以及對(duì)應(yīng)操作的執(zhí)行頻率,使得緩存攻擊能夠被有效防御,并且兼顧虛擬機(jī)監(jiān)控器的運(yùn)行效率;有針對(duì)性的進(jìn)行防御,避免資源浪費(fèi),保證云計(jì)算產(chǎn)業(yè)的安全性,可以實(shí)時(shí)感知基于緩存的側(cè)信道攻擊,并且在盡量不影響資源共享的基礎(chǔ)上實(shí)現(xiàn)高效防御。
對(duì)應(yīng)于上述的基于動(dòng)態(tài)內(nèi)存重映射和緩存清除的側(cè)信道攻擊防御方法的實(shí)施例,如圖5所示,本發(fā)明實(shí)施例提供一種基于動(dòng)態(tài)內(nèi)存重映射和緩存清除的側(cè)信道攻擊防御裝置,基于虛擬機(jī)監(jiān)控器和硬件多層級(jí)緩存架構(gòu)實(shí)現(xiàn),包含攻擊檢測(cè)模塊、信息收集模塊、防御決策模塊及執(zhí)行模塊,其中,
攻擊檢測(cè)模塊,用于實(shí)時(shí)監(jiān)測(cè)當(dāng)前發(fā)生的基于緩存的側(cè)信道攻擊,獲取攻擊目標(biāo)信息,該攻擊目標(biāo)信息至少包含:被攻擊的目標(biāo)虛擬機(jī)、攻擊頻率和被攻擊的緩存層;
信息收集模塊,用于收集虛擬機(jī)監(jiān)控器上運(yùn)行的虛擬機(jī)信息,該虛擬機(jī)信息至少包含每一個(gè)虛擬機(jī)所占用的物理頁(yè)面,以及虛擬機(jī)提交的保護(hù)內(nèi)存;
防御決策模塊,用于根據(jù)攻擊檢測(cè)模塊獲取的攻擊目標(biāo)信息及信息收集模塊收集的虛擬機(jī)信息,選取防御操作,其中,所述的防御操作為緩存清除操作或?yàn)閮?nèi)存動(dòng)態(tài)重映射操作;
執(zhí)行模塊,用于將目標(biāo)虛擬機(jī)所占用的物理內(nèi)存頁(yè)面分為敏感頁(yè)面和普通頁(yè)面兩類(lèi),執(zhí)行防御決策模塊選取的防御操作。
具體的,如圖6所示,所述的執(zhí)行模塊包含緩存清洗單元和內(nèi)存動(dòng)態(tài)重映射單元,其中,
緩存清洗單元,根據(jù)執(zhí)行防御決策模塊選取的緩存清洗操作,構(gòu)建緩存清洗頁(yè)面集合,并依次訪問(wèn)緩存清洗頁(yè)面集合中每一個(gè)內(nèi)存頁(yè)面,清洗與敏感目標(biāo)頁(yè)面對(duì)應(yīng)的緩存;
內(nèi)存動(dòng)態(tài)重映射單元,用于根據(jù)執(zhí)行防御決策模塊選取的內(nèi)存動(dòng)態(tài)重映射操作,動(dòng)態(tài)隨機(jī)交換敏感頁(yè)面和普通頁(yè)面的內(nèi)存映射關(guān)系,混淆緩存行為特征和目標(biāo)信息關(guān)聯(lián)。
基于攻擊虛擬機(jī)在攻擊目標(biāo)虛擬機(jī)時(shí),兩者訪問(wèn)緩存的行為是相似的原理,實(shí)時(shí)檢測(cè)系統(tǒng)中存在的基于緩存的側(cè)信道攻擊,獲取被攻擊的目標(biāo)虛擬機(jī)和目標(biāo)緩存層,以及攻擊頻率;收集虛擬機(jī)監(jiān)控器上運(yùn)行的虛擬機(jī)的相關(guān)信息,包括該虛擬機(jī)占用的內(nèi)存頁(yè)面,并基于用戶(hù)提交的需要保護(hù)的目標(biāo)信息判斷哪些是需要保護(hù)的目標(biāo)頁(yè)面。根據(jù)實(shí)時(shí)檢測(cè)信息及收集到的信息,基于被攻擊的緩存層在緩存清洗和內(nèi)存頁(yè)面動(dòng)態(tài)重映射之間進(jìn)行選擇作為防御操作,基于攻擊的頻率選擇防御操作的執(zhí)行頻率;選擇緩存清洗操作時(shí),利用對(duì)與目標(biāo)頁(yè)面映射到相同緩存位置的其他頁(yè)面進(jìn)行內(nèi)存訪問(wèn),去除敏感操作執(zhí)行過(guò)程中的緩存訪問(wèn)痕跡;選擇內(nèi)存動(dòng)態(tài)重映射時(shí),交換兩個(gè)內(nèi)存頁(yè)面對(duì)應(yīng)的內(nèi)容和頁(yè)表內(nèi)容,并且將對(duì)應(yīng)的緩存(包括tlb)置于無(wú)效,混淆攻擊者對(duì)于探測(cè)到的緩存訪問(wèn)行為和目標(biāo)敏感操作之間的關(guān)聯(lián),實(shí)現(xiàn)較好的防御效果。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他科編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請(qǐng)。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專(zhuān)業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本申請(qǐng)的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本申請(qǐng)將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。