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

【发明授权】一种针对智能合约跨合约漏洞的模糊测试方法_中国科学技术大学_202110370702.9 

申请/专利权人:中国科学技术大学

申请日:2021-04-07

公开(公告)日:2024-03-29

公开(公告)号:CN112860588B

主分类号:G06F11/36

分类号:G06F11/36;G06F21/57

优先权:

专利状态码:有效-授权

法律状态:2024.03.29#授权;2021.06.15#实质审查的生效;2021.05.28#公开

摘要:本发明公开了一种针对智能合约跨合约漏洞的模糊测试方法,使用导向型模糊测试的方法完成智能合约跨合约安全漏洞的检测,在更大程度上保证智能合约的安全。在具体实现上,生成包含函数选择器,函数参数,合约成员变量,合约余额等数据的测试用例;选择测试用例的距离度量值作为反馈指标,用以挑选优异的测试用例;结合CGCallGraph,调用图和CFGControlFlowGraph,控制流程图引导模糊测试的演进方向,对合约间的调用行为进行了重点测试。采用本发明的技术方法,在对7838个智能合约进行检测中,发现了27个跨合约重入漏洞,证明了本发明在检测跨合约漏洞方面的有效性和实用性,该方法保证了智能合约相互调用期间的安全性,并提升了测试效率。

主权项:1.一种针对智能合约跨合约漏洞的模糊测试方法,其特征在于,包括:步骤S1、对一组待测智能合约进行调用图和控制流程图扫描分析,根据调用图找到待测智能合约之间的调用链;步骤S2、对于任一条调用链,根据调用链头部函数选择器和调用参数生成测试用例;步骤S3、执行所有测试用例,记录每一测试用例的执行情况和执行路径;步骤S4、根据执行路径,结合控制流程图计算距离度量值,并根据距离度量值,对测试用例进行排序与变异,生成新的测试用例后转入步骤S3;步骤S5、对测试用例的执行情况进行分析,判断待测智能合约之间是否存在安全漏洞;其中,所述计算距离度量值是指计算测试用例到终点的距离度量值,终点为调用链的尾部,尾部函数执行结束处对应着控制流程图一个或多个结点,记为终止结点;测试用例到终点的距离度量值的计算公式为:minw*dfi+dni+v*ln1+dbii∈S其中,S为控制流程图的结点集合,w与v均为设定的系数;dfi为结点i在调用图上距离终点的距离,dbi是分支距离;dni为结点i在控制流程图上距终止结点的距离,若有多个终止结点,则取最小值作为dni;根据距离度量值,对测试用例进行排序与变异包括:根据距离度量值,依递增顺序,对测试用例进行排序,距离度量值越小,测试用例优先级越高,优先级越高的测试用例会被优先变异,并通过变异产生更多的测试用例;当前测试用例变异次数的计算公式为: 其中,n为设定的系数,k为设定的门限值;dmin为当前最小距离度量值,d为当前测试用例的距离度量值;当变异次数为负数时,相关的测试用例将被舍弃。

全文数据:

权利要求:

百度查询: 中国科学技术大学 一种针对智能合约跨合约漏洞的模糊测试方法

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