您的位置: 首页 > 行业资讯 > 详情

CertiK:PAID Network攻击事件还原

2021-03-09 16:29

 2021年3月5日,PAID Network遭受了由于私钥管理不善而引起的 "铸币 "攻击。

  攻击者使用代理合约私钥,将原先经过CertiK审计的PAID合约代码掉包,添加了销毁(burn)和铸币(mint)的功能函数。

  因为PAID代币已达上限,攻击者先销毁(burn)了6000万枚PAID代币,然后再重新铸造了59,471,745枚PAID,并通过Uniswap出售。

  CertiK团队第一时间和PAID Network团队沟通调查,确认了原代码并无漏洞,攻击事件是由私钥泄露导致的。目前CertiK团队仍无法确认私钥泄露的原因,但已经可以将整个攻击过程还原。

  PAID事件时间线

  2021年3月5日,PAID遭受了持续约30分钟的攻击。

  通过链上分析,CertiK团队总结了攻击的时间线及操作步骤如下:

  第一步:合约所有权被转移给了攻击者,此时攻击者在得到私钥后就已经完全获得了代理合约的控制权。

  

  第二步:攻击者利用代理更新合约,添加了销毁(burn)和铸币(mint)的功能函数。

  

  第三步:攻击者销毁(burn)了6000万枚PAID,留出铸币空间。

  第四步:攻击者开始铸币,并向Uniswap倾销PAID代币以换取以太币。

  最后,本次事件并没有攻击智能合约的代码本身,而是通过某种渠道获得了代理合约的私钥。

  CertiK在审计报告中的PTN-10章节提出了: Ambiguous Functionality (模糊功能)以及其他章节强调了PAID合约中心化的问题。

  总结

  2021年3月5日,攻击者获得PAID代理合约私钥,替换原有代码,添加了销毁(burn)和铸币(mint)的功能函数。

  攻击者之后销毁了6000万枚PAID代币,留出铸币空间。

  最后,铸造了59,471,745枚PAID,并通过Uniswap出售了2,401,203枚代币。

  客观来看,本次攻击事件中攻击者并没有找到任何原合约的漏洞,而是直接获得了代理合约私钥。

  当合约的可升级性作为项目的预期功能而存在时,它在智能合约中确实有其存在的价值。

  而这种类型的功能要求合约所有者以及部署者在确保代码基本安全的同时,同样必须保证私钥的安全。

  CertiK将会在未来更多地强调并关注中心化及私钥保护等相关问题。

  

  https://certik.org/projects/paidnetwork

新支付密码
确认新密码
邮箱验证码

请升级浏览器版本

你正在使用旧版本浏览器。请升级浏览器以获得更好的体验。

法律声明和政策限制通知

尊敬的用户,因政策受限,中国大陆IP地址将禁止访问本网站,禁止注册和使用。如果您是中国大陆用户,请安全清退退出使用,如继续使用导致的风险和责任将完全由您独立承担,同时平台有权拒绝提供服务,谢谢您的理解,请接受并同意!