2.軟件安全測(cè)試方法
盡管傳統(tǒng)軟件測(cè)試方法重點(diǎn)在軟件功能測(cè)試,但是通過(guò)組織合適的測(cè)試步驟和適當(dāng)?shù)臏y(cè)試用例,也能對(duì)軟件的安全質(zhì)量進(jìn)行測(cè)試,可以采用的測(cè)試方法包括常見(jiàn)的白盒測(cè)試、黑盒測(cè)試以及灰盒測(cè)試等方法。在傳統(tǒng)測(cè)試之外,模糊測(cè)試和滲透測(cè)試是常用的軟件安全性測(cè)試方法。
1)模糊測(cè)試
模糊測(cè)試,也稱Fuzz測(cè)試,由Baron Mille、Lars Fredriksen、Bryan SO首次提出,是一種通過(guò)提供非預(yù)期的輸入并監(jiān)視異常結(jié)果來(lái)發(fā)現(xiàn)軟件故障的方法。
模糊測(cè)試本質(zhì)上屬于黑盒測(cè)試,它不關(guān)心被測(cè)試目標(biāo)的內(nèi)部實(shí)現(xiàn),而是利用構(gòu)造畸形的輸入數(shù)據(jù)引發(fā)被測(cè)試目標(biāo)產(chǎn)生異常,從而發(fā)現(xiàn)相應(yīng)的安全漏洞。據(jù)資料分析,模糊測(cè)試是目前最有效的漏洞挖掘技術(shù),已知漏洞大部分都是通過(guò)這種技術(shù)發(fā)現(xiàn)的。
模糊測(cè)試的主要步驟包括:
(1)生成大量的畸形數(shù)據(jù)作為測(cè)試用例;
(2)將這些測(cè)試用例作為輸入應(yīng)用于被測(cè)對(duì)象;
(3)監(jiān)測(cè)和記錄由輸入導(dǎo)致的任何崩潰或異常現(xiàn)象;
(4)查看測(cè)試日志,深入分析產(chǎn)生崩潰或異常的原因。
模糊測(cè)試是在軟件測(cè)試中強(qiáng)制軟件程序使用畸形數(shù)據(jù),并觀察軟件運(yùn)行情況的一種測(cè)試方法。不夠強(qiáng)壯的代碼在處理這些畸形數(shù)據(jù)時(shí)會(huì)運(yùn)行不穩(wěn)定,或?qū)е卤罎ⅲ?jīng)過(guò)良好編碼并具有足夠安全性的程序則不會(huì)崩潰。