基于安全抽象模型(SAM)的汽車網絡安全防御與攻擊分析

摘要

自動駕駛汽車比以往任何一種個人出行交通工具都具有更大的受攻擊可能性。這主要是因為這類汽車對通信有極高的需求,一方面是出于功能和安全方面的考慮,另一方面則是為了滿足舒適性需求。無人駕駛汽車需要與周圍環境進行通信的接口、直接連接(如車對萬物,Vehicle-to-X)以及與原始設備制造商(OEM)后端服務或云端的連接。這些通信連接都有可能成為攻擊者的后門。目前,大多數應對網絡攻擊的防御措施,例如采用消息加密技術,都只針對特定的攻擊,而沒有考慮到現代汽車所提供的各種接入方式的復雜性。這主要是由于在解決安全問題時采用了以解決方案為導向的方法。基于模型的技術 —— 安全抽象模型(SAM),通過明確記錄攻擊情況并采用適當的安全防御措施對其進行管理,為(汽車)軟件架構開發的早期階段提供了助力。此外,它還為全面的安全分析技術(例如現有的攻擊評估方法)奠定了基礎。因此,SAM 有助于在早期階段以問題為導向、不局限于特定解決方案的方式,整合關鍵利益相關者的知識,形成對安全問題的理解。本文詳細介紹了 SAM,并通過與行業專家的訪談以及扎根理論分析,對這項安全技術進行了評估。評估結果表明,SAM 通過促進汽車系統工程師、系統架構師和安全專家之間的協作,將 “設計即安全”原則付諸實踐。應用 SAM 旨在降低成本、提高整體質量并獲得競爭優勢。根據我們的評估結果,SAM 非常適合在工業界應用,且易于理解、內容完備。

一、引言

現代汽車本身就是一個相互連接的計算機網絡,其中許多電子控制單元(ECU,Electronic Control Units)不僅彼此之間進行通信,還與周圍環境進行通信(車對萬物通信)。近年來,汽車制造商生產的汽車都具備聯網功能,并能提供云服務,例如特斯拉(Tesla)的移動應用程序、寶馬(BMW)的 iDrive 系統以及奧迪(Audi)的 Connect 系統。在大多數情況下,用戶實際上可以通過移動應用程序或云服務監控甚至控制汽車的部分功能。這些便捷功能旨在吸引新客戶,但同時也可能成為新的攻擊入口 。考慮到自動駕駛汽車出于功能、安全和舒適性的需求,會進一步增加通信接口,而非減少,因此在汽車安全領域開展集體研究就顯得十分必要;畢竟,每當這些 “駕駛計算機” 成為攻擊目標時,人類的生命安全就會受到威脅。

對于安全專家而言,需要注意的是,攻擊者攻擊汽車的方式與攻擊臺式計算機系統的方式有所不同,因為汽車所使用的網絡、協議和架構都與臺式計算機不同。此外,在汽車的系統設計中,往往包含一些陳舊的遺留機制,這些機制所采用的協議既不安全也未經過加密(例如控制器局域網,CAN),因為這些機制在最初設計時并未遵循如今的安全原則。過去,由于人們普遍存在一種偏見,認為汽車憑借其技術復雜性就足以保證安全(即通過隱匿實現安全,security by obscurity),所以安全的汽車網絡架構并未得到優先考慮。加之汽車開發流程進展緩慢、缺乏標準規范指導,且由于實際中遭遇攻擊的案例較少,社會層面的壓力也較小,這些因素導致汽車開發流程向系統性實施 “設計即安全” 原則的轉變進程十分緩慢。

正如佐佩爾特等人所指出的,目前大多數應對網絡攻擊的防御措施,例如采用消息加密技術對汽車級網絡消息進行加密、認證或隨機化處理,都僅針對特定攻擊,而沒有考慮到現代汽車所提供的各種接入方式的復雜性。這主要是因為在解決安全問題時采用了以解決方案為導向的方法。

基于模型的技術 —— 安全抽象模型(SAM),通過明確記錄攻擊情況并采用適當的安全防御措施對其進行管理,為(汽車)軟件架構開發早期不局限于特定解決方案的階段提供了支持。SAM 作為領域特定架構描述語言 EAST-ADL的附錄,將攻擊及其動機、漏洞、可攻擊屬性和其他相關屬性的記錄與整個系統描述相關聯。因此,在汽車系統開發的早期階段,就能將所有與系統相關的可用信息與潛在的攻擊場景關聯起來,從而使關鍵利益相關者之間的協作成為可能。這種以問題為導向的記錄方式,使得汽車系統開發人員和安全專家能夠在制定解決方案之前,全面了解整體的攻擊情況,否則所制定的解決方案可能會目光短淺。

佐佩爾特等人提出了適用于汽車軟件系統的安全抽象模型(SAM)。在本文中,我們首次對 SAM 進行了全面描述,將其與自動駕駛面臨的關鍵安全挑戰相結合,并通過基于訪談的扎根理論評估對其進行了評價。

本文主要闡述以下內容:

1. 圍繞作為常見軟件工程實踐的 V 模型,系統探討當前安全技術的發展現狀。

2. 詳細描述 SAM,包括其所有元模型實體。

3. 通過與行業專家進行扎根理論訪談,對該安全技術進行評估。

本文其余部分的結構如下:第二部分回顧了汽車軟件系統安全架構方面的相關研究;第三部分綜述了現代汽車面臨的攻擊以及汽車安全建模的發展現狀;第四部分探討了汽車領域可能出現的攻擊場景和安全挑戰;第五部分詳細描述了安全抽象模型,包括其所有元模型實體;第六部分對 SAM 進行評估,詳細介紹訪談過程,并采用扎根理論對結果進行定性分析;第七部分總結全文,并對未來的研究方向進行展望。

二、相關研究

在撰寫本文時,ISO/SAE 21434《道路車輛 — 網絡安全工程》標準正處于制定階段,該標準提議在 V 模型的基礎上引入安全工作包、安全概念和安全架構。它建議在售后階段之前提供安全支持,特別是在產品驗證和量產爬坡階段。該標準由 12 個國家組成的聯盟共同負責制定。該標準的范圍是定義一個框架,其中包括網絡安全流程的要求,以及為利益相關者之間溝通和管理網絡安全風險提供通用語言。本文的研究借鑒了 ISO/SAE 21434 標準早期的努力和設計原則,并將其整合到 EAST-ADL 中。

SAE J3061《網絡物理車輛系統網絡安全指南》目前也處于制定階段,該指南旨在為網絡物理車輛系統相關的網絡安全制定一套高級指導原則,其中包括生命周期流程框架以及有關現有常用工具和方法的信息。

盡管目前關于這些標準的最終信息還比較有限,但我們在研究中整合了許多標準中提議的方法和原則,并展示了這些方法和原則在系統模型中的實際適用性。

PRESERVE 是一個由歐盟資助的項目,該項目旨在提高未來車對車(V2V)和車對基礎設施(V2X)通信系統的安全性和隱私性,并提出了汽車安全架構的安全要求 [12]。EVITA 項目則致力于 “設計、驗證和原型化一種汽車車載網絡架構,在該架構中,與安全相關的組件可防止被篡改,敏感數據可防止被泄露。該項目重點關注 V2X 通信,并為電子安全應用的安全部署奠定基礎”。霍爾姆(Holm)提出了適用于企業架構的網絡安全建模語言(CySeMoL)。于爾延斯(Juerjens)引入了 UMLSec,該語言允許在系統規范的圖表中表達與安全相關的信息。其他相關解決方案還包括國際系統工程協會(INCOSE)在系統工程與系統安全工程整合方面所做的工作、美國國家標準與技術研究院(NIST)的 SP 800-160以及 NIST 在網絡物理系統方面的其他研究。

