隨著汽車智能化和自動(dòng)駕駛技術(shù)的飛速發(fā)展,車載高性能計(jì)算(High-Performance Computing, HPC)系統(tǒng)已成為推動(dòng)汽車產(chǎn)業(yè)革新的核心力量。在此背景下,Linux作為開源操作系統(tǒng)領(lǐng)域的佼佼者,正以其高度靈活性、強(qiáng)大生態(tài)系統(tǒng)以及不斷發(fā)展的安全特性,在車載HPC安全領(lǐng)域發(fā)揮著至關(guān)重要的作用。
我們很高興地宣布,經(jīng)過深入研究與實(shí)踐探索,Elektrobit正式發(fā)布《Linux在提升車載HPC安全方面的應(yīng)用:綜合概述》白皮書。本白皮書主要內(nèi)容為面向功能安全應(yīng)用的EB corbos Linux for Safety Applications的架構(gòu)、開發(fā)階段和概念,以便大家更加了解Linux在車載HPC安全方面的工作原理。
1.引言
功能安全至關(guān)重要
自20世紀(jì)90年代以來,由于系統(tǒng)復(fù)雜性不斷增加,汽車上的電子控制單元 (ECU) 越來越多。防抱死制動(dòng)系統(tǒng)、牽引力控制和高級駕駛輔助系統(tǒng)(ADAS) 等功能需要專用的ECU,以便進(jìn)行優(yōu)化,并確保高效的性能和可靠性。
這種ECU模塊化設(shè)計(jì)方法便于在不對整個(gè)系統(tǒng)進(jìn)行檢修的情況下集成新功能,在采購、裝配和維護(hù)方面具有靈活性和成本效益。此外,用于制動(dòng)和安全氣囊展開等關(guān)鍵功能的專用ECU通過隔離這些功能和降低系統(tǒng)故障風(fēng)險(xiǎn),大大提高了車輛的安全性和可靠性。
監(jiān)管要求和行業(yè)標(biāo)準(zhǔn)進(jìn)一步推動(dòng)了多個(gè)ECU在汽車中的應(yīng)用。排放控制、功能安全和網(wǎng)絡(luò)安全方面的規(guī)定往往要求使用專用的ECU來實(shí)現(xiàn)特定功能。此外,行業(yè)標(biāo)準(zhǔn)和協(xié)議促進(jìn)了不同ECU和車輛系統(tǒng)之間的互操作性和兼容性,確保了無縫集成和操作。隨著軟件功能的增加,高性能計(jì)算 (HPC) 系統(tǒng)當(dāng)前的目標(biāo)是將許多ECU的功能整合到單個(gè)片上系統(tǒng) (SoC) 或ECU數(shù)量更少但更大的SoC集群中。
高性能計(jì)算 (HPC) 系統(tǒng)對管理安全關(guān)鍵和非安全關(guān)鍵應(yīng)用不可或缺,因此功能安全在車載HPC系統(tǒng)中至關(guān)重要。HPC系統(tǒng)必須遵守功能安全方面的適用標(biāo)準(zhǔn)和法規(guī),如ISO 26262,以實(shí)現(xiàn)所需的可靠性、功能安全、信息安全,特別是網(wǎng)絡(luò)安全、隱私和數(shù)據(jù)保護(hù)。
自動(dòng)駕駛增加了對安全相關(guān)軟件的需求
自動(dòng)駕駛,又稱(部分)無人駕駛或自動(dòng)駕駛技術(shù),大幅增加了車輛中與安全相關(guān)的軟件數(shù)量,主要有以下幾個(gè)原因:
控制系統(tǒng)的復(fù)雜性。復(fù)雜的傳感器(攝像頭或雷達(dá))和控制單元等組件之間錯(cuò)綜復(fù)雜的相互作用,使自動(dòng)駕駛系統(tǒng)變得越來越復(fù)雜。復(fù)雜傳感器產(chǎn)生的海量數(shù)據(jù)需要經(jīng)過先進(jìn)且密集的數(shù)據(jù)處理。各種復(fù)雜傳感器的集成和先進(jìn)的數(shù)據(jù)處理需要許多技術(shù)嫻熟的跨學(xué)科團(tuán)隊(duì)合作。確保復(fù)雜控制系統(tǒng)的功能安全本身也是一項(xiàng)復(fù)雜的任務(wù)。
物體識別和情境解讀。AD/ADAS系統(tǒng)首先需要建立一個(gè)不確定且不斷變化的環(huán)境模型(道路、其他車輛、行人、車輛本身......)。這反過來又需要收集和處理來自不同傳感器的信息,并將其匯總到該模型中,然后利用該模型就如何駕駛車輛做出決策。這一過程需要大量密集的數(shù)據(jù)采集和處理,包括圖像和信號。
冗余和失效可操作機(jī)制。自動(dòng)駕駛汽車中的安全關(guān)鍵系統(tǒng)通常采用冗余和故障檢測與排除機(jī)制,以確保系統(tǒng)可用性和功能安全。
例如,采用冗余傳感器陣列和冗余處理單元來交叉驗(yàn)證數(shù)據(jù)并檢測/消除/緩解潛在故障。先進(jìn)的故障檢測、隔離和恢復(fù)算法通常用于檢測異常情況,從而確保安全運(yùn)行。
在SAE L2級別及以下的ADAS系統(tǒng)中,駕駛員始終是最終的監(jiān)督者,對車輛負(fù)最終責(zé)任,即使系統(tǒng)出現(xiàn)故障也是如此。從SAE L3級別開始,系統(tǒng)對車輛的安全承擔(dān)全部責(zé)任,而駕駛員則無需監(jiān)督其運(yùn)行。因此,要求系統(tǒng)在發(fā)生故障后仍能執(zhí)行緊急功能,至少在有限的時(shí)間內(nèi)(例如,直到車輛停穩(wěn))。對于失效安全系統(tǒng),冗余可用于檢測故障;而對于失效可操作系統(tǒng),冗余還能在發(fā)生故障或失效時(shí)提供執(zhí)行緊急功能所需的可用性。當(dāng)然,這也適用于我們的數(shù)字座艙示例,我們還需要設(shè)定安全狀態(tài)和/或回退機(jī)制。
實(shí)時(shí)決策。自動(dòng)駕駛系統(tǒng)必須在動(dòng)態(tài)和不可預(yù)測的駕駛環(huán)境中迅速做出決策,以確保安全駕駛。這要求軟件具有高度的響應(yīng)性和準(zhǔn)確性,能夠通過復(fù)雜的算法實(shí)時(shí)處理大量數(shù)據(jù)。軟件必須考慮道路狀況、交通模式、天氣條件和其他道路使用者的行為等因素,以做出適當(dāng)?shù)鸟{駛決策,避免事故發(fā)生。
驗(yàn)證和校驗(yàn)。開發(fā)自動(dòng)駕駛安全關(guān)鍵軟件需要進(jìn)行適當(dāng)?shù)尿?yàn)證和校驗(yàn),以確保剩余誤差的風(fēng)險(xiǎn)符合適用的規(guī)范和法規(guī)。這包括在模擬和真實(shí)環(huán)境中進(jìn)行測試,涉及許多不同場景的虛擬和真實(shí)駕駛數(shù)據(jù)。
自動(dòng)駕駛技術(shù)為車輛帶來了各種與安全相關(guān)的軟件組件。這些組件包括從感知算法到失效可操作機(jī)制的所有內(nèi)容。此外,還有驗(yàn)證/校驗(yàn)流程來確保所有這些組件正常工作。隨著汽車行業(yè)向自動(dòng)駕駛方向發(fā)展,確保這些軟件系統(tǒng)的安全性和可靠性至關(guān)重要。
高性能計(jì)算與對AD/ADAS和座艙的適用性
HPC系統(tǒng)支持自動(dòng)駕駛和防撞等安全關(guān)鍵功能,而作為HPC用例的座艙/車載信息娛樂 (IVI) 系統(tǒng)主要側(cè)重于娛樂和GPS導(dǎo)航等非安全關(guān)鍵功能,但也執(zhí)行與安全相關(guān)的功能。無論其關(guān)鍵程度如何,這兩種情況都面臨與系統(tǒng)復(fù)雜性、互連性和潛在故障模式有關(guān)的挑戰(zhàn),因此必須采取強(qiáng)有力的功能安全措施,以確保可靠運(yùn)行。
圖 12024年國際消費(fèi)類電子產(chǎn)品展覽會(huì) (CES) 上展示的邊緣到邊緣數(shù)字座艙
2.Linux在汽車系統(tǒng)中的作用
理解和定義Automotive OS
Automotive OS(汽車操作系統(tǒng))是汽車制造商目前最常用的術(shù)語之一。它讓人聯(lián)想到汽車就像您的手機(jī)或電腦一樣擁有一個(gè)單一的操作系統(tǒng),并且體現(xiàn)了“軟件定義汽車”的概念——這也是目前汽車界廣泛使用的另一個(gè)術(shù)語。然而,我們都知道,一輛汽車實(shí)際上包含幾十個(gè)獨(dú)立的ECU,它們都運(yùn)行各自的軟件,通過CAN或以太網(wǎng)等多個(gè)網(wǎng)絡(luò),使用主要由AUTOSAR定義的通用通信標(biāo)準(zhǔn)進(jìn)行連接。這一系列ECU該如何形成一個(gè)單一的汽車操作系統(tǒng)?這種分散的基礎(chǔ)設(shè)施又該如何保證功能安全和信息安全?
要解決這些問題,我們需要從術(shù)語“Automotive OS”的定義入手。Elektrobit 使用三個(gè)陳述來定義Automotive OS的屬性:
“Automotive OS是一個(gè)軟件平臺,它能夠?qū)?fù)雜的ECU車輛網(wǎng)絡(luò)抽象簡化為單一設(shè)備。”
這意味著,對于Automotive OS而言,我們談?wù)摰牟皇且粋€(gè)單一的操作系統(tǒng)。事實(shí)上,它是一個(gè)軟件層,利用定義的接口隱藏復(fù)雜的ECU集合及其通信矩陣。這樣,信息娛樂系統(tǒng)和集群系統(tǒng)等應(yīng)用程序就能與駕駛員和乘客進(jìn)行交互,同時(shí)還能通過云連接訪問汽車功能,而無需了解汽車的網(wǎng)絡(luò)結(jié)構(gòu)。這有助于提高不同車型和不同代軟件平臺之間的可移植性。
“Automotive OS管理、監(jiān)督和更新設(shè)備?!?/strong>
當(dāng)然,組成Automotive OS的軟件平臺了解汽車的內(nèi)部網(wǎng)絡(luò)。它確保各個(gè)組件配置正確,以適當(dāng)狀態(tài)運(yùn)行,并充當(dāng)與外部世界的接口。它還確保所有組件都是最新的,并在兼容的軟件版本上運(yùn)行。
“Automotive OS通過協(xié)調(diào)用于開發(fā)功能的API來構(gòu)建生態(tài)系統(tǒng)。”
雖然前兩個(gè)陳述已經(jīng)大大提高了汽車制造商軟件平臺的可維護(hù)性,但這句話卻概括了Automotive OS概念的全部意義:“我們需要為應(yīng)用程序提供一個(gè)開放且明確的接口,使其能夠在不同車型、品牌,甚至不同代的汽車上運(yùn)行,就像您的手機(jī)應(yīng)用可以在多個(gè)操作系統(tǒng)版本和各種設(shè)備上運(yùn)行一樣”。
在汽車系統(tǒng)中使用Linux的優(yōu)勢
GNU/Linux作為一種開源操作系統(tǒng),可為汽車系統(tǒng)提供眾多優(yōu)勢。它可在服務(wù)器環(huán)境、云計(jì)算、HPC和Android設(shè)備等各種使用情況下提供可定制的特性和功能、可靠性和穩(wěn)定性。
龐大的開發(fā)人員庫。GNU/Linux的一大優(yōu)勢是其龐大的開發(fā)人員庫。大量的用戶和用戶組織有助于不斷改進(jìn)和提供寶貴的資源、文檔和支持。眾所周知的API簡化了開發(fā)和集成,節(jié)省了時(shí)間和工作量。此外,開源特性可避免供應(yīng)商鎖定,使組織能夠從多個(gè)供應(yīng)商中進(jìn)行選擇,即使原來的供應(yīng)商無法提供服務(wù),也能確保靈活性。
創(chuàng)新周期快。GNU/Linux創(chuàng)新周期快,經(jīng)常更新、修復(fù)錯(cuò)誤并增加新功能,使操作系統(tǒng)處于最新狀態(tài)。
兼容性。GNU/Linux與多種硬件架構(gòu)兼容,汽車制造商可根據(jù)具體要求選擇組件,而不會(huì)立即出現(xiàn)軟件兼容性問題。
源代碼透明。此外,GNU/Linux的源代碼完全透明,有助于高效調(diào)試和故障排除,從而加快錯(cuò)誤修復(fù)速度,提高系統(tǒng)穩(wěn)定性。這種透明度提高了基于GNU/Linux構(gòu)建的汽車系統(tǒng)的整體可維護(hù)性。
在汽車中使用專門的Linux發(fā)行版相較于使用企業(yè)發(fā)行版或嵌入式Linux構(gòu)建系統(tǒng)的優(yōu)勢
在汽車應(yīng)用中選擇Linux發(fā)行版而不是Yocto等嵌入式Linux構(gòu)建系統(tǒng),需要考慮幾個(gè)關(guān)鍵因素,其中維護(hù)是一個(gè)重要的考慮因素。雖然Yocto為嵌入式系統(tǒng)提供了靈活性和定制選項(xiàng),但它需要大量的專業(yè)知識和資源才能進(jìn)行有效的維護(hù)和更新。相比之下,專為汽車定制的Linux發(fā)行版通過提供預(yù)配置組件和對汽車特定功能的支持,簡化了維護(hù)流程,減輕了開發(fā)團(tuán)隊(duì)的負(fù)擔(dān),并確保了系統(tǒng)在汽車生命周期內(nèi)的安全性。
還需要考慮的是,由于通用Linux發(fā)行版對存儲和內(nèi)存的要求過高,無法滿足汽車領(lǐng)域的特定需求。到目前為止,這一直是通過簡單地減少軟件包的數(shù)量來解決的,但這并不是一個(gè)有效的解決方案,因?yàn)樗鼤?huì)對功能產(chǎn)生不利影響。
此外,專用的汽車Linux發(fā)行版可針對汽車用例和車規(guī)級安全功能進(jìn)行有針對性的優(yōu)化和增強(qiáng),并應(yīng)符合ISO 26262等適用標(biāo)準(zhǔn)和法規(guī)。EB corbos Linux for Safety Applications配備了專為汽車開發(fā)定制的軟件堆棧和工具,可加快產(chǎn)品上市速度并降低開發(fā)成本。
3.汽車行業(yè)的功能安全標(biāo)準(zhǔn)和法規(guī)
相關(guān)安全標(biāo)準(zhǔn)和法規(guī)概述
相關(guān)的汽車安全標(biāo)準(zhǔn)和法規(guī)在確保道路車輛的安全和可靠性方面發(fā)揮著至關(guān)重要的作用。最突出的標(biāo)準(zhǔn)之一是 ISO 26262,該標(biāo)準(zhǔn)概述了道路車輛電氣和電子系統(tǒng)的功能安全要求。ISO 26262為整個(gè)汽車供應(yīng)鏈的安全關(guān)鍵系統(tǒng)的開發(fā)、實(shí)施和驗(yàn)證提供了一個(gè)全面的框架。它涵蓋多個(gè)方面,包括危害分析和風(fēng)險(xiǎn)評估、安全目標(biāo)定義、硬件和軟件開發(fā)流程以及驗(yàn)證和校驗(yàn),所有這些都旨在最大限度地降低系統(tǒng)故障風(fēng)險(xiǎn),確保車輛安全。
在軟件源代碼層面,對于汽車而言,這通常包括遵守MISRA-C及其衍生標(biāo)準(zhǔn)。雖然有GNU/Linux編碼指南,但這些指南并不針對嵌入式系統(tǒng),更不用說與功能安全相關(guān)的系統(tǒng)。
除ISO 26262之外,汽車制造商還必須遵守針對其目標(biāo)市場的地區(qū)安全法規(guī)和標(biāo)準(zhǔn)。如果公司希望在道路上使用電子或軟件系統(tǒng),就必須將功能安全考慮在內(nèi)。即使產(chǎn)品責(zé)任法沒有明確要求遵守某些功能安全標(biāo)準(zhǔn),汽車制造商也有責(zé)任確保其系統(tǒng)采用最先進(jìn)的技術(shù)開發(fā),包括驗(yàn)證和校驗(yàn)。
功能安全標(biāo)準(zhǔn)對基于Linux的汽車系統(tǒng)的影響
“Linux內(nèi)核作為一個(gè)重要的開源組件,吸引了安全研究人員和廣大開發(fā)人員的極大關(guān)注。其透明的特性使得可以進(jìn)行深入分析,相比閉源軟件,安全漏洞報(bào)告率更高?!?/p>
這可確保較好的網(wǎng)絡(luò)安全性能,但并未涉及功能安全。功能安全是另一個(gè)需要考慮的問題。Linux內(nèi)核并非為車輛系統(tǒng)設(shè)計(jì),即使在出現(xiàn)故障或錯(cuò)誤的情況下,也無法可靠、安全地運(yùn)行,以防止事故并保護(hù)乘客和道路使用者。此外,圍繞內(nèi)核的GNU系統(tǒng)更不是為此目的而設(shè)計(jì)的。這可確保較好的網(wǎng)絡(luò)安全性能,但卻無法實(shí)現(xiàn)所需的功能安全。Linux內(nèi)核的設(shè)計(jì)并不是為了可靠、安全地運(yùn)行,更不是為了處理故障或錯(cuò)誤。圍繞內(nèi)核的GNU系統(tǒng)更不是為安全關(guān)鍵和關(guān)鍵任務(wù)應(yīng)用而設(shè)計(jì)的。因此,使用通常用于實(shí)現(xiàn)和證明符合適用功能安全規(guī)范和標(biāo)準(zhǔn)的方法、技術(shù)和程序來指定和證明GNU/Linux的功能安全是不現(xiàn)實(shí)的。
要使GNU/Linux適用于與功能安全相關(guān)的應(yīng)用,需要采用非常創(chuàng)新的方法和“打破常規(guī)”的思維。
4.汽車領(lǐng)域的Linux安全解決方案
面向功能安全應(yīng)用的EB corbos Linux for Safety Applications是基于開源軟件的安全相關(guān)系統(tǒng)車載HPC系統(tǒng)的解決方案。
經(jīng)過TüV評估的安全架構(gòu),適用于帶有Linux系統(tǒng)的汽車應(yīng)用HPC系統(tǒng)
功能安全概念包括在ECU軟件中集成安全措施,以確保汽車應(yīng)用中關(guān)鍵系統(tǒng)的有效性。
為了展示其解決方案的潛力和優(yōu)勢,Elektrobit開發(fā)了一個(gè)示例系統(tǒng)。該示例系統(tǒng)可顯示由車輛傳感器或攝像頭生成的視頻流,提供有關(guān)車輛周圍環(huán)境的視覺信息。視頻流和其他相關(guān)數(shù)據(jù)顯示在顯示屏上,顯示軟件行為和系統(tǒng)響應(yīng),使觀看者能夠了解系統(tǒng)的行為。該軟件包括一個(gè)安全監(jiān)控系統(tǒng),可持續(xù)分析視頻流中的錯(cuò)誤或異常。如果檢測到任何問題,系統(tǒng)會(huì)采取適當(dāng)?shù)拇胧珀P(guān)閉系統(tǒng)以防止?jié)撛诘陌踩[患。該演示包括一種通過向視頻流或Linux內(nèi)核注入故障來誘導(dǎo)錯(cuò)誤場景的機(jī)制,以模擬系統(tǒng)必須檢測和應(yīng)對異常情況的實(shí)際情況。
系統(tǒng)示例架構(gòu)如圖2所示。在此示例中,HPC中集成了另一個(gè)操作系統(tǒng)分區(qū),使用Android框架為OEM可能希望使用現(xiàn)有軟件模塊的特殊顯示用例提供服務(wù)。陰影區(qū)域顯示了正在開發(fā)和運(yùn)行的組件的安全完整性等級。
圖 2 集成座艙 + IVI示例
示例數(shù)字座艙架構(gòu)圖顯示了不同的硬件和軟件層。從下到上,片上系統(tǒng) (SoC) 使用一個(gè)或多個(gè)RTC核,如ARM Cortex M、R或外部MCU。HPC核通常包括ARM Cortex A核,例如Cortex A78AE。RTC和HPC核各有自己的Bootloader。
在本例中,RTC部分在Bootloader上安裝了支持功能安全的Classic AUTOSAR操作系統(tǒng)EB tresos Safety OS [25] 及其Safety MCAL,但也可以在下面安裝專用的實(shí)時(shí)EB tresos Embedded Hypervisor,以備需要多個(gè)Classic AUTOSAR實(shí)例時(shí)使用。
專用HPC虛擬機(jī)監(jiān)控程序EB corbos Hypervisor具有特定的SoC支持功能和操作系統(tǒng)安全監(jiān)控功能,可作為多個(gè)HPC操作系統(tǒng)實(shí)例的基礎(chǔ)。虛擬機(jī)監(jiān)控程序和操作系統(tǒng)安全監(jiān)視器是安全組件,完全按照相關(guān)質(zhì)量和安全標(biāo)準(zhǔn)開發(fā)。非安全(質(zhì)量管理 (QM)) Linux分區(qū)運(yùn)行所有常規(guī)的非安全相關(guān)功能,例如在容器化環(huán)境中作為性能應(yīng)用。在數(shù)字座艙的示例中,Android框架也作為非安全相關(guān)分區(qū)運(yùn)行,用于上述用例。最后,EB corbos Linux for Safety Applications內(nèi)核是虛擬機(jī)監(jiān)控程序上的獨(dú)立虛擬機(jī),帶有安全中間件API,如EB corbos Adaptive或ROS,作為啟用ISO 26262 ASIL-A/B的性能安全應(yīng)用的基礎(chǔ)。
這一概念包含幾個(gè)關(guān)鍵方面:
錯(cuò)誤監(jiān)控:系統(tǒng)持續(xù)監(jiān)控錯(cuò)誤,尤其是示例視頻流中的錯(cuò)誤,這對各種汽車功能至關(guān)重要。
高完整性分區(qū):ECU內(nèi)的高完整性分區(qū)負(fù)責(zé)生成和監(jiān)控視頻流。它能確保視頻流及時(shí)發(fā)現(xiàn)任何錯(cuò)誤或異常。
操作系統(tǒng)安全監(jiān)視器:操作系統(tǒng)安全監(jiān)視器,又稱進(jìn)程管理程序,負(fù)責(zé)監(jiān)督高完整性分區(qū)的功能,確保其正常運(yùn)行。它還監(jiān)控分區(qū)內(nèi)的故障,并在必要時(shí)觸發(fā)關(guān)機(jī)程序。
總之,這一安全概念旨在創(chuàng)建一個(gè)強(qiáng)大的系統(tǒng),能夠檢測和應(yīng)對潛在的危險(xiǎn)或故障,從而提高汽車系統(tǒng)的安全和可靠性。通過功能分解或多通道方法可以實(shí)現(xiàn)更高的完整性等級(ASIL)。在ISO 26262標(biāo)準(zhǔn)中,功能分解包括將安全要求最高的ASIL-D功能分解為冗余的ASIL-B(D) 要求。[37Ch. 5].這些ASIL-B(D) 要求可以在ASIL-B組件中實(shí)現(xiàn),并不受干擾。[37Ch.6–7]
面向功能安全應(yīng)用的EB corbos Linux for Safety Applications受專利保護(hù),因?yàn)槠浼夹g(shù)方法將OSS從進(jìn)程管理程序中分離出來。
與功能安全相關(guān)的故障場景
上文介紹的示例系統(tǒng)所演示的故障場景包括在視頻流中或直接在監(jiān)視器中產(chǎn)生錯(cuò)誤。
典型用例:在我們的Linux發(fā)行版上運(yùn)行一個(gè)性能應(yīng)用程序并處理圖像數(shù)據(jù)。安全關(guān)鍵應(yīng)用程序在Linux發(fā)行版的安全衍生版上運(yùn)行,位于第二個(gè)hypervisor虛擬機(jī)中,負(fù)責(zé)監(jiān)控性能應(yīng)用程序。進(jìn)程管理程序保護(hù)安全關(guān)鍵應(yīng)用的數(shù)據(jù)完整性。
性能應(yīng)用程序內(nèi)部故障:在第一個(gè)場景中,視頻流中出現(xiàn)錯(cuò)誤,導(dǎo)致視頻流生成器向安全應(yīng)用程序傳輸無效圖像。系統(tǒng)檢測到視頻流中的錯(cuò)誤,顯示紅色指示燈并隨后關(guān)閉系統(tǒng)。
內(nèi)核故障損壞安全關(guān)鍵應(yīng)用程序:例如,當(dāng)啟用安全功能的Linux分區(qū)內(nèi)核訪問未經(jīng)授權(quán)的內(nèi)存區(qū)域時(shí),我們的操作系統(tǒng)解決方案的專用安全層(稱為進(jìn)程管理程序)會(huì)檢測到這一情況,并通過GPIO通知在PC上運(yùn)行的外部用戶界面。需要指出的是,功能安全是一種系統(tǒng)屬性,而不是任何組件的固有特征。每個(gè)功能的本質(zhì)決定了整個(gè)系統(tǒng)中該功能影響鏈的具體功能安全要求,從而對系統(tǒng)架構(gòu)產(chǎn)生要求,進(jìn)而對硬件、軟件和軟件架構(gòu)產(chǎn)生要求。
如上所述,在傳統(tǒng)的ECU領(lǐng)域,這導(dǎo)致許多功能需要專用硬件,以滿足特定的功能安全需求等。然而,對于減少變體、增加集中化以及降低硬件復(fù)雜性的強(qiáng)烈需求和愿望,推動(dòng)了E/E架構(gòu)的演進(jìn),使其朝著能夠支持各種功能安全概念的架構(gòu)方向發(fā)展。
這兩種場景都強(qiáng)調(diào)了系統(tǒng)檢測錯(cuò)誤和啟動(dòng)關(guān)機(jī)程序的能力,突出了集成在系統(tǒng)中的安全措施的穩(wěn)健性。
將安全措施集成到基于Linux的汽車軟件棧中
我們的目標(biāo)是使安全應(yīng)用程序正確執(zhí)行,并在必要時(shí)提供適當(dāng)?shù)耐ㄖ?。面向功能安全?yīng)用的EB corbos Linux for Safety Applications中的安全擴(kuò)展包含了確保系統(tǒng)安全的各個(gè)方面:
監(jiān)督用戶空間初始化及其過程并使其合法化。Linux系統(tǒng)啟動(dòng)時(shí),需要初始化各種用戶空間組件,以使系統(tǒng)正常運(yùn)行。初始化過程包括加載必要的庫,設(shè)置環(huán)境變量,以及執(zhí)行啟動(dòng)腳本或二進(jìn)制文件。這里的“合法化”是指初始化過程遵循既定慣例、尊重安全機(jī)制并遵守最佳實(shí)踐。特別是,專門的啟動(dòng)和服務(wù)初始化模塊,如crinit和cominit,取代了非自動(dòng)就緒的基于腳本的解決方案。
在內(nèi)核和應(yīng)用程序之間分離內(nèi)存區(qū)域的讀/寫/執(zhí)行權(quán)限。在Linux中,內(nèi)核對分配給應(yīng)用程序的內(nèi)存沒有寫或執(zhí)行權(quán)限,這意味著分配給應(yīng)用程序的內(nèi)存及其內(nèi)容不能被Linux內(nèi)核修改,從而保護(hù)應(yīng)用程序。
監(jiān)督應(yīng)用程序內(nèi)存的任何讀取/寫入/執(zhí)行嘗試并使其合法化。這意味著,除了上述不同的寫入和執(zhí)行權(quán)限外,任何訪問分配給應(yīng)用程序的內(nèi)存的嘗試都會(huì)受到監(jiān)督,只有在合法的情況下才會(huì)被允許。這樣做的目的是檢測對分配給應(yīng)用程序的內(nèi)存的任何不當(dāng)或不正當(dāng)訪問,并在發(fā)生此類嘗試時(shí)發(fā)出通知。
在整個(gè)上下文切換過程中,監(jiān)督并允許或阻止對處理器狀態(tài)寄存器的更新。這可確保正確處理進(jìn)程切換并防止未經(jīng)授權(quán)的修改,從而增強(qiáng)系統(tǒng)的穩(wěn)定性和安全性。
通過這些擴(kuò)展,EB corbos Linux for Safety Applications可確保Linux內(nèi)核不會(huì)對屬于安全應(yīng)用程序的內(nèi)存部分進(jìn)行不當(dāng)訪問,也不會(huì)通過與其他分區(qū)共享的內(nèi)存對屬于安全應(yīng)用程序的內(nèi)存部分進(jìn)行不受控制的訪問。
經(jīng)過安全評估的虛擬機(jī)監(jiān)控程序會(huì)為安全和非安全工作負(fù)載劃分資源分區(qū)。虛擬機(jī)監(jiān)控程序的操作系統(tǒng)安全監(jiān)控器負(fù)責(zé)對EB corbos Linux for Safety Applications內(nèi)核進(jìn)行外部監(jiān)控。
5.最佳實(shí)踐和建議
與早幾十年的ECU設(shè)計(jì)不同,車輛投產(chǎn)后,ECU軟件幾乎不再更新,而HPC系統(tǒng)設(shè)計(jì)則需要持續(xù)不斷的長期開發(fā)。
面向功能安全應(yīng)用的EB corbos Linux for Safety Applications虛擬機(jī)分區(qū)的所有軟件開發(fā)都必須遵守《安全手冊》。這不適用于非安全型EB corbos Linux,因?yàn)樗鼪]有任何限制。監(jiān)管概念可以擴(kuò)展;在即將推出的版本中還將增加更多允許的功能。
汽車行業(yè)采用開源軟件既帶來了機(jī)遇,也帶來了挑戰(zhàn)。在本節(jié)中,我們將根據(jù)本文的討論得出結(jié)論,強(qiáng)調(diào)在評估汽車系統(tǒng)中使用GNU/Linux和開源軟件時(shí)應(yīng)考慮的要點(diǎn)。
必須承認(rèn)的是,開源軟件并不能直接替代專有軟件,尤其是在考慮到長期維護(hù)的影響時(shí)。雖然開源軟件具有許多優(yōu)勢,如靈活性、透明度和龐大的開發(fā)人員庫,但也需要仔細(xì)評估和考慮特定的應(yīng)用程序需求。
在選擇專有軟件還是GNU/Linux時(shí),沒有簡單的答案或“一刀切”的解決方案。需要對每種應(yīng)用進(jìn)行全面分析,考慮采用GNU/Linux的利弊,特別是要考慮長期影響。必須考慮功能需求、合規(guī)條例和行業(yè)標(biāo)準(zhǔn)等因素,以確定開源軟件是否適合特定應(yīng)用。
雖然開源軟件通常與節(jié)約成本聯(lián)系在一起,但必須考慮到總擁有成本可能因應(yīng)用需求而異。直接從開源項(xiàng)目獲取的免費(fèi)軟件可能缺乏保證和擔(dān)保,這會(huì)影響其在關(guān)鍵汽車系統(tǒng)中的適用性。因此,選擇專注于GNU/Linux產(chǎn)品的組織作為合作伙伴,可以提供更多支持并確保長期維護(hù),從而節(jié)省大量資源并降低風(fēng)險(xiǎn)。Elektrobit等在汽車軟件和Linux領(lǐng)域擁有豐富經(jīng)驗(yàn)的公司可以提供幫助,提供基于Canonical Ubuntu的EB corbos Linux。
在考慮采用GNU/Linux時(shí),要全面評估每種應(yīng)用的需求和優(yōu)先級??紤]長期影響、與現(xiàn)有系統(tǒng)的兼容性以及是否有專門的GNU/Linux供應(yīng)商。與在提供適合汽車行業(yè)的長期維護(hù)GNU/ Linux系統(tǒng)方面有良好記錄的供應(yīng)商合作,如Elektrobit。這將有助于確保持續(xù)得到支持、漏洞修復(fù)和安全更新。
6.結(jié)論
保證HPC系統(tǒng)的功能安全絕非易事,不容小覷。作為HPC操作系統(tǒng)的GNU/Linux也是如此。實(shí)際上,EB corbos Linux for Safety Applications可在不依賴Linux內(nèi)核本身的情況下實(shí)現(xiàn)所需的功能安全等級,因此可以使用最新的內(nèi)核。這樣就可以在車輛和車輛平臺的架構(gòu)中實(shí)現(xiàn)面向未來的架構(gòu)和性能。
在使用HPC時(shí),您需要盡早認(rèn)真考慮功能安全方面的問題。面向功能安全應(yīng)用的EB corbos Linux for Safety Applications是您的不二之選。
-
Linux
+關(guān)注
關(guān)注
87文章
11350瀏覽量
210462 -
開源
+關(guān)注
關(guān)注
3文章
3409瀏覽量
42723 -
HPC
+關(guān)注
關(guān)注
0文章
325瀏覽量
23868 -
自動(dòng)駕駛
+關(guān)注
關(guān)注
785文章
13939瀏覽量
167055 -
Elektrobit
+關(guān)注
關(guān)注
0文章
28瀏覽量
3608
原文標(biāo)題:白皮書 | Linux在提升車載HPC安全方面的應(yīng)用綜合概述
文章出處:【微信號:Elektrobit官方,微信公眾號:Elektrobit】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
MCU在車載系統(tǒng)中的展望
觸摸屏在車載應(yīng)用中面臨巨大的挑戰(zhàn)
諸位大俠好,本人是做車載產(chǎn)品的,最近要出一款新產(chǎn)品,想問問在安全方面有好的建議嗎?
什么是汽車安全網(wǎng)關(guān)?
UML在車載GPS終端設(shè)計(jì)中的應(yīng)用是什么?
基于嵌入式Linux藍(lán)牙在車載電子系統(tǒng)中的應(yīng)用
![基于嵌入式<b class='flag-5'>Linux</b>藍(lán)牙<b class='flag-5'>在車載</b>電子系統(tǒng)中的應(yīng)用](https://file.elecfans.com/web2/M00/49/3C/poYBAGKhwJGAWTpgAAApgRMdRck665.png)
攜程信息安全部在web攻擊識別方面的機(jī)器學(xué)習(xí)實(shí)踐之路
![攜程信息<b class='flag-5'>安全</b>部在web攻擊識別<b class='flag-5'>方面的</b>機(jī)器學(xué)習(xí)實(shí)踐之路](https://file1.elecfans.com//web2/M00/A7/29/wKgZomUMQsCAH9qhAAAK5o6hXg0056.png)
評論