据消息,以太坊 DApp 项目 Paid Network 遭受攻击。攻击者通过合约漏洞铸造近 1.6 亿美元的 PAID 代币,并获利 2000 ETH(约 300 万美元)。慢雾安全团队在第一时间跟进并分析,现在将细节分析给大家参考。
攻击细节分析
Yuga Labs元宇宙项目Otherside高铸币成本或因未优化智能合约代码导致:金色财经报道,据 cryptobriefing 披露,Yuga Labs元宇宙项目Otherside高铸币成本或因未优化智能合约代码导致。Hungry Wolves NFT 联合创始人、BYAC #3987 持有人 Adam Hollander 指出,Yuga Labs 将责任归咎于以太坊,但其实他们应该优化合约,为满足 KYC 要求的人提供铸币窗口,让他们有足够的时间和保证完成铸币。律动此前报道, Otherside在虚拟地块 Otherdeed 销售活动中的5.5万枚NFT铸造公消耗了60234 ETH(约合 1.65 亿美元),而另外1.5万笔失败交易也导致用户损失了价值超过440万美元的ETH。[2022/5/2 2:45:40]
以上是整个攻击过程的调用流程细节。
Punk.Network严正声明,目前并未铸币或是上线任何DEX与CEX:据官方消息,目前市场已出现假冒PunkNetwork治理通证Punk,Punk.Network严正声明,目前并未铸币或是上线任何DEX与CEX。Punk.Network基金会现已开始调查,对于发布不实信息、造成市场恐慌或形成实际影响的作恶者,将保留诉讼的权利。[2021/5/2 21:18:03]
可以看到整个攻击过程非常的简单,攻击者通过调用代理合约中函数签名为(0x40c10f19)的这个函数,然后就结束了整个攻击流程。由于这个函数签名未知,我们需要查阅这个函数签名对应的函数是什么。
Kava借贷平台USDX铸币额度将于今晚上调至1750万:据官方推特,跨链DeFi借贷平台Kava将于今晚10点左右上调其USDX铸币额度,预计将从原来的1500万提高到1750万USDX。目前平台已抵押超过3383万美元BNB抵押品,发放价值105万美元KAVA代币奖励。
Kava是一个支持多资产抵押的跨链DeFi协议,支持主流数字资产的抵押及稳定币贷款服务。[2020/8/18]
通过查阅这个函数签名,我们发现这个签名对应的正是 mint 函数。也就是说,攻击者直接调用了 mint 函数后就结束了攻击过程。那么到这里,我们似乎可以得出一个 mint 函数未鉴权导致任意铸币的漏洞了。通过 Etherscan 的代币转移过程分析,似乎也能佐证这个猜想。
但是,事实真是如此吗?
为了验证未鉴权任意铸币的这个想法,我们需要分析合约的具体逻辑。由于 Paid Network 使用的是合约可升级模型,所以我们要分析具体的逻辑合约(0xb8...9c7)。但是在 Etherscan 上查询的时候,我们竟然发现该逻辑合约没有开源。
这个时候,为了一探究竟,我们只能使用反编译对合约的逻辑进行解码了。通过 Etherscan 自带的反编译工具,可以直接对未开源合约进行反编译。在反编译后,我们却发现了一个惊人的事实:
通过反编译,我们不难发现,合约的 mint 函数是存在鉴权的,而这个地址,正是攻击者地址(0x187...65be)。那么为什么一个存在鉴权的函数会被盗呢?由于合约未开源,无法查看更具体的逻辑,只能基于现有的情况分析。我们分析可能是地址(0x187...65be)私钥被盗,或者是其他原因,导致攻击者直接调用 mint 函数进行任意铸币。
总结
本次攻击过程虽然简单,但是经过细节分析后却有了惊人的发现。同时这次的攻击也再次对权限过大问题敲响了警钟。如果这次的 mint 函数给到的鉴权是一个多签名地址或是使用其他方法分散权限,那么此次攻击就不会发生。
参考链接:
攻击交易:
https://etherscan.io/tx/0x4bb10927ea7afc2336033574b74ebd6f73ef35ac0db1bb96229627c9d77555a0.htm
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。