您已經(jīng)使用用于身份驗證的組件(如密碼、視網(wǎng)膜掃描、物理密鑰以及加密/解密等)保護了連接物聯(lián)網(wǎng) (IoT) 的系統(tǒng)。但是僅僅建造這些東西是不夠的。您必須確定它們都能正常工作,并且代碼不包含任何可能授予黑客訪問權(quán)限的缺陷。安全性需要在項目一開始就使用安全協(xié)議并繼續(xù)到應用程序中的功能元素來構(gòu)建。獲得這種保證的一個強大工具是動態(tài)分析。
動態(tài)分析檢查已編譯的運行代碼,并將其關(guān)聯(lián)回源代碼。它是一套工具中的主要組件,包括代碼覆蓋率、需求可追溯性和靜態(tài)分析。當然,這意味著動態(tài)分析只是制作安全應用程序所需的重要部分之一。但是,在執(zhí)行代碼時對其進行分析有兩個優(yōu)點:
1. 它可以通過使用代碼覆蓋率來指示已執(zhí)行或測試的部分來衡量我們測試的有效性。這意味著它還可以識別不需要或可以作為黑客網(wǎng)關(guān)的“死”代碼。
2. 它可以利用自動測試生成和手動測試來檢查應用程序在面對預期和意外輸入時的行為。此類輸入可以來自用戶,也可以來自傳感器。它讓我們看到系統(tǒng)在這種情況下會做什么,以及這對安全和安保意味著什么。
手動和自動生成的測試都應與程序的要求相關(guān)。具有可來回追溯到代碼的需求對于理解系統(tǒng)的預期行為至關(guān)重要。此外,無論所需的覆蓋級別如何,將代碼行為鏈接回需求的能力都有助于確保我們的正確操作。這對于安全要求尤其重要。如果您可以看到代碼的行為方式,并且可以將其鏈接回安全要求,則可以測試這些要求的有效性(例如,通過模擬攻擊)并確定它們是否足夠或應該改進。

動態(tài)分析不僅用于測試已完成的程序。它還可用于單元和集成測試中的巨大優(yōu)勢。結(jié)合靜態(tài)分析,查看未編譯的代碼,可用于自動生成測試用例、測試工具和整個框架,以驗證不同團隊的工作并將它們順利集成到整個系統(tǒng)中。了解控制流和數(shù)據(jù)流的能力可以深入了解數(shù)據(jù)(以變量、參數(shù)等形式)是如何作的。這使我們能夠看到軟件組件之間的依賴關(guān)系,以及每個組件是否從呈現(xiàn)的數(shù)據(jù)中產(chǎn)生預期的結(jié)果。
如前所述,動態(tài)分析是一組可以一起使用的工具之一。當與靜態(tài)分析結(jié)合使用以測試安全屬性時,這通常被標識為混合應用程序安全測試或 HAST。靜態(tài)分析用于檢查編碼標準的合規(guī)性,以便使用 MISRA 或 CERT C 等標準消除代碼漏洞。它還可用于在執(zhí)行之前確定軟件組件之間的數(shù)據(jù)和控制流關(guān)系和依賴關(guān)系。從靜態(tài)分析的角度清理代碼后,它可以轉(zhuǎn)向動態(tài)分析,其中代碼將接受自動生成的測試和使用預期和意外輸入的手動測試。
因此,在靜態(tài)分析和需求可追溯性等補充工具的支持下,動態(tài)分析可以大大有助于確保安全、安全和最終可認證的軟件工作。
審核編輯:郭婷
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2945文章
47819瀏覽量
414858 -
IOT
+關(guān)注
關(guān)注
190文章
4395瀏覽量
208528
發(fā)布評論請先 登錄
請問CW32L052C8T6這種安全性低功耗MCU的安全固件部分怎么實現(xiàn)?
車規(guī)級與消費級芯片的可靠性、安全性與成本差異
硬件加密引擎在保障數(shù)據(jù)安全方面有哪些優(yōu)勢呢?
嵌入式軟件測試與專業(yè)測試工具的必要性深度解析
實施動態(tài)校準與補償策略時,如何保證數(shù)據(jù)的安全性?
深入解析與使用感受:Isograph、Medini與REANA可靠性分析軟件對比
有哪些技術(shù)可以提高邊緣計算設(shè)備的安全性?
如何利用硬件加速提升通信協(xié)議的安全性?
宏集分享 | 集中告警管理如何提升設(shè)施安全性?
動態(tài)BGP與靜態(tài)BGP的區(qū)別?
PanDao:通過可生產(chǎn)性調(diào)控實現(xiàn)光學設(shè)計流程的動態(tài)優(yōu)化
物聯(lián)網(wǎng)設(shè)備和應用的安全性
電子電器產(chǎn)品安全性與針焰試驗的重要性
通過動態(tài)分析確定軟件安全性
評論