它包含龐大的代碼庫并跨越關鍵的板載系統。多年來,制造商一直依賴MISRA C/C++ 編碼指南來幫助軟件開發(fā)。該框架為汽車行業(yè)及其他行業(yè)帶來了實際好處和安全收益。
許多創(chuàng)建汽車軟件的開發(fā)團隊使用 MISRA 指南和應用程序安全工具,包括靜態(tài)應用程序安全測試 (SAST)。這使得在途中發(fā)現語法和其他編碼錯誤成為可能,從而降低安全漏洞和關鍵安全問題的風險。該框架還有助于降低開發(fā)成本并加快上市時間。
然而,以最大效率結合使用這些指南和工具可能具有挑戰(zhàn)性。問題?許多應用程序安全 (AppSec) 工具需要大量的人工干預或監(jiān)督,才能充分了解它們如何影響各種流程。
破解密碼
問題的核心是一個基本事實:在手動執(zhí)行 MISRA 標準時會很困難。許多基本的 AppSec 工具只處理規(guī)則檢查——因此提供了一些幫助,但回避了與應用程序安全相關的核心問題。它們不解決關鍵任務,例如錯誤檢測和安全漏洞分析。
不幸的是,遵循基本的 MISRA 指南并不能提供足夠的保護。雖然它可以消除一些錯誤并提高 C 或 C++ 的代碼質量,但它并不針對龐大的代碼庫和日益復雜的開發(fā)實踐。錯誤和缺陷仍然是編寫代碼的不幸和不可避免的副作用。
這是所有汽車制造商都面臨的問題。研究表明,商業(yè)軟件平均每 1,000 行代碼 (KLOC) 就有一個缺陷。雖然開源表現更好一些,但它的測量值為 0.68/KLOC,但它仍然是一個嚴重的問題??紤]一下:今天的豪華車有大約 1 億行代碼。即使在最佳情況下,這也代表了大約 10,000 個影響質量、安全和安保的潛在缺陷。
當然,事后補救問題和修復問題既昂貴又耗時。當召回車輛以修復軟件缺陷時,這也會給消費者帶來壓力。不幸的是,問題的根本原因通常仍然未知,并且很難找到漏洞的實際來源。這意味著開發(fā)人員必須重現故障,對其進行分析,并嘗試了解它如何影響代碼庫的其他部分。實際上,這意味著許多錯誤可能永遠無法修復。
但是,當組織以更深入、更廣泛的方式將包括 SAST 在內的 AppSec 集成到開發(fā)過程中時,就有可能將安全性提升到更高級的水平。組織不再局限于代碼庫的部分快照??梢陨钊胙芯?,獲得可見性并進行更詳盡的測試。使用 SAST,可以在開發(fā)過程的早期解決和修復缺陷,加速軟件發(fā)布并確保質量、安全和保障。
推進 AppSec
好消息是高級測試解決方案支持更全面的應用程序安全框架。他們可以發(fā)現傳統開發(fā)方法中漏掉的缺陷。這包括確定關鍵問題,例如:
經常隨機發(fā)生的并發(fā)缺陷,只有在組織在最終硬件平臺上集成各種系統和代碼存儲庫后才可見。
安全漏洞,也就是軟件缺陷,可以被攻擊者利用,以便他們可以干擾系統的行為并獲得對關鍵數據的訪問權限。
警告潛在漏洞的污染數據分析可能格式不正確。因為這些數據要經過許多系統,所以通常很難發(fā)現。
難以檢測的復雜程序間缺陷,尤其是單元和子系統測試。
對顯示為目標文件、庫和可執(zhí)行文件的編譯代碼進行錯誤檢測。這些可以掩蓋關鍵的安全問題。
雖然一些 MISRA 規(guī)則足夠簡單,只依賴于代碼語法檢查器,但單獨依賴這種方法是錯誤的。更好的方法是更深入地擴展分析并解決上述關鍵問題。這包括生成軟件材料清單 (SBOM) 的能力,該清單可識別軟件的成分列表——包括第三方和開源組件。
SBOM 還將附有這些已識別組件的漏洞報告。這允許組織檢測可能影響軟件安全性的隱藏問題。更高級的框架還可以檢測困難的情況,例如需要查看多個連接點、檢查所有編譯單元并比較每個編譯單元中的所有此類標識符。這些通常會導致假陽性和假陰性。
增加挑戰(zhàn):人類經常誤解這些情況——尤其是在依賴手動工具和報告時。最后,一個組織在試圖完全理解規(guī)則的超集和子集、識別安全漏洞和避免死代碼時會被蒙在鼓里。另一方面,最佳實踐框架可以發(fā)現規(guī)則指定的內容與檢查器發(fā)現的內容之間的重疊和差距。
該模型最終通過在開發(fā)的早期階段發(fā)現和修復缺陷和漏洞來降低風險和節(jié)省時間。它通常使文檔自動化并削減成本。反過來,這種增加的文檔級別改進了治理框架并簡化了法規(guī)遵從性。通過將該解決方案集成到對安全至關重要的環(huán)境中,汽車制造商和其他公司可以獲得巨大的收益。
今天,企業(yè)級開發(fā)項目需要復雜的測試框架來支持和增強整個軟件開發(fā)生命周期——包括與其他開發(fā)自動化工具的集成。超越 MISRA 規(guī)則執(zhí)行和基本 AppSec 的能力帶來了巨大的收益。它改善了保護,降低了成本,并使開發(fā)人員能夠專注于他們最擅長的事情:構建出色的軟件。
審核編輯:郭婷
-
汽車電子
+關注
關注
3037文章
8343瀏覽量
170132 -
應用程序
+關注
關注
38文章
3334瀏覽量
59013
發(fā)布評論請先 登錄
Claroty與NIST網絡安全框架中文手冊
CUST_DEL后如何在S32K312上安全恢復應用程序?
SSM框架的源碼解析與理解
SSM框架在Java開發(fā)中的應用 如何使用SSM進行web開發(fā)
android手機上emulate應用程序的方法
AWTK-WEB 快速入門(2) - JS 應用程序

AWTK-WEB 快速入門(1) - C 語言應用程序

使用OpenVINO? ElectronJS中創(chuàng)建桌面應用程序

JavaWeb框架比較
日志框架簡介-Slf4j+Logback入門實踐

評論