用戶中心
· 企業(yè)空間 首頁 | 資訊 | 技術(shù) | 產(chǎn)品 | 企業(yè) | 直播 | 專題 | 智能制造 | 論壇| 在線研討會
北京經(jīng)緯恒潤科技股份有限公司
  • 域控軟件安全隔離關(guān)鍵技術(shù)剖析:MCU域 VS SOC域  
  • 發(fā)布時間:2024/4/11 11:42:05   修改時間:2024/4/11 11:42:05 瀏覽次數(shù):1063
  • 域控軟件安全隔離關(guān)鍵技術(shù)剖析:MCU域 VS SOC域
  • 安全隔離的需求

    功能安全開發(fā)中,軟件階段由軟件V模型左邊的軟件安全需求SSR開始。SSR是從技術(shù)安全需求TSR中提取出軟件的功能安全需求,大多數(shù)情況下具有不同的ASIL等級。


    1 功能安全軟件開發(fā)V模型

    隨后,軟件安全需求會被分配到軟件架構(gòu)中的軟件組件中。不同ASIL等級的軟件安全需求被分配到軟件組件過后,帶來了級聯(lián)失效的問題。若放任不同ASIL等級軟件組件在一個系統(tǒng)中運(yùn)行,可能會存在低ASIL等級軟件組件失效從而引發(fā)高ASIL等級軟件組件失效的風(fēng)險。

     ISO26262 對軟件組件之間的交互進(jìn)行了分析并提出了免于干擾(Freedom from Interference)的需求,安全隔離則旨在隔離軟件系統(tǒng)中安全相關(guān)與安全無關(guān)的軟件組件,以及不同ASIL等級的軟件組件。


    軟件內(nèi)存基礎(chǔ)

    首先讓我們來了解內(nèi)存的基本知識。RAMROMECU中常見的存儲器類型,它們在數(shù)據(jù)存儲和訪問方面扮演著重要的角色。

    RAMRandom Access Memory)是一種臨時存儲器,用于存儲計算機(jī)正在運(yùn)行的程序和數(shù)據(jù)。它具有快速的讀寫速度和隨機(jī)訪問的特點(diǎn)。

    ROMRead-Only Memory)是一種只讀存儲器,用于存儲固定的程序指令和數(shù)據(jù)。ROM中的數(shù)據(jù)在計算機(jī)斷電時不會丟失,因此被稱為非易失性存儲器。

    然而在軟件視角中,軟件被編譯后會被分為不同的段進(jìn)行存放。具體分段方式可能根據(jù)架構(gòu)有細(xì)微區(qū)別在,以Tc3xx系列芯片為例,包含以下幾段:

    1)已初始化的數(shù)據(jù)段

    2)未初始化的數(shù)據(jù)段

    3)只讀數(shù)據(jù)段

    4)代碼段

    5task棧區(qū)

    6)啟動棧區(qū)

    7CSA區(qū)

    這些段被編譯器分配到物理內(nèi)存中,可能由不同的存儲器來存放。每當(dāng)程序需要使用某處數(shù)據(jù)或者加載某處的指令時,會根據(jù)地址來取出所需的數(shù)據(jù)或是指令進(jìn)行運(yùn)算,再將運(yùn)算結(jié)果寫入某處物理內(nèi)存中。

    在這個過程中,安全隔離的目標(biāo)是阻止安全無關(guān)的軟件組件寫入安全相關(guān)的軟件組件使用的內(nèi)存區(qū)域;低ASIL等級的軟件組件寫入高ASIL等級的軟件組件所使用的內(nèi)存區(qū)域。


    MCU上的安全隔離模塊

    MCU上的安全隔離通常借助內(nèi)存分區(qū)機(jī)制和內(nèi)存保護(hù)單元MPU完成。經(jīng)典AUTOSAR架構(gòu)中,允許對軟件進(jìn)行內(nèi)存分區(qū)(Partition),借助內(nèi)存映射(memory map)將軟件組件的代碼和數(shù)據(jù)劃分到指定的區(qū)域內(nèi)。這種方式雖然能有效地將不同ASIL等級的變量和代碼分布到不同的地址范圍中,但無法杜絕指針越界、數(shù)組越界導(dǎo)致跨區(qū)域訪問的風(fēng)險。

    MPUmemory protection unit)內(nèi)存保護(hù)單元是一種按內(nèi)存區(qū)域提供保護(hù)和隔離的硬件原件,與內(nèi)存分區(qū)配合使用可以阻止不同軟件分區(qū)的軟件組件之間相互訪問,從而達(dá)到內(nèi)存隔離的效果。

    Tc3xx系列芯片為例,MPU可以按照保護(hù)范圍分為兩種,一種為系統(tǒng)級的SMPUSystem Memory Protection Unit),另一種為核心級的CMPUCore Memory Protection Unit)。

    系統(tǒng)級的SMPU

    SMPU有時候也被稱為Bus MPU,表示其工作在芯片總線上。其保護(hù)原理如圖2所示,總線上所有主機(jī)對于內(nèi)存的訪問都會經(jīng)過SMPU,當(dāng)主機(jī)擁有所請求內(nèi)存地址的對應(yīng)訪問權(quán)限(讀/寫)時,才能允許訪問。

    Tc3xx中的Bus MPU可以維護(hù)8個地址保護(hù)區(qū)域(每個保護(hù)區(qū)域范圍由兩個寄存器控制),每個保護(hù)區(qū)域都記錄了64個總線主機(jī)的權(quán)限。當(dāng)主機(jī)訪問內(nèi)存區(qū)域時,首先尋找對應(yīng)的區(qū)域,再根據(jù)主機(jī)TAG ID檢查主機(jī)是否擁有對應(yīng)的權(quán)限,檢查通過后才能進(jìn)行讀寫訪問,否則會觸發(fā)系統(tǒng)定義的故障。

    SMPU通常用于多核系統(tǒng)和使用DMA設(shè)備的系統(tǒng),其保護(hù)范圍有限,且不能覆蓋所有的內(nèi)存區(qū)域。


    2 SMPU保護(hù)原理

    核心級的CMPU

    核心級的CMPU則是每個CPU核心獨(dú)有的,提供應(yīng)用級別的隔離。經(jīng)典AUTOSAR中,軟件組件被組織成OSAOS Application)。OSA內(nèi)部存在共享資源,OSA之間則需要考慮內(nèi)存隔離。

    CMPU保護(hù)原理如圖3所示,CMPU隔離對象為CPU中運(yùn)行的軟件。CMPU也會預(yù)先劃分保護(hù)區(qū)域,這通常也是內(nèi)存分區(qū)的結(jié)果。對于這些內(nèi)存區(qū)域,每一個在核心中運(yùn)行的OSA可能都具有不同的權(quán)限。當(dāng)上下文切換時,MPU的保護(hù)范圍也會動態(tài)切換,以適配不同的OSA。

    CMPU一樣,只有擁有對應(yīng)內(nèi)存區(qū)域訪問權(quán)限的OSA,才能成功完成訪問,否則會觸發(fā)系統(tǒng)定義的故障。CMPU通常擁有更多的保護(hù)區(qū)域,且能覆蓋所有的內(nèi)存空間。在這基礎(chǔ)上,CMPU還支持保護(hù)集的預(yù)設(shè),使CPU進(jìn)行上下文切換時,更快地切換地址空間地MPU保護(hù)權(quán)限。一般來說,CMPU的應(yīng)用更為廣泛,在一些不那么復(fù)雜的系統(tǒng)中甚至只用CMPU就足以完成內(nèi)存隔離的需求。


    3 CMPU隔離原理


    SOC上的安全隔離

    相比MCU,SOC擁有更強(qiáng)大的性能,可以運(yùn)行一些復(fù)雜操作系統(tǒng)(比如linux)。這種情況下,基于地址范圍進(jìn)行保護(hù)的MPU就顯得力不從心了。進(jìn)程是操作系統(tǒng)進(jìn)行資源分配的基本單位,一些應(yīng)用程序可能由多個進(jìn)程組成,在某些場景中(比如座艙域)還需要虛擬機(jī)來運(yùn)行不同的操作系統(tǒng)。

    因此,我們把SOC上的內(nèi)存隔離場景劃分為兩個層級:進(jìn)程級隔離、應(yīng)用程序級隔離和操作系統(tǒng)級隔離。本文主要介紹進(jìn)程級隔離。

    MMUMemory Management Unit)是SOC中常見的硬件,用于提供進(jìn)程級別的內(nèi)存分配和隔離。進(jìn)程在運(yùn)行時,操作系統(tǒng)會使進(jìn)程認(rèn)為自己獨(dú)占整個尋址空間(32位機(jī)器尋址空間為4GB),并使用連續(xù)的物理地址進(jìn)行操作。但實(shí)際上,這個內(nèi)存空間要么尚未分配,要么部分存在于磁盤中。并且其使用的虛擬地址會由MMU進(jìn)行翻譯,對應(yīng)到分散的物理地址中。

    MMU的工作原理如圖4所示。內(nèi)存空間被劃分為若干頁面(Page),每個頁面占用4KB內(nèi)存。進(jìn)程使用的連續(xù)虛擬頁面被MMU翻譯到具體的分散的物理頁面中。

    MMU最主要的功能其實(shí)是將虛擬頁翻譯到物理頁。那為什么MMU可以實(shí)現(xiàn)進(jìn)程級隔離呢?

    因?yàn)?span lang="EN-US">MMU的翻譯是基于頁表進(jìn)行的,頁表記錄了進(jìn)程虛擬頁到物理頁的映射。操作系統(tǒng)為不同的進(jìn)程分配的不同的頁表起始地址,存儲在對應(yīng)寄存器中。當(dāng)MMU翻譯地址時,根據(jù)頁表起始地址加偏移量定位到具體的頁表項(xiàng),進(jìn)而完成地址翻譯。不難看出,這種機(jī)制使得進(jìn)程擁有天然隔離的零散的地址空間。



    4 MMU工作原理


    安全隔離小結(jié)

    安全隔離的底層原理是避免軟件對內(nèi)存的不合理訪問,以滿足功能安全要求。硬件層面上,有MPUMMU這樣的硬件進(jìn)行程序內(nèi)存空間的保護(hù)和約束;軟件層面上,容器化技術(shù)和虛擬化技術(shù)也能幫助用戶制定更靈活的隔離策略。但并不是說實(shí)現(xiàn)了這些安全隔離機(jī)制就等于完全滿足了安全隔離需求,還需要結(jié)合軟件和系統(tǒng)的正確設(shè)計來共同達(dá)成目標(biāo)。

     

    經(jīng)緯恒潤功能安全團(tuán)隊(duì)成立于2008年,系國內(nèi)較早從事功能安全技術(shù)研究的團(tuán)隊(duì)。作為功能安全、預(yù)期功能安全國家標(biāo)準(zhǔn)委員會成員,經(jīng)緯恒潤的研發(fā)流程、生產(chǎn)流程已通過功能安全開發(fā)過程認(rèn)證,功能安全開發(fā)過程達(dá)到ASIL-D,相關(guān)產(chǎn)品已成功服務(wù)于近百家國內(nèi)外整車及零部件企業(yè)。

    經(jīng)緯恒潤功能安全軟件團(tuán)隊(duì)可提供功能安全軟件開發(fā)技術(shù)咨詢服務(wù),包括功能安全軟件階段流程/產(chǎn)品咨詢、L2監(jiān)控算法開發(fā)集成和L3安全機(jī)制(安全通信、隔離、監(jiān)控、執(zhí)行和芯片AOU)的開發(fā)集成,控制器覆蓋動力域、底盤域、智駕域和車身域等。

    未來,經(jīng)緯恒潤將緊跟行業(yè)發(fā)展趨勢和市場需求,結(jié)合自身汽車電子產(chǎn)品研發(fā)和國內(nèi)外咨詢實(shí)踐,一如既往地堅(jiān)持自主創(chuàng)新道路,為智能汽車安全保駕護(hù)航。

  • 企業(yè)介紹
