演講嘉賓 | 杜 東
回顧整理 | 廖 濤
排版校對 | 李萍萍
嘉賓簡介
杜東,上海交通大學(xué)助理研究員。中國計算機(jī)學(xué)會CCF會員,ACM會員。研究興趣為操作系統(tǒng)與體系結(jié)構(gòu)、服務(wù)器無感知(Serverless)計算、系統(tǒng)安全。在包括ASPLOS、ISCA、OSDI、SOSP、ACM SoCC、TOCS等國際著名會議和期刊發(fā)表/錄用多篇學(xué)術(shù)論文。
內(nèi)容來源
第一屆開放原子開源基金會OpenHarmony技術(shù)峰會——安全及機(jī)密計算分論壇
正 文 內(nèi) 容
OpenHarmony賦能萬物互聯(lián),存在覆蓋從端到云的安全能力需求。蓬萊-OpenHarmony是一個開源機(jī)密計算平臺,提供了面向OpenHarmony的可信執(zhí)行環(huán)境,賦能OpenHarmony安全能力。那么,蓬萊-OpenHarmony主要做了哪些安全增強(qiáng)方面的工作,有哪些關(guān)鍵技術(shù)呢?上海交通大學(xué)助理研究員、中國計算機(jī)學(xué)會CCF會員、ACM會員杜東在第一屆OpenHarmony技術(shù)峰會上給大家?guī)砹藥c(diǎn)分享。

01?
萬物互聯(lián)計算的安全挑戰(zhàn)
當(dāng)進(jìn)入到萬物互聯(lián)的新場景后,存在哪些安全風(fēng)險和挑戰(zhàn),又有哪些解決方案呢?
依靠軟件本身提供系統(tǒng)安全能力是一種方案。但是,依賴形式化驗證、類型安全語言等技術(shù)目前來加強(qiáng)系統(tǒng)安全,目前看來是較為困難的。在萬物互聯(lián)的場景中,開發(fā)者的背景和能力多樣性倍增,各自所依靠開發(fā)軟件本身處理安全風(fēng)險的能力不盡相同。就算能夠?qū)崿F(xiàn),也可能需要更多的輔助工具來配合開發(fā)者完成。

通過軟硬件配合,依賴于硬件提供的安全特性來加固系統(tǒng),為其提供可信執(zhí)行環(huán)境(TEE)是另一種可行的系統(tǒng)安全加固方案。可信執(zhí)行環(huán)境能夠有效增強(qiáng)邊緣設(shè)備的安全能力,例如內(nèi)存隔離、I/O隔離等。依賴該方案進(jìn)行安全加固的代表系統(tǒng)有Intel SGX、ARM TrustZone和RISC-V蓬萊或Keystone等。目前,已經(jīng)發(fā)布了多個安全特性擴(kuò)展和完善的可執(zhí)行環(huán)境方案,為什么還要定制化設(shè)計一個蓬萊-OpenHarmony呢?因為OpenHarmony所面臨的萬物互聯(lián)場景是有不一樣的挑戰(zhàn)和風(fēng)險,主要有以下3個方面:
第一,萬物互聯(lián)會導(dǎo)致需要面臨復(fù)雜的硬件環(huán)境。在異構(gòu)的硬件環(huán)境下,通過一套系統(tǒng)把OpenHarmony的安全特性和需求支撐起來,是非常復(fù)雜的一件事。例如,端側(cè)可能存在非常小型的低配設(shè)備,沒有頁表和內(nèi)存隔離,但是TEE很難跑在這種配置下;又例如,在較高配的手機(jī)場景,怎么能夠讓小型的、沒有很多基礎(chǔ)安全能力的環(huán)境和有安全能力的環(huán)境進(jìn)行協(xié)同,也是一個較大的挑戰(zhàn)。
第二,軟件棧存在差異。面向云場景,軟件主要基于Linux內(nèi)核和虛擬機(jī)監(jiān)控器等,必要時可引入如安全OS等組件;而面向邊緣及IoT,軟件棧較為簡單,可能基于RTOS(如OpenHarmony小型內(nèi)核)等構(gòu)建整個軟件棧。因此,如何使得二者進(jìn)行協(xié)同,是軟件異構(gòu)所帶來的問題。
第三,操作系統(tǒng)國產(chǎn)化問題。例如OpenHarmony目前在系統(tǒng)安全方面已經(jīng)有所成果,如何保證它的安全能力自主可控呢?這也是需要思考的一個風(fēng)險和挑戰(zhàn)。
蓬萊-OpenHarmony能夠有效解決上述問題,下圖是蓬萊-OpenHarmony的logo。討論一個有趣的話題:為什么新的系統(tǒng)命名為蓬萊?蓬萊是中國古代神話里面的一座仙島,其被一片黑色的冥河所包圍。我們希望提供一個可信執(zhí)行環(huán)境,它是和外界隔離的,里面的東西不能出來,外面的東西也不能進(jìn)去。一方面能夠保證內(nèi)部機(jī)密數(shù)據(jù)的安全,另一方面也能夠避免內(nèi)部不安全因素因其特殊的地位而對外部造成損害。

