[發(fā)明專利]一種基于策略型Fuzzer的智能合約漏洞檢測(cè)方法及系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 202210455506.6 | 申請(qǐng)日: | 2022-04-27 |
| 公開(kāi)(公告)號(hào): | CN115033883A | 公開(kāi)(公告)日: | 2022-09-09 |
| 發(fā)明(設(shè)計(jì))人: | 錢(qián)鵬;陳建海;劉振廣;盧令令;楊特;沈睿;何欽銘 | 申請(qǐng)(專利權(quán))人: | 浙江大學(xué) |
| 主分類號(hào): | G06F21/57 | 分類號(hào): | G06F21/57;G06F11/36;G06N3/04;G06N3/08 |
| 代理公司: | 杭州求是專利事務(wù)所有限公司 33200 | 代理人: | 鄭海峰 |
| 地址: | 310058 浙江*** | 國(guó)省代碼: | 浙江;33 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 策略 fuzzer 智能 合約 漏洞 檢測(cè) 方法 系統(tǒng) | ||
1.一種基于策略型Fuzzer的智能合約漏洞檢測(cè)方法,其特征在于,包括以下步驟:
步驟1:構(gòu)建智能合約數(shù)據(jù)集,初始化測(cè)試用例可達(dá)性策略模型F1和執(zhí)行路徑漏洞性策略模型F2;
步驟2:給定一個(gè)待測(cè)合約,初始化測(cè)試用例集合;遍歷集合中的每一個(gè)測(cè)試用例,首先利用測(cè)試用例可達(dá)性策略模型F1預(yù)測(cè)該測(cè)試用例的可達(dá)性,并將該測(cè)試用例及其預(yù)測(cè)標(biāo)簽存入數(shù)據(jù)庫(kù)D1;
針對(duì)不滿足可達(dá)性的測(cè)試用例,從初始化測(cè)試用例集合中剔除;
針對(duì)滿足可達(dá)性的測(cè)試用例,獲取由可達(dá)節(jié)點(diǎn)構(gòu)成的執(zhí)行路徑,利用執(zhí)行路徑漏洞性策略模型F2預(yù)測(cè)該測(cè)試用例對(duì)應(yīng)的執(zhí)行路徑的漏洞性,并將所述執(zhí)行路徑及其預(yù)測(cè)標(biāo)簽存入數(shù)據(jù)庫(kù)D2;
針對(duì)存在漏洞性的執(zhí)行路徑,為對(duì)應(yīng)的測(cè)試用例給予優(yōu)先級(jí)標(biāo)記;
步驟3:針對(duì)優(yōu)化后的測(cè)試用例集合,優(yōu)先選擇優(yōu)先級(jí)更高的測(cè)試用例進(jìn)行變異和測(cè)試,直至模糊測(cè)試結(jié)束。
2.根據(jù)權(quán)利要求1所述的一種基于策略型Fuzzer的智能合約漏洞檢測(cè)方法,其特征在于,還包括對(duì)測(cè)試用例可達(dá)性策略模型F1和執(zhí)行路徑漏洞性策略模型F2進(jìn)行動(dòng)態(tài)更新的過(guò)程,具體為:根據(jù)步驟2中保存在數(shù)據(jù)庫(kù)D1和D2中的帶有預(yù)測(cè)標(biāo)簽的測(cè)試用例以及執(zhí)行路徑數(shù)據(jù)集,分別對(duì)測(cè)試用例可達(dá)性策略模型F1和執(zhí)行路徑漏洞性策略模型F2進(jìn)行迭代更新,使得在執(zhí)行模糊測(cè)試的過(guò)程中能同時(shí)動(dòng)態(tài)地在線更新策略模型。
3.根據(jù)權(quán)利要求1所述的一種基于策略型Fuzzer的智能合約漏洞檢測(cè)方法,其特征在于,所述的測(cè)試用例可達(dá)性策略模型F1和執(zhí)行路徑漏洞性策略模型F2的初始化過(guò)程具體為:
構(gòu)建智能合約數(shù)據(jù)集,提取智能合約控制流圖,針對(duì)控制流圖中的各個(gè)節(jié)點(diǎn)設(shè)計(jì)測(cè)試用例,并標(biāo)注測(cè)試用例對(duì)應(yīng)的執(zhí)行路徑;
接著,分別對(duì)測(cè)試用例的可達(dá)性與執(zhí)行路徑的漏洞性進(jìn)行標(biāo)注作為訓(xùn)練標(biāo)簽,以標(biāo)注的測(cè)試用例和執(zhí)行路徑的數(shù)據(jù)集為輸入,分別訓(xùn)練測(cè)試用例可達(dá)性策略模型F1和執(zhí)行路徑漏洞性策略模型F2。
4.根據(jù)權(quán)利要求3所述的一種基于策略型Fuzzer的智能合約漏洞檢測(cè)方法,其特征在于,給定智能合約中的一條控制流執(zhí)行路徑A={A1,A2,…,AN},N表示該路徑上的節(jié)點(diǎn)數(shù)量,生成覆蓋各個(gè)節(jié)點(diǎn)的測(cè)試用例集合B={a,b,c,…},測(cè)試用例集合的可達(dá)性標(biāo)簽集合為Y={ya,yb,yc,…};每一個(gè)可達(dá)性標(biāo)簽是由N維0-1向量構(gòu)成的,若可達(dá)性標(biāo)簽向量中有且僅有第i位數(shù)字為1,則該測(cè)試用例可達(dá)控制流執(zhí)行路徑A上的前i個(gè)節(jié)點(diǎn),若可達(dá)性標(biāo)簽向量中全為0,則該測(cè)試用例不可達(dá)。
5.根據(jù)權(quán)利要求1所述的一種基于策略型Fuzzer的智能合約漏洞檢測(cè)方法,其特征在于,所述的測(cè)試用例可達(dá)性策略模型F1采用卷積神經(jīng)網(wǎng)絡(luò)模型,執(zhí)行路徑漏洞性策略模型F2采用循環(huán)神經(jīng)網(wǎng)絡(luò)模型。
6.一種基于策略型Fuzzer的智能合約漏洞檢測(cè)系統(tǒng),其特征在于,用于實(shí)現(xiàn)權(quán)利要求1所述的智能合約漏洞檢測(cè)方法;所述的智能合約漏洞檢測(cè)系統(tǒng)包括:
智能合約基礎(chǔ)分析模塊,其用于構(gòu)建智能合約數(shù)據(jù)集,初始化測(cè)試用例可達(dá)性策略模型F1和執(zhí)行路徑漏洞性策略模型F2;
測(cè)試用例集合模塊,其用于針對(duì)給定的待測(cè)合約,初始化待測(cè)試的測(cè)試用例隊(duì)列,并對(duì)測(cè)試用例隊(duì)列進(jìn)行優(yōu)化;
測(cè)試用例可達(dá)性策略模型模塊,其用于遍歷測(cè)試用例集合模塊中的每一個(gè)測(cè)試用例,利用測(cè)試用例可達(dá)性策略模型F1預(yù)測(cè)該測(cè)試用例的可達(dá)性,并將該測(cè)試用例及其預(yù)測(cè)標(biāo)簽存入數(shù)據(jù)庫(kù)D1;
針對(duì)不滿足可達(dá)性的測(cè)試用例,從初始化測(cè)試用例集合中剔除;
執(zhí)行路徑漏洞性策略模型,其用于獲取測(cè)試用例可達(dá)性策略模型模塊輸出的滿足可達(dá)性的測(cè)試用例,并獲取由可達(dá)節(jié)點(diǎn)構(gòu)成的執(zhí)行路徑,利用執(zhí)行路徑漏洞性策略模型F2預(yù)測(cè)該測(cè)試用例對(duì)應(yīng)的執(zhí)行路徑的漏洞性,并將所述執(zhí)行路徑及其預(yù)測(cè)標(biāo)簽存入數(shù)據(jù)庫(kù)D2;
針對(duì)存在漏洞性的執(zhí)行路徑,為對(duì)應(yīng)的測(cè)試用例給予優(yōu)先級(jí)標(biāo)記;
模糊檢測(cè)器模塊,其用于獲取優(yōu)化后的測(cè)試用例隊(duì)列,優(yōu)先選擇優(yōu)先級(jí)更高的測(cè)試用例進(jìn)行變異和測(cè)試,直至模糊測(cè)試結(jié)束。
7.根據(jù)權(quán)利要求1所述的一種基于策略型Fuzzer的智能合約漏洞檢測(cè)系統(tǒng),其特征在于,還包括:
策略模型更新模塊,其用于根據(jù)測(cè)試用例可達(dá)性策略模型模塊中數(shù)據(jù)庫(kù)D1存儲(chǔ)的帶有預(yù)測(cè)標(biāo)簽的測(cè)試用例對(duì)測(cè)試用例可達(dá)性策略模型F1進(jìn)行迭代更新,以及用于根據(jù)執(zhí)行路徑漏洞性策略模型中數(shù)據(jù)庫(kù)D2存儲(chǔ)的帶有預(yù)測(cè)標(biāo)簽的執(zhí)行路徑對(duì)執(zhí)行路徑漏洞性策略模型F2進(jìn)行迭代更新。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浙江大學(xué),未經(jīng)浙江大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210455506.6/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤(pán)或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程
- 一種計(jì)算機(jī)網(wǎng)絡(luò)策略管理系統(tǒng)及策略管理方法
- 應(yīng)用于合法監(jiān)聽(tīng)系統(tǒng)的網(wǎng)絡(luò)策略架構(gòu)及其策略處理方法
- 分發(fā)策略的方法、系統(tǒng)和策略分發(fā)實(shí)體
- 策略控制方法、策略規(guī)則決策設(shè)備和策略控制設(shè)備
- 用于控制QoS策略沖突的方法、設(shè)備和系統(tǒng)
- 策略融合的方法、UE及服務(wù)器
- 策略調(diào)整觸發(fā)、策略調(diào)整方法及裝置、策略調(diào)整系統(tǒng)
- 設(shè)備策略管理器
- 策略組中的策略評(píng)估、策略選擇方法及裝置
- 策略集群分發(fā)匹配方法、系統(tǒng)及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)