所有這些解決方案都存在一個關鍵的不足之處:與 SAM(參見第五部分)不同,它們都是獨立存在的,并未整合到現有的系統模型中。而 SAM 則完全整合到了 EAST-ADL 中。與其他替代解決方案相比,將安全模型與系統模型緊密結合的方案,能夠將安全模型無縫整合到在汽車行業廣泛應用的系統模型中。這有助于提高 SAM 的整體認可度,并增加其被采用的可能性。SAM 與現有系統模型的緊密結合,使得架構方面的考量與實際安全方面的考量能夠有機地結合在一起。

三、發展現狀

汽車核心開發流程是按照傳統的軟件工程 V 模型來組織的。V 模型的每個階段都代表著一組連貫的流程步驟,在這些步驟中會生成一系列工件。這些階段是按邏輯順序組織的,而非按時間順序。在系統分析階段,需要獲取并記錄需求;在系統設計階段,要構建一個面向功能的邏輯架構,該架構是硬件和軟件開發階段的基礎,最終實現汽車系統的開發。接下來,我們將圍繞作為常見軟件工程實踐的 V 模型,探討當前安全技術的發展現狀。為此,我們將軟件工程劃分為四個主要階段,即分析階段、設計階段、實施階段和軟件測試階段。此外,由于維護階段是擴展 V 模型的一部分,我們還將探討維護階段的安全技術。

(一)分析階段的安全技術

在系統分析階段,需要獲取并記錄需求。目前,在該階段應用安全技術的常規做法是從系統模型的規范說明或文本注釋中提取需求。安全專家負責識別系統的威脅和漏洞,而軟件工程師則負責修復漏洞并實現安全功能(例如加密功能)。系統架構師在設計系統架構(即軟件和硬件拓撲結構)時,會將安全需求等因素納入考量。

佐佩爾特等人開展的一項案例研究表明,文本注釋無法以詳盡且簡潔的方式充分闡釋安全場景。由于軟件工程師無法確定文本注釋的用途或對應的安全目標,攻擊的技術細節和威脅的相關性會因此丟失。安全本身具有內在的復雜性,尤其是考慮到其所涉及的各種需求時。僅依靠需求是遠遠不夠的。系統架構師和安全專家需要能夠對同一個模型進行相互注釋。只有這樣,他們才能對系統架構做出必要的調整。更好的做法是確定一系列安全目標,并從通用的架構模型和參考架構中系統地推導出安全需求。

威脅建模和風險評估是制定安全需求的基礎。卡迪爾維蘭(Kadhirvelan)等人的研究表明,對于評估軟件密集型汽車系統的安全性,需要新的流程、標準、方法和工具。

分析階段的成果(主要是需求)將用于設計階段,以推導出攻擊向量,并根據推導出的需求制定解決方案。

(二)設計階段的安全技術

在系統設計階段,會利用分析階段提出的(軟件和硬件)需求,構建一個面向功能的邏輯架構。通過了解、分析或構建攻擊者可能用來攻擊系統的各種攻擊向量,可以做出許多設計決策。

攻擊向量是指攻擊者能夠未經授權訪問目標系統或破壞一個或多個安全目標的路徑或手段。可以通過攻擊樹來識別和提取攻擊向量。攻擊樹可用于展示復雜的攻擊結構。攻擊樹的根節點代表攻擊的主要目標或動機,例如控制目標車輛的某些功能。要實現父攻擊,必須完成所有子攻擊。攻擊樹的葉節點代表原子操作或條件。從任意一個葉節點到根節點的完整路徑都代表著一個特定的攻擊向量。

此外,設計階段的安全技術還會采用各種用于攻擊評級和威脅分析的系統。例如,通用漏洞評分系統(CVSS)這類技術能夠對關鍵安全措施進行早期評估。CVSS 是公認的行業標準,用于對計算機系統中的漏洞進行評級。CVSS 通過多種不同的指標(如攻擊復雜度、對安全目標的影響等)綜合威脅分析結果,并生成一個反映漏洞嚴重程度的數值評分。在設計階段就迫使開發人員思考攻擊向量和漏洞問題,并進行 CVSS 分析,有助于及早發現錯誤,從而從一開始就避免進行代價高昂的修正。然而,目前實際情況并非如此。當前的常規做法是,原始設備制造商(OEM)在早期階段往往會忽略這種分析。本文提出的解決方案正是為了應對這一問題。除了并非專門針對汽車領域的 CVSS 之外,還存在其他評分系統,例如 SAHARA 方法中的 SecL 級別。

另一個重要的設計決策是現代汽車如何在不同類型的電子控制單元(ECU)之間傳輸關鍵且與安全相關的指令。即便在如今,控制器局域網(CAN 總線)仍然是最常用的廣播式通信網絡。CAN 總線消息在默認情況下是未加密且未經過認證的,因為在 20 世紀 80 年代 CAN 總線設計之時,汽車安全并未被視為一個重要問題。如果 CAN 總線上的某個 ECU 被遠程劫持,將會構成重大的安全威脅,因為攻擊者可以通過總線向車輛 ECU 網絡的關鍵部分發送有效的(且可能是有害的)消息。現代汽車擁有大量的遠程攻擊面,例如無線協議、移動應用程序支持等。具體的遠程技術實例包括被動防盜系統(PATS)、胎壓監測系統(TPMS)、遙控無鑰匙進入系統(RKE)、藍牙(Bluetooth)、無線電數據系統(如 3G、4G、LTE、5G 等)、無線網絡(Wi-Fi)以及遠程信息處理系統(Telematics)。通常,信息娛樂系統具備互聯網接入功能,并支持第三方應用程序。多項攻擊案例表明,攻擊者能夠通過攻陷車輛的 ECU(或添加外部設備),并向總線上監聽的設備發送惡意的 CAN 指令,從而造成嚴重威脅。一旦攻擊者能夠發送任意的 CAN 消息,就能夠控制制動系統、發動機運行狀態、通風口,還能對車門進行上鎖或解鎖等操作。因此,必須在攻擊者獲得 CAN 總線訪問權限之前對車輛進行安全防護。一旦攻擊者獲得了對動力傳動系統的訪問權限,一切就都為時已晚。

在設計階段,常見的防御決策會考慮網絡總線隔離。通過在概念上和物理上將與安全相關的 ECU 與其余網絡系統隔離開來,可以緩解許多攻擊向量帶來的威脅。但在實際情況中,許多 ECU 仍然保持物理連接,只是通過更高級別的協議抽象(如統一診斷服務,UDS)或虛擬化應用程序實現邏輯隔離,而這些工作會在實施階段完成。

(三)實施階段的安全技術

根據 V 模型,在實施階段會部署設計階段提出的防御措施。

在硬件方面,不同的物理總線系統和布線方式會導致實施過程有所差異。如果這些應用程序或服務中的一個或多個存在易受網絡攻擊的漏洞,攻擊者就有可能控制車輛物理網絡中的關鍵部分 ——CAN 總線。在汽車領域,另一種解決方案是汽車以太網(Automotive Ethernet),但預計它無法完全取代 CAN 總線。CAN 總線將繼續作為一種低成本組件存在,例如用于將低成本、計算能力較弱的執行器和傳感器與其對應的 ECU 或網關連接,而不再作為主要的動力傳動系統通信方式。如今,本地互聯網絡(LIN 總線)被用于此類(低成本、低風險)連接。

