《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 關于汽車軟件安全保障改進

關于汽車軟件安全保障改進

2021-06-28
來源:網絡安全應急技術國家工程實驗室
關鍵詞: 汽車 軟件安全

  前言

  《Better Embedded System Software》一書的作者在其博客上發布了可致命汽車軟件缺陷列表,該列表主要來源于NHTSA(美國高速公路安全管理局)官網上的召回通告。作者在博客中表示,整理出列表的目的不是要針對任何特定的公司或軟件缺陷,現實是關鍵的安全性軟件缺陷在整個汽車行業中都是普遍且持久存在的。

  本文將首先從清單中挑選出一些典型例子,然后討論SAST能對這些狀況提供的幫助。

  汽車軟件故障示例

  原博客中列出的那些問題能被作為車輛召回的原因,也表明了那些問題確實是足夠嚴重的安全隱患,以下是部分召回信息:

  1、由于診斷檢查問題,ABS 和 DSC 被禁用(捷豹)/ 2021 年 3 月

微信圖片_20210628170228.jpg

2、無線電軟件安全漏洞(克萊斯勒)/ 2015微信圖片_20210628170236.jpg

3、ESC故障(梅賽德斯)/ 2021 年 2 月微信圖片_20210628170239.jpg

4、制動性能降低(現代)/ 2020 年 12 月微信圖片_20210628170242.jpg

  5、由于偏航傳感器軟件的缺陷,特別是診斷程序缺陷,導致錯誤干預電子穩定程序(ESP)。在這種情況下,傳感器漂移會增加撞車的風險。

  6、由于軟件代碼缺失以及與新引入的硬件不兼容,自動緊急制動可能無法啟動。

  以上只是一些有代表性的問題,還有非常多類似的召回案例,其中涉及到的軟件和硬件缺陷,可能影響車輛穩定性、制動和發動機控制等關鍵方面。

  SAST在安全關鍵軟件開發中的作用

  汽車軟件的安全保障顯然是一個系統性問題,需要企業文化、管理流程和研發技術變革共同推進。行業自認證也存在問題,ISO 26262等標準并沒有被普遍采用,由于這個主題太大,以下將僅關注可以通過SAST (static application security testing,靜態應用程序安全測試) 和SCA (軟件組成分析) 改進的流程和過程。

  SAST的強大之處在于不依賴于測試用例來發現問題,也不需要重現錯誤或失敗。類似GrammaTech CodeSonar這樣的SAST工具可以在不實際運行程序的情況下推斷出程序的運行時行為。此外,當它識別出一個問題時,還能在代碼中定位到導致失敗的位置。這使得調試工作變得簡單。

  靜態分析并不能完全替代測試,而是對測試的有效補充。現實情況是,在大型的復雜軟件系統中,可能的狀態非常之多,可能的執行路徑數量更是驚人,所以對它們進行詳盡的測試是不現實的。靜態代碼分析可以從總體上探索這些路徑和狀態,以發現測試中遺漏的問題。

  通過編碼標準進行預防:編碼標準是安全關鍵軟件開發的重要組成部分,因為它們定義了一組更安全的編程語言子集。汽車軟件中最常用的標準是 MISRA C 和 MISRA C++(還有相關的AUTOSARC++標準)。執行更嚴格的安全編碼標準,可以提前消除許多軟件缺陷,重點是避免使用已知的危險語法和每種語言中潛在未定義行為的部分。

  代碼覆蓋率不代表一切:許多安全標準需要高水平的代碼覆蓋率(以證明測試執行了大部分語句和條件)。雖然這是非常詳盡的,但做起來成本很高,而且必須在開發的每個主要階段重復進行(單元、集成和系統測試)。其實軟件的關鍵性決定了覆蓋率的水平,一些不太關鍵的軟件不需要正式的測試覆蓋率。雖然測試代碼覆蓋率是評估軟件質量的一個指標,但在有些情況下,它并不是絕對的。

  被基于覆蓋率測試所遺漏的漏洞和錯誤:基于覆蓋率指標的軟件測試本質上是基于單元的測試(盡管覆蓋率也會在系統層面進行評估)。而并發性錯誤和安全漏洞是兩個在嚴格測試中也可能被遺漏的隱患。并發產生的錯誤(如競爭條件)只有在運行過程中出現一些不可預見的情況時才會被發現。安全漏洞是存在于代碼中的錯誤 – 造成錯誤的原因通常是由于在測試期間沒有考慮輸入的類型。SAST可以及早發現這些錯誤,并防止它們在開發周期的后期成為絆腳石。

  及早發現缺陷:嚴格的測試可以發現軟件中的大多數缺陷,但成本高昂且極其耗時。在編寫代碼時就發現和修復這些錯誤比在開發周期后期便宜得多(隨著時間的推移,發現缺陷的成本呈指數級增長)。靜態分析可以在代碼編寫時檢測錯誤——如果能作為開發人員開發環境的一部分,這將大大降低缺陷出現在下游時的成本。

  分析開源和第三方代碼:在嵌入式軟件開發中,使用第三方代碼和開源軟件是一個常見現象。一些安全標準認為,任何沒有按照特定標準開發的軟件都是血統不明的軟件(SOUP)--是需要仔細檢查后才能納入系統的。針對這類情況,軟件組成分析工具SCA可以提供幫助,如GrammaTech CodeSentry,可以分析第三方二進制文件以發現缺陷和安全漏洞,并生成軟件材料清單(SBOM)。

  總結

  NHTSA對存在軟件相關缺陷車輛的召回正在增加,這表明汽車軟件開發需要加快改進步伐。然而,為汽車系統開發嵌入式軟件,需要遵守嚴格的方法和承諾,以增加安全和保障,改進需要自上而下地進行文化和流程的改變。與此同時,還需要自下而上的改變,采用最佳實踐,包括流程和編碼標準以及其他經過驗證的方法來提高代碼質量。

  引入高級靜態分析工具將有助于自動執行編碼標準,更重要的是它們能在查找被其他驗證測試活動遺漏的缺陷方面發揮重要作用,并且有助于開發人員理解和糾正代碼問題。對軟件成分分析以及審查開源和第三方軟件的已知漏洞,并創建軟件物料清單 (SBOM) 會對降低軟件供應鏈風險起到關鍵作用。




