DeFi项目Walletreum内部操作攻击事件分析
马克思曾在资本论中引用一句名言:“如果有10%的利润,它就保证到处被使用;
有20%的利润,它就活跃起来;
有50%的利润,它就铤而走险;
为了100%的利润,它就敢践踏一切人间法律;
有300%的利润,它就敢犯任何罪行,甚至绞首的危险。”
对于区块链来说,去中心化是一切的本质,更是区块链世界和生态的标杆。
无论是什么形式的去中心化,它的本质实际上指的都是权力从顶层中心化机构到基层个体的下沉。
这个下沉趋势随着世界的发展不断的惠及每一个个体。区块链所言的“去中心化”同样是随着经济和科技发展,迎合社会发展本质上的一类。铸币权便是其中之一。
这里的铸币权指的是将其下放至专业及安全的团队或个体手中,通过健康的社区治理,达到实现区块链领域愿景的目的。
然而如同早年间的铸币行为在传统金融中屡禁不绝,区块链领域内的恶意铸币行为也是无休无止。
一个项目其违背去中心化的本质,通过拥有者的极大权限进行恶意铸币,不仅仅损害了项目的良势发展,更是损害了每一位投资者与项目支持者的切身利益。
北京时间11月16日,CertiK安全研究团队发现defi项目Walletreum被项目团队通过内部操作,。截止11月16日早5时,恶意铸造的代币量已约合近190万人民币。
CertiK安全研究团队通过分析其智能合约代码,发现其智能合约代码中心化风险极高,存在安全隐患,项目拥有者拥有权限向任意地址铸造任意数目的代币。
完整技术分析如下:
攻击详情分析
项目拥有者地址:0xa5e552e3d643cc89f3b1ceccfd6f42c5c1aee775
图一:内部操作攻击交易信息
图一是Walletreum项目中WALTToken智能合约被内部操作,铸造额外5亿个WALT代币的交易信息。
该交易哈希值为0xc0f3b0576f18a714d78b822754489d4201c9e36fb0ce4b2f53a93217564710e5。
CertiK天网系统 (Skynet) 检测到区块1126401出现异常交易信息后,立刻向CertiK安全研究团队发出警示。
CertiK安全研究团队在对该项目智能合约进行快速分析后,认为该项目为当前一典型的由于而导致的攻击。
图二:WALTToken智能合约mint()函数
图二为遭受内部操作攻击智能合约中被恶意调用的函数mint()。
从666行的代码实现中可以看出,任何拥有minter权限、可以通过onlyMinter修饰符限制的外部调用者均可以调用该函数。
该函数的作用是通过667行代码向任意账户(account)铸造任意数目的代币(amount)。
通过图三中619行onlyMinter修饰符的逻辑实现,以及615行构造函数中给与智能合约部署者minter权限的逻辑实现,智能合约部署者拥有了可以执行图二中mint函数的权限。
图三:onlyMinter修饰符以及给与项目管理者minter权限的构造函数
图四:项目拥有者拥有minter权限
查询项目拥有者是否拥有minter权限的结果如图四所示。
至此,项目拥有者拥有执行mint函数的权利,最终恶意铸造了5亿个WALT代币,致使项目投资者遭受损失。
Scan QR code with WeChat