在汽車中安裝昂貴的硬件時,成本也是一個限制因素。由于汽車市場規模龐大,汽車制造商更愿意在程序員的薪資上投入更多資金(固定成本,適用于整個車型系列),而不愿在汽車的硬件部件上多花一分錢(可變成本,每個車輛都需承擔)。這意味著,對于車輛中每個需要通信的部件而言,像可信平臺模塊(TPM)這樣的硬件模塊,作為密鑰存儲解決方案,在成本、重量和空間方面都不具備吸引力。

在軟件方面,可以采用不同的協議變體來實施安全措施。一些網絡協議,如 ISO-TP(ISO 15765-2,國際標準化組織傳輸協議)、UDS(統一診斷服務)和 OBD2(第二代車載診斷系統),處于更高的抽象級別,能夠在一定程度上彌補 CAN 總線的一些缺陷。圖 1 展示了本文討論的部分汽車協議在 ISO/OSI(國際標準化組織 / 開放系統互連)參考模型中的分類情況。

圖1、ISO/OSI參考模型中分類的選定汽車協議

盡管 CAN 協議規范明確指出 CAN 總線消息在默認情況下是未加密的,但為了確保通過這一公共通道安全可靠地分發關鍵的新軟件,仍需要一套完善的加密和認證解決方案。在汽車領域,不僅要考慮軟件更新,硬件更新也同樣重要。例如,如果維修廠更換了車輛的某個制動部件,可能還需要更換相應的 ECU。在這種情況下,如何獲取新的(用于消息加密的)加密密鑰呢?像迪菲 - 赫爾曼密鑰交換(Diffie-Hellman key exchange)這類常見的密鑰分發技術實施起來難度較大,因為許多小型網絡節點都是低成本、計算能力較弱的 ECU。這些 ECU 通常沒有足夠的內存或 CPU 處理能力來執行這些加密算法和方法。在 CAN 總線上實現消息加密之所以困難,不僅是因為網絡復雜性高,密鑰分發問題難以解決,還因為一旦攻擊者控制了某個 ECU,就能獲取存儲在該設備上的密鑰。對于車輛中一些對威脅模型要求更高的部分(如無鑰匙進入系統),像密碼強化加密(PHE)服務這類新興技術,有望成為保護系統組件的有效方案,尤其適用于傳統的挑戰 - 響應技術無法滿足需求的場景。例如,UDS 協議的實現中包含一種安全種子機制,該機制能夠阻止攻擊者獲取高級別的安全訪問權限。然而,加西亞(Garcia)等人的研究表明,若采用弱加密算法或協議實施不當,仍然會使攻擊者有機可乘,成功實施攻擊。

(四)軟件測試階段的安全技術

在軟件測試階段,會對設計階段分析出的攻擊向量所對應的防御措施的實施情況進行測試。在 V 模型中,軟件測試的目的是驗證軟件是否按照客戶提出的規范進行開發。此外,安全測試技術與傳統的軟件測試技術有很大差異。正如評估部分后續將展示的,在很多情況下,安全技術甚至并未納入軟件工程流程。滲透測試和漏洞評估是檢測系統漏洞和安全措施有效性的常用技術。目前,原始設備制造商(OEM)正開始將這些技術整合到其現有的流程中。常見的滲透測試技術包括對總線網絡流量進行逆向工程,或對 ECU 固件鏡像進行反匯編,以獲取密鑰、機密信息或特定消息。

(五)維護階段的安全技術

車輛在交付后仍需進行維護和測試,因此空中下載(OTA)更新十分重要,但也面臨著挑戰,因為目前尚未有安全的 OTA 接口。像結合了認證機制的 PHE(密碼強化加密)這樣巧妙的解決方案或許能夠解決這一問題。此外,一個完全安全加密的系統會將維修廠和第三方服務提供商拒之門外,而這些機構需要開放的訪問權限。

OTA 更新通常是通過信息娛樂單元獲取和接收的,該單元可接入 4G、LTE 或 5G 寬帶網絡。之后,所有需要更新的 ECU 都必須通過 CAN 總線從信息娛樂單元獲取新的固件或軟件補丁。在 OTA 更新過程中,通過 CAN 總線傳輸敏感數據(尤其是新固件或安全補丁)極具風險,并且會帶來重大責任問題。原始設備制造商(OEM)的更新在部署到連接 CAN 總線的一系列 ECU 之前,必須經過嚴格的檢查和驗證。網絡配置錯誤以及對 OTA 更新和補丁缺乏認證檢查,會增加遭受云端攻擊和僵尸網絡攻擊(例如 Mirai 僵尸網絡攻擊)的風險。從本質上講,從一開始就應該對云端功能和 OTA 更新持審慎態度。即使軟件的分發源是 OEM,攻擊仍然有可能發生。潛在的攻擊者可能已經找到了通過 OEM 的基礎設施(如服務器)分發惡意軟件的方法,進而引發信任危機。有理由認為,在密鑰分發問題得到解決之前,任何形式的部署(軟件更新、云端數據)都是不可信的。即使針對異構 CAN 總線網絡的密鑰分發問題制定了解決方案,遠程攻擊向量的數量與直接攻擊向量的數量相比,仍可能會大幅增加。

四、汽車攻擊場景

本節闡述了本文研究方法的動機。闡明這一動機對于凸顯汽車攻擊場景和攻擊向量所帶來的威脅與危害至關重要。第五部分將詳細介紹如何利用 SAM 對這些威脅和危害進行評估。

真實性、完整性、機密性等安全目標對于確保車輛中與安全相關的軟件不被篡改至關重要。以下列出了部分會對汽車軟件系統造成重大威脅的攻擊向量(并非全部):

· 從遠程攻擊后被劫持的 ECU 中注入 CAN 幀(例如重放攻擊、泛洪攻擊等)

· 通過仲裁 ID 過濾并使用 cansniffer 或其他 can-utils 工具識別幀,對 CAN 幀進行逆向工程

· 向 ECU 部署惡意(可能未簽名)固件

· 利用原始設備制造商(OEM)的云端和 / 或移動應用程序基礎設施獲取車輛的遠程控制權

· 通過統一診斷服務(UDS)獲取安全訪問權限

· 通過車載診斷(OBD)注入控制車輛

· 遠程入侵遠程信息處理單元

· 利用軟件定義無線電破解遠程無鑰匙進入系統

· 拒絕服務(DoS)攻擊,例如帕拉曼卡(Palamanca)等人展示的攻擊

· 向系統植入勒索軟件

要理解 SAM 元模型,最簡單的方法是闡明各個語言組件(在 M2 級別)在具體的 M1 模型中實際代表的信息。因此,在本節中,我們將介紹一個已公開的攻擊案例,除了從概念上進行解釋外,還將通過該案例具體說明各個語言構建塊的應用方式。本文提出的 SAM 為這類安全分析和 “設計即安全” 提供了切實可行的解決方案。所有相關信息都需要記錄在一個系統模型中,該模型需考慮汽車軟件系統的攻擊建模。SAM 的最新版本新增了用于對這類攻擊進行評級的屬性。

五、安全抽象模型(SAM)描述

在本節中,我們將介紹我們的創新性研究成果:一種適用于汽車建模環境的安全抽象模型(SAM)語言規范,該規范是對 EAST-ADL 的擴展。我們將闡明安全建模與功能安全建模之間的區別,并描述 SAM 的元模型實體,從而為汽車安全建模提供一個全面的建模環境。這些實體可在類型級別(M1)用于構建安全可靠的汽車系統功能架構。SAM 作為一個開源項目提供,其中包含一組具體的安全建模實體,這些實體完全符合 EAST-ADL 和 AUTOSAR(汽車開放系統架構)規范。因此,SAM 是 EAST-ADL 附錄的一個提議,旨在為 EAST-ADL 增加安全建模功能,而現有語言規范目前尚未涵蓋這些功能。

(一)SAM 元模型

