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