在SAE 2024國際汽車安全大會(huì)上,Elektrobit的Linux專家王紅燕在操作系統(tǒng)與芯片技術(shù)的分論壇上為大家?guī)砹恕?strong>面向功能安全應(yīng)用的汽車開源操作系統(tǒng)解決方案”主題演講。
為了便于大家能夠有進(jìn)一步了解,我們將此次演講內(nèi)容進(jìn)行了提煉整理,內(nèi)容如下:
挑戰(zhàn)與汽車行業(yè)需求
首先來了解下汽車行業(yè)和開源軟件的現(xiàn)狀,我們一般來說是不會(huì)頻繁地去申請軟件的版本,申請時(shí)主要是修復(fù)有bug的部分。那開源軟件的現(xiàn)狀是什么?
第一個(gè)產(chǎn)品生命周期非常短,如果大家關(guān)注過Linux Kernel的開源社區(qū)就會(huì)發(fā)現(xiàn)基本上兩周、三周就會(huì)有一個(gè)完整的更新。
第二個(gè)是它的好處,就是創(chuàng)新非常快,基本上最新的一些技術(shù)都會(huì)體現(xiàn)在Linux操作系統(tǒng)上。
第三個(gè)是Linux的漏洞是通過不斷的升級版本來進(jìn)行更新的。比如說在6.1上發(fā)現(xiàn)了一個(gè)bug,那一般是不會(huì)在6.1上修復(fù)的,通常會(huì)修復(fù)到6.2或者更高的版本上去,這樣子其實(shí)不符合我們汽車行業(yè)的要求。
我們再來看下汽車行業(yè)的要求,為什么去選Linux,其實(shí)原因有很多。
第一個(gè)就是它的功能眾多而且非常強(qiáng)大,剛剛可以看到Linux提供了很多安全的手段。
第二個(gè)是開發(fā)人員就是比較易招,基本上學(xué)計(jì)算機(jī)或者是一些息息相關(guān)的專業(yè),Linux都是必修的。
還有一個(gè)最大的優(yōu)勢,是無廠商鎖定,它是不綁定license的,不屬于任何一個(gè)公司,所以我們不會(huì)因?yàn)橐驗(yàn)槟承┰驅(qū)е卤荒承┕炬i定而得不到軟件。
還有一個(gè)創(chuàng)新快,這是開源軟件最大的一個(gè)優(yōu)點(diǎn),因?yàn)槿蛴袛?shù)億開發(fā)者在貢獻(xiàn)Linux開源社區(qū)。
最后一個(gè)是廣泛的硬件支持和源代碼透明易于調(diào)試,這個(gè)大家應(yīng)該都比較清楚。
合規(guī)性挑戰(zhàn)
第一個(gè)組建非常復(fù)雜且集成比較麻煩,因?yàn)楝F(xiàn)在特別是在A核上面的應(yīng)用會(huì)越來越多,那我們APP的供應(yīng)商也會(huì)越來越多,對我們Tier 1或者是OEM去集成這些APP的時(shí)候,當(dāng)所有的APP都集成到一個(gè)Linux操作系統(tǒng)上,定位問題就會(huì)非常麻煩。
第二個(gè)就是需要適應(yīng)一些新的標(biāo)準(zhǔn),不管是新的歐盟,包括美國以及我們國家的一些安全標(biāo)準(zhǔn)也很快都會(huì)出來。
第三個(gè)就是功能安全,Linux擁有比如開源、沒有廠商鎖定這些好處,但是它缺了一點(diǎn),就是我們汽車某些域它有一些功能安全的要求。
第四點(diǎn)就是開發(fā)方法非常多,這個(gè)是我們從開源社區(qū)截的兩張圖,左邊這張圖就是我們關(guān)注Linux安全的可能經(jīng)常會(huì)查閱的一個(gè)網(wǎng)站,就是NVD。在這個(gè)NVD的網(wǎng)站上,它會(huì)列出來全世界各地發(fā)現(xiàn)的Linux的bug,然后這個(gè)就可以看到,bug其實(shí)是隨著時(shí)間的增長開始一個(gè)直線型的增長。然后右邊這張圖是Linux開源社區(qū)的更新,大家可以看到更新的非常頻繁。
彌合差距
那Elektrobit是怎么做的呢? 首先第一個(gè)針對我們有很多個(gè)APP供應(yīng)商這樣的一個(gè)問題,就是集成面的問題,我們引入了一個(gè)容器的概念,Elektrobit的Linux它是一個(gè)基于容器的操作系統(tǒng),那么這個(gè)容器帶來的好處有以下幾點(diǎn):
首先,它會(huì)給APP創(chuàng)造這么一個(gè)隔離的環(huán)境,把APP和整個(gè)系統(tǒng)然后隔離開,第二個(gè)就是安全上面的使用,比如說它會(huì)在各個(gè)層面上去做嚴(yán)格的一個(gè)定義,RAM, CPU, disk, network,包括剛剛我們上一個(gè)演講者所提到的比如說compatibility,還有一些dm-verity這些,然后在這個(gè)Container里面配置的時(shí)候,它的DAC,包括你的UID、GID這些都要配好,然后你的compatibility,Cgroup, Namespace這些都要配置上去,所以說它是一個(gè)對APP安全性提高非常大的一個(gè)特性(feature)。
然后第二個(gè)就是對于集成帶來的好處,因?yàn)樗鼤?huì)把比如說每一個(gè)APP的供應(yīng)商它可能用到的庫的版本,其實(shí)我們今天是用同一個(gè)庫,但是大家版本不一樣,如果集成的時(shí)候,我們熟悉Linux的可能都知道,我們一般像二進(jìn)制應(yīng)用都會(huì)放到/usr/bin下面,庫放到/usr/bin下面,如果有很多個(gè)APP,大家用到的版本都不一樣,這樣子的話,你就在這個(gè)庫下面有很多個(gè)版本,所以如果我們每一個(gè)APP供應(yīng)商,大家都把自己所需要的配置文件都打包在一個(gè)Linux的一個(gè)Container鏡像當(dāng)中,那我們最終集成調(diào)試地也會(huì)比較方便,因?yàn)檎l的容器沒有啟起來,那就是誰的問題。
這個(gè)容器的方案,其實(shí)我們在市場上應(yīng)該也會(huì)看到很多,比如說像OCI,Podman, Docker,我想應(yīng)該有很多已經(jīng)嘗試過不同的方案了,那Docker, Podman的問題就是太大了,那我們汽車的硬件,比如EMS、包括內(nèi)存都是有限的,而且成本比較高,Elektrobit的Container,是一個(gè)輕量級的解決方案。
還有一個(gè)問題就是,剛才我們有一個(gè)Temper proof,就是防竄改。防竄改我們就引入了dm-verity這個(gè)feature,所以在每一次你啟動(dòng)Container這個(gè)鏡像(image)的時(shí)候,我們都會(huì)去做integrity check,大家不用擔(dān)心說Container的image被第三方進(jìn)行篡改,這是Elektrobit的一個(gè)Container。
另外,因?yàn)镃ontainer其實(shí)就是一個(gè)image,所以它可以非常方便地去做到SOTA,而不是說每次升級的時(shí)候,我要整個(gè)系統(tǒng)去進(jìn)行升級。
最后一點(diǎn)就是Elektrobit的Container是跟我們業(yè)內(nèi)通用的OCI標(biāo)準(zhǔn)是兼容的,那我們Container是怎么放的呢?就是你相同的一些應(yīng)用,比如說你功能相近,還有一些比如說交互非常頻繁的應(yīng)用,我們都建議放在一個(gè)容器內(nèi)部,因?yàn)橐粋€(gè)容器可以放一個(gè)APP,也可以放多個(gè)APP。又比如像我們經(jīng)常使用中間件,Adaptive AUTOSAR, 一般來說Elektrobit提供的集成方案——就是我們的Adaptive AUTOSAR是一個(gè)容器鏡像,然后給客戶的時(shí)候就是一個(gè)鏡像給到客戶,然后客戶放上去就運(yùn)行起來,沒有任何集成的代價(jià),這對于Tier 1或者OEM來說就會(huì)非常方便。
尤其Container的接口,我覺得是Linux做得比較好的,它的向后兼容性都做得非常好。
剛剛我們也說了,Linux開源設(shè)計(jì)上,它的更新非常頻繁,對于我們汽車操作系統(tǒng)來說,特別量產(chǎn)之后,我們是不大可能頻繁的去升級我們的Kernel版本的,那對于Elektrobit的維護(hù)方案是怎樣的呢,就是每兩年,我們會(huì)選取一個(gè)Kernel版本,每一個(gè)Kernel版本我們會(huì)維護(hù)10年到15年(包括產(chǎn)品和安全)這樣的一個(gè)維護(hù)周期。
比如我們Elektrobit第一款量產(chǎn)的Linux操作系統(tǒng)是在大眾ID.系列上面,當(dāng)時(shí)的那個(gè)Kernel版本還是4.19,我們現(xiàn)在還在維護(hù)?,F(xiàn)在當(dāng)下的話,我們的Kernel版本已經(jīng)到5.15,它是一個(gè)固定版本的一個(gè)Kernel版本維護(hù)。
為構(gòu)建下一代汽車操作系統(tǒng),我們聯(lián)合了一個(gè)強(qiáng)有力的合作伙伴,就是Canonical,雙方共同推出了基于Ubuntu的EB corbos Linux開源解決方案。Elektrobit的EB corbos Linux是一個(gè)單獨(dú)的發(fā)行包,我們的一些Kernel部分就是由我們的合作伙伴Canonical進(jìn)行維護(hù), Elektrobit作為一個(gè)專業(yè)的汽車軟件公司,我們的關(guān)注點(diǎn)就是在功能安全(Functional Safety)上面,所以我們提供的面向功能安全應(yīng)用的EB corbos Linux for Safety Applications解決方案,目前是達(dá)到ASIL-B的,該解決方案彌補(bǔ)了開源操作系統(tǒng)對于功能安全的一個(gè)需求。
然后是關(guān)于信息安全(Security)的一些標(biāo)準(zhǔn),我們的解決方案可以滿足主流的信息安全法律法規(guī),包括:14028,ISO/SAE 21434,還有歐盟的UNR 155,VDA, 這些我們都可以滿足,包括我們已經(jīng)量產(chǎn)的產(chǎn)品里面,比如說像剛剛介紹的Container的一項(xiàng)compatibility,Cgroup,Namespace,dm-verity,以及我們在三層、四層的iptables, netfilter這些都是EB corbos Linux for Safety Applications滿足這些安全都必須的組件。
剛剛我們也說了Elektrobit的EB corbos Linux for Safety Applications目前可以做到功能安全等級到ASIL-B,那我們的功能安全概念是怎樣的?
這是我們EB corbos Linux for Safety Applications的Safety Concept,底層是有一個(gè)EB corbos Hyperviser,這是Elektrobit的一個(gè)虛擬化解決方案,它是有ASIL-B/D等級的,上面是一個(gè)EB corbos Linux for Safety Applications的Kernel(看右邊部分),左邊部分是帶Container的QM Linux,右邊的話是我們Safety的一個(gè)partition(分區(qū)),在上面是我們的Safety的一個(gè)中間件,然后再上面是Safety的APP,在Hyperviser和Kernel之間有一層隔離,這一層隔離所有的讀、寫、執(zhí)行、包括一些訪問,通通都是被MMU和Hyperviser來進(jìn)行監(jiān)控和控制,在我們的操作系統(tǒng)和APP之間也是有它的所有的讀、寫、操作、訪問控制,都是由我們的safety monitor這個(gè)模塊,這個(gè)safety monitor不是一個(gè)物理的模塊,它是一個(gè)邏輯上的模塊,就是有統(tǒng)稱的這個(gè)safety monitor以及我們的MMU和Exception Level(EL, 異常級別)來控制,然后Safety和APP之間也是有MMU來進(jìn)行保護(hù)的,這樣子的話就是中間還有個(gè)Safety的中間件。
對AUTOSAR CP里面Safety架構(gòu)比較清楚的同仁知道,在Safety里面我們除了有Safety OS, 還有一些Safety模塊,例如Safety E2E, Safety RTE等,那對于我們A核同樣也是一個(gè)系統(tǒng)級別的Safety方案,我們除了有一個(gè)Hyperviser加EB corbos Linux for Safety Applications這樣的一個(gè)滿足功能安全的OS之外,我們同時(shí)還需要有一個(gè)Safety的中間件來整個(gè)達(dá)成我們A核這邊對功能安全的需求。
接下來就是我們基于Arm的三層對于Exception Level的一個(gè)處理,我們Safe Application需要用Supervisor Core,Supervisor Core中間這一些的調(diào)用的話,它所有的讀、寫、訪問控制、執(zhí)行權(quán)限都由Safety monitor和MMU來進(jìn)行控制, EL1和EL2,Hyperviser Core這一層的話由Safety monitor和MMU來控制和監(jiān)控。整個(gè)Exception Level這個(gè)Kernel的部分,因?yàn)槲覀內(nèi)绻岩粋€(gè)Kernel幾件事情裁到最小的話,理論上也是可行的,就是你把一個(gè)Kernel去做到Safety,但是經(jīng)濟(jì)上它是不可行的,因?yàn)長inux Kernel更新太快了,你可能一個(gè)Kernel做到Safety,然而也許它已經(jīng)更新到很多版本了。所以我們的方案是一個(gè)系統(tǒng)化的解決方案,就是Hyperviser是一個(gè)帶ASIL的模塊,我們OS safety monitor也是一個(gè)帶ASIL的模塊,包括上層的Safety application,也是一個(gè)帶ASIL的模塊,這三個(gè)模塊和我們中間QM的Kernel之間都是做到了一個(gè)隔離和監(jiān)控,這樣子的話,整個(gè)來達(dá)到一個(gè)Safety。
路線圖
最后看一下我們的路線圖,第一就是關(guān)于Safety Concept這一部分,我們已經(jīng)拿到了TUV的技術(shù)憑資的認(rèn)證,首先我們的Safety Concept是沒有問題的。
第二就是關(guān)于如何通過技術(shù)手段,來實(shí)現(xiàn)這些Safety Concept,這一部分我們也已經(jīng)通過了認(rèn)證,我們在今年的CES展上展示過demo,包括今年我們在北京車展上也已經(jīng)全球首發(fā)發(fā)布了這款產(chǎn)品和解決方案。
第三,我們目前計(jì)劃是在2025年可以實(shí)現(xiàn)結(jié)合客戶的具體項(xiàng)目,具體應(yīng)用需求,比如說ADAS,或者是需要功能安全的項(xiàng)目,來實(shí)現(xiàn)整個(gè)系統(tǒng)、項(xiàng)目的ASIL-B的量產(chǎn)。
-
Linux
+關(guān)注
關(guān)注
87文章
11131瀏覽量
207987 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6556瀏覽量
122792 -
開源
+關(guān)注
關(guān)注
3文章
3153瀏覽量
42096 -
Elektrobit
+關(guān)注
關(guān)注
0文章
24瀏覽量
3525
原文標(biāo)題:直擊演講 | 面向功能安全應(yīng)用的汽車開源操作系統(tǒng)解決方案(文字實(shí)錄)
文章出處:【微信號(hào):Elektrobit官方,微信公眾號(hào):Elektrobit】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論