為了便于理解,我們將以文獻中公開的一個攻擊案例作為建模示例。在接下來的內容中,我們將在描述用于表示攻擊細節的 SAM 實體的同時,簡要介紹攻擊細節。完整的 SAM 元模型如圖 2 所示。之后,圖 3 將展示類型級別(M1)上完整的 SAM 模型圖。

圖2、SAM元模式

圖3、特斯拉遠程控制攻擊的SAM模型

我們將詳細描述以下攻擊案例:特斯拉遠程控制攻擊:通過該攻擊,攻擊者能夠借助信息娛樂單元入侵車輛。騰訊科恩安全實驗室(Tencent Keen Security Lab)的研究人員展示了如何遠程控制和操控車輛、干擾自動雨刷以及關閉車道檢測功能。

攻擊(Attack):表示通過攻擊向量對系統實施的網絡物理攻擊。攻擊向量是指攻擊者能夠未經授權訪問目標系統或破壞一個或多個安全目標(SecurityGoals)的路徑或手段。可以通過攻擊樹來識別和提取攻擊向量。在攻擊樹中,子節點是使直接父節點成立所必須滿足的條件。當根節點的條件得到滿足時,攻擊即完成。通常,同一層級的子節點之間通過 “或”(OR)條件連接。SAM 使用子攻擊組(SubAttackGroup),從而允許在分組的子攻擊之間采用 “與”(AND)條件以及其他任何項目特定的條件。

該攻擊可通過遠程網絡連接實施。車輛用戶無需主動與車輛交互,攻擊即可實施。實施該攻擊需要較高的權限級別,并且對機密性、完整性和可用性的影響也很大。因此,攻擊者可能會對乘客和其他道路使用者造成嚴重傷害。由于該攻擊是安全專家開展的研究性攻擊,實際實施攻擊的并非具有惡意意圖的現實攻擊者。不過,這些安全專家掌握的知識可能會被惡意攻擊者利用。

攻擊者(Adversary):攻擊行為可由個人或系統環境實施。無論哪種情況,攻擊者都屬于系統環境的衍生部分,因為他們并非主系統模型的組成部分,而是從外部與系統進行交互。不過,攻擊者也可能來自系統內部,例如來自未授權的部件或設備。

環境(Environment):該實體描述了環境功能描述的集合。許多環境因素對于攻擊描述和理解攻擊向量都很重要。從概念上講,攻擊者和安全專家都屬于環境的一部分。“環境” 并非新引入的實體,它原本就存在于自身的包中,但由于攻擊者可能會利用環境實施攻擊(例如通過對抗樣本進行外部或現實世界的攻擊),因此需要對其進行擴展。

在現實場景中,如果具有惡意意圖的攻擊者實施此類攻擊,其動機通常是通過使車輛墜毀來傷害車內乘員或其他道路使用者。因此,該攻擊具有很高的安全相關性。

攻擊動機(AttackMotivation):用于抽象表示攻擊者的動機。當起初無法獲取其他信息(例如被破壞的安全目標)時,攻擊動機的作用尤為突出。在這種情況下,攻擊動機有助于區分攻擊的嚴重程度,并且可以根據動機對攻擊進行優先級排序。此外,判斷特定攻擊動機是否會引發安全風險也相對容易,例如當攻擊涉及篡改安全關鍵系統或修改與系統可靠性相關的軟件組件時。安全相關性可分為 “高”(系統失效)、“低”(失效安全)或 “無” 三個級別。研究發現,每一次攻擊(或子攻擊)都屬于某個更廣泛的攻擊動機范疇。通過歸納總結,我們發現所有攻擊背后主要存在四種更高層次的動機:造成傷害(Harm)、信息獲取(Information Retrieval)、經濟利益(Financial Gain)和產品篡改(Product Modification)。此外,還存在追求聲望等抽象動機,但這些動機本質上都會在上述至少一種動機中產生相應后果,因此未將其單獨列出。在攻擊樹中,至少存在一個攻擊動機(作為攻擊樹的根節點)。攻擊動機會與安全目標產生沖突。所有攻擊都可歸為以下四種更高層次動機中的一種:

· 造成傷害(Harm):此類攻擊的威脅在于主動或被動地傷害乘客和其他道路使用者,例如使車輛墜毀或對其他道路使用者造成威脅。

· 信息獲取(Information Retrieval):此類攻擊的威脅在于侵犯乘客、其他道路使用者以及其他相關方(如原始設備制造商)的隱私。此外,通過逆向工程獲取軟件 / 固件等其他類型信息,甚至出于學術研究目的嘗試入侵系統,都屬于此類動機。

· 經濟利益(Financial Gain):此類攻擊的威脅在于為攻擊者、維修廠或保險公司謀取經濟或物質利益,通常會導致車主或原始設備制造商遭受經濟損失。

· 產品篡改(Product Modification):此類攻擊的威脅在于篡改產品規格,例如獲取車輛更多功能或對軟件進行一般性篡改(如下載 / 升級軟件或調整性能)。

在特斯拉遠程控制攻擊中,受影響的部件是自動駕駛 ECU(APE,AutoPilot ECU)。

部件(Item):部件實體用于確定安全信息的范圍以及安全評估的對象。安全分析以部件定義為基礎,安全概念也從中推導得出。

在特斯拉攻擊案例中,被利用的漏洞是信息娛樂單元的 Webkit 瀏覽器框架,該框架中的 JSArray 函數可被用于提升權限。

漏洞(Vulnerability):指一組部件存在的抽象缺陷,即無法滿足其一項或多項需求。為了體現系統架構中的薄弱環節,漏洞用于描述這些薄弱點及其與一個或多個部件的關聯。漏洞是對存在缺陷的軟件、配置的具體定義,并且需要據此推導相應的需求。漏洞具有一定的影響范圍。如果一次成功的攻擊影響到更多的安全目標和漏洞(即引發后續攻擊),那么該漏洞的影響范圍就會擴大。

一旦攻擊成功實施,攻擊者就可能通過篡改或禁用特斯拉車輛的安全關鍵功能,引發功能性安全風險。

風險(Hazard):風險元類表示系統中可能導致事故發生的狀態或條件。這類風險通常是由電氣 / 電子(E/E)安全相關系統的故障行為(包括這些系統之間的相互作用)引起的。

在特斯拉遠程控制攻擊中,被利用的漏洞擴大了攻擊的影響范圍,這意味著如果攻擊成功實施,所有六項安全目標都將被破壞。

網絡安全目標(SecurityGoal):該實體提供了適用于任何通信或數據流的常見安全目標的枚舉,這些目標包括:機密性(Confidentiality)、完整性(Integrity)、可用性(Availability)、真實性(Authenticity)、可靠性(Reliability)和可追溯性(Accountability)。

在特斯拉遠程控制攻擊中,被利用的車輛功能是特斯拉的自動駕駛功能(Autopilot),用于實現自動駕駛。在這種情況下,部件與車輛功能之間存在一對一的對應關系。

車輛功能(VehicleFeature):由可靠性(Dependability)包提供,車輛功能是一種專門用于車輛級別的功能類型。部件由一組車輛功能構成。

在特斯拉遠程控制攻擊中,JSArray 函數是攻擊者尋找的可攻擊屬性,即攻擊的切入點。可攻擊屬性是描述潛在攻擊面的具體特征,例如是否存在已知的安全漏洞(如 JSArray 函數漏洞)。

可攻擊屬性(AttackableProperty):指攻擊者為成功實施攻擊而尋找或需要的部件特征或屬性,例如無線通信能力、所使用的加密算法、功能等。如果這些屬性被利用,攻擊者就能成功實施攻擊,并進而形成漏洞。

