原理
動態檢測技術是一種不同於靜態檢測技術的動態的檢測技術,它通過調試器運行被檢測的軟體的某項功能,檢查運行結果與預期結果的差距,來確定被測軟體此功能是否存在安全缺陷。
構成
這是一種針對軟體功能的檢測技術,它主要由構造測試用例,調試軟體程式,分析軟體程式三個部分構成。
缺陷注入(Defect injection)具有自動化程度高的顯著優點,但是其測試具有盲目性,測試用例量大,時間效率低;記憶體映射(Memory mapping)通過對記憶體映象進行管理來發現與記憶體相關的漏洞,該檢測技術需要修改作業系統核心策略,在Windows平台下實用意義不大;安全共享庫(Safety shared libraries)是針對與系統調用相關的漏洞,檢測準確率高,但是類型單一,對其他類型漏洞擴展性不佳;堆疊控制(Stack Control)是針對緩衝區溢出型漏洞的檢測技術,對大部分漏洞具有很好的效果,但是對早期的程式兼容性不佳,且有較高的系統開銷;沙箱(Sandbox)和程式釋義(Interpretation Procedure)分別是過濾型和伴隨型的安全策略檢測技術,控制嚴格,檢測準確率較好,但是制訂安全策略複雜,缺少實用度高的算法。