經(jīng)緯恒潤成立于2003年,股票代碼688326。專注于為汽車、無人運(yùn)輸?shù)阮I(lǐng)域的客戶,提供電子產(chǎn)品、研發(fā)服務(wù)和高級別智能駕駛整體解決方案。公司總部位于北京,在天津、南通、馬來西亞建有研發(fā)中心和現(xiàn)代化工廠,形成了完善的研發(fā)、生產(chǎn)、營銷、服務(wù)…  更多>>
  • 聯(lián)系方式

北京經(jīng)緯恒潤科技股份有限公司

聯(lián)系人:經(jīng)緯恒潤

地址:北京朝陽區(qū)酒仙橋路14號1幢4層

郵編:100000

電話:010-64840808-6117

傳真:

公司網(wǎng)址:http://www.hirain.com

  • 該空間手機(jī)版

掃描此二維碼即可訪問該空間手機(jī)版

  • 在線反饋
1.我有以下需求:



2.詳細(xì)的需求:
姓名:
單位:
電話:
郵件:
您還沒有登錄,請登陸,
如果您還沒有注冊,點(diǎn)擊這里注冊.
  • 網(wǎng)友反饋
  • 王水 在2024/12/17 16:55:00留言
  • 留言類型:得到貴公司產(chǎn)品的價格信息,
  • 詳細(xì)留言:再寫一個車輛相關(guān)的項(xiàng)目預(yù)算。想使用貴司的ModelBase仿真工具進(jìn)行多體動力學(xué)建模仿真。想咨詢一下價格
  • 黃鎮(zhèn)江 在2024/12/5 11:43:00留言
  • 留言類型:貴公司產(chǎn)品銷售人員聯(lián)系我,貴公司技術(shù)支持人員聯(lián)系我,
  • 詳細(xì)留言:我方需貴方提供電子油門傳感器以適配我方自研的防誤踩油門踏板。
  • 龍高 在2024/9/10 9:06:00留言
  • 留言類型:得到貴公司產(chǎn)品的價格信息,
  • 詳細(xì)留言:Compact6_GBus TE, CN5.2.05
  • 在2024/8/6 10:13:00留言
  • 留言類型:貴公司產(chǎn)品銷售人員聯(lián)系我,
  • 詳細(xì)留言:了解一下這款軟件價格
  • 毛先生 在2024/6/28 14:14:00留言
  • 留言類型:我想得到貴公司產(chǎn)品詳細(xì)資料,我讓貴公司產(chǎn)品銷售人員聯(lián)系我,
  • 詳細(xì)留言:實(shí)時仿真機(jī)
更多請進(jìn)入空間管理中心查看
關(guān)于我們 | 網(wǎng)站地圖 | 聯(lián)系我們
© 2003-2018    經(jīng)營許可編號:京ICP證120335號
公安機(jī)關(guān)備案號:110102002318  服務(wù)熱線:010-82053688
我要反饋