通過通用漏洞評分系統(CVSS)指標對攻擊屬性進行分析后,可以計算出攻擊的基礎評分和時間評分,并據此推導出需求:為空中下載(OTA)更新提供代碼簽名保護。

評分(Score):評分實體用于對攻擊進行評級。SAM 支持使用任何通用類型的評分系統。其他實體的屬性會提供攻擊評級所需的所有相關信息。calculationFormula 屬性用于描述所使用的評分系統(如 CVSS、SecL 等)。如果該屬性為空,也可以提供經驗值或專家意見。第五部分第三節將更詳細地介紹 SAM 中使用的評分系統。

需求(Requirement):為了定義修復漏洞所需的需求,需求實體是從攻擊中吸取經驗教訓后形成的結果,它代表必須(或應該)滿足的能力或條件。

特斯拉遠程控制攻擊只有在車輛 “低速行駛或靜止” 時才可能實施;否則,車輛將不允許使用 Webkit 瀏覽器。不過,一旦攻擊者完全控制了系統,就可以在車輛的任何運行狀態下通過 CAN 總線對系統進行全面控制。

運行狀態(OperationalSituation):在安全建模中,了解車輛的運行狀態通常很有幫助,例如車輛是處于靜止、行駛還是停車狀態。運行狀態是指環境中可能影響車輛的狀態、條件或場景,可通過環境模型(EnvironmentModel)中的功能定義進一步細化。例如:“在高速公路上行駛”“在城市中行駛”“處于倒車檔”“停車”“任意狀態” 等。

SAM 并未對安全概念做出明確規定,但提議將通用準則(CC,Common Criteria)ISO/IEC 15408 保護配置文件作為一種可能的解決方案。通用準則是安全領域公認的標準,為可靠系統的開發提供指導。

網絡安全概念(SecurityConcept):指一組共同滿足至少一個安全目標的安全需求。在通用準則(CC)ISO/IEC 15408 中可以找到相應安全需求的示例性結構和分類。理想情況下,安全概念的制定應以對與特定部件相關的已記錄攻擊的分析為依據(在這種情況下,motivatedBy 屬性設置為 “documentedAttacks”)。此外,安全概念也可以根據標準要求或認證需求來制定(此時,motivatedBy 屬性可設置為 “standard” 或 “certification”)。

網絡安全概念動機(SecurityConceptMotivation):該實體提供了安全需求動機的枚舉,這些動機包括:“標準(standard)”、“認證(certification)” 和 “已記錄攻擊(documentedAttacks)”。

(二)SAM 的方法學背景

為了保護系統免受攻擊和威脅,首先需要識別并對這些威脅進行分類。對攻擊動機進行分類,本身就為攻擊識別帶來了方法學上的便利。通過系統的安全分析,可以量化實施潛在攻擊所需的成本。系統工程師設計的安全層級與攻擊者付出的攻擊成本之間始終存在一種博弈關系。由于沒有任何系統能夠完全抵御所有類型的攻擊,系統工程師會在不同級別的安全抽象之間進行權衡,以達到可接受的安全程度。因此,任何安全系統最終都是一種權衡的結果。

盡管 SAM 本身并不能直接在系統設計中實現安全性,但它能夠促使人們(理想情況下是系統工程師和安全專家協作)思考攻擊及其對系統造成的后果。雖然 SAM 的元級別(metalevel)相對抽象,但其在元級別 M1 上的應用則更為具體。需要注意的是,攻擊動機與部件之間的多重性(multiplicity)為 1..到 1..,這就要求系統工程師為汽車系統的每個部件至少描述一個攻擊動機。這是 SAM 安全方法在方法學上的重要支持,有助于發現威脅。如果某個部件沒有相關的攻擊動機,就需要更加謹慎,例如可能尚未發現針對該部件的攻擊方式。在這種情況下,系統工程師可能會忽略對該部件潛在攻擊動機的審視。然而,由于存在 1..* 的多重性要求,他們必須思考每個部件至少一種可能的攻擊動機。因此,做出這一設計決策的目的是積極推行 SAM 安全方法的方法論。

安全風險與安全威脅之間的主要區別在于,安全威脅并非隨機發生(即不受概率限制),而是始終出現在最壞情況場景中。對于安全風險,可以假設其發生具有統計概率。而網絡攻擊則是由智能攻擊者在對其最有利且防御阻力最小的時候發起的。此外,將安全目標與安全需求混淆也可能產生誤導。不過,安全威脅可能會引發安全風險,反之亦然。但正如前面所提到的,在系統設計階段,不建議將二者等同對待。此外,文本注釋也不是一種理想的做法。通常,將自然語言注釋轉化為模型時會存在不精確性,并且在轉化過程中,安全專家想要準確表示系統模型及其安全機制的原始意圖可能會丟失。通過將 SAM 嵌入到 EAST-ADL 的 “可靠性(Dependability)” 包中,并隨后將其整合到 AUTOSAR 中,可以實現安全解決方案的廣泛復用。這有助于最大限度地降低開發成本,并在車輛的多種應用場景中實施全面的安全解決方案。

SAM 通過提供攻擊者(Adversary)建模實體,使得對社會技術系統(socio-technical systems)進行建模成為可能。安全目標需要在社會技術背景或社會技術系統中實現。社會技術系統是指由人類和相關技術組成的有組織的群體,通過特定的構建方式來實現特定目標。然而,僅僅通過在系統中添加加密技術來提高安全性是一種誤區。加密技術最多只能確保機密性,并不能涵蓋可用性、可靠性或可追溯性等安全目標。通過我們提出的方法,為汽車軟件工程提供了安全與安全協同工程流程(設計即安全與安全)。

(三)SAM 中通用評分系統的應用

SAM 的最新主要版本為建模實體添加了許多新屬性,從而能夠使用通用漏洞評分系統(CVSS)等知名安全評分系統。為了使 SAM 能夠與時俱進,并避免過度依賴某一種特定評分系統以保持靈活性,我們將 SAM 設計為支持任何通用評分系統。在對攻擊場景進行建模時,SAM 的使用者可以選擇自己偏好的評分系統。本文將以 CVSS 為例進行說明。SAM 的最新版本可通過開源方式獲取。目前,架構描述已較為完善,常見評分系統能夠獲取必要信息并開展分析工作。受 CVSS(公認的計算機系統漏洞評級行業標準)的啟發,我們為 SAM 的部分實體添加了新屬性。CVSS 提出了三組不同的指標用于計算漏洞評分。下文將闡述 SAM 與這些指標之間的相互作用。需要說明的是,元實體屬性的分配及其命名并非源自 CVSS,而是由本文作者自主設計。

基礎指標組(Base Metric Group):反映攻擊(Attack)的固有屬性。從 SAM 面向汽車領域的角度來看,該指標組體現了當攻擊針對整個汽車領域時所具有的特征。可攻擊屬性(AttackableProperty)涉及受攻擊部件的屬性,這些屬性不受攻擊者控制,但卻是利用漏洞所必需的。例如,在側信道攻擊中,多核系統內共享緩存的使用就屬于此類屬性。可攻擊屬性中的 conditionPrerequisiteComplexity 屬性(取值為 “低(Low)” 或 “高(High)”)用于描述出現或創造此類條件的復雜程度。例如,在上述側信道攻擊案例中,由于如今共享緩存已較為常見,conditionPrerequisiteComplexity 屬性取值為 “低”;而如果攻擊要求所有核心上的所有任務都使用同一個共享緩存,那么該屬性取值則為 “高”。在評估該屬性時,必須排除利用漏洞所需的所有用戶交互要求(這些條件記錄在攻擊(Attack)的 privilegesRequired 屬性中)。conditionPrerequisiteComplexity 屬性取值為 “低” 時,攻擊的危險性高于取值為 “高” 的情況。privilegesRequired 屬性用于描述攻擊者成功利用漏洞所需具備的權限級別,權限要求越低,該指標反映的風險程度越高。此外,攻擊(Attack)實體還新增了 accessRequired 和 userInteraction 兩個屬性。accessRequired 屬性用于描述利用漏洞的環境條件,需要注意的是,它不應與 SAM 中描述從攻擊樹的攻擊動機到某個葉節點路徑的通用攻擊向量處理相混淆。userInteraction 屬性用于記錄車輛用戶或駕駛員是否需要以特定方式與系統交互(例如按下按鈕)。不需要用戶交互的攻擊會提高攻擊的評分。

