[發(fā)明專利]一種基于元操作的智能合約漏洞檢測(cè)方法和系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 202211634919.7 | 申請(qǐng)日: | 2022-12-19 |
| 公開(公告)號(hào): | CN116127466A | 公開(公告)日: | 2023-05-16 |
| 發(fā)明(設(shè)計(jì))人: | 徐向華;王順 | 申請(qǐng)(專利權(quán))人: | 杭州電子科技大學(xué) |
| 主分類號(hào): | G06F21/57 | 分類號(hào): | G06F21/57 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 310018 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 操作 智能 合約 漏洞 檢測(cè) 方法 系統(tǒng) | ||
本發(fā)明公開一種基于元操作的智能合約漏洞檢測(cè)方法與系統(tǒng)。首先把智能合約轉(zhuǎn)換為中間表示,把在中間表示上的基本匹配操作定義為元操作,作為合約代碼漏洞檢測(cè)的基本檢測(cè)邏輯單元;其次將合約漏洞的檢測(cè)規(guī)則表示為一組元操作的邏輯運(yùn)算表達(dá)式,形成漏洞檢測(cè)腳本文件。在合約漏洞檢測(cè)系統(tǒng)中實(shí)現(xiàn)所有元操作的檢測(cè)代碼,以及合約漏洞檢測(cè)規(guī)則的解析執(zhí)行代碼;最后系統(tǒng)通過解析漏洞檢測(cè)腳本文件并執(zhí)行匹配操作,判斷待測(cè)智能合約是否存在某種漏洞特征。本發(fā)明適用于不同版本智能合約漏洞的檢測(cè),通過元操作的重用,減少了很多重復(fù)漏洞檢測(cè)代碼編寫工作,提高了合約漏洞檢測(cè)工具的可擴(kuò)展性。
技術(shù)領(lǐng)域
本發(fā)明屬于智能合約安全檢測(cè)技術(shù)領(lǐng)域,具體涉及一種基于元操作的智能合約漏洞檢測(cè)方法與系統(tǒng)。
背景技術(shù)
智能合約是在區(qū)塊鏈基礎(chǔ)設(shè)施上執(zhí)行的圖靈完備程序,與傳統(tǒng)程序不同,智能合約一旦部署就無法針對(duì)暴露出的漏洞進(jìn)行修補(bǔ)。智能合約靜態(tài)代碼分析作為智能合約漏洞檢測(cè)的一種手段,具有檢測(cè)速度快、不需要代碼真實(shí)執(zhí)行等優(yōu)點(diǎn)。
基于靜態(tài)分析的智能合約漏洞檢測(cè)相關(guān)的開源框架、專利和論文如下:
SmartCheck采用漏洞特征匹配的漏洞檢測(cè)方法,將待測(cè)智能合約通過詞法分析、語法分析將合約源代碼文件轉(zhuǎn)換為XML中間表示;針對(duì)各類合約漏洞的特征逐一編寫對(duì)應(yīng)的漏洞掃描代碼,在代碼中間表示上進(jìn)行漏洞特征的掃描匹配,完成合約漏洞檢測(cè)。Slither檢測(cè)方法與SmartCheck類似,區(qū)別是Slither將待測(cè)智能合約通過詞法分析、語法分析將合約源代碼文件轉(zhuǎn)換為SlitherIR中間表示,在SlitherIR中間表示上進(jìn)行漏洞特征掃描匹配。
但是,上述合約漏洞檢測(cè)分析工具在代碼實(shí)現(xiàn)框架中將漏洞檢測(cè)規(guī)則嵌入到漏洞檢測(cè)代碼中,針對(duì)新漏洞需要編寫相應(yīng)的漏洞檢測(cè)代碼,并添加到現(xiàn)有版本的漏洞檢測(cè)分析工具中,漏洞檢測(cè)規(guī)則與檢測(cè)工具代碼緊密耦合,存在漏洞檢測(cè)工具代碼設(shè)計(jì)復(fù)雜、可擴(kuò)展性差等問題,難以適應(yīng)合約漏洞快速增加的趨勢(shì)。
CN109492402A提出了一種基于規(guī)則引擎的智能合約安全評(píng)測(cè)方法,將智能合約通過語法分析器轉(zhuǎn)換為合約語法樹,針對(duì)各類合約漏洞的特征逐一編寫對(duì)應(yīng)的漏洞掃描代碼塊并作為漏洞規(guī)則置于漏洞規(guī)則庫之中;漏洞規(guī)則引擎執(zhí)行漏洞規(guī)則代碼并遍歷掃描合約語法樹,實(shí)現(xiàn)合約漏洞檢測(cè)。該方法的漏洞規(guī)則是用智能合約描述語言編寫的漏洞檢測(cè)代碼,與SmartCheck和SlitherIR不同,實(shí)現(xiàn)了漏洞規(guī)則引擎代碼與漏洞規(guī)則代碼的分離,但仍需要針對(duì)各類漏洞的特征逐一編寫漏洞檢測(cè)代碼塊,作為檢測(cè)規(guī)則。該方法存在以下問題:針對(duì)新的合約漏洞編寫對(duì)應(yīng)漏洞特征的檢測(cè)代碼,需要有專業(yè)的合約語言編程能力;另外,各類漏洞規(guī)則代碼中包含了很多重復(fù)的特征匹配操作代碼,該方法針對(duì)所有漏洞逐一編寫對(duì)應(yīng)的漏洞規(guī)則代碼帶來了很多重復(fù)代碼編寫工作,代價(jià)高且容易出錯(cuò),影響到檢測(cè)工具的可維護(hù)性、可擴(kuò)展性。
綜上所述,針對(duì)上述問題,本發(fā)明提出了基于元操作的智能合約漏洞分析檢測(cè)方法,采用漏洞檢測(cè)規(guī)則與檢測(cè)代碼分離的設(shè)計(jì)思想,將漏洞特征的基本匹配操作定義為元操作,漏洞檢測(cè)規(guī)則描述為一組元操作的邏輯表達(dá)式,所有類型漏洞檢測(cè)規(guī)則構(gòu)成系統(tǒng)漏洞檢測(cè)腳本文件,通過檢測(cè)引擎解析執(zhí)行漏洞檢測(cè)規(guī)則從而實(shí)現(xiàn)合約漏洞檢測(cè)。該方法實(shí)現(xiàn)了元操作(基本特征匹配操作代碼)的重用,漏洞檢測(cè)規(guī)則與檢測(cè)引擎代碼的分離,提高漏洞檢測(cè)工具的可擴(kuò)展性、可維護(hù)性。
發(fā)明內(nèi)容
針對(duì)上述智能合約漏洞檢測(cè)方法的不足,本發(fā)明提出了一種基于元操作的智能合約漏洞檢測(cè)方法與系統(tǒng),首先把智能合約轉(zhuǎn)換為中間表示,把在中間表示上的基本匹配操作定義為元操作,作為合約代碼漏洞檢測(cè)的基本檢測(cè)邏輯單元;將每種合約漏洞的檢測(cè)規(guī)則表示為一組元操作的邏輯運(yùn)算表達(dá)式,形成漏洞檢測(cè)腳本文件。在合約漏洞檢測(cè)系統(tǒng)中實(shí)現(xiàn)所有元操作的檢測(cè)代碼,以及合約漏洞檢測(cè)規(guī)則的解析執(zhí)行代碼;系統(tǒng)通過解析執(zhí)行合約漏洞檢測(cè)規(guī)則腳本文件,判斷待測(cè)智能合約是否存在某種漏洞特征。
本發(fā)明提出了一種基于元操作的智能合約漏洞檢測(cè)方法,包括:規(guī)則描述階段、規(guī)則解析階段和規(guī)則執(zhí)行階段;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州電子科技大學(xué),未經(jīng)杭州電子科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211634919.7/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程
- 合約轉(zhuǎn)賬方法、設(shè)備和存儲(chǔ)介質(zhì)
- 區(qū)塊鏈合約升級(jí)方法、裝置、計(jì)算機(jī)設(shè)備及可讀存儲(chǔ)介質(zhì)
- 智能合約測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 智能合約生成方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 實(shí)現(xiàn)可更新智能合約的系統(tǒng)和方法
- 一種管理區(qū)塊鏈系統(tǒng)合約的方法和裝置
- 合約簽署方法、裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì)
- 基于加密貨幣的智能合約生成方法、相關(guān)設(shè)備及存儲(chǔ)介質(zhì)
- 智能合約的自動(dòng)測(cè)試方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 智能合約執(zhí)行方法、裝置、系統(tǒng)、存儲(chǔ)介質(zhì)及電子設(shè)備





