Parasoft C/C++test:汽車網路安全ISO 21434最佳實踐

摘要:汽車公司現在依賴複雜的軟體來製造智慧汽車。這引發了人們對現代汽車的一些漏洞的擔憂。閱讀本文瞭解為什麼汽車公司將網路安全納入其開發戰略。Parasoft C/C++test如何滿足網路安全ISO 21434。

許多汽車公司向電子道路車輛的轉變從根本上改變了整個行業,提高了汽車的互聯性和智慧性。隨著電子汽車變得更加互聯和智慧,它們也越來越依賴軟體來實現車輛操作,驅動更多的特性和功能來提升駕駛體驗。

道路車輛中越多的特性和功能導致了更多的複雜性和代碼。更多的代碼意味著面臨更多的問題。車輛攻擊面增加等問題可能會導致攻擊者利用漏洞控制和接管道路車輛。這帶來了嚴重的安全問題和網路安全問題,有望徹底改變現代汽車的設計和開發方式。

鑒於軟體為現代道路車輛提供動力,網路安全成為一種新的安全措施。一輛標準電動汽車運行超過1億行的代碼,這取決於它配備了哪些附加功能。保護道路車輛免受網路安全威脅比以往任何時候都更加重要。主要攻擊載體之一是電子控制單元(ECU),它為車輛子系統的操作、監控和配置提供重要的通信和基本功能。

什麼是電子控制單元(ECU)?

ECU是微處理器控制的設備,可以提供各種車輛基本功能,包括以下功能:

  • 發動機和動力轉向
  • 燃油噴射
  • 電動車窗和座椅等舒適性方面
  • 溫度控制
  • 無鑰匙進入和門鎖等安全功能

由於關鍵事件的時間敏感性,ECU根據其功能劃分為多個子系統。現代道路車輛具有多達100個運行車輛功能的ECU。ECU使用其連接的匯流排進行通信,其中所有ECU通信都由閘道處理,以管理和驗證ECU發送的消息。

在閘道後面部署ECU的目的是確保只有需要相互通信的設備才能進行通信。這是對傳統ECU設計的改進,傳統ECU接受來自同一佈線匯流排上任何實體的命令並與之共用資訊。這是許多汽車攻擊的攻擊載體,如著名的吉普駭客攻擊,引發了許多圍繞汽車網路安全標準的改進。

ECU可能成為網路攻擊目標

有足夠的研究和漏洞利用的證據證明ECU是如何被逆向工程和破壞的。其中包括2015年的吉普駭客攻擊、2016年、2017年的特斯拉駭客攻擊、2018年的寶馬駭客攻擊等案例。在這些例子中,ECU都被成功地鎖定並破壞,使攻擊者能夠重新程式設計並改變車輛功能的行為。

有研究人員對來自不同製造商和供應商的40多個ECU進行了研究。他們分析發現,ECU硬體和軟體中都存在300多個漏洞,所有高風險漏洞都存在於軟體中。

安全設計尤為重要

從一開始就建立安全是新的汽車網路安全標準ISO 21434的首要目標。ECU中存在各種漏洞表明了網路安全的嚴重性及其對安全的影響,本標準試圖通過直接影響道路車輛部件設計和開發的要求和建議來解決這些問題。

ISO 21434旨在將高品質的安全和網路安全措施貫穿於整個產品工程生命週期,以確保道路車輛的設計、製造和部署具有安全機制,從而保護道路車輛功能的可信度、完整性、可用性和真實性。

ISO 21434的兩個核心方面集中在以下方面:

  1. 開展威脅分析和風險評估(TARA)活動,重點關注可能的威脅場景和攻擊媒介,以及這些情況會如何影響道路車輛的安全和網路安全。使用TARA並瞭解針對元件的可能攻擊載體是將網路安全納入設計和架構以減輕網路攻擊的理想方式。產品團隊應利用TARA來指導和告知安全測試。
  2. 確保產品開發在從概念(設計)到退役的產品工程生命週期的所有階段都能解決網路安全問題。ISO 21434鼓勵與系統工程V型模型保持一致,以指導車輛製造商和供應商遵循網路安全的良好架構設計要求。這就要求將軟體驗證和確認作為產品測試的一部分。

ISO 21434要求開展軟體驗證活動

