基于反饋驅(qū)動(dòng)的Fuzz工具設(shè)計(jì)
發(fā)布時(shí)間:2021-11-22 11:37
模糊測(cè)試(FUZZ)是發(fā)現(xiàn)軟件、系統(tǒng)安全漏洞的最效技術(shù),本文討論了基于反饋驅(qū)動(dòng)的Fuzz工具設(shè)計(jì)原理以及具體實(shí)現(xiàn)方法。通過(guò)對(duì)被模糊測(cè)試的目標(biāo)程序的基本塊在編譯時(shí)進(jìn)行插樁,可以在程序運(yùn)行時(shí)得到運(yùn)行時(shí)覆蓋的路徑信息,并將覆蓋的路徑信息反饋給Fuzz,Fuzz通過(guò)自主實(shí)現(xiàn)的編譯策略,從而進(jìn)行更高效的變異,覆蓋到更多的路徑,提高路徑的覆蓋率,提高漏洞挖掘的效率。以開(kāi)源軟件作為被測(cè)試對(duì)象,通過(guò)模糊測(cè)試可以復(fù)現(xiàn)目標(biāo)程序歷史漏洞,并可以發(fā)現(xiàn)新的未知漏洞。
【文章來(lái)源】:科學(xué)技術(shù)創(chuàng)新. 2020,(32)
【文章頁(yè)數(shù)】:2 頁(yè)
【部分圖文】:
調(diào)用回溯
通過(guò)對(duì)該函數(shù)代碼進(jìn)行分析,對(duì)e->s_h(yuǎn)andler的復(fù)制存在于下面的代碼中,如圖4所示。函數(shù)對(duì)判斷l(xiāng)en的大小,只要len大于0并且len小于256就會(huì)通過(guò)malloc分配一段內(nèi)存,并將堆內(nèi)存指針賦給e->s_h(yuǎn)andler,但是這里沒(méi)有考慮len等于0的情況,當(dāng)len等于0,就會(huì)直接跳過(guò)申請(qǐng)內(nèi)存,然后直接對(duì)e->s_h(yuǎn)andler進(jìn)行寫(xiě)操作,并沒(méi)有判斷是否等于0的情況,因此造成空指針解引用,如圖5所示。
函數(shù)對(duì)判斷l(xiāng)en的大小,只要len大于0并且len小于256就會(huì)通過(guò)malloc分配一段內(nèi)存,并將堆內(nèi)存指針賦給e->s_h(yuǎn)andler,但是這里沒(méi)有考慮len等于0的情況,當(dāng)len等于0,就會(huì)直接跳過(guò)申請(qǐng)內(nèi)存,然后直接對(duì)e->s_h(yuǎn)andler進(jìn)行寫(xiě)操作,并沒(méi)有判斷是否等于0的情況,因此造成空指針解引用,如圖5所示。因?yàn)閘en等于0,因此不會(huì)進(jìn)入for循環(huán),所以崩潰發(fā)生在最后一行。
【參考文獻(xiàn)】:
期刊論文
[1]軟件安全漏洞挖掘的研究思路及發(fā)展趨勢(shì)[J]. 文偉平,吳興麗,蔣建春. 信息網(wǎng)絡(luò)安全. 2009(10)
[2]一種基于fuzzing技術(shù)的漏洞發(fā)掘新思路[J]. 邵林,張小松,蘇恩標(biāo). 計(jì)算機(jī)應(yīng)用研究. 2009(03)
[3]基于Fuzzing的ActiveX控件漏洞發(fā)掘技術(shù)[J]. 吳毓書(shū),周安民,吳少華,何永強(qiáng),徐威. 計(jì)算機(jī)應(yīng)用. 2008(09)
本文編號(hào):3511609
【文章來(lái)源】:科學(xué)技術(shù)創(chuàng)新. 2020,(32)
【文章頁(yè)數(shù)】:2 頁(yè)
【部分圖文】:
調(diào)用回溯
通過(guò)對(duì)該函數(shù)代碼進(jìn)行分析,對(duì)e->s_h(yuǎn)andler的復(fù)制存在于下面的代碼中,如圖4所示。函數(shù)對(duì)判斷l(xiāng)en的大小,只要len大于0并且len小于256就會(huì)通過(guò)malloc分配一段內(nèi)存,并將堆內(nèi)存指針賦給e->s_h(yuǎn)andler,但是這里沒(méi)有考慮len等于0的情況,當(dāng)len等于0,就會(huì)直接跳過(guò)申請(qǐng)內(nèi)存,然后直接對(duì)e->s_h(yuǎn)andler進(jìn)行寫(xiě)操作,并沒(méi)有判斷是否等于0的情況,因此造成空指針解引用,如圖5所示。
函數(shù)對(duì)判斷l(xiāng)en的大小,只要len大于0并且len小于256就會(huì)通過(guò)malloc分配一段內(nèi)存,并將堆內(nèi)存指針賦給e->s_h(yuǎn)andler,但是這里沒(méi)有考慮len等于0的情況,當(dāng)len等于0,就會(huì)直接跳過(guò)申請(qǐng)內(nèi)存,然后直接對(duì)e->s_h(yuǎn)andler進(jìn)行寫(xiě)操作,并沒(méi)有判斷是否等于0的情況,因此造成空指針解引用,如圖5所示。因?yàn)閘en等于0,因此不會(huì)進(jìn)入for循環(huán),所以崩潰發(fā)生在最后一行。
【參考文獻(xiàn)】:
期刊論文
[1]軟件安全漏洞挖掘的研究思路及發(fā)展趨勢(shì)[J]. 文偉平,吳興麗,蔣建春. 信息網(wǎng)絡(luò)安全. 2009(10)
[2]一種基于fuzzing技術(shù)的漏洞發(fā)掘新思路[J]. 邵林,張小松,蘇恩標(biāo). 計(jì)算機(jī)應(yīng)用研究. 2009(03)
[3]基于Fuzzing的ActiveX控件漏洞發(fā)掘技術(shù)[J]. 吳毓書(shū),周安民,吳少華,何永強(qiáng),徐威. 計(jì)算機(jī)應(yīng)用. 2008(09)
本文編號(hào):3511609
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/3511609.html
最近更新
教材專(zhuān)著