什麼(me)是ISO 21434?給汽車軟件開(kāi)發(fā)人員的合規貼士

創提信息
2022/07/13

分享到

ISO 21434幫助汽車産品開(kāi)發(fā)商、整車廠(OEM)及其供應商确保其車輛的信息和網絡安全。這(zhè)一點随著(zhe)汽車之間的聯系越來越緊密,自動駕駛汽車的數量越來越多變得相當關鍵。因此,在設計和實現汽車軟件時(shí),考慮到信息和網絡安全是非常重要的。
 
在這(zhè)裡(lǐ),我們將(jiāng)概述什麼(me)是ISO 21434,和對(duì)汽車嵌入式軟件開(kāi)發(fā)團隊的一些貼士。


本文將(jiāng)包含如下幾個部分:
 
     • 什麼(me)是ISO 21434?
 
     • ISO 21434概述
 
     • ISO 21434合規
 
     • 爲什麼(me)推薦MISRA C:2012修訂版1和CERT C指南?
 
     • 什麼(me)是ISO 21434工具?


什麼(me)是ISO 21434?
 
ISO 21434“道(dào)路車輛——網絡安全工程”是一項汽車标準。它重點關注道(dào)路車輛電子系統的網絡安全風險。


ISO 21434概述
 
ISO 21434將(jiāng)網絡安全工程化應用到車輛生命周期的所有階段——從設計直到退役。這(zhè)适用于車輛中的所有電子系統、組件和軟件,以及任何外部連接。
 
而且,該标準爲開(kāi)發(fā)人員提供了一種(zhǒng)全面(miàn)的方法來實現跨越整個供應鏈的安全保障。


爲什麼(me)ISO 21434很重要?
 
随著(zhe)無線網絡(Wi-Fi)和藍牙(Bluetooth)等汽車連接應用的增加,以及自動駕駛汽車的發(fā)展,網絡攻擊和後(hòu)續損害的風險也在增加。目前的安全關鍵标準不足以涵蓋這(zhè)類風險,因此需要制定新的指南和标準。
 
該标準旨在提供一個結構化流程,以确保在汽車産品的整個生命周期内都(dōu)考慮到網絡安全問題。
 
該标準要求汽車制造商和供應商在實施網絡安全工程時(shí)盡職盡責,并將(jiāng)網絡安全管理應用于整個供應鏈以支持其實施。
 
其目的是讓公司鼓勵一種(zhǒng)網絡安全文化,以便所有的設計從一開(kāi)始就(jiù)將(jiāng)安全問題考慮在内。


ISO 21434合規
 
ISO/SAE 21434對(duì)軟件開(kāi)發(fā)有特定的要求,包括分析以檢查是否存在固有缺陷,以及在網絡安全要求方面(miàn)是否保持整體一緻性、正确性和完整性。
 
網絡安全應該是所有設計決策的重中之重,包括選擇用于軟件開(kāi)發(fā)的編程語言。
 
在選擇編程語言時(shí),有幾個标準需要考慮,包括:
 
    • 安全的設計和編碼技術。
 
    • 明确的語法和語義定義。
 
但是,其中一些标準在選定的語言中可能(néng)沒(méi)有得到充分地處理。這(zhè)就(jiù)是爲什麼(me)會(huì)有幾種(zhǒng)解決這(zhè)些語言缺陷的方法,包括:
 
    • 使用語言子集。
 
    • 強制執行強類型。
 
    • 使用防禦性實現技術。
 
鑒于此,我們建議您使用編碼指南來解決所選語言的缺陷。


爲什麼(me)推薦MISRA C:2012修訂版1和CERT C指南?
 
衆所周知,像C和C++這(zhè)樣(yàng)的編程語言包含一些可能(néng)導緻關鍵的或非特定行爲的特性。在一個安全的系統中,這(zhè)是不可接受的。禁止使用這(zhè)種(zhǒng)帶有語言子集的語言結構可能(néng)會(huì)允許在有網絡安全需求的系統中采用這(zhè)種(zhǒng)語言。
 
C語言仍然是汽車軟件中最常用的語言。在ISO/SAE 21434中,特别推薦MISRA C:2012修訂版1和CERT C指南用于任何使用C語言的項目。
 
