當測試人員在進行軟件安全測試,發現了安全漏洞時,他們要如何管理,并區分這些漏洞的優先級?
在軟件中發現安全缺陷是一件事,而確保問題處理行當確是另外一件事。我執行的許多滲透測試和web安全評估中,我發現處理這類問題極具挑戰。發現漏洞,并把具體發現和解決方案以正式執行的形式存檔。雖然解決方案還未完成,包括給高級安全問題的解決方案,如SQL注入、跨站腳本和缺乏安全套接層,以及登錄信息泄漏。這與束之高閣的軟件和示實現的安全控制并無兩樣。
過了審查階段,第二重要的階段就是軟件安全測試部分。如果你跳過這一部分,那么測試流程只會創建更多的債務,而不是解決債務。一旦接收了來自大咨詢師或沒無法改變的現的成報告后,你以及負責任的一方就必須決定出什么是需要解決的。即使所發現的已經區分優先級,但沒有人會像你的團隊那樣了解你的環境、文化以及風險承受能力。
顯然,你不可能修復所有事情,但你卻可以修復你的業務中出現的重要的問題。我建議把你的發現分成兩類:一類是關鍵的,這些問題可能當即就被利用,對業造成損害;另一類是非關鍵的,這些可能一些被利用的問題,可能不好的實踐,尤其結合一些其它的發現。你可以根據他們對敏感信息的風險,解決的難易度(時間、復雜性等),以及組織上的其它標準一些來區分優先級。