[發(fā)明專(zhuān)利]一種基于前向探針的離線(xiàn)符號(hào)執(zhí)行路徑搜索方法在審
| 申請(qǐng)?zhí)枺?/td> | 202010085873.2 | 申請(qǐng)日: | 2020-02-11 |
| 公開(kāi)(公告)號(hào): | CN111400165A | 公開(kāi)(公告)日: | 2020-07-10 |
| 發(fā)明(設(shè)計(jì))人: | 魏強(qiáng);武澤慧;柳曉龍;杜江;李錫星;麻榮寬 | 申請(qǐng)(專(zhuān)利權(quán))人: | 中國(guó)人民解放軍戰(zhàn)略支援部隊(duì)信息工程大學(xué) |
| 主分類(lèi)號(hào): | G06F11/36 | 分類(lèi)號(hào): | G06F11/36 |
| 代理公司: | 鄭州大通專(zhuān)利商標(biāo)代理有限公司 41111 | 代理人: | 張立強(qiáng) |
| 地址: | 450000 河*** | 國(guó)省代碼: | 河南;41 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 探針 離線(xiàn) 符號(hào) 執(zhí)行 路徑 搜索 方法 | ||
1.一種基于前向探針的離線(xiàn)符號(hào)執(zhí)行路徑搜索方法,其特征在于,包括:
步驟1:對(duì)程序使用模糊測(cè)試工具進(jìn)行分析,將模糊測(cè)試工具產(chǎn)生的能夠遍歷新的狀態(tài)轉(zhuǎn)移的樣本作為下一代變異的種子樣本;
步驟2:當(dāng)步驟1中產(chǎn)生的樣本無(wú)法遍歷新的狀態(tài)轉(zhuǎn)移時(shí),符號(hào)執(zhí)行引擎從樣本隊(duì)列中選取一個(gè)樣本生成離線(xiàn)符號(hào)執(zhí)行軌跡;
步驟3:將步驟2中生成的離線(xiàn)符號(hào)執(zhí)行軌跡從程序入口開(kāi)始逐個(gè)翻轉(zhuǎn)分支點(diǎn),并創(chuàng)建一個(gè)動(dòng)態(tài)符號(hào)執(zhí)行探針作為前向探針沿著翻轉(zhuǎn)狀態(tài)向前探測(cè)該分支點(diǎn)是否影響后續(xù)分支的跳轉(zhuǎn),同時(shí)探測(cè)附近是否有新的狀態(tài)轉(zhuǎn)移;
步驟4:如果步驟3中分支點(diǎn)在翻轉(zhuǎn)時(shí)發(fā)現(xiàn)新的狀態(tài)轉(zhuǎn)移,或者前向探針探測(cè)到該分支點(diǎn)附近有新的狀態(tài)轉(zhuǎn)移,則嘗試對(duì)翻轉(zhuǎn)狀態(tài)進(jìn)行約束求解;
步驟5:如果步驟4中翻轉(zhuǎn)狀態(tài)可解,則將產(chǎn)生的新樣本加入到模糊測(cè)試樣本隊(duì)列中,將翻轉(zhuǎn)狀態(tài)加入到已遍歷集合中;
步驟6:繼續(xù)沿著步驟5中的翻轉(zhuǎn)狀態(tài)執(zhí)行下一步,直到離線(xiàn)符號(hào)執(zhí)行軌跡的最后一個(gè)分支點(diǎn)結(jié)束;
步驟7:將步驟6中繼續(xù)執(zhí)行求解生成的樣本集合作為模糊測(cè)試的種子樣本,繼續(xù)執(zhí)行模糊測(cè)試,以遍歷到新的狀態(tài)轉(zhuǎn)移。
2.根據(jù)權(quán)利要求1所述的一種基于前向探針的離線(xiàn)符號(hào)執(zhí)行路徑搜索方法,其特征在于,所述模糊測(cè)試工具為AFL。
3.根據(jù)權(quán)利要求2所述的一種基于前向探針的離線(xiàn)符號(hào)執(zhí)行路徑搜索方法,其特征在于,所述符號(hào)執(zhí)行引擎為angr。
4.根據(jù)權(quán)利要求3所述的一種基于前向探針的離線(xiàn)符號(hào)執(zhí)行路徑搜索方法,其特征在于,在所述步驟3之前,還包括:從AFL測(cè)試目錄中讀取狀態(tài)轉(zhuǎn)移數(shù)組,來(lái)同步AFL已經(jīng)遍歷的狀態(tài)空間。
5.根據(jù)權(quán)利要求1所述的一種基于前向探針的離線(xiàn)符號(hào)執(zhí)行路徑搜索方法,其特征在于,所述前向探針按照如下方式進(jìn)行探測(cè):前向探針從翻轉(zhuǎn)狀態(tài)開(kāi)始向前符號(hào)執(zhí)行,每執(zhí)行一步,檢測(cè)發(fā)現(xiàn)的狀態(tài)轉(zhuǎn)移是否為新,若是則返回真,若否則繼續(xù)進(jìn)行符號(hào)執(zhí)行,一直執(zhí)行N步;其間若發(fā)現(xiàn)新的狀態(tài)轉(zhuǎn)移,返回真,若向前執(zhí)行N步亦沒(méi)有發(fā)現(xiàn)新的狀態(tài)轉(zhuǎn)移,返回假。
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于中國(guó)人民解放軍戰(zhàn)略支援部隊(duì)信息工程大學(xué),未經(jīng)中國(guó)人民解放軍戰(zhàn)略支援部隊(duì)信息工程大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010085873.2/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 離線(xiàn)下載系統(tǒng)和方法
- 離線(xiàn)應(yīng)用的控制方法與應(yīng)用服務(wù)系統(tǒng)
- 實(shí)現(xiàn)網(wǎng)頁(yè)程序離線(xiàn)緩存的方法和系統(tǒng)
- 一種排查物聯(lián)網(wǎng)終端設(shè)備離線(xiàn)原因的方法
- 一種離線(xiàn)身份認(rèn)證方法、認(rèn)證系統(tǒng)及認(rèn)證設(shè)備
- 一種離線(xiàn)包重組方法及系統(tǒng)
- 一種展示離線(xiàn)消息的方法及終端
- 離線(xiàn)任務(wù)的處理方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種快速展示離線(xiàn)消息的方法及終端
- 一種效率高的展示離線(xiàn)消息的方法及終端
- 碼轉(zhuǎn)換裝置、接收機(jī)以及碼轉(zhuǎn)換方法
- TrueType符號(hào)與基于路徑的點(diǎn)狀地圖符號(hào)交換方法
- 一種生成嵌入式程序運(yùn)行符號(hào)表的方法和裝置
- 控制車(chē)內(nèi)后視鏡的按鈕符號(hào)的方法
- 一種基于矢量符號(hào)描述語(yǔ)言的電子海圖擴(kuò)展符號(hào)構(gòu)建系統(tǒng)
- 一種用于無(wú)線(xiàn)光通信的方法及通信裝置
- 計(jì)算機(jī)圖形符號(hào)化表達(dá)方法、電子設(shè)備、存儲(chǔ)介質(zhì)
- 一種圖像識(shí)別的方法和裝置
- 標(biāo)點(diǎn)符號(hào)的校正方法及設(shè)備、介質(zhì)
- 一種被用于無(wú)線(xiàn)通信的節(jié)點(diǎn)中的方法和裝置