02?
蓬萊-OpenHarmony
在蓬萊-OpenHarmony的項目中,開發(fā)了蓬萊可信執(zhí)行環(huán)境并提供了通用的解決方案。目前主要做的四項工作有:(1)提出面向OpenHarmony的通用TEE架構(gòu)和接口,明確架構(gòu)和接口的定義,保證后續(xù)所有的TEE都能夠滿足某一個抽象或某一個核心接口而被納入OpenHarmony體系中;(2)基于 RISC-V v1.10的指令集,開發(fā)了蓬萊安全硬件擴(kuò)展;(3)開發(fā)固件層(M-mode) Monitor和TEE SDK的軟件層;(4)提供含MMU平臺和無MMU平臺的兩套系統(tǒng)支持。
2.1??
RISC-V生態(tài)
在RISC-V生態(tài)中,開發(fā)者可以自身需求定制化設(shè)計硬件而無需擔(dān)心版權(quán)風(fēng)險,如果硬件的特性足夠好,還可以將其合入到RISC-V的官方指令集中。截至2022年,RISC-V處理器出貨量達(dá)到100億,Semico Research預(yù)測到2025年,RISC-V處理器出貨量將達(dá)到800億,構(gòu)建了強(qiáng)大的影響力和生態(tài)。

RISC-V設(shè)備的急劇增加,逐步形成了萬物互聯(lián)的端邊場景,RISC-V的CEO Calista Redmond預(yù)測,到2030年將有500億聯(lián)網(wǎng)和物聯(lián)網(wǎng)設(shè)備需要安全和定制處理器加持,需要有足夠多的安全特性以保證身邊的設(shè)備能夠滿足計算和處理器的需求。

2.2??
面向OpenHarmony的通用TEE架構(gòu)和接口
面向OpenHarmony的通用TEE架構(gòu)和接口當(dāng)前還處于草案的狀態(tài)。如下圖所示,架構(gòu)本身和RISC-V無關(guān),并未涉及到具體的架構(gòu)和特性。我們認(rèn)為,未來OpenHarmony的通用TEE架構(gòu)和接口可能包含4層:最底層是所需要的硬件特性,其上層為安全固件;可信執(zhí)行環(huán)境操作系統(tǒng)在安全固件的上層;最上層即用戶應(yīng)用層。

2.3??
蓬萊-OpenHarmony:RISC-V指令集下的TEE系統(tǒng)架構(gòu)
蓬萊-OpenHarmony的整體架構(gòu)如下圖所示。蓬萊-OpenHarmony基于上述定義的OpenHarmony TEE參考架構(gòu);在硬件上進(jìn)行了創(chuàng)新,面向萬物互聯(lián)異構(gòu)的場景,提出了細(xì)粒度的輕量隔離,其安全特性是可配置和可選的;在軟件上也進(jìn)行了創(chuàng)新,面向多元隔離的需求,支持安全OS和輕量安全應(yīng)用;此外,蓬萊-OpenHarmony也支持OpenHarmony標(biāo)準(zhǔn)、小型、輕量等配置。

2.4??
硬件異構(gòu)應(yīng)對案例
在硬件異構(gòu)的場景中,如何實現(xiàn)內(nèi)存隔離呢?RISC-V將整個軟硬件分為硬件層、機(jī)器態(tài)、特權(quán)態(tài)以及用戶態(tài)共4層。其中,硬件層RISC-V支持不同的特性及擴(kuò)展;機(jī)器態(tài)即固件層,擁有比特權(quán)態(tài)更高的權(quán)限,通常負(fù)責(zé)加載操作系統(tǒng)或者實現(xiàn)安全特性;特權(quán)態(tài)運(yùn)行操作系統(tǒng)內(nèi)核,支持MMU和no-MMU平臺;用戶態(tài)則運(yùn)行各類應(yīng)用程序??尚艌?zhí)行環(huán)境的基礎(chǔ)能力,要求內(nèi)核和應(yīng)用之間要內(nèi)存隔離,云邊場景可以通過內(nèi)存管理模塊 (MMU)/頁表實現(xiàn),但I(xiàn)oT和邊緣RISC-V設(shè)備可能沒有MMU,內(nèi)核和應(yīng)用之間缺乏隔離性。
怎么解決呢?如下圖所示為一個臨時解決方案,即將內(nèi)核運(yùn)行在機(jī)器態(tài),機(jī)器態(tài)中有一套硬件機(jī)制PMP,可以通過PMP控制來隔離內(nèi)核和用戶態(tài)。例如,Linux在沒有 MMU的時候,通過RISC-V機(jī)器態(tài)的PMP隔離機(jī)制實現(xiàn)粗粒度隔離。但隨之而來出現(xiàn)一個問題,機(jī)器態(tài)固件和操作系統(tǒng)之間會存在機(jī)器態(tài)爭搶,其問題根本是邊緣設(shè)備硬件情況不同所導(dǎo)致,對于小型硬件經(jīng)常存在這樣的問題和風(fēng)險。

