8月10日晚间,跨链互操作协议Poly Network遭到黑客攻击,被盗走6.1亿美元资金,影响之于整个DeFi行业,受害者波及数以万计的投资者。

6.1亿美元的巨额损失成为DeFi领域损失最为惨重的一次,也是整个区块链行业之最,足以被载入区块链安全事件史册中,甚至可能成为影响DeFi转折的重要事件。

所以自官方公布被盗之后,无论是项目方还是安全机构、币圈各方力量以及每个币圈人都在时刻关注Poly Network事件的最新进展,并尽全力协助冻结追回资金。

事件回顾

昨日晚间8时左右,跨链聚合协议O3 Swap疑似遭受攻击,LP池被洗劫一空,官方建议用户暂停交易,在问题解决之后再进行交易。

半小时之后,跨链互操作协议Poly Network官方确认遭到攻击,共计超6.1亿美元被转出至3个地址,其中转至0xC8a65开头的以太坊地址的资金超2.7亿美元,转至0x0D6e2开头币安智能链地址的资金超2.5亿美元,转至0x5dc36开头的Polygon地址的资金超8500万美元。

O3 Swap是基于Poly Network所构建的,因此受到影响。O3跨链池出现资产大额转移,币安智能链和Polygon上共3.35亿美元资产被转移至两个地址。具体来看,大约两小时内币安智能链6613枚BNB、87,603,671枚USDC、26,629枚ETH、1023枚BTCB、32,107,854枚BUSD、888,888,888枚BabyLoserCoin被转至0x0D6e开头的地址,除BabyLoserCoin外总价值超2.5亿美元。Polygon上85,089,719枚USDC被转移至0x5dc36开头的地址。

Poly Network官方确认被盗之后,Tether最先反应,首席技术官Paolo Ardoino表示,Tether已经冻结攻击Poly Network的黑客地址3300万USDT。

除了Tether之外,其他稳定币官方均为进行冻结,也未进行表态,这也导致后续黑客成功转移部分代币。赵长鹏虽然发声表示将会提供支持,与所有安全合作伙伴进行协调,但是并没有对BUSD进行冻结。到底应不应该冻结资产,这是否足够去中心化,在事件之后也引起了不小讨论。

晚上10时左右,黑客的以太坊地址在Curve上添加了超9706万美元流动性,包括673,227枚DAI和96,389,444枚USDC;最后黑客又把BSC地址约1.2亿美元的稳定币转入Curve分叉项目Ellipsis Finance,包括32,107,854枚BUSD和87,603,672枚USDC。

12时左右,Poly Network在推特发布了至攻击者的一封信,希望建立沟通,并敦促攻击者归还被黑资产。晓之以情动之以理,6.1亿美元的被黑金额是DeFi历史上最大的一笔,任何国家的执法部门都会将此视为重大经济犯罪,攻击者将受到追捕,再进行任何交易是非常不明智的。

随后攻击者便回应道,对金钱不太感兴趣,现在考虑归还一些代币,或者将它们留在此处,也可能建立一个新币并让DAO决定代币去向。

中午12时,黑客竟然表示将要归还所有资产,其通过链上交易备注表示准备归还盗取的资产,但因为无法联系Poly Network项目方,希望Poly Network提供一个多签钱包。黑客还称“获取这么多财富已经是一个传奇,而拯救世界更是永恒的传奇,我做出了决定,不再使用DAO。”

Poly Network官方也立即回应,在以太坊区块高度13001657向黑客的转账中表示,正在准备一个由Poly Network控制的公开多签钱包。

至此,16小时惊心动魄的被盗之旅,以美好结局收尾了。

攻击分析

昨日攻击事件发生三小时内,慢雾安全团队就表示,通过链上及链下追踪已关联发现攻击者的邮箱、IP及设备指纹等信息,正在追踪Poly Network攻击者相关的可能身份线索。通过多家交易所支持发现,黑客初始的资金来源是门罗币(XMR),在交易所里换成了BNB/ETH/MATIC等币种并分别提币到3个地址,不久后在3条链上发动攻击。

慢雾强调,结合资金流向及多项指纹信息可以发现,这很可能是一次蓄谋已久的、有组织有准备的攻击行为。

针对Poly Network被攻击事件,BlockSec安全团队初步分析认为,导致攻击发生的原因可能为用于跨链签名的私钥被泄漏或者签名程序有逻辑漏洞导致签署出攻击交易。

今日上午,慢雾发布Poly Network详细被黑分析,攻击是由于跨链合约keeper被修改为黑客制定地址,从而使黑客可以随意构造交易从合约中取出任意数量的资金。

本次攻击的核心在于EthCrossChainManager合约的verifyHeaderAndExecuteTx函数可以通过 _executeCrossChainTx函数执行具体的跨链交易。

由于EthCrossChainData合约的owner为EthCrossChainManager合约,因此EthCrossChainManager合约可以通过调用EthCrossChainData合约的putCurEpochConPubKeyBytes函数修改合约的keeper。

其中EthCrossChainManager合约的verifyHeaderAndExecuteTx函数是可以通过内部调用 _executeCrossChainTx函数执行用户指定的跨链交易,所以攻击者只需要通过verifyHeaderAndExecuteTx函数传入精心构造的数据来使_executeCrossChainTx函数执行调用EthCrossChainData合约的putCurEpochConPubKeyBytes函数以改变keeper角色为攻击者指定的地址。

替换完成keeper角色地址后,攻击者即可随意构造交易从合约中取出任意数量的资金了。

6.1亿美元:被记入DeFi安全史

DeFi安全事件从去年开始已经频频爆出,但在今年7月之前,跨链领域的被盗事件并不多见,而现在黑客已经盯上跨链赛道。ChainSwap两次遭到攻击,7月11日的第二次影响颇为深远,当时在ChainSwap部署智能合约的超20个项目代币都遭遇黑客盗取,虽然金额并不断多,但影响范围却是DeFi发展史最大的一次安全事故。在ChainSwap的风波还未平复,次日跨链数字资产交易协议Anyswap也遭到攻击,并且攻击手法更为高级。

而此次,Poly Network被盗事件则是DeFi发展史上被盗金额最大的一次安全事故,甚至也是整个区块链行业之最。即使是在今年的黑色五月,BSC生态链上一个月发生超30起安全事件,总计损失金额也才3亿美元,而此次Poly Network单次事件损失已经是BSC生态最严重损失月的两倍损失。

所幸此次事件有个好的结尾,兜兜转转被盗16小时之后,黑客表示准备将6.1亿美元资产归还回去,给所有投资者吃了一颗定心丸。如果不是归还,其他任何行动都只会增加Poly Network投资者的损失,因为他们才是这场盗窃案最终的被害者。但是归还是最好的结局吗?黑客能够如此轻松的转走资产已经给Poly Network以及其他DeFi项目埋下了雷。

另外,最近关于DeFi监管的声音此起彼伏,美国监管层面对于相关事件的重视程度已经远超此前。再加上经过已经一年的发展,各类产品已经相对成熟,各传统机构纷纷打算入局DeFi领域,而黑客“轻轻松松”盗走6.1亿美元,“轻轻松松”又归还,无论是投资者属于哪个领域对此都要望而却步、思量再三了。

资金即将归还,看似美好的结果,但是仍有不少传言是官方监守自盗,却也无从证实,那么历如此风波的Poly Network发展还能一如从前吗?而频频被黑客盯上的跨链项目还能向上向好吗?DeFi行业的未来是否也会因此转折呢?