成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

操作系統(tǒng)/虛擬化安全知識域:用于內(nèi)存保護(hù)的現(xiàn)代硬件擴(kuò)展

安全 應(yīng)用安全
每個(gè)表面積的晶體管數(shù)量不斷增加,使CPU供應(yīng)商能夠在其芯片上放置越來越多的硬件擴(kuò)展,而上面討論的那些絕不是現(xiàn)代處理器中唯一與安全相關(guān)的擴(kuò)展。其他示例包括加密單元、內(nèi)存加密、有效切換擴(kuò)展頁表的說明以及指針身份驗(yàn)證(硬件檢測到指針值的修改)。

用于內(nèi)存保護(hù)的現(xiàn)代硬件擴(kuò)展

此外,雖然分段大多已失效,但除了分頁之外,還有許多其他形式的硬件支持用于內(nèi)存保護(hù)。例如,許多機(jī)器都支持緩沖區(qū)邊界檢查,有些可以追溯到四分之一世紀(jì)或更長時(shí)間。但是,為了說明相應(yīng)的基元,我們將看看現(xiàn)代通用處理器中可用的內(nèi)容,主要關(guān)注英特爾x86家族。這里的重點(diǎn)不是我們認(rèn)為這個(gè)處理器更重要,甚至不是功能X或Y在未來會非常重要(這是有爭議的和很難預(yù)測),而是說明這仍然是當(dāng)今硬件開發(fā)的一個(gè)非常活躍的領(lǐng)域。

作為第一個(gè)示例,考慮一下有點(diǎn)命運(yùn)多舛的英特爾內(nèi)存保護(hù)擴(kuò)展(MPX),它增強(qiáng)了英特爾的主力處理器,以確保陣列指針不會偏離陣列邊界(阻止緩沖區(qū)溢出等漏洞被利用)。為此,一小組新寄存器可以存儲少量數(shù)組的下限和上限,而在取消引用指針之前,新的MPX指令檢查數(shù)組指針的值是否存在邊界沖突。即使在僅在用戶空間中使用MPX的系統(tǒng)中,操作系統(tǒng)也起著作用,例如,處理硬件在遇到緩沖區(qū)邊界時(shí)引發(fā)的異常違反。MPX因這些邊界寄存器太少而受到嚴(yán)厲批評,導(dǎo)致性能開銷很大。此外,MPX不支持多線程,這可能會導(dǎo)致舊代碼中的數(shù)據(jù)競爭。有人可能會說,MPX是硬件供應(yīng)商嘗試為其CPU添加新內(nèi)存安全功能的一個(gè)很好的例子,不幸的是,這并不總是成功的。

最近,英特爾在其處理器9中添加了內(nèi)存保護(hù)密鑰(MPK)。英特爾MPK允許將PTE(圖2)中以前未使用的四個(gè)位設(shè)置為16個(gè)“鍵”值之一。此外,它還添加了一個(gè)新的32位寄存器,每個(gè)密鑰包含2位,以指示是否允許使用該密鑰標(biāo)記的頁面進(jìn)行讀寫。MPK允許開發(fā)人員在少量(在本例中為16個(gè))保護(hù)域中對內(nèi)存進(jìn)行分區(qū),例如,僅允許特定的加密庫訪問加密鑰匙。雖然非特權(quán)用戶進(jìn)程可能會更新寄存器的值,但只有特權(quán)操作系統(tǒng)代碼才能使用密鑰標(biāo)記內(nèi)存頁。

一些處理器設(shè)計(jì)支持更高級的內(nèi)存保護(hù),使用ARM術(shù)語,我們將稱為內(nèi)存標(biāo)記擴(kuò)展(MTE10)。這個(gè)想法簡單而強(qiáng)大。處理器為每個(gè)對齊的內(nèi)存塊(其中塊是16字節(jié))分配一個(gè)硬件中的所謂“標(biāo)簽”。同樣,每個(gè)指針也會獲取一個(gè)標(biāo)記。標(biāo)簽通常不是很大,比如4位,所以它們可以存儲在64位指針值的最頂端字節(jié)中,反正我們并不真正使用(事實(shí)上,ARM支持頂字節(jié)忽略功能,使硬件顯式屏蔽最上面的字節(jié))。每當(dāng)程序分配N個(gè)字節(jié)的內(nèi)存時(shí),分配器都會將分配四舍五入為16個(gè)字節(jié)的倍數(shù),并為其分配一個(gè)隨機(jī)標(biāo)記。它還將相同的標(biāo)記分配給指向內(nèi)存的指針。從現(xiàn)在開始,僅當(dāng)指針中的標(biāo)記與其引用的內(nèi)存的標(biāo)記匹配時(shí),才允許取消引用指針,從而有效地阻止大多數(shù)空間和時(shí)間內(nèi)存錯(cuò)誤。

