隨著工業(yè)、汽車、醫(yī)療和能源市場中涉及人類生命和肢體的系統(tǒng)連接到物聯(lián)網(wǎng),風(fēng)險越來越高,安全性和可靠性的壓力也越來越大。雖然硬件可以進行物理隔離和保護,但一旦系統(tǒng)連接到互聯(lián)網(wǎng),它就會通過軟件暴露出來,這構(gòu)成了物聯(lián)網(wǎng)的“軟肋”。如果它們不安全,就不能認為它們是可靠或安全的。這意味著安全設(shè)備之戰(zhàn)發(fā)生在軟件領(lǐng)域。
生成安全可靠的代碼有很多方面。在一個層面上,功能正確的代碼——它完成了它應(yīng)該做的事情——仍然可以包含黑客可以利用的漏洞。在另一個層面上,代碼必須在功能上是安全的,因為它遵循防止傷害或損壞的規(guī)則,并且它必須在功能上是安全的,因為它包含防止訪問的加密等機制。
我們在這些方面取得了重大進展,例如用于正確編碼實踐的 MISRA 和 CERT C 等編碼標準和用于汽車的 ISO 26262 和用于醫(yī)療的 IEC 62304 等行業(yè)規(guī)范。遵循諸如此類的準則是一回事,但必須驗證代碼以確保已遵循所有詳細規(guī)則,而這只能通過徹底的分析和測試來完成。
一套全面的驗證和測試工具對于此類驗證至關(guān)重要,它與其他軟件工具和正在開發(fā)的特定行業(yè)部門的集成越好,效果就越好。安全和安保必須從底層開始,從 RTOS 和驅(qū)動程序一直到最終應(yīng)用程序?;谛枨蟮臏y試和驗證必須在系統(tǒng)級別進行,同時,健壯性和更集中的分析和測試必須在單元級別進行。
從高級需求到源代碼的追溯能力是由生命周期追溯工具完成的。這種可追溯性提供了影響分析能力以及軟件開發(fā)生命周期的透明度和可見性。在編碼階段使用的靜態(tài)分析工具可以分析軟件的質(zhì)量,在編譯之前消除代碼漏洞。這不會讓代碼級質(zhì)量問題傳播到可執(zhí)行文件和集成單元中,從而節(jié)省時間和金錢。
靜態(tài)分析工具還可以幫助確保代碼遵循特定的編碼標準,確保清晰度和一致性并消除代碼級漏洞。靜態(tài)分析可以作為自動測試用例生成的基礎(chǔ),因為它“了解”代碼的復(fù)雜性和依賴性。
覆蓋率分析是另一個關(guān)鍵的質(zhì)量分析能力,它提供了測試過程有效性的度量,顯示了在測試階段哪些代碼已經(jīng)執(zhí)行和哪些還沒有執(zhí)行。所有這些功能都應(yīng)該集成起來,以加快軟件開發(fā)和驗證的路徑,同時為質(zhì)量團體或監(jiān)管機構(gòu)可能要求的過程提供透明度。
IBM Rational DOORS 系統(tǒng)管理整個項目的需求,例如大型隧道項目中的照明需求。其中許多需求鏈接到軟件需求,集成的 LDRA 工具套件現(xiàn)在可以測試到源代碼。
隨著標準、規(guī)范和驗證技術(shù)的進步,工具可以通過提供增強安全技術(shù)的附加包進行升級,這一點很重要。工具套件本身現(xiàn)在開始有針對主要行業(yè)領(lǐng)域的版本,例如用于汽車的 ISO 26262。具有復(fù)雜編輯器、調(diào)試器和性能工具的開發(fā)包可以與驗證工具集成,允許客戶在單一用戶環(huán)境中進行開發(fā)和測試。通用工業(yè)工具,例如 IBM DOORS 套件,涵蓋機械和其他需求以及軟件,也可以通過集成深入的軟件需求可追溯性來獲得優(yōu)勢。
衡量整個測試過程的有效性對于開發(fā)高保證軟件至關(guān)重要。了解需要加強測試的地方以及測試過程中存在的差距對于改進代碼的整體過程和質(zhì)量至關(guān)重要,并且隨著工具越來越專注于應(yīng)用程序領(lǐng)域,這種需求也會增加。因此,利用技術(shù)和技術(shù)——例如具有需求可追溯性的覆蓋分析、靜態(tài)分析和自動化測試——可以通過在軟件開發(fā)生命周期早期和整個軟件開發(fā)生命周期中識別代碼中的潛在漏洞和弱點來節(jié)省時間和金錢。
審核編輯:郭婷
-
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
54文章
11162瀏覽量
103379 -
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2909文章
44694瀏覽量
373907
發(fā)布評論請先 登錄
相關(guān)推薦
評論