(2)需要進行測試風(fēng)險控制
在正式開始滲透測試之前,測試人員應(yīng)當了解在測試中可能發(fā)生的風(fēng)險,并針對風(fēng)險制定有效的控制措施。如:滲透測試的掃描不采用帶有拒絕服務(wù)的策略,滲透測試安排在業(yè)務(wù)低峰期進行等。
一:利用滲透測試,除了可以較為全面地進行系統(tǒng)安全評估之外,還可以針對某些安全測試,比如對軟件系統(tǒng)訪問控制模塊的測試、弱口令測試等。這些安全專項測試使用一 般的軟件功能測試、模糊測試,甚至包括逆向分析等手段很難有效完成。
與逆向分析和模糊測試相比較,滲透測試可以挖掘一些這兩種方法無法發(fā)現(xiàn)的漏洞。例如,訪問控制缺陷。目前幾乎所有的網(wǎng)絡(luò)安全設(shè)備都使用了基于角色的訪問控制策略。通過逆向分析和模糊測試很難發(fā)現(xiàn)這種訪問控制策略存在的漏洞,或者即使在模糊測試過程中發(fā)生了這種未授權(quán)的訪問,但對于模糊測試工具而言,它并不理解這樣的邏輯是否正確。類似的情況還有密碼被猜測漏洞、配置漏洞、多因素漏洞等等。
滲透測試考慮的是以黑客方法和思路,從單點上找到利用途徑,證明是否存在問題,幫助客戶提高認識,能夠解決一些急迫的問題,但無法針對系統(tǒng)做完備性的安全測試。
3)靜態(tài)代碼安全測試
主要通過對源代碼進行安全掃描,根據(jù)程序中數(shù)據(jù)流、控制流、語義等信息與其特有軟件安全規(guī)則庫進行匹對,從中找出代碼中潛在的安全漏洞。靜態(tài)的源代碼安全測試是非常有用的方法,它可以在編碼階段找出所有可能存在安全風(fēng)險的代碼,這樣開發(fā)人員可以在早期解決潛在的安全問題。而正因為如此,靜態(tài)代碼測試比較適用于早期的代碼開發(fā)階段,而不是測試階段。