軟件安全測試與普通的軟件測試是有區(qū)別的,我們不能簡單地把軟件安全測試看作軟件測試中針對軟件安全性需求的測試。實際上,普通的軟件測試考慮的是用戶的基本行為(軟件功能的實現(xiàn)),而軟件安全測試考慮的是有意或者無意的、使得軟件產(chǎn)生不安全行為的具有攻擊性的操作。具體而言,軟件安全測試與普通的軟件測試有以下區(qū)別:
測試的出發(fā)點不同
普通的軟件測試主要是從最終用戶的角度出發(fā)發(fā)現(xiàn)軟件缺陷,確保軟件實現(xiàn)的功能滿足最終用戶的要求。而軟件安全測試是從攻擊者的角度出發(fā)發(fā)現(xiàn)軟件的安全漏洞,保證軟件不被惡意使用或者破壞。軟件安全測試和普通測試最重要的區(qū)別就是負責設計軟件安全測試的工程師需要模擬一個聰明的攻擊者,他們常常會做出普通用戶不會去做的事情,比如輸入1000個字符的用戶名,或重復地試圖破壞一個臨時文件。軟件安全測試人員需要像惡意攻擊者那樣尋找系統(tǒng)的可被攻擊的漏洞。
測試用例的設計依據(jù)不同
普通軟件測試的測試用例是根據(jù)軟件的功能需求和其他需求文檔設計的,而安全測試的測試用例則是通過對軟件安全需求分析,攻擊模式的模擬,以及已公布的安全漏洞等從攻擊者的角度進行設計的。測試設計依據(jù)的不同,也使得軟件安全測試中異常測試用例比重更大——普通軟件測試一般選取正向數(shù)據(jù),有較多的正常測試用例,一小部分使用反向數(shù)據(jù)的異常測試用例(大多是用戶不小心輸入的一些數(shù)據(jù));軟件安全測試則更多的是使用反向數(shù)據(jù),模擬攻擊者精心設計的具有攻擊性的數(shù)據(jù),更大比例的異常測試用例。
測試的關(guān)注點不同
普通軟件測試主要關(guān)注軟件應該做什么,而軟件安全測試更關(guān)注的是軟件不應該做什么。軟件安全測試只有少量的正向的測試,比如“用戶賬戶三次登錄不成功后將被鎖定”和“網(wǎng)絡通信必須加密”;但更多的時候都是反向的測試,比如“攻擊者應該不能修改網(wǎng)頁的內(nèi)容”和“未授權(quán)用戶不能訪問數(shù)據(jù)”等。測試關(guān)注點從正向需求到反向需求的轉(zhuǎn)移使得普通軟件測試和軟件安全測試需要使用不同的測試方法。以測試正向需求為主的普通軟件測試需要先創(chuàng)造滿足需求的條件,然后檢查軟件執(zhí)行是否正確;而以測試反向需求為主的軟件安全測試則是創(chuàng)造不滿足需求的條件,破壞軟件的正常運行。
總之,軟件安全測試與普通測試有很大的不同,它需要測試人員站在攻擊或破壞軟件的角度,尋找軟件的安全漏洞,創(chuàng)造不滿足軟件正常需求運行的條件,對軟件進行攻擊,破壞其正常運行。
這正是:
安全測試角度刁,惡意破壞漏洞找
千方百計求破壞,不做預防真不該
途傲科技為中小企業(yè)提供網(wǎng)站制作、網(wǎng)站建設、微信H5、微信小程序,多商戶平臺,多級分銷系統(tǒng),APP開發(fā),手機網(wǎng)站,HTML5多端自適應網(wǎng)站,營銷型企業(yè)站建設,及對技術(shù)人才的培養(yǎng)等都積累與沉淀了豐富的心得和實戰(zhàn)經(jīng)驗。
如果您有想法,可以將需求提交給我們【免費提交需求,獲取解決方案】
免責聲明:文章部分內(nèi)容收集于互聯(lián)網(wǎng),不代表本站的觀點和立場,如有侵權(quán)請聯(lián)系刪除。