女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RISC-V“安全”那些事兒

進迭時空 ? 2025-06-06 16:58 ? 次閱讀

背景

SpacemiT

在數字化浪潮洶涌澎湃的當下,計算機已深度融入人們生活的各個方面,成為社會運轉不可或缺的 “中樞神經”。

從清晨喚醒我們的智能設備,到工作中處理的海量數據,再到夜晚休閑時暢享的娛樂內容,計算機的身影無處不在, 它串聯起生活的方方面面,已然成為信息交互、數據存儲與處理的核心載體。

然而,計算機技術迅猛發展的同時,安全問題也如影隨形。

網絡空間并非一片凈土,惡意軟件如同隱匿在黑暗中的幽靈,隨時可能入侵計算機,竊取保密信息;黑客們則像狡黠的盜賊,利用系統漏洞,肆意破壞、非法獲取數據。這些安全威脅,嚴重擾亂了我們的數字生活秩序。

“The more connected we get, the more vulnerable we become.”(我們的聯系越緊密,就越容易受到攻擊)。

軟件攻擊

SpacemiT

如今,許多底層軟件(如操作系統)都是用 C 或 C++ 等非內存安全的編程語言編寫的,這使得這類軟件容易受到軟件的攻擊,攻擊者往往會利用這些漏洞來達到非法的目的,諸如系統提權、隱私竊取等。先簡單介紹一下軟件常用的幾種攻擊手段:

Buffer Overflow

ret2libc/ret2text

Return Oriented Programming / Jump Oriented Programming

Buffer Overflow 攻擊

對于底層操作系統而言, buffer overflow和memory corruption是漏洞的主要來源,因為操作系統主要是通過C/C++來實現的, 而C/C++并非內存安全的編程語言。

5d87bd38-42b4-11f0-986f-92fbcf53809c.png

圖片來自:https://www.cvedetails.com/vulnerabilities-by-types.php

Buffer Overflow(緩沖區溢出)是一種常見且危害嚴重的計算機安全漏洞的利用方式。在程序運行過程中,當向緩沖區寫入的數據量超過其預先分配的容量時,就會發生緩沖區溢出。

當函數返回地址被覆蓋時,攻擊者可以將其修改為惡意代碼(shellcode)的地址或者程序中其他關鍵函數的地址, 這使得攻擊者能夠以與被攻擊程序相同的權限執行惡意操作,可能導致系統敏感信息泄露、系統被完全控制等嚴重后果。

為了防范 Buffer Overflow 攻擊,現代操作系統和編譯器采用了多種技術。如引入了棧金絲雀(Stack Canary)機制,在函數返回地址和局部變量之間放置一個特定值(canary 值),在函數返回前驗證該值是否被修改,若被修改則說明可能發生了緩沖區溢出攻擊,程序會立即終止運行,從而防止攻擊者進一步篡改返回地址。

同時,非可執行(NX)內存技術,也稱為 W⊕X(Write XOR eXecute)或數據執行預防(DEP),為每個內存頁面分配一個 NX 位,標記其為可讀可執行或不可執行但可寫,防止攻擊者在數據區域(如棧)上執行惡意代碼,有效抵御了傳統基于棧的代碼注入攻擊。

ret2libc/ret2text 攻擊

在存在緩沖區溢出漏洞的情況下,當 Data Execution Prevention (DEP) 等機制禁止在數據區(如棧)執行代碼時,ret2libc 攻擊應運而生。

由于攻擊者無法直接執行放置在棧上的 shellcode,于是轉向利用程序中已有的庫函數來達到惡意目的。

ret2text 攻擊則是在程序未開啟 Position-independent Code (PIE) 時,利用程序自身代碼段中固定的地址來執行惡意操作。

在未開啟 PIE 的情況下,程序自身某些關鍵代碼段的地址在每次運行時是固定的,攻擊者通過溢出漏洞覆蓋函數返回地址,使其跳轉到程序自身代碼段中可利用的指令序列處。

這些攻擊技術的出現促使安全研究人員不斷研發新的防御策略,如強化內存保護機制、增強程序的地址隨機化(ASLR)程度等,以應對不斷變化的安全威脅,保障計算機系統的安全穩定運行。

然而,攻擊者也在不斷發展新的攻擊手段來繞過這些防御機制,如代碼重用攻擊(CRAs)中的 Return Oriented Programming(ROP)等技術,使得計算機安全防御面臨持續的挑戰。

ROP/JOP 攻擊

ROP(Return-Oriented Programming,返回導向編程)和 JOP(Jump-Oriented Programming,跳轉導向編程)是兩種先進且具有強大危害性的代碼重用攻擊技術。

ROP 攻擊基于程序中已有的代碼片段(gadgets)來構建攻擊鏈。這些 gadgets 通常是位于程序的.text 段等可執行區域內,以 ret 指令結尾的短指令序列。在存在緩沖區溢出等漏洞的情況下,攻擊者通過精心構造輸入數據,將一系列 gadget 地址和對應的參數填充到棧上。

5da3212c-42b4-11f0-986f-92fbcf53809c.png

Example of ROP attack

ROP 攻擊的優勢在于能夠繞過諸如 DEP(Data Execution Prevention)等內存保護機制,因為它利用的是程序自身合法的代碼片段,而不是注入新的可執行代碼。JOP 攻擊與 ROP 類似,但它的 gadgets 是以間接分支(如 jmp 或 call 等)指令結尾,而不是 ret 指令。

JOP 攻擊構建在一個 dispatch table(調度表)之上,該表存儲著各種 gadgets 的地址和相關數據。攻擊者通過控制程序的執行流程,使 CPU 寄存器(通常是一個用作虛擬程序計數器的寄存器)指向 dispatch table 中的不同 gadgets 地址,從而實現連續的 gadget 調用。

ROP 和 JOP 攻擊的出現,促使安全研究人員不斷探索新的防御技術,如更嚴格的控制流完整性檢查、硬件輔助的安全機制等,以應對這些復雜的攻擊手段,保護計算機系統的安全。

RISC-V Control Flow Integrity (CFI)

基于代碼重用攻擊(CRAs)不需要在受攻擊的程序中引入新代碼, CRAs基于通過覆蓋函數指針和返回地址來轉移應用程序的控制流。RISC-V 提供了影子棧(Shadow Stack, Zicfiss)和Landing Pads(Zicfilp) ISA 擴展(統稱CFI擴展),通過該擴展來保護程序的控制流完整性。

具體來說,為了保護后向邊緣(backward-edges),RISC-V定義一個影子堆棧來存儲每個特權級別的返回地址, 主要用來防護ROP攻擊;為了保護前向邊緣(forward-edges), RISC-V設計了一種基于標簽的指令著陸方法(Landing Pads),主要用來防御JOP攻擊。

影子棧Zicfiss 擴展引入了影子棧來強制執行后向邊緣控制流的完整性。影子堆棧是第二個堆棧,用于將返回地址的影子副本存儲在鏈接寄存器(RA)中。