時間指標組(Temporal Metric Group):當獲取到更多關于被利用漏洞的信息后,可利用該指標組對評分進行調整。例如,如果公開了漏洞利用代碼,或者確認了漏洞報告的可信度,那么時間評分就會提高。在 SAM 中,時間指標屬于漏洞(Vulnerability)實體的一部分。

環境評分指標(Environmental Score Metrics):該指標組能夠將基礎指標組得出的通用 CVSS 評分調整為適用于特定(汽車)企業的評分。這些指標相當于對基礎指標的調整,權重分配與具體企業的基礎設施和業務風險相關。SAM 為分析 CVSS 基礎指標組提供了全面的基礎,這意味著 SAM 也可用于評估環境指標組。環境指標不需要在基礎指標之外額外獲取信息,只需將分析視角調整到具體企業的實際情況即可。也就是說,安全分析師完全可以根據 SAM 提供的現有信息開展安全評分分析工作。

這種設計使 SAM 具有更高的靈活性,無需為適應 CVSS 未來的更新而對其進行調整。用于攻擊評估的所有屬性均為字符串(String)類型,這使得 SAM 能夠適用于通用評估技術,而不必與 CVSS 的屬性描述緊密綁定。此外,在模型內部或直接通過模型無法自動計算 CVSS 評分,因為這需要在行為模型中實現,而 SAM 模型屬于結構模型。不過,熟悉 CVSS 的安全分析師可以根據結構模型提供的所有信息計算出 CVSS 評分。因此,盡管在元模型的注釋中仍可找到有關屬性類型(如 “高”“低” 等)的相關信息,但即便存在不兼容情況,也不會對評分計算造成影響。

與直接提供屬性信息和漏洞評分相比,SAM 模型的額外優勢在于,它不僅可以使用 CVSS(或其他評分系統),還能夠通過子攻擊和后續攻擊構建攻擊樹。SAM 也是一種對攻擊向量進行分層處理的方法。從實質上講,這超出了傳統的攻擊評級范疇。SAM 為軟件架構師提供了使用評分系統的途徑,換句話說,SAM 的優勢在于能夠與現有的汽車架構整合。它將架構方面的考量與針對攻擊本身的純粹安全考量(可從中推導出的攻擊向量、攻擊動機、攻擊目標區域)以及已知的所有評分系統(能夠從屬性中獲取所有必要信息)有機地結合在一起。

六、評估

為了驗證 SAM 的可行性,我們通過扎根理論訪談的方式,對來自兩家不同汽車軟件公司的兩位行業專家(下文分別簡稱 E1和E2)進行了訪談,以評估我們提出的解決方案。兩位訪談對象均具備汽車系統工程和 / 或嵌入式安全領域的專業背景。訪談結構如下:首先,我們就汽車安全建模以及當前在分析、設計、實施和測試階段的流程提出了一些一般性問題。隨后,本文作者對 SAM 進行了簡要介紹和說明。在介紹過程中,我們展示了一個真實的攻擊案例,以演示 SAM 的使用方法。我們與訪談對象共同為一個真實的應用場景創建了一個參考 SAM 模型。圖 4 展示了一個功能解鎖攻擊(Function Unlock Attack)案例,該攻擊描述了一種攻擊向量,攻擊者(此處為第三方維修廠)可通過篡改時間服務器(TimeServer)部件,為車輛駕駛員解鎖特定的車輛功能。訪談后續的問題均圍繞該建模示例展開。最后,我們就適用性、可擴展性、可理解性、完整性和工具支持五個方面向行業專家提問。

圖4、功能解鎖攻擊的SAM模型

(一)總體發現

訪談結果顯示,目前汽車行業尚未形成清晰的安全工程流程,各企業仍在積極制定相關流程。業內期望這些流程能夠參考 ISO 21434 和 ISO 26262 等安全標準(目前這些標準被視為汽車工程師的通用指南)。對于希望開展安全工程工作的工程師而言,SAE J3061 標準也不失為一個良好的起點。訪談結果表明,行業迫切需要一套詳細的安全需求開發流程。目前,行業內的許多項目由服務提供商承擔,委托企業會將安全功能整合到已完成的標準組件中。而一級供應商(Tier 1)在安全開發流程方面也沒有具體的規范。

兩位專家均證實,他們確實在按照 V 模型開展工作,并且擁有較為清晰的流程模型。理想情況下,他們會先獲取需求規范,編寫需求說明文檔,設計軟件架構,制定模塊規范,根據規范設計測試用例,對模塊進行測試,然后再進行集成測試。根據最終需要開發的產品,他們會開發相應的軟件或完整的電子控制單元(ECU)。之后,按照 V 模型的流程逐步回溯,直至完成所有規范需求的測試,并且這一過程會覆蓋所有需求。

對于部分需求而言,安全并非重點考量因素。即便涉及安全問題,也往往只是通過實施說明或指定使用的軟件間接提及。盡管將安全概念整合到 V 模型的所有階段可能面臨挑戰,但這無疑是業界所期望的。

(二)適用性

我們詢問專家現有流程能否在當前工作流中應用 SAM,或者 SAM 是否有可能整合到現有流程中。我們還向專家解釋了 SAM 旨在促進安全專家、軟件架構師和軟件工程師之間交流協作的初衷,并詢問 SAM 是否達到了這一目的。此外,我們還試圖了解 SAM 是否適合在行業中應用,能否解決當前行業面臨的問題,以及 SAM 是否已具備支持自動駕駛汽車系統開發的條件,還有哪些方面有待完善。以下是專家回答的總結:

兩位專家一致認為可以應用 SAM,因為它為攻擊的可比性提供了良好的方法。目前缺失的一個流程是,在模塊規范階段,必須將每個部件都視為可能存在攻擊風險的對象。主要問題在于,開發過程中通常只進行一次相關流程,而攻擊卻往往發生在維護階段。不過,像 SAM 模型這樣的可視化工具會對此有所幫助。將 SAM 整合到現有流程中的一個可行方案是,將 SAM 模型用作安全漏洞報告。借助 SAM,相關人員可以提前掌握各種約束條件。當前流程通常僅涵蓋開發和交付階段,團隊需要建立類似 “安全響應團隊” 的組織。該團隊負責監控整個系統,了解已部署的軟硬件組合情況以及存在的問題(如 SPECTRE 漏洞),這類問題可能會突然影響大量已投入使用的產品。安全響應團隊可以利用 SAM 對這類攻擊進行分類。

對于服務提供商而言,將 SAM 整合到工作流程中難度較大,但對于原始設備制造商(OEM)而言則完全可行。與根據 ISO 26262 標準考慮汽車安全完整性等級(ASIL)類似,SAM 完全可以在原始設備制造商層面實現整合。SAM 提高了透明度,有助于更好地理解攻擊。經過團隊培訓后,SAM 無疑會對工作有所幫助,尤其是在目前缺乏替代方案的情況下,能夠簡化溝通。不過,如果沒有額外的文本說明,人們可能無法理解構建不佳的 SAM 模型。

