深圳市龙华区振华时代广场10整层
18165737729

荣誉、剥削和代码:我们是如何损失了6.1亿美元又把它找回来的

发生在8月10日的Poly Network攻击事件可能是史上涉及金额最大的一起网络安全事件,超过6.1亿美元的加密资产在15天内被盗并被归还。整个Blockchain行业及所有相关方,和Poly Network一起经历了这跌宕起伏的过程。目前所有涉及资产已经全部归还用户,系统功能已经基本恢复至事件前水平,这起事件终于可以落下帷幕。

在过去的两周我们也收到很多关于这个事件的询问,在此希望从我们的角度以一个公开透明的方式对此次事件进行一次回顾,以警示我们铭记本次事件,同时也让更多的人了解到整件事情的处理细节,在这次事件中我们也许做的并不完美,但是或许是一点宝贵的经验。

发生了什么

关于事故的具体描述,多家安全机构都进行了评述:

1. 慢雾:Poly Network攻击的分析和问答

The Analysis and Q&A Of Poly Network Being Hacked

Kelvinfichter关于攻击原因的分析

https://twitter.com/kelvinfichter/status/1425290462076747777

慢雾:Poly Network攻击的总体技术陈述

https://slowmist.medium.com/the-root-cause-of-poly-network-being-hacked-ec2ee1b0c68f

事发当晚也是我们承受最大压力的一晚,我们尽量做到目标明确,有条不紊解决核心问题:锁定资产,减少社区猜测,建立沟通渠道。

尝试与攻击地址取得联系;https://etherscan.io/tx/0xf6488e1efacd9c280eb91133d04ba357beca8016df8b0b0524b9a2e207b2ad7f, https://twitter.com/PolyNetwork2/status/1425123153009803267

发现漏洞,寻找漏洞修补方案,分析资产去向和攻击者行为;https://twitter.com/PolyNetwork2/status/1425130017546149891,https://twitter.com/SlowMist_Team/status/1425197809058254849

清点受影响资产,联系资产发行方冻结资产,减小不可控制的损失;https://twitter.com/PolyNetwork2/status/1425073987164381196

通知各交易所,关注资金出金意图;

呼吁矿池矿工拦截攻击者试图洗钱的交易;https://twitter.com/PolyNetwork2/status/1425090228830842893

向用户、社区和媒体及时传达进展;https://twitter.com/PolyNetwork2/status/1425130017546149891

最终进展如下:

通过ETH网络与0x8a地址建立加密沟通渠道;

Tether宣布冻结了相关的超3300万 USDT资产; https://twitter.com/paoloardoino/status/1425090760609832978

币安,Okex,火币等发布公告,会关注此事件资金流向; https://twitter.com/cz_binance/status/1425091869709570060, https://twitter.com/JayHao8/status/1425094897976193034, https://twitter.com/DujunX/status/1425100770588954626

与USDC,BSC, Polygon,Heco,wBTC,MetaMask等取得联系;

Poly Network推特持续发布事件进展,减少用户恐慌情绪,避免非属实的流言。https://twitter.com/PolyNetwork2/status/1425309429935710208

去中心化还有很长的路要走

通过与白帽先生的沟通,双方缓和了情绪,基本信任建立。8月11日,攻击者宣布「准备归还资产」。随后Poly Network的收款地址部署完成,8月11日 8:43:57 AM +UTC Poly团队开始回收第一批退还资产。截止到8月13日,系统收回足够的资产以恢复部分功能,在与白帽先生确认后,项目进入了恢复重建阶段,核心目标还是两点:促成资产收回,快速系统修复。

与白帽先生确认收款流程; https://etherscan.io/tx/0x910b00b2b60b76d7c29a1855f9a1ebf204356eed22498334ddd46e46d96e06c2

向用户承诺将收回全部资产作为首要目标; https://twitter.com/PolyNetwork2/status/1425785007486820368

修复系统漏洞,确保系统的安全性; https://github.com/polynetwork/eth-contracts/pull/12/files

确认系统重启计划和筹备路线图;https://medium.com/poly-network/poly-network-roadmap-for-the-next-phase-9f84c03c2e53?source=social.tw&_branch_match_id=549963884981436182

开放恢复资产的项目方申请通道;https://twitter.com/PolyNetwork2/status/1427233445185409026

与Tether协商冻结的USDT处理方式;

与社区保持沟通;https://twitter.com/PolyNetwork2/status/1425739339820982275

最终进展如下:

回收BSC, Polygon资产; https://twitter.com/PolyNetwork2/status/1425309429935710208 

建立共管账户; https://etherscan.io/tx/0xf391ec8d5935d4ec11efb2c8b99ba3586cb0b0f05c5e0b9c44c74a1c40386bd7

完成修复系统漏洞并公布新安全方案; https://twitter.com/PolyNetwork2/status/1426819500263890946

宣布系统重启路线图;https://twitter.om/PolyNetwork2/status/1426490057276280832

确认可恢复功能项目清单并支持功能恢复; https://twitter.com/PolyNetwork2/status/1427839007501680640

白帽先生自己也在区块链上阐述了自己此次攻击的原因,过程和给大家的诚恳建议,我们对全文进行了记录:

https://docs.google.com/spreadsheets/d/14hMTpPNylZG6DizU3K-fpDbfYZxenI_KtbHpWkdc7VM/edit#gid=0

期间,Poly Network团队也在经历着前所未有的评议与争论,我们看到最大的争议也同样是白帽先生提出自己最大的顾虑 – Poly Network的去中心化进程;