當啟用 Zicfiss 后,每個需要返回地址完整性的函數(通常是非葉子函數)在進入函數(序言)時將鏈接寄存器值存儲到常規堆棧,并將鏈接寄存器值的影子副本存儲到影子堆棧。當此類函數返回(結尾)時,該函數從普通堆棧加載RA,從影子堆棧加載RA的影子副本,然后比較常規堆棧中的RA值和影子堆棧中的RA值。兩個值不匹配表示return address被破壞,并觸發軟件異常。

Ladding pads旨在為使用間接調用和跳轉執行的控制執行提供完整性(前向邊緣保護)。當 Zicfilp 處于活動狀態時,hart 會跟蹤預期Ladding pads 的狀態(ELP),該狀態由 indirect_call 或 indirect_jump 更新,要求是否在分支目標處存在ladding pads指令。如果目標處的指令不是ladding pad指令,則會引發軟件異常。

function_entry: lpad # loading pad check addi sp,sp,-8 # push link register x1 sd x1,(sp) # on regular stack sspush x1 # push link register x1 on shadow stack : ld x1,(sp) # pop link register x1 from regular stack addi sp,sp,8 sspopchk x1 # fault if x1 not equal to shadow return address ret

RISC-V CFI (Shadow Stack and Ladding Pads)Example

Trusted Execution

Environment (TEE)

SpacemiT

對于各類軟件攻擊,硬件以及操作系統提供了多種緩解和防御手段, 但是由于軟件問題導致的軟件漏洞數量每年仍然呈上升趨勢。

5dbecd96-42b4-11f0-986f-92fbcf53809c.png

圖片來自:https://www.cvedetails.com/

盡管軟硬件安全工程師付出很多的努力去修復漏洞,但是絕大多數底層基礎軟件都是用內存不安全的語言(如 C 和 C++)編寫的,這很容易引入內存漏洞,從而使軟件遭受代碼重用攻擊(CRAs),像緩沖區溢出、Return-Oriented Programming(ROP)和 Jump-Oriented Programming(JOP)等攻擊手段頻繁出現。

傳統的安全機制在應對這些復雜攻擊時往往存在局限性,難以全面保障系統的安全,這也導致計算機操作系統每年呈現的缺陷和漏洞每年都在呈上升趨勢。

新的攻擊手段層出不窮,黑客們不斷尋找著系統的薄弱環節,試圖突破安全防線,獲取非法利益或達成惡意目的。這就如同一場永不停歇的攻防博弈,正應了那句 “道高一尺,魔高一丈”。

與其像一個補鍋匠一樣拆東墻補西墻,有沒有一種更加徹底的方法來杜絕絕大部分的軟件攻擊呢?

比如,把應用程序放到一個與主系統隔離的環境里,主系統的軟件(包括特權軟件)、DMA外設都無法獲取該環境里軟件的執行狀態、數據,從而就算再厲害的黑客也無法通過普通的軟件手段來獲取內部信息。

這是一個非常樸實的想法,而且早就有人這么做了,這便是TEE(Trusted Execution Enviromnent)技術。

5de0584e-42b4-11f0-986f-92fbcf53809c.png

The approaches of IoT TEE

Intel 的SGX

(Software Guard Extenstion)

Intel Software Guard Extensions(Intel SGX)是英特爾推出的一項基于硬件的可信執行環境(TEE)技術,旨在為應用程序提供更高級別的安全性,尤其是保護應用程序代碼和數據的機密性與完整性。

這個隔離的區域, Intel 稱之為Enclave, 它是應用程序地址空間內一個受保護的區域,由 CPU 提供硬件層面的安全隔離。Encalve中的代碼和數據在內存中加密存儲,只有Enclave內的代碼才能夠訪問,即使操作系統內核、虛擬機監視器或其他特權軟件也無法窺探或篡改Enclave的內容。

5dfd21b8-42b4-11f0-986f-92fbcf53809c.png

Intel SGX Enclave示意圖

TEE(Tusted Execution Environment)可信執行環境能夠為敏感數據和關鍵應用程序提供一個隔離且受保護的運行空間。它確保在這個環境中執行的代碼和處理的數據不會被外部惡意軟件或未經授權的實體所干擾或竊取。在物聯網領域,眾多設備收集和傳輸大量敏感數據,如醫療設備中的患者健康數據、工業控制系統中的關鍵生產數據等,TEE 可以為這些設備提供安全的執行環境,確保數據在設備端的處理過程中的安全性,防止數據泄露和惡意控制;在云計算環境中,不同用戶的應用程序和數據在共享的硬件資源上運行,TEE 能夠隔離用戶的工作負載,保證每個用戶的隱私和數據安全,防止云服務提供商或其他租戶的非法訪問。

Trusted Execution Environment: What It is, and What It is Not [2] 這篇論文對 TEE做了詳細定義:可信執行環境 (TEE) 是在分離內核上運行的防篡改處理環境。它保證執行代碼的真實性、運行時狀態(例如 CPU 寄存器、內存和敏感 I/O)的完整性以及存儲在持久內存中的代碼、數據和運行時狀態的機密性。此外,它還應能夠提供遠程認證,以證明其對第三方的可信度。TEE 的內容不是靜態的,它可以安全地更新。TEE 技術主要用于抵御軟件攻擊以及部分非侵入式物理攻擊。

5e19d1d2-42b4-11f0-986f-92fbcf53809c.png

An Overview of TEE Building Blocks

TEE主要包含以下幾個方面:

安全啟動

在啟動時,TEE 安全啟動從信任根開始,信任根是預先內置在硬件中的高度可信組件,如可信平臺模塊(TPM)中的密鑰或固化在芯片中的根證書。啟動過程是一個鏈式驗證過程,從引導加載程序開始,每加載一個軟件組件,都會依據前一個已驗證的組件來驗證其完整性和真實性。例如,引導加載程序會驗證內核的數字簽名,確保內核未被篡改,內核加載后又會驗證系統服務和驅動程序等的合法性。這種鏈式驗證確保了整個啟動鏈條的可信性,只有經過授權和未被篡改的軟件才能在 TEE 中加載和執行。

在啟動階段阻止惡意軟件的加載和執行,避免系統在啟動過程中就被惡意軟件入侵,從而保護系統的安全性和穩定性。

保障數據安全:確保 TEE 在啟動時加載的是可信的數據處理和存儲模塊,防止敏感數據在系統啟動階段就面臨被竊取或篡改的風險。

支持遠程證明:安全啟動過程中對軟件組件的驗證信息可用于遠程證明,向遠程服務器或其他設備證明本地 TEE 的可信狀態,使得遠程實體可以放心與本地設備進行交互。

