PAID Network攻击事件还原

CertiK
CertiK 机构得得号

Mar 09, 2021 CertiK 专注于区块链安全,被称为区块链安全世界的「普华永道」。

该文章已上链

摘要: 2021年3月5日,PAID Network遭受了由于私钥管理不善而引起的 "铸币 "攻击。本文将对该攻击事件进行客观细节剖析。

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将会在未来更多地强调并关注中心化及私钥保护等相关问题。

复制下方链接至浏览器,查看CertiK于2021年1月24日为PAID Network出具的审计报告:
https://certik.org/projects/paidnetwork

 

作者:CertiK-链得得专栏;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请发送至邮箱:linggeqi@chaindd.com

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 CertiK 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信