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