安全啟動需要依賴硬件信任根(HW RoT), 主要包含ROM、eFuse以及HW Crypto Engine。ROM用來運行啟動代碼,因為ROM不可修改,所以ROM的功能是固化的;eFuse主要用來存儲密鑰(HUK等)以及軟硬件相關的配置,安全eFuse需要做到敏感數據特別是密鑰信息不允許被導出;密碼學引擎(Crypto Engine)需要提供密鑰管理、密鑰存儲、密鑰派生等功能,需要確保密鑰信息不能被CPU所獲取。基于HW RoT的密碼學使用方法大致如下圖所示:

5e3f6fbe-42b4-11f0-986f-92fbcf53809c.png

The Usage of HW RoT during Secure Boot

安全調度

安全調度確保TEE與系統其余部分之間的“平衡”和“高效”的協同運作。實際上,它需要確保在TEE中運行的任務不會影響主操作系統的正常響應。如OP-TEE提出了一種安全調度策略,它把OP-TEE的線程設計為主操作系統線程的“延伸”,OP-TEE不再需要提供調度器而完全依賴主操作系統的調度,它可以減少對主操作系統調度的影響。

環境間通信

環境間通信定義了允許TEE 與系統其余部分通信的接口通信接口應滿足三個關鍵屬性:可靠性(內存/時間隔離)、最小開銷(不必要的數據復制和上下文切換)和通信結構的保護。較為常見的通信接口模型如:GlobalPlatform TEE Client API。

安全存儲

安全存儲是指保證存儲數據的機密性、完整性和新鮮度(即防止重放攻擊)的存儲,并且只有授權實體才能訪問數據 。實現安全存儲的一種常見方法是加密(sealed)存儲。加密存儲基于三個組件:

僅可由 TEE 訪問的完整性保護密鑰;

加密機制,例如經過身份驗證的加密算法

數據回滾保護機制,例如重放保護內存塊 (RPMB)。

可信 I/O

可信I/O確保TEE 與外圍設備(例如鍵盤或指紋)之間通信的真實性和機密性,因此,輸入和輸出數據不會被惡意應用程序嗅探或篡改。更準確地說,可信 I/O 需要防范以下四類攻擊:屏幕捕獲攻擊、鍵盤記錄攻擊、覆蓋攻擊和網絡釣魚攻擊。Trust UI的可信路徑可在 TEE 內實現更廣泛的功能,它允許用戶直接與 TEE 內運行的應用程序交互。

前面介紹了TEE的通用模型,接下來我們來簡單了解一下Arm基于TrustZone實現的TEE架構。為什么要先了解Arm TrustZone的實現原理,是因為RISC-V在嵌入式上的安全架構與Arm有很多相似之處,TrustZone作為嵌入式安全的先行者,已經有比較好的群眾基礎,通過了解TrustZone能讓用戶更好地理解RISC-V的安全機制。

TrustZone-based TEE

Arm TrustZone 技術可以看作是一種特殊的虛擬化,具有對內存、I/O 和中斷虛擬化的硬件支持 。這種虛擬化使 Arm 內核能夠提供兩個虛擬內核 (VCPU) 的抽象:安全 VCPU 和非安全 VCPU。

Secure monitor被視為一個最小的虛擬機管理程序,其主要作用是控制兩個虛擬內核之間的上下文管理和調度。我們可以從操作系統管理應用程序(進程)的視角來看TrustZone的輕量級虛擬化。從操作系統視角,每個應用程序都完全獨占他的用戶空間,不同的應用程序之間相互獨立,即使在單個物理核的情況下,應用程序在操作系統的管理下能夠“并發”運行(單核的情況下,并不是真正意義上的同時運行)。

TrustZone 的物理世界虛擬化的本質也是一樣,我們把"虛擬世界“看成應用程序的用戶空間,secure monitor看成是操作系統內核, 虛擬世界(安全世界和非安全世界)在secure monitor的管理下”并行“運行。在單核情況下,這并不是真正意義上的并發運行,而是一種對CPU物理資源的分時復用。

當然,因為是一個物理核,也就是硬件資源是多個vcpu(其實就2個,安全和非全vcpu)共享的,那么在世界切換的時候,除了做一些額外的上下文切換的工作以外,比如cpu上下文(通用寄存器、系統寄存器等)切換,還需要做一些清理的工作,主要是清理cache和TLB,這會帶來一定的性能損耗,所以TrustZone在cachline和tlb的entry上額外增加了NS bit(這個下面會詳細介紹)來標注cacheline和tlb的安全屬性,不同屬性之前的cacheline和tlb entry不會相互打架,相當于內部做了一層隔離。

于是, trustzone enxtension的軟件整體架構如下:

5e5aad1a-42b4-11f0-986f-92fbcf53809c.png

Armv8 Software Architecture with TrustZone Extension

雖然1個物理核被虛擬出了2個vcpu(可以理解為相比2個物理核,TrustZone虛擬化技術節省了物理核資源), 但是不同vcpu訪問資源是如何做到對資源訪問(比如ddr)的保護的?

首先,TrustZone 技術在AMBA總線上擴展了 NS(Non-Secure,非安全)位,它作為一個標識位,用于在總線事務中標明該事務是屬于安全域還是非安全域,這也是TrustZone技術的核心思想(將資源劃分成安全世界和非安全世界)。

在整個系統中,NS bit 就是一個 “安全標簽”,當總線上的事務攜帶 NS bit 信息時,系統的各個組件(如總線仲裁器、內存filter、從設備等)可以根據這個位來判斷是否允許該事務的進行,從而實現了安全與非安全區域的隔離和數據訪問控制。

接下來就要說TrustZone的TZASC(Trustzone Address Space Controller) IP了,也就是上面說的內存filter。TZASC是 ARM TrustZone 技術的關鍵組件,主要用于管理和保護系統(包括CPU和DMA設備)對內存的訪問:

TZASC 通過檢測總線事務的安全狀態位來確定當前的傳輸事務是安全事務還是非安全事務。當處理器處于安全狀態時,會發出安全訪問事務(NS=0),允許訪問安全世界的內存區域;處于非安全狀態時,則會發出非安全訪問事務(NS=1), 只允許訪問非安全區域,限制對安全世界內存的訪問。

內存屬性配置:系統開發者可以通過配置 TZASC 的配置寄存器,為不同的內存區域設置安全屬性,包括安全 / 非安全屬性、可讀寫權限等。這些配置信息被 TZASC 用于在內存訪問時進行實時檢查和控制。

TZASC IP是用來保護DDR內存的,也就是所有的master設備(包括CPU和DMA設備)對內存的訪問都會經過TZASC的保護,那除了DDR以外的地址空間呢?

TrustZone系統中,DDR以外的地址空間都需要額外的安全IP來進行訪問控制,主要包括ROM、SRAM和外設的MMIO。TrustZone提供了TZMA(TrustZone Memory Adaptor)IP對ROM或SRAM進行訪問控制(可以簡單理解TZMA是個輕量級的TZASC), 同時TrustZone也提供了AXI2APB橋 以及TZPC (TrustZone Protection Controller) IP對MMIO的訪問進行權限管控。

