[發(fā)明專利]一種基于人工智能的智能合約安全漏洞挖掘方法及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201910317989.1 | 申請日: | 2019-04-19 |
| 公開(公告)號: | CN110175454B | 公開(公告)日: | 2021-03-26 |
| 發(fā)明(設(shè)計)人: | 肖銀皓 | 申請(專利權(quán))人: | 佛山市微風(fēng)科技有限公司 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56;G06F21/57;G06Q40/04 |
| 代理公司: | 廣州嘉權(quán)專利商標(biāo)事務(wù)所有限公司 44205 | 代理人: | 王國標(biāo) |
| 地址: | 528000 廣東省佛山市禪城區(qū)張槎街道*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 人工智能 智能 合約 安全漏洞 挖掘 方法 系統(tǒng) | ||
本發(fā)明公開了一種基于人工智能的智能合約安全漏洞挖掘方法及系統(tǒng),通過提出一種基于人工智能的智能合約安全漏洞挖掘方法,將智能合約的二進制按照智能合約指令集進行反匯編,變成智能合約匯編,再按照智能合約字節(jié)碼跳轉(zhuǎn)指令將字節(jié)碼劃分成不同模塊,然后根據(jù)跳轉(zhuǎn)的指令的源和目標(biāo)代碼塊生成智能合約字節(jié)碼的控制流圖進行深度學(xué)習(xí),可以極大地減少人工干預(yù)成本,最大程度地避免其他防御中人工干預(yù)出錯對安全漏洞檢測的疏忽;本公開的技術(shù)可以大范圍地運用在產(chǎn)業(yè)界平臺;本公開的技術(shù)具有智能學(xué)習(xí)功能,在發(fā)現(xiàn)新型漏洞樣本的時候,可以快速學(xué)習(xí)漏洞樣本的特征,從而避免漏洞的大范圍擴散。
技術(shù)領(lǐng)域
本公開涉及人工智能和智能合約領(lǐng)域,具體涉及一種基于人工智能的智能合約安全漏洞挖掘方法,適用于以太坊智能合約的漏洞的發(fā)現(xiàn)和預(yù)警。
背景技術(shù)
區(qū)塊鏈作為一種去中心化的共識體系,在諸多領(lǐng)域傳統(tǒng)依賴于中心化信任機構(gòu)的系統(tǒng)中得到了廣泛的應(yīng)用。以太坊作為區(qū)塊鏈2.0的開拓者,目前擁有全球最大的區(qū)塊鏈開源平臺和社區(qū),可提供開發(fā)人員編寫自己的區(qū)塊鏈規(guī)則和分布式賬本。以太坊把這種技術(shù)命名為智能合約。智能合約是運行在區(qū)塊鏈上的一段代碼,這段代碼規(guī)定了該區(qū)塊鏈上的交易規(guī)則,所以在這個鏈上的節(jié)點都必須無條件地遵循這個規(guī)則來進行交易。因此,智能合約的編寫安全尤為重要,一旦不小心出現(xiàn)邏輯錯誤和安全漏洞,將有可能導(dǎo)致不可挽回的巨大損失。據(jù)此,本公開提供一種基于人工智能算法的根據(jù)智能合約字節(jié)碼(bytecode)做漏洞挖掘的方法,提醒開發(fā)人員潛在的風(fēng)險,使得開發(fā)人員有效地規(guī)避風(fēng)險。
因為智能合約是一個新興領(lǐng)域,目前對于智能合約自動化漏洞檢測的方法尚不多。當(dāng)前對于智能合約的主要是有兩類方法:對智能合約的字節(jié)碼/源代碼基于代碼靜態(tài)分析方法(包括基于規(guī)則邏輯檢測、符號執(zhí)行、污點追蹤等算法)發(fā)現(xiàn)安全漏洞,另一種是使用形式化證明的方法對智能合約從數(shù)學(xué)上通過枚舉形式化證明其安全性。
當(dāng)前的這些針對智能合約檢測的方法存在以下幾點致命的缺陷,使得他們離真正廣泛地部署還要相當(dāng)遠的距離:
對于基于代碼靜態(tài)分析挖掘漏洞的方法,往往需要安全人員手動去定義規(guī)則。這些邏輯規(guī)則繁多復(fù)雜,人手定義很容易出現(xiàn)疏漏,如果出現(xiàn)疏漏,即便是靜態(tài)分析方法完全正確,也會造成安全漏洞的忽視;
(2)對于基于代碼靜態(tài)分析挖掘漏洞的方法,需要大量的人工手動干預(yù),使得其無法被大規(guī)模自動化地使用;
(3)當(dāng)前形式化證明的方法不能從真正意義上證明一個智能合約的安全,因為根據(jù)形式化證明的要求,一個系統(tǒng)被證明是安全的必須它所有的有關(guān)聯(lián)的代碼都需要證明,因此如果要用形式化證明,需要把整個以太坊系統(tǒng)從底層到上層的每一行代碼進行驗證,而且每次改動都需要全盤重新驗證,目前這種方法是不現(xiàn)實的;
(4)當(dāng)前的所有方法都缺乏智能的特性,也就是他們都只能對固定的規(guī)則進行檢測,不具有進化和學(xué)習(xí)的功能,遇到新的安全漏洞不懂得重新學(xué)習(xí)。
發(fā)明內(nèi)容
本公開提供一種基于人工智能的智能合約安全漏洞挖掘方法及系統(tǒng),通過提出一種基于人工智能的智能合約安全漏洞挖掘方法,從而更智能更自動化保證智能合約的安全。
為了實現(xiàn)上述目的,根據(jù)本公開的一方面,提供一種基于人工智能的智能合約安全漏洞挖掘方法,所述方法包括以下步驟:
步驟1,智能合約安全漏洞挖掘系統(tǒng)讀取待驗證的智能合約的二進制代碼;
步驟2,啟動字節(jié)碼控制流圖生成模塊,將待驗證的智能合約的二進制代碼作為該模塊的輸入,字節(jié)碼控制流圖生成模塊通過字節(jié)碼解析器將二進制代碼反匯編轉(zhuǎn)換成智能合約字節(jié)碼轉(zhuǎn)成智能合約字節(jié)碼;
步驟3,字節(jié)碼控制流圖生成模塊按照智能合約字節(jié)碼跳轉(zhuǎn)指令字節(jié)碼劃分成不同模塊,然后根據(jù)跳轉(zhuǎn)的指令的源和目標(biāo)代碼塊生成有向圖,該有向圖即為該智能合約字節(jié)碼的控制流圖;
步驟4,啟動特征提取模塊,將字節(jié)碼的控制流圖作為該模塊的輸入;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于佛山市微風(fēng)科技有限公司,未經(jīng)佛山市微風(fēng)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910317989.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 使用基于云端的度量迭代訓(xùn)練人工智能的系統(tǒng)
- 一種人工智能轉(zhuǎn)人工智能再轉(zhuǎn)人工方案
- O-RAN系統(tǒng)中的人工智能模型處理方法和裝置
- 人工智能傷口評估方法及智能終端
- 人工智能倫理風(fēng)險與防范虛擬仿真方法、系統(tǒng)和機器人
- 一種基于人工智能基礎(chǔ)資源與技術(shù)調(diào)控系統(tǒng)及方法
- 基于人工智能倫理備選規(guī)則的人工智能倫理風(fēng)險防范方法
- 人工智能倫理風(fēng)險辨識防范虛擬仿真實驗方法和機器人
- 基于人工智能體決策的人工智能倫理風(fēng)險辨識和防范方法
- 基于算法選擇的人工智能倫理風(fēng)險辨識防范方法和機器人
- 合約轉(zhuǎn)賬方法、設(shè)備和存儲介質(zhì)
- 區(qū)塊鏈合約升級方法、裝置、計算機設(shè)備及可讀存儲介質(zhì)
- 智能合約測試方法、裝置、計算機設(shè)備和存儲介質(zhì)
- 智能合約生成方法、裝置、計算機設(shè)備和存儲介質(zhì)
- 實現(xiàn)可更新智能合約的系統(tǒng)和方法
- 一種管理區(qū)塊鏈系統(tǒng)合約的方法和裝置
- 合約簽署方法、裝置、電子設(shè)備及可讀存儲介質(zhì)
- 基于加密貨幣的智能合約生成方法、相關(guān)設(shè)備及存儲介質(zhì)
- 智能合約的自動測試方法、裝置、計算機設(shè)備和存儲介質(zhì)
- 智能合約執(zhí)行方法、裝置、系統(tǒng)、存儲介質(zhì)及電子設(shè)備





