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