以上便是實現TrustZone方案需要提供的幾個核心的安全IP。當然,除了上述公共的安全IP以外,SoC在設計外設時然需要考量基于NS bit的訪問控制,比如對于DMA設備,需要考慮該DMA設備是安全設備還是非安全設備,帶來的影響就是該DMA設備在發出讀寫訪問時需要攜帶NS信號以表明當前訪問時安全訪問(NS=0)還是非安全訪問(NS=1),這需要在SoC設計時就靜態綁定。

當然Arm也提供了一種更加靈活通用的方式來綁定DMA設備的安全屬性,那就是在DMA設備后面再掛一個SMMU, 因為SMMU可以通過軟件編程頁表的方式動態地修改DMA的訪問屬性。這種方式的優點是DMA設備集成時不需要額外的改動,并且靈活性高;缺點就是需要集成SMMU,會增加額外的硅面積。

以上便是Arm TrustZone的核心內容,總結一下就是, TrustZone將資源劃分成安全世界和非安全世界,并通過NS bit來標注資源的安全屬性,最后通過slave側(劃重點, 關注和后面的RISC-V做對比)的安全IP(如TZASC, TZMA, AXI2APB bridge等)基于NS屬性對地址空間的訪問進行訪問控制。當然,有些事務很可能是不會到達slave側的安全IP的(如cpu cache hit的情況),這就需要事務的發起者(如 cpu)需要在內部實現訪問的隔離,比如在cache中增加NS屬性。

接下來我們來看一下RISC-V的安全架構。

RISC-V PMP/ePMP based TEE

RISC-V在特權架構上和Arm v8/9架構有非常相似之處, RISC-V特權級架構如下:

用戶態(U 態):運行一般的用戶應用程序,具有最低的特權級別,只能訪問有限的指令和資源,對硬件的直接訪問受到嚴格限制,以防止用戶程序對系統造成破壞。

內核態(S 態和 H 態):S 態用于操作系統的內核或監督程序。H 態則用于 Hypervisor,負責虛擬機的運行和管理。

機器模式(M 態):具有最高的特權級別,可執行M態特權級指令,運行特權級固件(如OpenSBI), 提供特權級服務,類似Arm v8/v9的EL3或者Root 態。

前面我們已經了解了TrustZone的實現原理,TrustZone Extension在特權架構上增加了EL3,用于運行特權固件(如TF-A), 而RISC-V 在誕生之初就擁有比S/H態更高的特權級模式M態,所以RISC-V 也完全可以像TrustZone一樣實現物理核(Hart)的虛擬化。

不同的是,TrustZone只能虛擬出2個世界,而RISC-V則沒有這方面的限制,RISC-V可以在特權固件(OpenSBI)的管理下,能更像創建進程一樣創建出任意多的虛擬”世界“(數量依賴與系統資源)。

每一個”世界“RISC-V通常稱之為Domain, vCPU(這里借用CPU虛擬化中的虛擬CPU的概念,本質上是一樣的)是物理CPU在每個Domain中運行時的抽象,本質上是一個物理CPU在不同Domain之間分時運行,而安全固件(增加了Domain管理功能的特權固件)則提供了Domain之間的上下文管理和切換。

我們仍然可以按照理解操作系統管理應用程序或者Hypervisor管理虛擬機的方式來理解安全固件對Domain的管理,于是RSIC-V可以實現如下的軟件整體架構:

5e7fbc4a-42b4-11f0-986f-92fbcf53809c.png

RISC-V Generic Software Architecture with TEE Enabled

上圖展示RISC-V"虛擬"出多個Domain來實現TEE架構的軟件參考模型,但最關鍵的是RISC-V如何解決不同Domain之間的隔離問題。所謂隔離,從技術上看就是如何實現權限管理和訪問控制。我們仍然通過用戶態和內核態的隔離來舉例,因為用戶態和內核態的隔離大家都比較熟悉,而且不同CPU架構之間都大同小異。

用戶態和內核態的隔離是通過內存管理單元(MMU)來實現的。MMU 的主要功能是將虛擬地址轉換為物理地址,并對訪問進行權限檢查。在操作系統中,用戶態和內核態運行在不同的虛擬地址空間,操作系統內核可以通過管理MMU 頁表來控制不同特權下對物理內存的訪問權限,從而實現兩者的隔離。

用戶態頁表:用戶態程序使用的頁表只包含用戶程序可以訪問的物理內存區域的映射。這些區域通常是用戶程序的代碼、數據和棧等。用戶態頁表中的映射項會設置相應的訪問權限,一般只允許用戶態程序進行讀、寫和執行操作,并且不允許訪問內核空間的物理內存。

內核態頁表:內核態使用的頁表包含了整個系統的物理內存映射,不僅包括用戶程序的內存區域,還包括內核代碼、內核數據結構和設備內存等。內核態頁表中的映射項權限設置更為靈活,內核可以根據需要進行各種操作,如對硬件設備的直接訪問等。

每個應用程序都有自己獨立的頁表,每個頁表包含了應用程序完整的用戶空間。當操作系統從一個應用程序切換到另一個應用程序時,操作系統主要做的其中一個事兒就是進行頁表切換。

應用程序地址空間是通過MMU來管理的,那RSIC-V domain的地址空間是通過什么來管理的呢?這就是RISC-V架構特有的物理內存保護(PMP)模塊。

RISC-V PMP (Physical Memory Protection)

RISC-V 物理內存保護(Physical Memory Protection,PMP)是 RISC-V 特權架構的重要組成部分,在硬件層面提供靈活且細粒度的內存訪問控制。它允許操作系統或監督程序依據實際需求,對不同物理內存區域設置各異的訪問權限,以此防止低特權級(U, H/S)程序進行非法的內存訪問操作,增強系統安全性和穩定性。簡單地講, PMP是一個輕量級的MPU, 它基于實地址(MMU是虛地址)模式對低特權等級的程序提供地址空間訪問的權限管理, 而M模式并不受PMP的影響(除非把PMP的表項鎖住,具體細節不展開介紹)。

PMP只允許M模式下的特權固件對它進行編程(MMU是受S態的Kernel管理),M態固件可以像操作系統內核維護MMU頁表一樣來維護PMP的表項,從而實現不同Domain之間訪問權限的切換(類似MMU頁表切換)。基于PMP實現多個Domain訪問隔離的機制如下圖所示:

5e9cb99e-42b4-11f0-986f-92fbcf53809c.jpg

RISC-V Memory Isolations Using PMP Swapping

RISC-V SUM (Supervisor User Memory)

在早期的操作系統內存管理機制中,用戶空間和內核空間雖然在概念上有所區分,但在實際的內存使用和訪問控制方面存在一定的漏洞。用戶程序可以在用戶空間分配內存,并且這些內存可以被標記為可執行。

