更新時(shí)間:2022-07-21 來源:黑馬程序員 瀏覽量:
軟件安全是一個(gè)廣泛而復(fù)雜的主題,完全避免軟件安全缺陷問題是不切實(shí)際的,但通過安全測試可以發(fā)現(xiàn)并修復(fù)軟件大部分安全缺陷。下面介紹一些安全測試方面的原則,遵循這些原則能夠避免安全測試許多常見問題的出現(xiàn)。
1.培養(yǎng)正確的思維方式
只有跳出常規(guī)思維定式才能成功執(zhí)行安全測試。常規(guī)測試只需要覆蓋目標(biāo)軟件的正常行為,而安全測試人員則要有創(chuàng)造性思維,創(chuàng)造性思維能夠幫助我們站在攻擊者角度思考各種無法預(yù)期的情況,同時(shí)能夠幫助我們猜測開發(fā)人員是如何開發(fā)的,如何繞過程序防護(hù)邏輯,以某種不安全的行為模式導(dǎo)致程序失效。
2.盡早測試和經(jīng)常測試
安全性缺陷和普通Bug沒什么區(qū)別,越早發(fā)現(xiàn)修復(fù)成本越低,要做到這一點(diǎn),最開始的工作就是在軟件開發(fā)前期對(duì)開發(fā)和測試團(tuán)隊(duì)進(jìn)行常見安全問題的培訓(xùn),教他們學(xué)會(huì)如何檢測并修復(fù)安全缺陷。雖然新興的第三方庫、工具以及編程語言能夠幫助開發(fā)人員設(shè)計(jì)出更安全的程序,但是新的威脅不斷出現(xiàn),開發(fā)人員最好能夠意識(shí)到新產(chǎn)生的安全漏洞對(duì)正在開發(fā)的軟件的影響;測試人員要轉(zhuǎn)變思維方式,從攻擊者角度的各個(gè)細(xì)節(jié)測試應(yīng)用程序,使軟件更加安全。
3.選擇正確的測試工具
很多情況下安全測試需要模擬黑客的行為對(duì)軟件系統(tǒng)發(fā)起攻擊,以確保軟件系統(tǒng)具備穩(wěn)固的防御能力。模擬黑客行為就要求安全測試人員擅長使用各種工具,如漏洞掃描工具、模擬數(shù)據(jù)流行為的前后臺(tái)相關(guān)工具、數(shù)據(jù)包抓取工具等?,F(xiàn)在市面上提供了很多安全掃描器或者應(yīng)用防火墻工具可以自動(dòng)完成許多日常安全任務(wù),但是這些工具并不是萬能的。作為測試人員,準(zhǔn)確了解這些工具能做什么,不能做什么是非常重要的,切不可過分夸大或者不當(dāng)使用測試工具。
4.可能情況下使用源代碼
測試大體上分為黑盒測試和白盒測試兩種。黑盒測試一般使用滲透方法,這種方法帶有明顯的黑盒測試本身的不足,需要大量測試用例進(jìn)行覆蓋,且測試完成后仍無法確定軟件是否存在風(fēng)險(xiǎn)?,F(xiàn)在,白盒測試中源代碼掃描成為一種越來越流行的技術(shù),使用源代碼掃描工具對(duì)軟件進(jìn)行代碼掃描,一方面可以找出潛在的風(fēng)險(xiǎn),從內(nèi)對(duì)軟件進(jìn)行檢測,提高代碼的安全性;另一方面也可以進(jìn)一步提高代碼的質(zhì)量。黑盒的滲透測試和白盒的源代碼掃描內(nèi)外結(jié)合,可以使軟件的安全性得到極大程度的提高。
5.測試結(jié)果文檔化
測試總結(jié)的時(shí)候,明智且有效的做法是將測試行動(dòng)和結(jié)果清晰準(zhǔn)確地記錄在文檔中,產(chǎn)生一份測試報(bào)告。該報(bào)告最好包括漏洞類型、問題引起的安全威脅及嚴(yán)重程度、用于發(fā)現(xiàn)問題的測試技術(shù)、漏洞的修復(fù)、漏洞風(fēng)險(xiǎn)等。一份好的測試報(bào)告應(yīng)該幫助開發(fā)人員準(zhǔn)確定位軟件安全漏洞,從而有效進(jìn)行漏洞修補(bǔ),使軟件更加安全可靠。