關于 SAM 在自動駕駛領域的適用性,專家們認為目前尚無法給出確切答案。SAM 需要先在實踐中驗證效果,人們也需要通過實際使用來熟悉它,之后才能確定其在自動駕駛領域的應用價值。即使未來系統在結構上可能變得更加簡單,但軟件開發復雜度可能會大幅增加,因為代碼量會顯著增多。此外,安全措施必須確保安全機制能夠正常運行,并且在可用性、安全性和安全性之間取得平衡。如果車輛因輕微的安全疑慮就進入失效安全模式,那么在這種情況下,自動駕駛將無法實現。

一位專家提出,為機器學習組件添加一些建模實體可能會有所幫助,但由于機器學習組件具有 “黑箱” 特性,這一工作頗具挑戰性。

(三)可理解性

我們詢問行業專家 SAM 是否存在難以理解的部分。盡管專家們表示能夠理解 SAM 的全部內容,但他們認為通過示例進行介紹將有助于初學者入門,因為 SAM 更側重于實用性,形式化程度相對較低。

(四)可擴展性

在這一評估維度中,我們探討了 SAM 最適合何種復雜度或規模的軟件項目,以及開發人員在實際應用中應如何合理使用 SAM。

行業專家在這一問題上存在分歧。雖然針對更復雜的場景可以輕松創建多個 SAM 模型,但一位專家認為,對于大型項目而言,SAM 的可擴展性可能不佳。例如,對于整輛車而言,可能無法通過 SAM 全面了解其整體安全狀況。要實現 SAM 的可擴展性,就需要將多個 SAM 模型關聯起來。然而,由于所有內容都與某個部件相關,且車輛系統極為復雜,整體模型可能會變得混亂難懂。不過,他也表示,SAM 對于小型項目而言是一種合適的方法。

另一位專家則認為,汽車工程師必須為安全工程工作分配足夠的時間。SAM 對此會有所幫助,因為如果所有人都使用統一的 “語言”(即 SAM),最終將節省時間。同時,還需要為安全技術提供支持。負責掌握當前市場上產品、軟件和硬件情況的中央部門,可以利用 SAM 來開展相關工作。

相反,部分開發人員可能不愿意使用 SAM,因為它的抽象級別相對較高。不過,幸運的是,SAM 與統一建模語言(UML)有較高的相似性,開發人員可以較快地熟悉并掌握 SAM 的使用方法。通過需求的可追溯性來推動開發人員采用 SAM,將是一個有效的策略。因為開發人員嚴格按照需求和 V 模型開展工作,通過 SAM 可以驗證需求的有效性。

(五)完整性

為確保 SAM 的完整性,我們詢問專家 SAM 的說明和屬性是否完備,是否存在可以刪減的內容,以及如何為 SAM 添加測試功能,可能的解決方案是什么。

在與專家的討論中,我們發現目前部分實體存在信息冗余的情況。不過,本文所呈現的 SAM 版本已包含最新的修改,其中也融入了訪談后根據反饋進行的優化調整。此外,一位專家認為評分(Score)實體可能存在冗余,因為所有相關信息已包含在其他實體的屬性中,并且可以通過這些屬性計算得出評分結果。從理論上講,評分實體屬于冗余信息。如果當前有合適的建模工具,評分可以在后臺自動計算并實時顯示,無需將其作為一個獨立實體存在。但目前,評分仍然以單獨實體的形式呈現。

總體反饋表明,若 SAM 的使用者具備一定的安全知識背景,就能理解 SAM 中的所有術語和說明。SAM 在揭示系統薄弱環節方面表現出色。基于 SAM 模型,可以推導出測試用例并進一步細化,對防御措施進行測試,以達到特定的 CVSS 評分標準。同時,還可以根據評分調整測試策略,例如確認某種攻擊已不再可行,并在必要時推導出新的測試用例。然而,SAM 實際上只是向工程師指出了問題所在,即攻擊場景。后續的應對措施主要包括兩個方面:修復漏洞和測試漏洞修復效果。發現漏洞后,必須對架構進行相應修改。可復用性是一個重要因素。相關人員需要對修改進行測試,并確保未來的模型或產品不再出現類似漏洞。此外,還需考慮是否可以將測試抽象化,以便在未來的測試中重復使用。不過,要實現測試的自動化生成,還需要更多詳細信息。盡管如此,測試人員仍可以通過查看 SAM 模型,自行編寫相應的測試用例。

(六)工具支持

目前,尚未實現從 SAM/EAST-ADL 到 AUTOSAR 的無縫工具支持。我們詢問專家是否需要此類工具支持,自動生成 SAM 模型(例如從測試或代碼中生成)是否有用,以及是否有其他建議或反饋。

一位專家不確定 SAM 是否必須與 AUTOSAR 直接適配。SAM 在攻擊建模方面具有實用價值,而 AUTOSAR 則用于軟件建模。不過,支持 SAM 模型創建或自動計算評分的工具將有助于提高 SAM 的可用性,是非常有益的。如果 SAM 使用便捷且有合適的工具支持,開發人員肯定會愿意使用它。

另一位專家則持不同意見,他認為目前自動生成 SAM 模型并非必要。同時,他表示行業目前尚不確定是否會繼續依賴 AUTOSAR。不過,目前 SAM 可以獨立使用。根據他在 AUTOSAR 方面的經驗,不建議過度依賴 AUTOSAR 進行擴展開發。可以在建模完成后,通過后處理自動生成或更新 SAM 模型,就像目前可以自動生成代碼、頭文件、模板等一樣。目前,SAM 保持現有狀態(即不支持自動生成),有助于促使相關人員從一開始就主動思考安全問題。

專家們還提出了一些一般性建議,例如編寫 “入門指南” 或 “使用教程” 文檔,這將有助于 SAM 在實際應用中的推廣和接受。最后,專家建議 SAM 應更多地在原始設備制造商(OEM)層面使用,因為車輛是結構復雜的產品,目前只有產品所有者能夠全面了解車輛的各個組件。借助 SAM,相關人員可以充分記錄安全方面的思考、研究成果以及評估過程。

(七)總體結果

我們的行業評估表明,SAM 作為一種解決方案是切實可行的,并且將其所采用的方法整合到行業流程中也是可行的。此外,受訪行業專家認為 SAM 易于理解。盡管 SAM 在大型軟件項目中的可擴展性可能存在不足,但它為小型項目提供了一個可行的起點和實施流程。評估結果還顯示,SAM 內容完備,為威脅建模和攻擊評級提供了足夠的工具、方法和說明。關于工具支持的評估結果存在分歧,因此有必要進一步研究實用的工具支持方案。

表二總結了評估結果,表一中對符號含義進行了解釋。

表一:評估結果表符號說明

表二:評估結果總結

七、結論與未來工作

本文詳細描述了安全抽象模型(SAM),包括其所有元模型實體。有證據表明,本文提出的方法是可行的。我們通過與行業專家的訪談以及扎根理論分析,對該安全技術進行了評估。評估結果顯示,SAM 通過促進汽車系統工程師和安全專家之間的協作,將 “設計即安全” 原則付諸實踐。未來的工作將側重于自下而上的方法,即在應用層改進嵌入式安全和網絡安全,以及設計加密協議(例如利用密碼強化加密,PHE)。下一步需要開發切實可行的汽車軟件解決方案,并將其納入安全概念中。我們的研究重點尤其放在了適用于自動駕駛汽車共享場景的 PHE 認證機制以及指紋識別系統上。本文的研究旨在為汽車行業的 “設計即安全” 提供支持,而 SAM 則為該領域開展進一步相關研究提供了必要的見解和基礎。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/96284.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/96284.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/96284.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