攻擊者利用這一特性,通過精心構造的攻擊代碼,將惡意代碼注入到用戶空間的可執行內存中。當系統因某些操作進入內核模式后,攻擊者可以誘導內核跳轉到這些惡意代碼所在的用戶空間內存區域并執行,從而實現提權攻擊,獲取系統的最高權限,進而控制整個系統。這種攻擊方式嚴重威脅到系統的安全性和穩定性。

同時,僅僅禁止內核模式下執行用戶空間代碼已經不足以保障系統的安全。在一些情況下,即使內核不執行用戶空間的代碼,但如果可以隨意訪問用戶空間的內存,仍然可能被攻擊者利用。例如,攻擊者可以通過操縱用戶空間的內存數據,誘導內核在訪問這些數據時執行不安全的操作,從而繞過其他安全機制。

為了抵御這種類型的攻擊,SMEP(Supervisor Mode Execution Protection)和 SMAP(Supervisor Mode Access Prevention)機制應運而生。SMEP 的核心思想是在內核模式下禁止執行用戶空間的代碼。當內核嘗試執行位于用戶空間的指令時,SMEP 會觸發異常,阻止惡意代碼的執行,從而大大增強了系統對提權攻擊的抵抗能力;SMAP 進一步限制了內核模式下對用戶空間內存的訪問,當內核嘗試在沒有明確授權的情況下訪問用戶空間的內存時,SMAP 會觸發異常,阻止這種不安全的訪問操作,從而進一步增強了系統的安全性。

RISC-V SUM(Supervisor User Memory) bit 是 RISC-V 架構中用于增強內存訪問控制安全性的一種機制,內核態程序對用戶態內存的訪問會受到嚴格限制。當SUM=0時,內核態只能訪問自身的內存區域,而無法直接訪問用戶態的內存。這就確保了用戶態內存數據的隔離性和安全性,防止內核態代碼意外或惡意地訪問用戶態數據,即使內核態具有較高的特權級別, 從而為系統提供SMAP保護能力。

RISC-V ePMP (Enhanced Physical Memory Protection)

前面說到PMP主要作用于U、S/H等特權級,而M態是不受PMP約束的(Lock模式這種特殊場景我們暫且不討論),過高的權限往往會帶來安全上隱患。RISC-V ePMP (Enhanced Physical Memory Protection)增強型物理內存保護是對傳統 RISC-V PMP(Physical Memory Protection,物理內存保護)機制的擴展和增強,旨在提供更強大、更靈活的內存訪問控制, 提供對M模式SMEP和SMAP的保護能力。

5eb76d02-42b4-11f0-986f-92fbcf53809c.png

RISC-V ePMP SMEP/SMAP Protection

RISC-V I/O Physical Memory Protection

上一章節介紹了RISC-V基于PMP/ePMP的物理地址空間訪問的保護機制, 但PMP/ePMP是RISC-V特權架構的一部分,是用來約束CPU對物理內存、MMIO的訪問權限的,但RISC-V又是如何對DMA master設備進行訪問控制的呢?這就要說到RISC-V IOPMP(Input/Output Physical Memory Protection)這個RISC-V Non-ISA 擴展了。

IOPMP 和PMP/ePMPl類似,本質上是一種物理內存保護機制,只不過它聚焦于 DMA設備的訪問控制。相比與PMP,IOPMP的實現會更加復雜,因為它需要考量同時來自不同設備的訪問請求,同時也還要做到低時延。IOPMP也提供了類似PMP的訪問權限配置表,能夠允許安全固件配置針對不同設備對物理地址空間的訪問設置特定的訪問權限,確保I/O設備只允許訪問授權的物理地址空間。

5ed61c16-42b4-11f0-986f-92fbcf53809c.png

RISC-V IOPMP Reference Model

IOPMP也不僅僅用來保護DMA外設的物理地址空間訪問,它也可以作用于CPU。這種情況下, IOPMP往往會部署在slave側,但由于RISC-V系統里的RV CPU已經有PMP/ePMP保護了, 所以一般會將IOPMP對RV CPU的訪問配置成直通方式(Bypass)。部署在slave側的IOPMP就和Arm上的TZASC IP非常相似了,差別在于TZASC是基于NS信號來進行訪問控制,而IOPMP是基于Source ID (或者叫Reqester ID), 也就是TZASC是把設備分成Group(安全和非安全), 而IOPMP則可以為每個設備單獨配置權限,提供了更加細粒度的權限管控。

以上便是RISC-V 架構實現可惜執行環境所提供的核心組件。我們再簡單對比一下RISC-V 安全架構和Arm TrustZone的差別。

TrustZone的核心思想是將資源劃分成安全"世界"和非安全”世界“,并通過NS位進行標記,資源的訪問控制主要集中在slave側的安全IP,只能采用slave端防護策略,不同的slave(如內存控制器、ROM/SRAM控制器、MMIO等)采用不同的安全IP(TZASC、TZMA、TZPC、AXI2APB Bridge等), 安全IP基于NS信號進行權限管控。

而RISC-V在架構上并沒有2個”世界“的限制,理論上可以虛擬出任意數目的Domain, Domain隔離所提供的安全IP(也就是PMP和IOPMP)都是基于地址空間的權限管控(TrustZone是基于NS信號),管控策略更加靈活。

其中PMP采用master端(核內)防護策略,而IOPMP既可采用master端防護策略也可以采用slave端防護策略,甚至采用混合方式的防護策略,IOPMP部署方式可以靈活多樣,并且不需要像TrustZone那樣,不同的slave設備采用不同的安全IP,RISC-V完全可以采用同一個IOPMP IP(但允許不同的配置,比如entry表項的數目)。但總的來說,RISC-V和Arm在實現TEE隔離機制上是殊途同歸。

進迭時空 V100 TEE 擴展

進迭時空 V100 AI CPU原型除了實現了上述基于RISC-V架構的TEE 標準組件(PMP/ePMP、IOPMP)以外,還實現了基于HSM(Hardware Security Module)的硬件信任根(HW RoT), 并基于此信任根實現了整個AI CPU系統的安全啟動、安全調試,旨在構建和提供完整的TEE軟硬件系統和TEE解決方案。

HSM(Hardware Security Module)

V100 AI CPU集成了HSM硬件安全模塊,旨在提供密碼與安全功能。HSM能夠實現密鑰管理(密鑰的生成、存儲和處理)、安全啟動、數據加密解密等一系列密碼相關的功能,以及提供物理防護、安全傳感器等安全保障機制,能夠隔離外部惡意軟件的攻擊。HSM可以用于構建、驗證可靠的軟件,以保護在軟件加載并初次訪問之前的安全啟動。HSM包含有加密/解密硬件加速功能, 和軟件解決方案相比能夠有效降低CPU負載并提高密碼學運算的安全性。

