基于漏洞的恶意智能合约检测
1. 数据收集与处理
在研究恶意智能合约(Smart Contracts,简称 SCs)时,我们借助 Etherscan 区块链浏览器的 API 来获取与恶意活动相关的 SCs。截至 2020 年 8 月 28 日(区块编号 10747845),自以太坊诞生以来,共标记出 403 个恶意 SCs。不过要注意,Etherscan 上给 SCs 分配的标签(包括恶意标签)是众包的,任何人都可以建议标签,所以我们假定这些标签正确关联了不同的恶意活动。在数据收集时,这些恶意 SCs 仅与四种恶意活动相关:钓鱼、赌博、高风险和庞氏骗局。
针对这 403 个恶意 SCs,利用它们的内部交易和特定启发式方法,我们识别出约 200 万个 SCs,这些 SCs 要么是恶意 SCs 的后继者,要么是其前驱者。具体观察到以下情况:
- 403 个标记的 SCs 中,有 377 个由外部拥有账户(Externally Owned Accounts,简称 EOAs)创建,这些 SCs 没有 CREATE 类型的交易,因此不会创建后继 SCs。
- 剩下的 26 个标记的恶意 SCs 中,只有 8 个(其父账户也是 EOAs)总共创建了 52 个 SCs,但这 52 个 SCs 没有创建新的 SCs。
- 剩下的 18 个标记的恶意 SCs 有 12 个唯一的父 SCs,尽管这 18 个 SCs 没有创建后继 SCs,但它们的 12 个父 SCs 创建了许多 SCs。
在所有 SCs 中,我们发现只有 46 个唯一的哈希值,对应 46 个唯一的 SC 代码。这里的数字代表有源代码可用的 SCs,有 165 个恶意 SCs 没有源代码,由于源代码可能不同,且我
超级会员免费看
订阅专栏 解锁全文

656

被折叠的 条评论
为什么被折叠?



