首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于语义信息引导模糊测试的智能合约漏洞检测方法 

申请/专利权人:烟台大学

申请日:2024-01-04

公开(公告)日:2024-06-28

公开(公告)号:CN117909988B

主分类号:G06F21/57

分类号:G06F21/57;G06F8/41;G06N7/02

优先权:

专利状态码:有效-授权

法律状态:2024.06.28#授权;2024.05.07#实质审查的生效;2024.04.19#公开

摘要:本发明涉及网络安全技术领域,具体为基于语义信息引导模糊测试的智能合约漏洞检测方法,该检测方法根据待检智能合约中函数之间的关系确定目标函数;然后,对目标函数进行空间压缩、空间分裂和空间降维,得到多个降维子空间;接着,对每个降维子空间中的每个未赋值输入变量进行赋值,将赋值后的输入变量与历史已赋值变量组结合后,进行判断,仅生成高质量的测试用例;最后,将所有高质量的测试用例去攻击待检智能合约,得到漏洞检测结果;该检测方法生成的测试用例的质量,优于现有基于模糊测试的检测方法,在低路径覆盖率的基础上,具有较高的检测准确率,说明该检测方法具有高检测准确率和高检测效率。

主权项:1.一种基于语义信息引导模糊测试的智能合约漏洞检测方法,其特征在于,包括如下操作:S1、根据待检智能合约中,函数之间的调用关系,得到函数调用图;删除所述函数调用图中,与潜在漏洞函数之间没有路径的函数,得到简化函数调用图;获取所述简化函数调用图中,可以被外部调用的函数,作为目标函数,所有目标函数,形成了目标函数集;S2、将所述目标函数集中,每个目标函数的输入阈表示为一个初始输入空间,每个初始输入空间经空间压缩和空间分裂处理,得到多个子空间,每个子空间经空间降维处理,得到降维子空间;所有降维子空间,形成了降维子空间集;S3、获取所述降维子空间集中,每个降维子空间中与未赋值输入变量有关的约束语句,得到每个未赋值输入变量对应的未赋值输入变量约束组;基于未赋值输入变量约束组集,得到测试用例;S3.1、基于当前未赋值输入变量约束组,和当前未赋值输入变量的数据类型,赋值给所述当前未赋值输入变量一个随机值,得到当前赋值输入变量;S3.2、将所述当前赋值输入变量,添加至历史已赋值输入变量组中,得到当前待检赋值输入变量组;判断所述当前待检赋值输入变量组是否能满足,对应降维子空间的降维约束组中的约束语句;若不能满足,执行S3.3;若能满足,执行S3.4;S3.3、清除所述当前赋值输入变量的随机值,当前未赋值输入变量继续执行所述S3.1;S3.4、判断所述当前待检赋值输入变量组中,已赋值输入变量的数量是否等于降维子空间中未赋值输入变量的初始数量;若等于,所述当前待检赋值输入变量组作为一个测试用例,并执行S3.5;若小于,执行S3.1,且所述当前待检赋值输入变量组代替所述S3.2中的历史已赋值变量组;S3.5、判断当前降维子空间中测试用例的数量,是否等于对应的测试用例分配量;若等于,执行S4;若小于,执行S3.1;降维子空间的测试用例分配量是基于对应降维子空间的复杂度得到的;具体为:获取降维子空间的复杂度,将所述复杂度与复杂度总和的比值,作为对应降维子空间的权重值;所述权重值与测试用例总数相乘,得到对应降维子空间的测试用例分配量;S4、所有测试用例用于攻击所述待检智能合约,若攻击不成功,所述待检智能合约不存在漏洞;若攻击成功,所述待检智能合约存在漏洞。

全文数据:

权利要求:

百度查询: 烟台大学 基于语义信息引导模糊测试的智能合约漏洞检测方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。