根密鑰作為整個硬件信任根(HW RoT)的基礎,其密鑰的安全性是整個安全子系統的核心考量。本方案使用HSM作為系統的RoT,密鑰存儲在OTP中,需要保證其機密性和完整性,同時需要嚴格管理密鑰的訪問和使用權限。加密后的密鑰及其屬性、CRC校驗碼均存儲在OTP中,HSM硬件自動讀取并校驗CRC后,通過專用的SKE解密模塊對密鑰進行解密,并存儲在KMU中以供后續使用。

5ef41478-42b4-11f0-986f-92fbcf53809c.png

HSM Key Management Overview

安全啟動

安全啟動主要提供以下功能:

安全啟動機制

信任根RoT: OTP加密存儲芯片唯一密鑰(HUK), 支持客戶根秘鑰

信任鏈CoT: 通過ROT逐級驗簽, 實現信任鏈傳遞

安全啟動組件

HSM: 國密二級認證安全島, 提供秘鑰的安全存儲、派生和使用、國際(RSA/ECC/AES/DES/SHA等)、國密(SM2/3/4等)密碼算法引擎

RMU子系統: 從BootROM到Bootloader到Firmware的安全啟動

ROM安全啟動流程

使用根公鑰(Root Public Key)對Cerfiticates進行驗簽, 用HUK對加密密鑰進行解密

參數段驗簽并傳遞參數

下一跳代碼鏡像解密

下一條代碼鏡像驗簽

傳遞Certfiticates并跳轉到下一跳啟動固件(FSBL)

5f1b917e-42b4-11f0-986f-92fbcf53809c.png

ROM安全啟動信任鏈

安全調試

當芯片/設備進入產品階段, 也就是安全功能被激活之后,調試功能將會被關閉或者授權開啟。HSM支持安全調試授權認證,只有通過認證之后,調試才允許被開啟。安全調試的授權認證支持非對稱或對稱算法。

安全調試的授權認證流程如下:

主機通過 UART 或郵箱向 eHSM 發送調試請求

HSM 向主機發送challenge(UID + 隨機數)

主機使用調試密鑰對challenge進行簽名,并發返回給HSM(a) 非對稱:使用 hsm/ap 調試密鑰的相應私鑰進行簽名(b) 對稱:使用 hsm/ap 調試密鑰計算 CMAC 值

HSM 使用 hsm/ap 調試密鑰驗證其簽名

如果驗證通過,HSM啟用 hsm/ap 調試端口

5f446306-42b4-11f0-986f-92fbcf53809c.png

基于HSM實現AI CPU安全調試

TEE 軟件架構

OP-TEE(Open Portable Trusted Execution Environment)是一個開源的可信執行環境(TEE)軟件實現框架,它利用 ARM TrustZone 等硬件隔離技術(OP-TEE 早期專門為TrustZone設計實現,目前也已經支持RISC-V架構),將設備的運行環境分為安全世界(Secure World)和普通世界(Normal World)。

普通世界運行主操作系統,如 LinuxAndroid 等;安全世界則用于運行 OP-TEE 及執行敏感任務,確保安全世界中的應用程序和數據不受普通世界的干擾。OP-TEE支持 GlobalPlatform TEE 國際標準,保證與其他遵循同一標準的應用和服務能無縫協作,提高了其通用性和互操作性, 相比其他的TEE OS,OP-TEE目前支持幾十種SoC板級,具有更好的軟件生態。

而 OP-TEE Virtualization 是指 OP-TEE 具備對虛擬機場景的支持,允許TEE世界在不創建多個虛擬機運行多個TEE OS的情況下,使一個 OP-TEE 實例就能夠服務于多個REE虛擬機各自的可信應用(TA)。進迭V100 支持CPU虛擬化,目前采用OP-TEE作為TEE OS,既能滿足平臺虛擬化的要求,也能很好地融入OP-TEE的軟件生態,降低用戶開發和學習成本。

5f676482-42b4-11f0-986f-92fbcf53809c.png

基于OP-TEE 實現虛擬機場景的TEE整體軟件框架

RISC-V機密計算

"機密計算"是一個商業用語,它旨在解決云計算場景下的可信計算問題。云服務提供商(CSP)主要提供云計算服務,也就是向用戶出租算力,他們通常需要維護一組服務器作為專用或分時資源出租給用戶。

為了實現算力分配和管理的靈活性,租用給用戶的服務器通常通過虛擬機(VM)來呈現,CSP利用虛擬化技術將物理服務器”切割“成細粒度的虛擬機,這些虛擬機的資源可以通過Hypervisor(虛擬機管理器)靈活分配,并且虛擬機(VM)之間相互隔離,最終物理服務器的算力以虛擬機的方式呈現給用戶,CSP通過虛擬化技術實現了算力的”池化“,并且能做到算力的靈活分配和管理,提高了算力的利用率。

從虛擬化技術來看,Hypervisor需要被VM完全的信任,就像操作系統上運行的應用程序需要完全地信任操作系統內核一樣。由于Hypervisor可以任意地訪問VM資源,而且Hypervisor的控制權是掌握在CSP手里,那就意味著CSP 必須被信任可以完全訪問客戶的 VM。然而,在傳統的云計算場景下,租戶和CSP之間存在如下的信任問題:

云租戶的工作負載(特別是包含客戶敏感數據的負載)可能被CSP訪問到

云租戶的敏感信息可能被泄露給其他租戶(由于軟件問題、錯誤配置或者其他漏洞);

云服務商和租戶可能有相互沖突的商業目的, 例如,Amazon 為多家零售公司提供云服務,同時通過其在線市場與他們競爭

云服務商可能與租戶的商業目標、國家安全目標和隱私法規相沖突的法規下運作

所以,為了實現真正的機密計算,使客戶能夠部署對隱私敏感的工作負載,機密計算的首要任務是要解決云租戶和CSP(云提供商)之間的信任問題。

實現云計算場景的機密計算,同樣可以采用TEE技術。相比于IoT TEE是將可信應用部署到TEE環境,機密計算技術需要實現的是將可信虛擬機(或者叫機密虛擬機)部署到TEE環境。

5f9daede-42b4-11f0-986f-92fbcf53809c.png

Deploying VM to TEE environment in Server Scenario

在云模型中,我們考慮以下參與者:

云服務提供商 (CSP) 運營所有基礎設施,對所有機器具有物理訪問權限,并控制除可信固件之外的所有平臺軟件。

云客戶部署可能敏感的工作負載,以便在 CSP 托管的虛擬機中執行。

Silicon Provider 是提供硬件和可信固件組件的可信實體。

Adversary 旨在破壞客戶工作負載的機密性、完整性和有限程度的可用性。

下圖是云場景機密計算的通用參考架構,主要說明了基于 VM 的機密計算中的常見組件。

普通 VM 之間可以通過共享內存相互通信 。

普通 VM 與虛擬機管理程序通信 。

