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