买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:烟台大学
摘要:本申请涉及电数字数据处理技术领域,具体为基于源代码和字节码的智能合约漏洞检测方法和系统;为解决现有技术中智能合约误报率高,检测准确率低的技术问题,本申请首先基于待检智能合约的字节码,获取语义事实,并基于语义事实进行字节码层面的漏洞检测,得到准确的潜在漏洞函数;然后基于语义事实和源代码的映射关系,获取潜在漏洞函数在源代码中的具体行数,得到潜在漏洞代码行;最后,通过分析控制流图中潜在漏洞代码行中函数调用关系,执行源代码层面的漏洞检测,分析是否存在漏洞,从而降低误报率,得到更准确的漏洞检测结果,该检测方法运用在智能合约漏洞检测领域,能够大大提高智能合约漏洞检测准确率,有利于维护网络安全。
主权项:1.一种基于源代码和字节码的智能合约漏洞检测方法,其特征在于,包括如下操作:S1、将待检智能合约的字节码转化为汇编指令,基于所述汇编指令中的变量和赋值操作,得到中间表示;基于所述中间表示,构建关系依赖图,提取关系依赖图中的函数信息,得到包含有函数名、函数修饰性和函数可见性的基本事实;将所述基本事实转化为含有函数调用关系的语义事实,基于所述语义事实,执行字节码层面的漏洞检测,得到与漏洞有关的函数,作为潜在漏洞函数;基于所述语义事实,执行字节码层面的漏洞检测的操作具体为:基于Datalog规则,将所述语义事实转化为对应的Datalog事实;所述Datalog事实与预设漏洞检测规则进行匹配,得到所述潜在漏洞函数;S2、将待检智能合约的源代码转为抽象语法树,基于所述抽象语法树,得到控制流图;基于语义事实和源代码的映射关系,获取所述潜在漏洞函数在源代码中所处的代码行,得到潜在漏洞代码行;基于抽象语法树和控制流图的映射关系,获取潜在漏洞代码行中函数在控制流图中的调用关系,执行源代码层面的漏洞检测,得到漏洞检测结果;在所述执行字节码层面的漏洞检测的过程中,若存在与外部调用有关、外部调用依赖虚拟货币的函数,作为所述潜在漏洞函数;在所述执行源代码层面的漏洞检测的过程中,所述潜在漏洞函数,在执行外部调用之前布尔变量为锁定状态,在执行外部调用之后布尔变量不为锁定状态,则所述待检智能合约与重入锁有关,所述待检智能合约不存在重入漏洞。
全文数据:
权利要求:
百度查询: 烟台大学 基于源代码和字节码的智能合约漏洞检测方法和系统
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。