在此,我们也想为此疑虑做出解释,事实上项目已经在去中心化的路径上探索许久,我们相信去中心化永远是优秀的协议非常重要的一环,如果有兴趣,大家可以关注下:https://github.com/polynetwork/Zion , 在半年前,我们已经启动了Poly Network的新版本的开发,我们希望未来通过完整的经济模型和治理机制,来保证整个网络的去中心化管理。因为跨链协议不同于单链项目,由于要实现不同特性链之间的互操作性,除了实现安全性要比单链更加复杂外,如何更有效的治理也是一个重要的部分,实现多元化世界的一致性,需要各个相关方进行更加高效的共识。

安全就是一切

安全一定不是一蹴而就的事,对于网络安全,此次事件已经凝聚了全行业最直接深刻的体会。https://twitter.com/PolyNetwork2/status/1426197361177493511

8月15日,在确定并公布恢复计划后,团队开始持续推进和落实路线图中的工作,包括在immunefi的平台上发布了总额为50万美金的安全赏金计划,希望吸引全球安全机构和白帽组织为Poly Network的安全助力,当然这只是安全的第一步,系统恢复期内我们也:

邀请白帽先生作为Poly Network的首席安全顾问并提供160ETH安全赏金

https://twitter.com/PolyNetwork2/status/1427574236483231749

与PeckShield、BlockSecTeam、Beosin (Chengdu LianAn Tech)等安全机构确认修复和重启方案

1)PeckShield:https://peckshield.medium.com/polynetwork-bug-review-and-patch-analysis-88bde8441297

2)BlockSecTeam:https://blocksecteam.medium.com/the-informal-security-review-of-the-patch-of-the-poly-network-1a0a532b731e

3)Beosin (Chengdu LianAn Tech):https://beosin.medium.com/boesins-analysis-of-the-fix-code-on-poly-network-smart-contracts-a305639ea626

https://medium.com/poly-network/latest-updates-aug-20-a12447c6d899

https://medium.com/poly-network/latest-updates-aug-19-ed7ab8e5c2f0

https://medium.com/poly-network/latest-updates-aug-17-241398d64a40

同时我们也想引用白帽先生阐述的对区块链安全的一些建议,我们觉得在一定程度上是中肯客观的。

https://etherscan.io/tx/0x078063e9574e1937a64b6552919b9fc0035429df1e601d79e200bf211e75f337

https://etherscan.io/tx/0x42446ccc66bb48eac7bd905ae7d79708f303849802b280eb4d65770c1bfc0997

我们相信协议的安全始终是重要的一环,但是我们也相信在crypto的世界里,代码之上仍有更广袤和丰富的存在,或许大家有着不同的价值观和知识储备,但是依旧可以公平的参与到这个世界建设和治理里,我们在未来想建立的不仅仅是一个安全的协议,更是一个对所有人公平透明的协议。

所有的代币都还给你了

所有的故事都会有一个尾声,很欣慰,这次的故事是一个Happy Ending。

8月19日,白帽先生归还了Ethereum上的96,942,063 个DAI。

8月22日,除wBTC和ETH资产已尽数归还。Poly Network开始进行稳定币的资产清点和复原,以协助O3 Hub的功能恢复。

8月23日完成了白帽先生返回的96,942,063个DAI与USDC之间的转换,同时将BSC上的87,557,051个BUSD转换为USDC(BEP-20)。对于在交易中产生的滑点损耗和手续费,Poly Network团队用自有资金进行补偿。

https://etherscan.io/tx/0x814e6a21c8eb34b62a05c1d0b14ee932873c62ef3c8575dc49bcf12004714eda

https://medium.com/poly-network/latest-updates-aug-23-7f6cca47b574

8月23日白帽先生公布了多签钱包的私钥。

https://twitter.com/PolyNetwork2/status/1429738587046563841

8月25日,此次攻击事件受影响的WBTC 和 ETH资产全部恢复。 https://twitter.com/PolyNetwork2/status/1430485302527741954

同日,Tether将此前冻结的33,431,200 USDT资产全数释放至Poly Network接收资产的多签钱包内。https://twitter.com/Tether_to/status/1430510652582416387

8月26日,Poly Network完成USDT资产的复原工作。至此,所有受此次攻击事件影响的资产恢复完毕。https://medium.com/poly-network/poly-network-asset-recovery-complete-a7ba33c2f2e4

谢谢大家支持我们

这个故事到了一个尾声,但是对于我们来说却是下一个征程的开始,在新的征程开始之前,我们想对所有使用Poly Network的项目和用户,表示诚挚的感谢和深切的歉意。很抱歉由于系统漏洞给所有用户带来的困扰。感谢你们对项目的信任,虽然我们有可能会失去了一部分曾经相信我们的人,但我们会用之后的行动重新建立大家对项目的信心。同时,我们也将会用我们的方式去感谢所有使用过,支持过,一起经历过这次事件的每个人,后续具体的细则我们将在系统完全恢复后在官方渠道公布,请大家保持关注。

最后我们想说,项目安全始终是Poly Network以及整个行业永恒的主题,希望Poly Network事件不仅能帮助我们建设一个更健壮的项目,还能给整个行业带来足够深刻和持久的警示。对于我们来说,这段经历将成为我们永不会忘却的记忆,它不仅仅代表了一个协议的安全,更有关对信任、权力、欲望、责任、信仰新的理解。