安全 VM 通常不允許由虛擬機管理程序訪問,而是由新的安全軟件層管理。該軟件層還可以監督其他虛擬化功能,例如處理 hypercall 和中斷 。請注意,可能需要修改 VM 操作系統 (OS) 以支持在此新環境中執行。

最后,需要提供新的安全機制保護安全內存區域,防止虛擬機管理程序直接訪問 。

5fbc9b14-42b4-11f0-986f-92fbcf53809c.png

The Reference Model of Deploying Secure VM to TEE environment

RISC-V Confidential Virtual Machine Extension (CoVE)

上述參考架構需要解決的核心問題是解決REE和TEE之間的隔離問題。那RISC-V是否可以仍然利用PMP/IOPMP隔離組件實現TEE機密執行環境呢?答案是不可以,原因是目前的PMP/IOPMP不符合虛擬機管理的用戶場景。

前面介紹的IoT TEE的執行環境的資源通常是靜態分配的,這些資源主要包括物理內存、MMIO以及外設等, 由于資源是靜態分配,內存管理可以不依賴與操作系統按頁方式的頁式存儲管理,直接將安全內存通過PMP靜態隔離,不納入操作系統管理。

TrustZone也是類似的方式,所以Arm也稱TrustZone為Static TrustZone (Armv9 CCA架構也叫做Dynamic TrustZone)。

但是,虛擬化場景下的物理資源(物理內存、MMIO等)并不是靜態劃分的,而是統一納入Hypervisor管理。由于Hypervisor (如Linux作為Type2 hypervisor) 通常通過MMU來實現頁式存儲管理,這意味著內存管理的顆粒度至少需要達到按頁的力度(如4KB每頁)。

同時,虛擬機資源的管理包括虛擬機的創建、銷毀都是Hypervisor負責的,那么通過PMP去實現內存隔離的顆粒度也要滿足按頁的要求,這是PMP/ePMP無法滿足的,PMP/ePMP基于region的管理方式無法做到像MMU那樣的顆粒度和靈活度。

于是, RISC-V為了滿足機密計算的物理地址空間的隔離要求,實現了page顆粒度的物理內存保護,也就是Page-based PMP和Paged-based IOPMP, RISC-V稱之為SMMTT(Supervisor Domain Access Protection)擴展。

它主要用于支持多租戶安全場景下的Supervisor Domain隔離,涵蓋機密計算、可信平臺服務、故障隔離等領域。smmtt通過對Supervisor Domain內存的有效管理和訪問控制,實現不同安全域之間的隔離與保護, 限制Hypervisor對機密虛擬機內存的非法訪問。

在機密計算場景中,smmtt 確保一個租戶無法非法訪問其他租戶的內存空間, 能防止不同租戶的機密數據相互泄露,增強了系統的安全性和穩定性。

RISC-V SMMTT定義了通過硬件保證的可信計算基(TCB) 保護使用中數據的機密性和完整性以抵御軟件和硬件攻擊的機制。同時, RISC-V 也定義了機密計算架構的軟件規范,CoVE和CoVE-IO。

RISC-V CoVE和CoVE-IO,定義了基于 RISC-V 應用處理器平臺上可擴展的可信執行環境的威脅模型、參考架構和ABI接口規范,以支持機密計算場景。

CoVE的ABI規范主要定義了TCB 和非 TCB 組件之間的 ABI 的非 ISA 規范,此 ABI 使 OS/VMM 軟件能夠管理機密工作負載,同時將 OS/VMM 軟件、固件、開發人員和系統操作員置于 TCB 之外,并且也定義了 TCB 和工作負載組件之間的 ABI(例如 TEE VM)的相關非 ISA 規范。

RISC-V 機密計算參考架構如下:

5fda89e4-42b4-11f0-986f-92fbcf53809c.png

RISC-V TEE Reference Model in Server Scenario

以上便是RISC-V 架構機密計算的主要輪廓。總結一下就是,RISC-V重新定義了基于頁表管理的物理地址保護組件(SMMTT, IOMTT包含在SMMTT規范中), 旨在滿足機密虛擬機場景的隔離要求。同時, RISC-V也定義了機密計算可信執行環境的威脅模型、參考架構和ABI接口規范,以支持機密計算場景。

RISC-V TEE-IO (CoVE-IO)

但有的小伙伴可能會問,那RISC-V在機密計算場景下是如何管理安全外設(TEE-IO)的,因為機密虛擬機(租戶)往往需要將設備直通到虛擬機以提高I/O吞吐,而服務器下的I/O設備通常是PCIe設備,這些設備通常是可動態插拔的,機密虛機管理器是如何識別動態可插拔設備的安全性的呢?

早期的時候,設備的I/O虛擬化是基于軟件來實現的,也就是I/O設備不會直通到機密虛擬機,因為當時還沒有完整的規范來定義TEE-IO設備,于是所有的IO設備被當作Non TEE-IO掛在非安全Domain, 不受信任的虛擬機管理程序(VMM)使用由他管理的共享IO(不受信任)和半虛擬化設備接口將虛擬設備呈現給機密虛擬機,機密虛擬機使用VirtIO的方式訪問虛擬設備, 比如Intel TDX 1.0就是這么干的。

基于軟件的 IO 模型很慢,因為 CVM和設備之間的通信是通過共享內存(不受信任)完成的,這需要機密虛擬機在TEE domain內運行的應用程序的私有緩沖區和設備使用的共享 IO 緩沖區之間來回復制和加密/解密數據。

因為共享IO緩沖區是不受信任的,這就需要機密虛擬機在生產數據的時候將數據先加密之后Copy到共享緩沖區;而在消費數據的時候則需要先將數據解密之后再將數據Copy到CVM私有緩沖區。對于某些 IO 用例,例如網絡和存儲,這種IO方式與 通過IOMMU 實現設備直通的低延遲和高吞吐量相比,這種方法存在性能開銷問題。除了性能開銷之外,加密數據保護還不允許 TEE domain將計算卸載到傳統的 GPUFPGA 加速器上。

60000bb0-42b4-11f0-986f-92fbcf53809c.png

IO Transactions with IO Virtualizations (VirtIO) in Server Scenario

TEE-IO 旨在從兩個方面改進 TEE 的 IO 虛擬化:

功能:TEE domain和設備無需使用共享緩沖區來存儲私有數據,包括與設備建立安全傳輸級會話(通常使用專有協議來調整特定設備的數據處理和轉換需求)。

性能:消除在共享設備緩沖區和私有 TEE domain內存之間來回復制加密或復制解密數據所需的額外資源和工作,從而大大提高工作負載性能(就帶寬和延遲而言)。

簡單來說,就是TEE-IO能夠建立IO設備和機密虛擬機之間的信任關系,從而將IO設備直通到機密虛擬機。

60270508-42b4-11f0-986f-92fbcf53809c.png

IO Transactions with IO Virtualizations (Passthrough) in Server Scenario

