1. 首页
  2. 技术

一文还原 PAID Network 攻击事件

一文还原 PAID Network 攻击事件

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

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

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

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

PAID事件时间线

一文还原 PAID Network 攻击事件

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

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

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

一文还原 PAID Network 攻击事件

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

一文还原 PAID Network 攻击事件

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

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

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

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

总结

一文还原 PAID Network 攻击事件

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

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

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

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

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

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

该内容来自于互联网公开内容,非区块链原创内容,如若转载,请注明出处:https://htzkw.com/archives/33045

联系我们

aliyinhang@gmail.com