[發明專利]一種面向EOSIO智能合約的灰盒模糊測試方法在審
| 申請號: | 202211244456.3 | 申請日: | 2022-10-12 |
| 公開(公告)號: | CN115438351A | 公開(公告)日: | 2022-12-06 |
| 發明(設計)人: | 王猛;李文胤 | 申請(專利權)人: | 河北大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F11/36 |
| 代理公司: | 石家莊國域專利商標事務所有限公司 13112 | 代理人: | 王娟 |
| 地址: | 071002 *** | 國省代碼: | 河北;13 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 eosio 智能 合約 模糊 測試 方法 | ||
1.一種面向EOSIO智能合約的灰盒模糊測試方法,其特征是,包括如下步驟:
a、靜態分析:輸入被測智能合約的字節碼文件以及對應的ABI文件,通過靜態分析獲取被測智能合約中每個action的參數以及參數類型;
b、根據得到的參數類型生成測試用例:當開始無執行反饋信息時,則生成隨機測試用例;當有執行反饋信息時,根據反饋信息,選擇最優的測試用例,然后進行突變,生成基于突變的測試用例集;
c、模糊執行智能合約:將被測智能合約,攻擊代理合約和插樁完成的EOSIO虛擬機部署到EOSIO測試網,并將測試用例集中所有的測試用例都執行一次被測智能合約,生成反饋信息;
在模糊執行智能合約過程中,如果有測試用例發現漏洞,則記錄下來并報告給用戶;插樁的EOSIO虛擬機收集被測智能合約的執行信息,并記錄到執行日志中;
d、漏洞分析:基于被測智能合約的執行日志,收集被測智能合約的行為,并根據被測智能合約的測試預言判斷是否符合漏洞特征,形成檢測報告。
2.根據權利要求1所述的面向EOSIO智能合約的灰盒模糊測試方法,其特征是,在所述步驟a中,所述字節碼文件為WASM二進制字節碼文件。
3.根據權利要求1所述的面向EOSIO智能合約的灰盒模糊測試方法,其特征是,在所述步驟b中,隨機測試用例的生成是通過隨機生成的值聯系到一起構成一個輸入來調用ABI接口,對于原始數字類型,在輸入域生成最大值,最小值和一個隨機值;對于布爾數據類型,隨機返回true或false;對于字符串數據類型,先構建一個字符串池,然后隨機返回一個字符串;對于asset數據類型,返回一個代幣的隨機的值;將隨機生成的值連接在一起,形成一個輸入,調用ABI函數。
4.根據權利要求1所述的面向EOSIO智能合約的灰盒模糊測試方法,其特征是,在所述步驟b中,所述最優測試用例的選擇,是根據反饋信息和參數類型,使用distance函數測量得到當前測試用例執行的分支與未覆蓋分支的距離,將與未覆蓋分支距離最小的測試用例選為最優測試用例。
5.根據權利要求1所述的面向EOSIO智能合約的灰盒模糊測試方法,其特征是,在所述步驟c中,對EOSIO平臺自帶的系統合約和漏洞特征中用到的特定函數調用進行插樁。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于河北大學,未經河北大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211244456.3/1.html,轉載請聲明來源鉆瓜專利網。