同時(shí),一些處理器,尤其是低功耗設(shè)備中的處理器,甚至根本沒有成熟的MMU。相反,它們有一個(gè)更簡單的內(nèi)存保護(hù)單元(MPU),僅用于保護(hù)內(nèi)存,其方式類似于上面討論的MPK功能。在MPU設(shè)計(jì)中,操作系統(tǒng)定義了許多具有特定內(nèi)存訪問權(quán)限和內(nèi)存屬性的內(nèi)存區(qū)域。例如,ARMv8-M處理器上的MPU最多支持16個(gè)區(qū)域。同時(shí),MPU監(jiān)控處理器的所有內(nèi)存訪問(包括指令提取和數(shù)據(jù)訪問),并在檢測到訪問沖突時(shí)觸發(fā)異常。

請注意,在上面,我們假設(shè)操作系統(tǒng)需要保護(hù)免受不受信任的用戶應(yīng)用程序的侵害。當(dāng)操作本身不受信任時(shí),會出現(xiàn)特殊情況。也許您正在受感染的操作系統(tǒng)或云中運(yùn)行安全敏感型應(yīng)用程序,您不確定是否要信任云提供商。在一般情況下,您可能希望在不信任任何其他軟件的情況下保護(hù)您的數(shù)據(jù)和應(yīng)用程序。為此,處理器可以提供硬件支持,以便在安全、隔離的環(huán)境中運(yùn)行極其敏感的代碼,在ARM的“信任區(qū)”中稱為可信執(zhí)行環(huán)境,或者英特爾軟件防護(hù)擴(kuò)展(SGX)中的飛地。它們提供的基元略有不同。例如,在SGX安全區(qū)中運(yùn)行的代碼旨在成為正常用戶進(jìn)程的一部分。它使用的內(nèi)存總是在離開處理器后立即加密。此外,SGX還提供硬件支持來執(zhí)行證明,以便(可能是遠(yuǎn)程)方可以驗(yàn)證代碼是否在安全區(qū)中運(yùn)行以及它是正確的代碼。另一方面,ARMTrustZone將運(yùn)行正常操作系統(tǒng)和用戶應(yīng)用程序的“正常世界”與通常運(yùn)行自己的較小操作系統(tǒng)以及少量安全敏感應(yīng)用程序的“安全世界”隔離開來。正常世界中的代碼可以調(diào)用安全世界中的代碼,其方式類似于應(yīng)用程序調(diào)用操作系統(tǒng)的方式。特殊環(huán)境(如ARMTrustZone)(或英特爾的SMM模式,稍后討論)的一個(gè)有趣應(yīng)用是使用它來監(jiān)控常規(guī)操作系統(tǒng)的完整性-希望在它造成嚴(yán)重?fù)p害之前檢測到任何隱形惡意軟件或rootkit。盡管這些受信任環(huán)境的各個(gè)方面與操作系統(tǒng)安全性明顯重疊,但我們認(rèn)為它們大多超出了此知識領(lǐng)域的范圍。我們還應(yīng)該注意到,近年來,硬件可信執(zhí)行環(huán)境提供的安全性一再被各種側(cè)信道刺穿,這些側(cè)信道從所謂的安全世界泄漏信息。

再次切換齒輪,可能是操作系統(tǒng)沒問題,但硬件不是。惡意或故障硬件可能會使用系統(tǒng)的直接內(nèi)存訪問(DMA)來讀取或覆蓋內(nèi)存中它們無法訪問的敏感數(shù)據(jù)。此外,對于某些標(biāo)準(zhǔn)(例如USB-C上的Thunderbolt),計(jì)算機(jī)的PCIe鏈路可能會直接暴露在用戶插入計(jì)算機(jī)的設(shè)備中。不幸的是,對于用戶來說,很難確定看起來像顯示器電纜或電源適配器的東西不包含一些旨在破壞計(jì)算機(jī)的惡意電路。作為部分補(bǔ)救措施,如今大多數(shù)架構(gòu)都帶有特殊的MMU,用于與設(shè)備之間傳輸?shù)臄?shù)據(jù)。該硬件稱為IOMMU,用于將設(shè)備虛擬地址映射到物理地址,完全模仿圖2中所示的基于頁面的保護(hù)。2,但現(xiàn)在用于DMA設(shè)備。換句話說,設(shè)備可以訪問虛擬內(nèi)存地址,IOMMU將其轉(zhuǎn)換為實(shí)際物理地址,檢查權(quán)限,并在頁面未映射到設(shè)備或保護(hù)位與請求的訪問不匹配時(shí)停止。雖然這樣做提供了一些針對惡意設(shè)備(或驅(qū)動程序)的保護(hù)措施,但重要的是要認(rèn)識到IOMMU旨在促進(jìn)虛擬化,實(shí)際上不應(yīng)被視為適當(dāng)?shù)陌踩鉀Q方案。有很多事情可能會出錯(cuò)。例如,管理員可能想要撤銷設(shè)備對內(nèi)存頁面的訪問權(quán)限。由于更新IOMMU頁表是一個(gè)緩慢的操作,因此操作系統(tǒng)延遲此操作并將其與其他操作一起批處理的情況并不少見。結(jié)果是,可能有一小段時(shí)間窗口,在此期間設(shè)備仍然可以訪問內(nèi)存頁面,即使它看起來這些權(quán)利已被撤銷。