RISC-V 機密計算為了實現高性能I/O 操作,可信執行環境虛擬機 (TVM) 必須擴展其信任邊界,包含分配TEE-I/O 設備的功能。如果沒有這種能力,TVM 就不得不使用半虛擬化 I/O,使用非機密內存區域,這會因上面提到的內存副本拷貝和加解密而影響性能,并且無法將密集計算卸載到加速卡。同時RISC-V CoVE-IO TG定義了 ABI 擴展,為機密 VM 分配的設備提供對機密內存以及 MMIO 和消息信號中斷 (MSI) 的安全直接訪問,從而消除對半虛擬化 I/O 的依賴。

RISC-V TEE-IO 依賴于以下擴展和行業框架:

CPU:smmtt擴展, 提供機密計算隔離環境

傳輸:使用 PCIe selective IDE 流進行端到端數據保護

設備:允許 TEE domain 使用 SPDM、IDE 和 TDISP 等功能、行業協議將TEE 和 TCB擴展到他們選擇信任的 TEE-IO 設備

RISC-V完整的TEE-IO軟硬件框架如下圖所示:

60449c9e-42b4-11f0-986f-92fbcf53809c.png

The Overview of RISC-V TEE-IO Architecture

結束語

我們既要銘記計算機之父圖靈“機器也許有一天能像人類一樣思考”的遠見,也要直面愛德華·斯諾登(Edward Snowden)“隱私已死”的警示。正如著名的網絡安全專家 Bruce Schneier 所言:“Security is a process, not a product.”(安全是一個過程,而非一種產品), 唯有將安全的基因融入技術的每一處脈絡, 方能在數字洪流中筑起可信的方舟。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 計算機
    +關注

    關注

    19

    文章

    7633

    瀏覽量

    90235
  • 操作系統
    +關注

    關注

    37

    文章

    7098

    瀏覽量

    124992
  • RISC-V
    +關注

    關注

    46

    文章

    2503

    瀏覽量

    48307
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    什么是RISC-V

    siFive搞RISC-V 賽昉搞RISC-V 香山搞RISC-V 到底什么是RISC-V? 先不問有什么用,RISC-V目前的能力來說,工
    發表于 02-02 10:41

    淺析RISC-V領先ARM的優勢

    RISC-V的開源特性使其能夠吸引更多的開發者和企業參與進來,共同推動RISC-V生態系統的壯大。 安全性與可靠性: RISC-V的簡潔設計和模塊化特性使其在
    發表于 06-27 08:45

    risc-v的發展歷史

    RISC-V v2.1,增加了對64位體系結構的支持,并提供了更詳細的文檔和規范。 2017年:RISC-V基金會推出了RISC-V v2.
    發表于 07-29 17:20

    RISC-V MCU技術

    嘿,咱來聊聊RISC-V MCU技術哈。 這RISC-V MCU技術呢,簡單來說就是基于一個叫RISC-V的指令集架構做出的微控制器技術。RISC-V這個啊,2010年的時候,是加州大
    發表于 01-19 11:50

    為什么選擇RISC-V

    需進行任何軟件修改。從信任角度關注安全性的設計人員也會喜歡RISC-V。當RTL源代碼可用時,這將啟用深度檢查。通過檢查RTL的能力,可以建立信任。
    發表于 07-27 17:38

    玄鐵VirtualZone:基于RISC-V架構的安全擴展

    的TrustZone、Intel的SGX以及AMD的SEV等。本文主要描述基于RISC-V架構的玄鐵C系列處理器的安全擴展,該擴展主要基于RISC-V架構提供的PMP保護機制和多層特權模型,虛擬出多個
    發表于 09-01 14:38

    布局 RISC-V 領域,中國聯通加入中國 RISC-V 產業聯盟

    、研究院所、投資機構和社會組織于 2018 年 9 月 20 日在上海共同發起成立的一家全國性、非營利的社團組織。聯盟的目標是 加速國內 RISC-V 產業的組織研發 ,建立中國國產自主、可控、安全
    發表于 03-16 14:56

    目前RISC-V都支持哪些開發環境?

    RISC-V的小白一枚,想擴展一下有關RISC-V的知識,請問目前RISC-V都支持那些通用的開發環境?還是必須使用各廠商的特定的開發環境?
    發表于 03-20 13:57

    RISC-V規范的演進 RISC-V何時爆發?

    RISC-V的關注度越來越高,開源的理念也正在被越來越多的開發者和公司接受。對于尚不成熟的RISC-V而言,無論是規范和技術的演進還是生態的建設,還有人才和專利都還有不小挑戰。2021年RISC-V
    的頭像 發表于 02-11 10:10 ?3497次閱讀

    RISC-V學習筆記【1】RISC-V概述

    國產處理器芯片起步較晚,從2013年至今,集成電路每年的進口額均超過了 2000 億美元。RISC-V和AI(人工智能)芯片是我國最有希望突破的領域之一。RISC-V使用的領域還是對于生態依賴比較
    發表于 11-24 09:28 ?2907次閱讀

    關于RISC-V你需要知道的大事兒

    2010年,該學校的研究團隊準備做一個CPU,但是Intel和ARM高昂的授權費用讓他們下決心自己做一套開源的指令集。于是經過了幾個月的努力,后來就有了RISC-V。該指令集一經推出就受到了廣泛關注,后來成立了RISC-V基金會,專門負責
    的頭像 發表于 06-21 10:40 ?1174次閱讀
    關于<b class='flag-5'>RISC-V</b>你需要知道的大<b class='flag-5'>事兒</b>

    RISC-VRISC-V AI的未來(特邀講座)

    主題演講:RISC-VRISC-V AI的未來(特邀講座)ppt分享
    發表于 07-14 17:15 ?17次下載

    RISC-V設計支持工具,支持RISC-V技術的基礎

    RISC-V設計支持工具,支持RISC-V技術的基礎 ppt分享
    發表于 07-14 17:15 ?21次下載

    加入全球 RISC-V Advocate 行列,共筑 RISC-V 的未來 !

    加入RISC-VAdvocate行列!我們正在尋找來自世界各地的RISC-V愛好者,通過全球推廣和參與,成為支持RISC-V進步的關鍵參與者。作為一名RISC-VAdvocate,您將
    的頭像 發表于 09-10 08:08 ?791次閱讀
    加入全球 <b class='flag-5'>RISC-V</b> Advocate 行列,共筑 <b class='flag-5'>RISC-V</b> 的未來 !

    直播預告|智算時代下,RISC-V 安全技術在金融場景的探索與實踐

    RISC-V安全可信技術白皮書》于RISC-V產業發展大會期間正式發布,達摩院玄鐵團隊參與撰寫。該白皮書是RISC-V工委會年度重要工作之一。針對智能家居、智能穿戴等領域,定義了
    的頭像 發表于 03-14 09:15 ?437次閱讀
    直播預告|智算時代下,<b class='flag-5'>RISC-V</b> <b class='flag-5'>安全</b>技術在金融場景的探索與實踐