創建語言子集是MISRA C:2012和CERT C指南的核心。MISRA C:2012修訂版1聲明:“MISRA C指南定義了C語言的一個子集”。
 
這(zhè)兩(liǎng)個指南都(dōu)是通過(guò)防止使用可能(néng)導緻關鍵或非特定行爲的功能(néng)來實現這(zhè)一點的。
 
例如,MISRA C:2012修訂版1規則21.5禁止使用signal.h中的函數,規則21.21禁止使用函數‘system’。
 
類似地,CERT C規則11Signals(SIG)阻止特定的信号處理程序,ENV33-C不調用system()。
 
強類型可以确保對(duì)語言數據類型的理解,從而防止某些類的編程錯誤。使用具有強類型的編碼指南能(néng)夠确保正确性和一緻性。
 
MISRA C:2012修訂版1具有基本類型模型,該模型專門用于強制執行強類型,而CERT C在單個規則(如INT32-C)中隐式地處理強類型,防止有符号整數溢出。
 
防禦性實現技術使軟件即使在不可預見的情況下也能(néng)繼續運行。這(zhè)需要考慮“可能(néng)會(huì)發(fā)生什麼(me)”。例如,需要考慮可能(néng)受污染的數據,理解算術函數的計算順序。最重要的是,代碼需要簡單易懂。
 
所有防禦性實現技術都(dōu)應該從使用公認的編碼指南開(kāi)始。MISRA C:2012 修訂版1和CERT C都(dōu)通過(guò)識别關鍵的、非特定的語言行爲來實現這(zhè)一點,從而使生成(chéng)的代碼更可靠,更不容易出錯,更容易維護。
 
CERT C是一項完整的語言安全标準,因此它被(bèi)設計用來識别網絡安全中特有的漏洞。而MISRA C:2012 修訂版1定義了一個适用于安全性的語言子集,并有專門用于防禦性實現技術的規則,包括switch語句(規則16.2和16.3)和資源管理(規則22.x)。


什麼(me)是ISO 21434工具?
 
爲了有效地識别漏洞和缺陷,并執行推薦的編碼指南(如MISRA和CERT C),您應該使用行業标準化工具,特别是靜态代碼分析工具。
 
諸如Helix QAC之類的靜态代碼分析工具既可以驗證是否符合編碼指南,也可以提供相應的合規證明。這(zhè)將(jiāng)提供與網絡安全要求相關的整體一緻性、正确性和完整性。
 
軟件工具是任何車輛開(kāi)發(fā)的重要組成(chéng)部分,必須根據對(duì)産品網絡安全的影響對(duì)其進(jìn)行管理。這(zhè)包括驗證工具,比如靜态分析工具。
 
有必要确保在開(kāi)發(fā)流程中使用的任何工具不會(huì)對(duì)網絡安全産生負面(miàn)影響,這(zhè)包括管理工具,以确保訪問受到控制,并得到正确使用。需要證據來顯示如何管理工具,其中將(jiāng)包括經(jīng)過(guò)驗證的結果。
 
适當的工具將(jiāng)使合規更簡單,而像Helix QAC這(zhè)樣(yàng)的靜态分析工具可以提供符合生産安全、可靠的軟件所需的開(kāi)發(fā)指南。
 
Helix QAC完全符合MISRA C:2012和CERT C指南,并且已被(bèi)TÜV-SÜD認證可用于安全關鍵系統,將(jiāng)讓您更容易驗證軟件不受常見的代碼安全漏洞的影響。
 
此外,通過(guò)使用像Helix QAC這(zhè)樣(yàng)的靜态代碼分析工具,您可以通過(guò)以下方法加速實現合規:
 
    • 執行編碼标準并檢測違反規則的情況。
 
    • 在開(kāi)發(fā)早期檢測合規問題。
 
    • 加速代碼審查和手動測試工作。
 
    • 随著(zhe)時(shí)間的推移,報告不同版本産品的合規性。
 
欲了解Helix QAC將(jiāng)如何幫助您加速實現合規,立刻申請免費試用吧。