當代的科技正在以前所未有的速度發(fā)展,每天都有嶄新的產(chǎn)品與功能出現(xiàn),完成難以想象的任務。這種情況不再局限于手機APP和計算機,同時也包括了對我們日常生活來說更普遍的嵌入式系統(tǒng)和物聯(lián)網(wǎng)設備。
感覺幾乎所有的設備都在運行軟件:嬰兒監(jiān)視器,揚聲器,健身追蹤器,安全攝像頭,恒溫器和車輛等等。
對于這樣的新世界,建筑師、MIT教授、作家Nicholas Negroponte表示,“如同空氣與飲水,數(shù)字化只會因缺失被注意到,而不是它的存在?!本蚇egroponte所提的觀點,我們已被數(shù)字科技所包圍,甚至直到它消失或其成為安全問題時,我們才會注意到它。
我們所知的包括嵌入式系統(tǒng)的物聯(lián)網(wǎng)設備,具備處理器,傳感器和其它通過網(wǎng)絡連接的功能。當我們談及嵌入式系統(tǒng),我們指的是在更大的數(shù)字、機械或電氣系統(tǒng)中有專門功能的處理器。嵌入式系統(tǒng)可以是物聯(lián)網(wǎng)設備中的固件,也可以是汽車、機器人、信用卡讀卡器、手機、小工具、網(wǎng)絡設備、醫(yī)療設備或任何東西中的電子控制單元(ECU)。
為什么C與C++對于嵌入式系統(tǒng)軟件的功能安全及信息安全很重要
由于規(guī)模及成本的限制,嵌入式系統(tǒng)的軟件在運算、內存和功率方面的計算資源有限。隨著對輕量化軟件的需求提升,編程語言如C和C++等已在嵌入式系統(tǒng)中占據(jù)主導地位,就如同它們在當前大多數(shù)云服務器的 Linux 內核上一樣。雖然 C++ 比 C 需要更多的計算資源,但微處理器性能的提升使得 C++ 成為全球數(shù)百萬嵌入式系統(tǒng)的首選語言。
其他編程語言(如Python)也用于嵌入式系統(tǒng),但C 和 C++ 是主要的語言選擇。還有一種嵌入式C++(EC++)是C++語言的子集,它通過完整 C++ 語言的主要功能,實現(xiàn)更大的空間和速度效率。當今的微處理器可以裝載C++ 編譯器,這讓嵌入式系統(tǒng)編碼將變得更加簡單。
嵌入式系統(tǒng)的編程不同于其它類型的應用。首先,你有資源限制,然后必須針對魯棒性、實時性、可靠性以及長時間不停機運行進行設計。然而更重要的是代碼必須兼信息安全與功能安全。尤其考慮到嵌入式系統(tǒng)與物聯(lián)網(wǎng)設備在如醫(yī)療健康,制藥,或汽車和航空航天行業(yè)中的重要性。這項技術的缺失不僅會引起關注,如果它們真的不安全更會造成嚴重后果。
為什么靜態(tài)分析對于嵌入式系統(tǒng)軟件的功能安全及信息安全很重要
靜態(tài)分析是確保,源代碼不存在可能導致漏洞和攻擊缺陷的最重要工具之一。靜態(tài)分析也被稱為靜態(tài)應用程序安全測試或SAST,靜態(tài)分析會掃描應用程序的源代碼,包括嵌入式系統(tǒng)和物聯(lián)網(wǎng)的代碼。高度專業(yè)的代碼掃描根據(jù)所使用的相應編程語言和框架尋找特定缺陷。 靜態(tài)分析工具(例如Perforce Helix QAC和Klocwork)也可以報告編碼規(guī)范的合規(guī)情況。
靜態(tài)分析工具允許開發(fā)測試團隊去分析數(shù)千甚至數(shù)百萬行代碼。他們可尋找代碼中的缺陷并根據(jù)規(guī)則執(zhí)行編碼標準。最重要的是,它們已成為軟件開發(fā)生命周期中不可或缺的一部分,并且必須定期在源代碼上運行,如在每次代碼變更或發(fā)布新版本之前。
由于我們身處于以嵌入式系統(tǒng)和物聯(lián)網(wǎng)形式的數(shù)字科技世界,功能安全與信息安全的重要性與日俱增,尤其在跨行業(yè)的關鍵功能領域。靜態(tài)分析可以發(fā)現(xiàn)功能安全和信息安全缺陷,這可以防止有缺陷的設備被大規(guī)模生產(chǎn),并節(jié)省資金和企業(yè)聲譽。
嵌入式設備的安全性在于降低漏洞數(shù)量。嚴重性級別各不相同,高度嚴重的漏洞代表了更高的被攻擊風險。有幾種常見漏洞是所有軟件都存在的,不管它是在哪部署的。在嵌入式系統(tǒng)和物聯(lián)網(wǎng)設備中,漏洞大多與內存緩沖區(qū)溢出、資源泄漏、不當訪問控制、密碼問題和代碼注入有關。這些是在嵌入式系統(tǒng)中通過靜態(tài)分析掃描發(fā)現(xiàn)的一些最常見的嵌入式安全漏洞。
為什么編碼標準對于嵌入式系統(tǒng)軟件的功能安全及信息安全很重要
如上述所說,C 與C++在嵌入式系統(tǒng)中被廣泛使用。多年來,企業(yè)意識到功能安全與信息安全在所有代碼中的重要性,特別是C和C++的嵌入式設備。在這些設備中,故障的成本可能不僅僅是財務上的。隨著時間的推移,編碼標準的出臺以及持續(xù)的改進,就是為了幫助提高軟件安全性,可移植性,可靠性以及可維護性。靜態(tài)分析除了搜索源代碼中的缺陷和漏洞外,還可以應用編碼標準中規(guī)定的規(guī)則和建議。這對需要驗證是否符合行業(yè)標準合規(guī)性的企業(yè)尤其重要。常見的嵌入式系統(tǒng)編碼標準包括MISRA,AUTOSAR以及CERT。
還有一些功能安全(FuSa) 標準,例如 ISO 21434、ISO 26262、IEC 61508、ISO 13849 和 IEC 62061,專門針對汽車和制造等不同行業(yè)的嵌入式系統(tǒng)。
為嵌入式系統(tǒng)編碼,遵循編碼標準,并將靜態(tài)分析置于軟件研發(fā)生命周期中的一部分,將會讓我們的數(shù)字化世界更加安全。正如前面提到的,“如同空氣與飲水,數(shù)字化只會因缺失被注意到”,還有在違反功能安全和信息安全的情況下亦如是。
如果您想親手體驗成千上萬研發(fā)者所信賴的Perforce靜態(tài)分析工具,現(xiàn)在即可免費申請試用,詳情請私信聯(lián)絡北匯信息。
-
嵌入式
+關注
關注
5083文章
19131瀏覽量
305549 -
信息安全
+關注
關注
5文章
656瀏覽量
38912
發(fā)布評論請先 登錄
相關推薦
評論