線掃相機不出圖原因總結

1、幀觸發信號有問題 線掃相機出圖由幀信號決定開始采集,如果沒有幀信號線掃相機無法識別開始信號,所以不出圖 1)沒有給相機幀信號 幀信號是一個短暫的脈沖信號,持續時間不要太長,相機能識別就可以,一般由plc或者控制卡的數字量輸出口觸發,可以通過監測數字量輸出口來確…

開發避坑指南(46):Java Stream 對List的BigDecimal字段進行求和

需求 對int,long類型的數據求和直接用stream().mapToInt()、stream().mapToDouble(),可是沒有stream().mapToBigDecimal()這樣的方法,那么如何用stream對List的BigDecimal字段進行求和? 代碼實現 直接上代碼 public class OrderIn…

pycharm如何處理python項目間引用

1. 如何在pycharm中將其它項目添加到打開的項目中 如圖所示:文件->打開->附加(Attach)即可2.如何引用:直接作為一個普通package引用即可 from attack_projectxxx.modulexxx import xxx3.pyinstaller如何編譯這種引用其它項目的可執行文…

家庭勞務機器人發展階段與時間預測

家庭勞務機器人大規模進入家庭不會是一個單一的時間點,而是一個分階段、漸進式的過程。我們可以將這個進程分為以下幾個階段,并對每個階段的時間線進行預測:第一階段:單一功能機器人普及(現在 - 2025年)這個…

Zynq開發實踐(FPGA之spi實現)

【 聲明:版權所有,歡迎轉載,請勿用于商業用途。 聯系信箱:feixiaoxing 163.com】雖然串口用的地方比較多,實現起來也比較簡單。但是串口本身速度比較慢,不利于高速數據通信。而且單個串口沒有辦法和很多芯片…

指甲打磨機/磨甲器MCU控制方案開發,輕松解決磨甲問題

美甲打磨機/指甲打磨機核心功能需求 1. 基礎功能 無級調速(5,000-30,000 RPM,PWM控制) 正反轉切換(可選,用于拋光/去角質) 按鍵鎖/防誤觸(長按3秒解鎖) 鋰電池管理(3.7V單節,帶充電指…

臨床數據挖掘與分析:利用GPU加速Pandas和Scikit-learn處理大規模數據集

點擊 “AladdinEdu,同學們用得起的【H卡】算力平臺”,注冊即送-H卡級別算力,80G大顯存,按量計費,靈活彈性,頂級配置,學生更享專屬優惠。 摘要 隨著電子健康記錄(EHR)的普…

二進制安裝MySQL 8.0指南:跨平臺、自定義數據路徑、安全遠程訪問配置

二進制安裝 MySQL 8.0 在生產或測試環境中,我們常常希望避免包管理器帶來的依賴和交互問題,尤其是當系統自帶版本過舊或安裝過程頻繁彈窗時。此時,使用 MySQL 官方提供的二進制壓縮包(Generic Linux Binary) 進行安裝…

Z檢驗與T檢驗的區別與聯系:原理、公式和案例全解

Z檢驗與T檢驗全解析:原理、區別與實際案例 統計學的核心任務之一,就是通過有限的樣本數據去推斷總體特征。在這一過程中,假設檢驗成為了最常見的工具。而在眾多檢驗方法中,Z檢驗與T檢驗幾乎是入門必學,也是應用最廣泛的…

SpringBoot之緩存(最詳細)

文章目錄項目準備新建項目并選擇模塊安裝添加依賴添加application.yml刪除demos.web包編寫pojo層userdto/ResultJson編寫mapper層UserMapper編寫service層UserService編寫controller層編寫配置類MybatisPlusConfig編寫測試類1 緩存分類1.1 MyBatis一級緩存1.2 MyBatis二級緩存1…

B站 韓順平 筆記 (Day 29)

目錄 1(集合的框架體系) 2(Collection接口和常用方法) 2.1(Collection接口實現類特點) 2.2(常用方法) 2.3(遍歷元素方式1:迭代器) 1&#x…

axios報錯解決:unsupported BodyInit type

目錄 問題 原因 解決方法 問題 Got ‘unsupported BodyInit type’ bug on iPhone 14(IOS 17.5) Issue #6444 axios/axios 我這里是iPhone 6plus打開會報錯白屏 好多人遇到了相同的問題 當我在 iPhone 14 上瀏覽頁面時,我收到一條錯誤消息:錯誤:不支持的 BodyInit 類型,…

iperf3網絡性能測試工具

iperf3 是一個功能非常強大的網絡性能測試工具,用于測量兩個網絡節點之間的最大TCP、UDP帶寬和性能。它通過創建數據流并測量其吞吐量來工作。 下面我將為您詳細介紹其核心用法、常用命令和參數。 核心概念:客戶端/服務器模式 iperf3 測試需要兩臺機器:一臺作為服務器端(…

【C#】 資源共享和實例管理:靜態類,Lazy<T>單例模式,IOC容器Singleton我們該如何選

文章目錄前言一、靜態類1.1 靜態類的特點1.2 靜態類的使用1.3 靜態類的缺點二、單例模式2.1 Lazy延遲初始化2.2 Lazy< T>單例模式的使用2.3 單例模式的特點三、IOC的Singleton總結前言 編寫程序的時候&#xff0c;常常能碰到當某些數據或方法需要被整個程序共享&#xf…

MySQL——存儲引擎、索引

一、存儲引擎1.MySQL體系結構2.存儲引擎簡介存儲引擎就是儲存數據、建立索引、更新/查詢數據等技術的實現方式。儲存引擎是基于表的&#xff0c;而不是基于庫的&#xff0c;所以存儲引擎也可被稱為表類型建表語句&#xff1a;查詢數據庫支持的儲存引擎&#xff1a;show engines…

機器學習01——機器學習概述

上一章&#xff1a;機器學習核心知識點目錄 下一章&#xff1a;機器學習02——模型評估與選擇 機器學習實戰項目&#xff1a;【從 0 到 1 落地】機器學習實操項目目錄&#xff1a;覆蓋入門到進階&#xff0c;大學生就業 / 競賽必備 文章目錄一、參考書推薦二、機器學習的基本概…

Shell編程:檢測主機ip所在網段內其他在線ip

一、邏輯設計獲取本機 ip 及 網段循環檢測網段內所有 ip判斷 ping 結果&#xff0c;符合條件的輸出相關信息二、代碼展示#!/bin/bash#獲取本機ip local_iphostname -I #local_ipip addr| grep "inet "|grep -v 127.0.0.1| awk {print $2}#獲取本機網段 networkecho $…

Windows安裝Chroma DB

安裝步驟 安裝python 3.8或以上的版本創建虛擬環境&#xff1a;python -m venv chroma_env激活虛擬環境&#xff1a;.\chroma_env\Scripts\activate安裝Chroma DB&#xff1a;pip install chromadb(可選)安裝擴展功能&#xff1a;pip install sentence-transformers pypdf tikt…

李彥宏親自說

昨天&#xff0c;李彥宏親自說&#xff1a;百度的數字人直播以假亂真&#xff0c;很多人是看不出這是數字人&#xff0c;而且轉化率很高”這幾個月百度一直在推“數字人”不再強調“大模型”了。數字人是AI落地最適合企業的一款產品&#xff0c;一般用于客服、面試、直播帶貨等…

JS 中bind、call、apply的區別以及手寫bind

1.作用call、apply、bind作用是改變函數執行的上下文&#xff0c;簡而言之就是改變函數運行時的this指向那么什么情況下需要改變this的指向呢&#xff1f;下面舉個例子var name "lucy"; var obj {name: "martin",say: function () {console.log(this.nam…