在蓬萊-OpenHarmony中,提出了新的RISC-V硬件擴(kuò)展:sPMP。sPMP是輕量級的內(nèi)存隔離機(jī)制,存在硬件資源開銷低、訪存性能好的優(yōu)勢。有sPMP和沒有sPMP的區(qū)別在什么地方呢?當(dāng)沒有sPMP時,機(jī)器態(tài)是有內(nèi)存隔離的,但是用戶態(tài)和OS態(tài)之間沒有任何隔離,很難在上面運(yùn)行多個APP;有sPMP后,操作系統(tǒng)依賴sPMP寄存器就可以實現(xiàn)隔離,補(bǔ)齊了機(jī)制缺陷。

2.5??
軟件異構(gòu)應(yīng)對方案
在軟件異構(gòu)場景中,隔離域依賴于安全硬件的物理內(nèi)存隔離機(jī)制,如RISC-V段隔離機(jī)制。其問題是隔離域與硬件強(qiáng)相關(guān),比如PMP,最終的總體隔離數(shù)量與PMP個數(shù)是呈正相關(guān)。段隔離機(jī)制本身是有限的 (不超過16個),4組PMP寄存器現(xiàn)在最多只能劃分出4個域,如圖所示。

那么可信執(zhí)行環(huán)境如何提供可擴(kuò)展的隔離域呢?在云場景中,可以利用軟件隔離出更多隔離域,但在邊端由于內(nèi)存資源不足并不適用。針對此問題,蓬萊-OpenHarmony提供了滑動窗口的隔離域設(shè)計,使一組PMP (邏輯上) 保護(hù)多個隔離域,在上下文切換時滑動實際的保護(hù)范圍。如圖所示,當(dāng)隔離域-1被執(zhí)行時,PMP-2能夠?qū)⒏綦x域收縮至隔離域-1的范圍;反之,當(dāng)隔離域-2被執(zhí)行時,PMP-2也能夠?qū)⒏綦x域收縮至隔離域-2的范圍。如此一來,能夠保證每一個隔離域執(zhí)行時,其內(nèi)存保護(hù)的范圍是準(zhǔn)確的。

03?
總結(jié)
總的來說,蓬萊-OpenHarmony項目為OpenHarmony在RISC-V架構(gòu)下提供了安全基石,支持OpenHarmony面向萬物互聯(lián)的多場景安全需求。歡迎大家持續(xù)關(guān)注蓬萊-OpenHarmony項目,我們也期待更多的開發(fā)者能夠加入其中,共同賦能OpenHarmony的安全底座。
E N D
點(diǎn)擊下方閱讀原文獲取演講PPT。
關(guān)注我們,獲取更多精彩。
審核編輯黃宇
-
開源
+關(guān)注
關(guān)注
3文章
3680瀏覽量
43819 -
OpenHarmony
+關(guān)注
關(guān)注
29文章
3853瀏覽量
18597
發(fā)布評論請先 登錄
廈門市開源芯片產(chǎn)業(yè)促進(jìn)會R-Talk第13期成功舉辦

第三屆大會回顧第3期 | FFRT并發(fā)框架在OpenHarmony中的設(shè)計與實踐

回顧OpenHarmony社區(qū)2024年度精彩瞬間
軟通動力榮獲“2024年度開源鴻蒙社區(qū)卓越單位”
OpenHarmony城市技術(shù)論壇第12期——合肥站圓滿舉辦

開源芯片系列講座第24期:基于SRAM存算的高效計算架構(gòu)

凌蒙派OpenHarmony開源項目榮獲本期Gitee官方推薦

OpenHarmony城市技術(shù)論壇第11期——香港站圓滿舉辦

OpenHarmony城市技術(shù)論壇第11期(香港站)【智能終端操作系統(tǒng)技術(shù)與國際化生態(tài)構(gòu)建】大咖齊聚

九聯(lián)科技受邀參加OpenHarmony峰會,共筑鴻蒙生態(tài)繁榮
有方科技亮相開源鴻蒙峰會和星閃合作峰會
高燃回顧|第三屆OpenHarmony技術(shù)大會精彩瞬間
第二屆大會回顧第25期 | OpenHarmony上的Python設(shè)備應(yīng)用開發(fā)

OpenHarmony城市技術(shù)論壇第10期——上海站圓滿舉辦

第二屆大會回顧第24期 | 面向OpenHarmony的軟件工程研究:機(jī)遇與挑戰(zhàn)

評論