最后,我們可以觀察到,每個(gè)表面積的晶體管數(shù)量不斷增加,使CPU供應(yīng)商能夠在其芯片上放置越來越多的硬件擴(kuò)展,而上面討論的那些絕不是現(xiàn)代處理器中唯一與安全相關(guān)的擴(kuò)展。其他示例包括加密單元、內(nèi)存加密、有效切換擴(kuò)展頁表的說明以及指針身份驗(yàn)證(硬件檢測到指針值的修改)。毫無疑問,未來幾代將出現(xiàn)更多功能,操作系統(tǒng)將不得不進(jìn)行調(diào)整才能以有意義的方式使用它們。這些問題的更廣泛觀點(diǎn)可以在硬件安全CyBOK知識領(lǐng)域中找到。

責(zé)任編輯:武曉燕 來源: 河南等級保護(hù)測評
相關(guān)推薦

2023-01-27 09:17:02

操作系統(tǒng)虛擬化內(nèi)存

2023-01-09 00:08:37

2023-02-07 00:24:24

2023-01-08 00:31:14

2023-02-02 00:06:06

2023-01-31 00:10:32

2023-02-03 00:14:43

2018-07-27 05:08:58

2012-09-27 09:41:31

虛擬化

2010-11-17 10:14:13

Windows 8虛擬化

2009-06-17 15:39:00

本機(jī)內(nèi)存硬件限制虛擬內(nèi)存

2023-02-06 00:26:02

2010-04-14 17:54:06

2011-03-28 16:27:49

現(xiàn)代網(wǎng)絡(luò)操作系統(tǒng)網(wǎng)絡(luò)虛擬化

2013-03-22 09:05:48

操作系統(tǒng)虛擬化

2010-04-20 17:34:25

Unix操作系統(tǒng)

2009-02-17 17:09:59

虛擬化操作系統(tǒng)服務(wù)器

2020-12-02 17:58:33

LinuxKubernetes操作系統(tǒng)

2020-03-10 19:34:08

CPU虛擬化調(diào)度

2009-02-17 15:57:38

虛擬化傳統(tǒng)操作系統(tǒng)威脅
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 狠狠爱免费视频 | 国产精品无码专区在线观看 | 婷婷久久五月 | 天天色天天色 | 国产精品福利视频 | 国产在线精品一区二区三区 | 亚洲激情网站 | 91久久精品国产免费一区 | 一区观看 | 国产丝袜人妖cd露出 | 精品综合在线 | 欧美男人亚洲天堂 | 国产麻豆乱码精品一区二区三区 | 亚洲 欧美 日韩 精品 | 偷拍自拍网站 | 欧美黑人体内she精在线观看 | 日韩精品| 一区二区三区在线观看视频 | 色婷婷综合久久久中文字幕 | 女女百合av大片一区二区三区九县 | 影音先锋中文字幕在线观看 | 久久久久久久国产 | av天天澡天天爽天天av | 91色视频在线观看 | 亚洲一区视频在线 | 精品videossex高潮汇编 | av一级毛片 | 国产清纯白嫩初高生视频在线观看 | 一级黄色夫妻生活 | www,黄色,com| 日韩欧美不卡 | 黄色免费观看网站 | 国产日产精品一区二区三区四区 | 久久精品亚洲成在人线av网址 | 日本一区不卡 | 日韩成人在线免费视频 | 99热都是精品 | 中文字幕国产在线 | 日韩精品视频一区二区三区 | 毛片免费视频 | 91免费入口|