本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 黄色在线播放 | 激情性爽三级成人 | www.黄.com| a级片在线观看视频 | 国产福利不卡一区二区三区 | 伊人天堂在线 | 超薄肉色丝袜精品足j福利 超级乱淫视频aⅴ播放视频 | 久久精品视 | 日韩欧美成末人一区二区三区 | 99精品视频在线视频免费观看 | 国产成人美女福利在线观看 | 97在线观看完整免费 | 日韩一级片免费看 | 精品国产欧美一区二区五十路 | 日本欧美一级二级三级不卡 | 久久精品国产精品亚洲毛片 | 国内精品免费一区二区三区 | 日本久久久久久 | 一个人看的www日本高清视频 | 综合久久久久久 | 99热久久精品国产 | 波多野结衣中文无毒不卡 | 久草视频福利资源站 | 国产精品欧美日韩一区二区 | 99精品久久久久久久 | 亚洲精品午夜国产va久久成人 | 97免费视频观看 | 亚洲视频在线网 | 57pao强力打造手机版 | 国产99久9在线视频 国产99久久 | 亚州精品一区二区三区 | 国内久久精品视频 | 午夜影院福利社 | swag国产精品一区二区 | 日韩一区二区精品久久高清 | 欧洲精品一区二区三区在线观看 | 欧美一区二区视频在线观看 | 欧美xxxxx九色视频免费观看 | 久久综合久久自在自线精品自 | 韩国在线精品福利视频在线观看 | 国产三级在线观看a |