軟體測試在説明製造商和供應商滿足ISO 21434中列出的要求和建議方面發揮著關鍵作用。作為軟體驗證活動的一部分,將靜態代碼分析正式化是一種理想的方法,可以用來識別和消除代碼中的歧義,並找出可能暴露ECU元件中使用的軟體漏洞的薄弱環節。這有助於最大限度地減少攻擊者可以利用的攻擊面,從而破壞控制關鍵車輛操作的ECU。

具體而言,ISO 21434在第10.4節“要求和建議”中引用並要求進行靜態分析。

第10.4.1節設計

第10.4.1節中關於設計的需求詳細資訊強調了選擇適合執行語法正確、結構和語法有效的代碼的程式設計語言的必要性。代碼必須在邏輯上具有語義意義,並與所使用語言的一組規則相對應。代碼必須能夠乾淨地編譯,才能轉換為指令序列。

強制執行強類型、使用語言子集和實現防禦性實現技術都是ISO 21434中規定的要求。使用Parasoft MISRA C和CERT C檢查程式和規則使安全編碼合規實踐正式化,將有助於製造商和供應商遵守ISO 21434的要求和建議,以降低軟體和設計中的潛在風險。

採用網路安全和安全編碼實踐來支援軟體驗證和確認是一種最佳實踐,也是確認ISO 21434中概述的網路安全規範的關鍵。使用Parasoft C/C++代碼分析功能可以簡化與關鍵安全軟體相關的軟體測試的嚴格性。

Parasoft C/C++test實現軟體測試自動化非常簡單,它採用集成方法,將靜態分析、代碼覆蓋率、單元測試、需求可追溯性和報告分析結合在一起,以簡化ISO 21434合規性要求。

第10.4.2節集成和驗證

ISO 21434第10.4.2節提供了軟體驗證方法清單,使用Parasoft的C/C++代碼分析功能可以滿足的這些要求。使用資料流程分析可以檢測到許多安全性漏洞。Parasoft的C/C++代碼分析引擎可以為產品工程團隊提供有深度的流分析,如使用後釋放、雙重釋放和緩衝區溢位。

網路安全:第一道防線

通過ISO 21434將網路安全置於道路車輛的首要位置,將有助於汽車行業推動更好的實踐,以減少和減輕最終可能導致死亡的網路威脅和攻擊。

汽車的互聯性和智慧性改變了網路安全在產品工程中的情境化和優先順序。通過正式化ISO 21434,產品工程團隊可以利用威脅分析和威脅建模活動,在整個生命週期中為設計決策和產品開發提供資訊。

由於駕駛員的安全和保障受到威脅,所以內部安全建設不能再只是一句順口溜了。網路安全必須植根於整個產品工程團隊的思維和活動中,這樣整個團隊都會思考如何設計和開發軟體來預防和減輕網路攻擊。

ISO 21434提供了一個思維圖,幫助製造商和供應商應對產品開發中的安全和網路安全挑戰。這項新標準是加強道路車輛安全保護機制的基石,最終將挽救生命。

Parasoft C/C++test:汽車網路安全之路

Parasoft的C/C++test集成自動化測試解決方案是您SDLC和產品工程領域的最佳解決方案。Parasoft在嵌入式軟體市場擁有豐富的經驗和專業知識,可説明您滿足安全和網路安全合規需求

軟體測試自動化工具、分析、人工智慧和報告的獨特組合從一開始就提供了對品質和安全問題的可見性。這使產品工程師團隊能夠根據市場要求的標準和最佳實踐加速軟體驗證。

關於PARASOFT

Parasoft通過其AI驅動的軟體測試平臺和自動化測試解決方案説明組織持續提供高品質的軟體。Parasoft成熟的技術支援嵌入式、企業和物聯網市場,通過將深度代碼分析和單元測試,Web UI和API測試,以及服務虛擬化和完整代碼覆蓋率整合到交付管道中,減少了為提供安全、可靠和合規軟體所需的時間、精力和成本。Parasoft屢獲殊榮的報告和分析儀錶板彙集了所有以上所述,提供了集中的品質視圖,使組織能夠自信地交付,並在當今最具戰略性的生態系統和開發計畫中取得成功——資訊安全、功能安全、敏捷、DevOps和持續測試。