[發(fā)明專利]一種基于策略型Fuzzer的智能合約漏洞檢測方法及系統(tǒng)在審
| 申請?zhí)枺?/td> | 202210455506.6 | 申請日: | 2022-04-27 |
| 公開(公告)號: | CN115033883A | 公開(公告)日: | 2022-09-09 |
| 發(fā)明(設(shè)計)人: | 錢鵬;陳建海;劉振廣;盧令令;楊特;沈睿;何欽銘 | 申請(專利權(quán))人: | 浙江大學(xué) |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F11/36;G06N3/04;G06N3/08 |
| 代理公司: | 杭州求是專利事務(wù)所有限公司 33200 | 代理人: | 鄭海峰 |
| 地址: | 310058 浙江*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 策略 fuzzer 智能 合約 漏洞 檢測 方法 系統(tǒng) | ||
本發(fā)明提出了基于策略型Fuzzer的智能合約漏洞檢測方法及系統(tǒng),屬于區(qū)塊鏈智能合約安全領(lǐng)域。該方法具體包括:設(shè)計智能合約控制流圖,提取控制流執(zhí)行路徑;分析測試用例的可達性以及控制流執(zhí)行路徑的漏洞性,并構(gòu)建具有標(biāo)注的測試用例和執(zhí)行路徑的數(shù)據(jù)集,訓(xùn)練相應(yīng)的策略模型;集成策略模型到模糊檢測器中,指導(dǎo)模糊檢測器實現(xiàn)效率更快、檢測更精準(zhǔn)的漏洞檢測,并進一步根據(jù)策略模型決判的高優(yōu)先級測試用例,優(yōu)化測試用例隊列,動態(tài)更新策略模型。相較于傳統(tǒng)的智能合約漏洞檢測工具,該方法提供了一種新穎的智能合約漏洞檢測方案,嘗試將基于深度神經(jīng)網(wǎng)絡(luò)的策略模型與模糊檢測器相結(jié)合,有效地降低了傳統(tǒng)靜態(tài)分析方法的漏報率和誤報率,提高了模糊檢測方法的執(zhí)行效率和檢測準(zhǔn)確率,展望了智能合約漏洞檢測的新方向。
技術(shù)領(lǐng)域
本發(fā)明屬于區(qū)塊鏈智能合約安全領(lǐng)域,具體涉及一種基于策略型Fuzzer的智能合約漏洞檢測方法及系統(tǒng)。
背景技術(shù)
程序漏洞給計算機程序語言的發(fā)展造成了嚴(yán)重阻礙,隱藏在程序中的安全漏洞可能會導(dǎo)致計算機系統(tǒng)損壞、信息泄露或拒絕服務(wù)等嚴(yán)重的安全事件,程序漏洞引發(fā)的安全問題已經(jīng)成為計算機安全領(lǐng)域的關(guān)注焦點。近年來,智能合約安全漏洞引起了國內(nèi)外相關(guān)從業(yè)人員的廣泛關(guān)注。智能合約本質(zhì)上是一段運行在區(qū)塊鏈上的程序,具有自動化執(zhí)行、不可逆等特性。當(dāng)前,部署在區(qū)塊鏈網(wǎng)絡(luò)中的智能合約數(shù)量近千萬份,吸引了眾多惡意攻擊者,他們試圖利用合約漏洞攫取非法利益。智能合約安全漏洞已經(jīng)造成了巨大的經(jīng)濟損失,亟待有效的漏洞檢測工具對智能合約進行檢測,以確保部署在區(qū)塊鏈上合約的安全可靠性。
當(dāng)前的智能合約漏洞檢測方法主要涉及靜態(tài)分析與動態(tài)執(zhí)行,包括形式化驗證、符號執(zhí)行、以及模糊測試。靜態(tài)分析方法(如形式化驗證、符號執(zhí)行)缺少對合約執(zhí)行過程中的動態(tài)交互分析,因此無法發(fā)現(xiàn)隱藏在程序深處(如需多次迭代才會產(chǎn)生)的漏洞,從而存在較高的漏報率和誤報率;模糊測試是漏洞分析領(lǐng)域中應(yīng)用最廣泛且最有效的方法,它是一種典型的動態(tài)分析方法,已經(jīng)被應(yīng)用于智能合約漏洞檢測任務(wù)。然而,傳統(tǒng)的模糊測試方法依賴于初始的測試用例及其變異策略,仍然存在變異策略隨機、路徑覆蓋率低、漏洞檢測耗時長、漏洞發(fā)現(xiàn)效果差等痛點問題。
發(fā)明內(nèi)容
針對靜態(tài)分析方法的高漏報率和誤報率以及模糊測試方法的變異策略隨機、路徑覆蓋率低等問題,本發(fā)明提出了一種基于策略型Fuzzer的智能合約漏洞檢測方法及系統(tǒng),通過訓(xùn)練策略模型,過濾不可達的測試用例輸入、決判存在漏洞的執(zhí)行路徑,以指導(dǎo)模糊檢測器Fuzzer實現(xiàn)準(zhǔn)確率更高、覆蓋率更廣、執(zhí)行效率更快的智能合約漏洞檢測。
為了實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
一種基于策略型Fuzzer的智能合約漏洞檢測方法,包括以下步驟:
步驟1:構(gòu)建智能合約數(shù)據(jù)集,初始化測試用例可達性策略模型F1和執(zhí)行路徑漏洞性策略模型F2;
步驟2:給定一個待測合約,初始化測試用例集合;遍歷集合中的每一個測試用例,首先利用測試用例可達性策略模型F1預(yù)測該測試用例的可達性,并將該測試用例及其預(yù)測標(biāo)簽存入數(shù)據(jù)庫D1;
針對不滿足可達性的測試用例,從初始化測試用例集合中剔除;
針對滿足可達性的測試用例,獲取由可達節(jié)點構(gòu)成的執(zhí)行路徑,利用執(zhí)行路徑漏洞性策略模型F2預(yù)測該測試用例對應(yīng)的執(zhí)行路徑的漏洞性,并將所述執(zhí)行路徑及其預(yù)測標(biāo)簽存入數(shù)據(jù)庫D2;
針對存在漏洞性的執(zhí)行路徑,為對應(yīng)的測試用例給予優(yōu)先級標(biāo)記;
步驟3:針對優(yōu)化后的測試用例集合,優(yōu)先選擇優(yōu)先級更高的測試用例進行變異和測試,直至模糊測試結(jié)束。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浙江大學(xué),未經(jīng)浙江大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210455506.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種計算機網(wǎng)絡(luò)策略管理系統(tǒng)及策略管理方法
- 應(yīng)用于合法監(jiān)聽系統(tǒng)的網(wǎng)絡(luò)策略架構(gòu)及其策略處理方法
- 分發(fā)策略的方法、系統(tǒng)和策略分發(fā)實體
- 策略控制方法、策略規(guī)則決策設(shè)備和策略控制設(shè)備
- 用于控制QoS策略沖突的方法、設(shè)備和系統(tǒng)
- 策略融合的方法、UE及服務(wù)器
- 策略調(diào)整觸發(fā)、策略調(diào)整方法及裝置、策略調(diào)整系統(tǒng)
- 設(shè)備策略管理器
- 策略組中的策略評估、策略選擇方法及裝置
- 策略集群分發(fā)匹配方法、系統(tǒng)及計算機可讀存儲介質(zhì)





