欧美性猛交ⅹxxx乱大交妖精_黑人巨大进入黑人孕妇_欧美又爽又大又黄a片_一本色综合亚洲精品蜜桃冫_刮伦人妇a片1级_麻花天美星空mv免费播放_国产偷人爽久久久久久老妇app_亚洲在线无码免费观看_成人a片在线观看www涩欲满

MIPS-VZ與ARMv8-M CMSE安全大比拼

share

概述

ARMv8-M安全特性擴展(CMSE)是基于Trust-zone(TZ)技術(shù)。類似于其他基于TZ的系統(tǒng),他們都存在一個安全的空間和一個不安全的空間。這意味著所有受保護的代碼必須相互信任,因為它們的執(zhí)行會共享同一段同屬安全區(qū)域的地址空間。

MIPS-VZ采用的是基于硬件的CPU虛擬化技術(shù),可以實現(xiàn)多個執(zhí)行域,每個域都是獨立的且是彼此間受保護的。這樣就有一個好處,即受保護的代碼不需要信任其他代碼,因為它們都擁有私有執(zhí)行域。MIPS-VZ架構(gòu)最多支持255個獨立的域,某些特定的CPU可能實現(xiàn)較少數(shù)目的域。

執(zhí)行模式

ARMv8-M CMSE和MIPS-VZ增加了新的執(zhí)行模式來區(qū)分對待不同的代碼,對于絕對信任的代碼則賦予更多權(quán)限,對于其他非信任代碼則使用較低的執(zhí)行權(quán)限。

ARMv8-M在NonSecure-Handler和NonSecure-Thread(較低信任度)狀態(tài)的基礎(chǔ)上增加了Secure-Handler和Secure-Thread(較高信任度)執(zhí)行模式。

與之相似的是MIPS-VZ在Guest-Kernel和Guest-User(信任度最低)模式的基礎(chǔ)上增加了Root-Kernel(信任度最高)和Root-User執(zhí)行模式。

對于ARMv8-M CMSE和MIPS-VZ模型我們可以等價來看:MIPS架構(gòu)同樣設(shè)置了一個安全域,除此之外還提供多個“正常(Normal)”執(zhí)行域,各個域彼此相互隔離。

內(nèi)存管理

ARMv8-M CMSE采用兩個模塊來解決內(nèi)存訪問問題,即SAU(Security Attribute Unit,安全屬性單元)和MPU(Memory ProtecTIon Unit,內(nèi)存保護單元),分別作為安全分區(qū)和非安全分區(qū)。SAU解決了安全/非安全模式下內(nèi)存訪問問題,然后MPU單元負責各自安全模式訪問特權(quán)級問題。

MIPS-VZ采用MMU(Memory Management Unit,存儲器管理單元),并有兩種配置方式:

1對于大型系統(tǒng)采用二級TLB設(shè)置。a.Guest TLB用于Guest OS(訪客模式)b.Root TLB用于Root-Kernel模式(管理員模式)。這是典型的虛擬化執(zhí)行模型,對于訪客提供訪客模式的系統(tǒng),從操作系統(tǒng)(OS)級別提供了訪問隔離。

2對于小型系統(tǒng)采用二級MMUa.訪客分區(qū)可以是全TLB或者是Fixed-Mapping-TranslaTIon(固定映射轉(zhuǎn)換,F(xiàn)MT)單元。b.對于Root分區(qū)則采用精簡的TLB,不支持物理地址尋址,稱為RPU(Root ProtecTIon Unit,根保護單元)。對于RPU的管理類似于TLB,在初始化任何Guest(非信任級)訪問前采用安全程序?qū)PU單元進行配置。對于異常則不是通過handler(處理程序句柄)來處理,而是采用分頁請求(demand-paging),盡管handler也能進行類似的操作。

Guset MMU采用FMT模式時,Root MMU采用RPU模式,這樣就可以提供了應(yīng)用級的隔離功能。也就是說,訪客模式下的應(yīng)用程序/代碼執(zhí)行全部在普通特權(quán)級情況下執(zhí)行??烧J為這是一個更靜態(tài)或受約束的運行環(huán)境。舉個例子,OEM廠商生產(chǎn)和提供的芯片時往往預(yù)先燒寫了一些自己專用程序,這些程序可以在訪客模式或者Root模式下執(zhí)行且能保持隔離。除此之外VAR(value added reseller,增值分銷商)也會向芯片內(nèi)燒寫自己的專用程序或者第三方程序,它們的運行環(huán)境也在訪客模式下也保持了彼此的隔離。

MIPS-VZ MMU是基于CAM實現(xiàn)的,而ARMv8-M SAU/MPU是基于基地址綁定(即地址比較器)實現(xiàn)的。與基于比較器實現(xiàn)的MMU表項相比,基于CAM實現(xiàn)的MMU表擁有更小的硅片(Die)面積。因此,MIPS虛擬化方案是一種全面可擴展的解決方案,可以實現(xiàn)從應(yīng)用級到操作系統(tǒng)級的隔離。

不同安全分區(qū)的程序調(diào)用

ARMv8-M CMSE增加了這樣一個功能,即非安全程序(Non-Secure Code)可以調(diào)用安全分區(qū)內(nèi)特定的程序但無需使用安全監(jiān)控程序調(diào)用(Secure Monitor Call),這就避免了安全監(jiān)控程序調(diào)用在不同狀態(tài)下保存/恢復(fù)操作所帶來的開銷。

實現(xiàn)方式:a)使用SG(安全網(wǎng)關(guān))指令申請一個安全分區(qū)地址空間的合法接入點。b)SAU的使用指明運行時被調(diào)用的程序可以駐留在某個非安全模式(Non-Secure-World)分區(qū)內(nèi),這樣的分區(qū)統(tǒng)一被稱為NSC(Non-Secure-Callable,非安全可調(diào)用)分區(qū)。c)如果允許的話,SG指令后面緊跟著跳轉(zhuǎn)至在安全內(nèi)存空間的安全函數(shù)。

對于MIPS-VZ,同樣的功能是通過在多個訪客/域之間分享程序調(diào)用實現(xiàn)的。通過配置MMU的Root分區(qū)來創(chuàng)建分頁,使指定的訪客(Gusets)可以共享這部分分頁空間。為了保護代碼我們可以設(shè)置程序為僅允許執(zhí)行屬性(既不允許讀操作也不允許寫操作)。Root MMU會根據(jù)Write-Inhibit, Execute-Only和Read-Inhibit屬性設(shè)置進行權(quán)限審查。

MIPS-VZ方案在執(zhí)行速度和延遲表現(xiàn)更佳,因為它不需要SG指令和相關(guān)的緊跟在SG指令后面的跳轉(zhuǎn)指令,避免了這部分開銷。

share