-
公开(公告)号:CN119180036A
公开(公告)日:2024-12-24
申请号:CN202411247118.4
申请日:2024-09-06
Applicant: 南京工业大学
Abstract: 本发明提出一种基于跨合约重入语义图的重入漏洞智能检测方法。该方法首先对智能合约进行程序分析,得到每个合约的语义图,分析调用合约与被调用合约之间调用关系,通过添加合约之间的函数调用控制流、函数参数传递的数据流、函数返回值数据流和基于fallback机制的控制流,得到跨合约语义图;然后,针对引发重入漏洞的fallback机制,针对重入漏洞的关键节点进行双向约简,通过去除与重入漏洞无关的节点得到跨合约重入语义图;最后,对跨合约重入语义图矢量化,输入到序列模型提取特征,实现重入漏洞智能检测。通过分析合约之间调用关系和基于fallback机制进行双向约简,并且使用序列模型能够提取语义特征,从而有效提高了重入漏洞的检测效率。
-
公开(公告)号:CN118152272A
公开(公告)日:2024-06-07
申请号:CN202410216212.7
申请日:2024-02-27
Applicant: 南京工业大学
IPC: G06F11/36
Abstract: 本发明提出一种基于跨合约数据流分析的智能合约测试用例生成方法,该方法首先对智能合约中的状态变量进行数据依赖分析,得到合约函数对状态变量的读写关系,应用其引导生成函数调用序列,将对状态变量具有写操作的函数优先调用;然后,为待测的目标合约和被调用合约构造跨合约控制流图,对目标合约中函数输入参数进行数据流分析,提取参数经过的合约函数以及约束条件中相同类型的硬编码值,形成输入参数的取值范围;最后,根据函数调用序列以及函数参数取值范围,生成初始测试用例集,结合使用符合读写逻辑的函数调用序列和定向生成的函数参数值,能够生成更多满足约束条件的测试用例,从而有效提高了测试的分支覆盖率。
-