本篇笔记来自8月11日晚巴比特8问大事件的直播。直播分上下半场,上半场由主持人贾小别采访被黑客攻击的Poly Network上的一位受损当事人。下半场是由来自安全公司BlockSec的联合创始人,浙江大学网络空间安全学院的教授、博导周亚金教授对Poly被盗事件做了相对完整,虽然技术但基本能看懂的复盘。行走会把这一事件后续进展中一些大咖的评论贴在笔记后面供大家参考。 以下,Enjoy: 主持人:根据目前的追踪来看,这一场攻击是不是预谋已久的?还是说攻击者可以突然之间很快的发起攻击? 周亚金:这次攻击非常的smart。有一些攻击细节因为需要有一些技术背景我没有太细讲。攻击者在构造攻击交易的时候,目的是要去替换公钥。而能替换公钥的函数实际上是比较固定的,就那么一个函数。 那攻击者构造这个交易,为什么最后能调到这个函数?是和以太坊智能合约选择哪个函数调用的选择机制是有关系的。这里面又涉及到哈希碰撞等等一些东西。 所以我觉得攻击者是掌握了非常深的攻击技巧,并且他对Poly链上的整个机制是非常非常了解的。否则他其实很难精心构造出来这么一个具有哈希碰撞的,恶意的从ONT上构造出交易出来。从这一点来看,我们也认为攻击者是蓄谋已久的,并且可能是在攻击之前已经做了精心的实验和准备。所以他最后的攻击是一气呵成,从替换公钥到最后完成提币,整个时间是非常短的。 主持人:之前网上有个信息,我没有确认过。说的是攻击者在攻击之后有三个小时没有动链上任何一个币的。 周亚金:攻击者在攻击之后,如果我记得没错的话,他并没有立即去转币。但是有一些币其实是进了Curve等等的一些国外的交易所。 主持人:攻击者后来在Curve上做了混币,这样做有什么目的?如果混币成功的话,这些币还能不能追踪到并还回来? 周亚金:其实攻击者一般在攻击成功以后,第一步要做的是在最快的时间内把赃款脱手,把赃款洗干净从而让执法机关很难去追踪。混币服务就经常被用于对赃款进行一定的匿名化处理。实际上混币服务不仅仅在以太坊上有,在Bitcoin里面也是长期以来困扰执法机关的问题。 我们看到在以太坊上,大部分的攻击者都倾向于在得手之后立即去进行混币操作。那为什么在这次的攻击当中,攻击者还是露出了马脚,最后答应偿还被盗的数字货币呢? 主要的原因不在于他在得手之后的转账。从目前公开的消息来看,他为了去做攻击,比如在以太坊去做攻击,他需要有一定的手续费。而支付手续费最初的数字货币的来源是从一个中心化的交易所转出来的(本体上的ONG在DEX上买不到)。那从中心化的交易所转出来的时候,就不免会留下一定的痕迹。 虽然我们事后了解到,攻击者在中心化的交易所里并没有留下实名认证的东西,没有做KYC。但是登录中心化交易所的一些IP地址、客户端、浏览器,总是会留下蛛丝马迹的。我们比较倾向于,攻击者是由于在攻击准备阶段留下了一些蛛丝马迹,所以后续被一些安全团队追踪到,后续才会去做出退还账款的操作。 主持人:目前攻击者是还到了200多万美金,还有6亿多美金没有归还回来。我们现在都不知道他究竟在做什么,他说还,但一直是拖拖拉拉的。对于攻击者目前的状态,你有没有一个评价,或者有没有怎样的看法? 周亚金:我个人的看法,攻击者应该会偿还比较多、大部分的资金。原因刚才讲了,攻击者在整个攻击的过程中,特别是在攻击准备阶段,还是留下了比较多的痕迹。在整个数字货币或公链的世界里面,匿名化是一把双刃剑。匿名化保护了大家的隐私,但它也会使得我们对于数字货币的追踪变得比较困难。特别是引入了混币服务以后。 但是在这次攻击当中,由于攻击者在攻击准备阶段,从中化交易所里转出了很多的资金。所以是暴露出了一定的信息。因为我们从外部不是很清楚项目方和其他的安全团队到底掌握了攻击者什么样的信息,但是我们比较倾向于如果继续追踪的话,攻击者更多的信息是可以被挖掘出来的。 另外一个原因,6亿美元这么大额的安全事件,无论在哪个国家,都是执法机关应该要去监管和查处的事情。从威慑的角度来讲,我个人觉得攻击者后续会偿还大部分的资金。只是从目前的表现来看还是比较慢的。 主持人:10号晚上事件发生时,Tether(USDT的发行方)是冻结了3000多万的usdt。但是其他被盗的币种,比如USDC、ETH、BTC都没有被冻结。有很多用户就呼吁BSC和Polygon,让他们去冻结。其中Polygon,就是Matic回应,自己没有冻结的权限。您认为这些链有没有权限来冻结代币? 周亚金:我觉得主要是看设计。对于以太坊这样的公链来说,我不觉得以太坊的官方可以去冻结某一个用户的资产。 本身区块链就是一个去中心化的平台,即使是以太坊的项目方,也不对以太坊具有绝对的控制力。我不觉得可以去冻结以太坊上的ETH。 但是像其他的一些ERC20的token,项目方如果在token的合约里有一些安全机制的考量,当然是可以去做一定的冻结。但是像以太坊、像BSC这样原生的数字货币,可能确实没有办法去做到这样的事情。 主持人:这一次黑客采用的攻击手法,在Defi跨链被攻击的事件中来看,是不是一个常用的手段? 周亚金:我觉得确实不是常规的一个手段。我们研究Defi也有一、两年了,从我们过去对Defi的整个安全事件捋下来,Defi里的安全事件很多是由于合约和合约之间的交互出现了问题。 比如一个借贷的APP,它的价格机制如果过于依赖于一个去中心化交易所的价格提供者,那就有可能会被“价格操纵”攻击; 如果一个智能合约的关键函数,没有在最开始做一些权限的控制,如果权限控制被攻击者利用了以后,可能会造成严重的后果。 但是这种跨链的平台,实际上和我们所看到的传统的Defi应用还不一样。因为跨链的平台它实际上是既有去中心化的合约,又有中心化的基础架构,并且又需要和多条链之间去做连接。所以它整个协议的复杂度是非常高的。 如果在协议的设计阶段没有对安全做比较好的评估和考量,或者没有把安全作为整个协议设计的第一要务,不免就有可能在安全方面存在着疏漏。 虽然我们现在没有找到,ont为什么会上链这条恶意交易的最终分析结果,但是从我们初步掌握的结果来看,主要还是因为ONT链本身支持跨链的属性和Poly这个跨链聚合器器之间的交互在一些沟通上出现了一些问题。 从公链平台到聚合器之间的沟通、交互,实际上是过去的Defi安全事件里我们很少看得到的。我们也是第一次看到。 我觉得,随着整个区块链的基础架构越来越复杂,上面支撑的应用类型越来越多,应用之间交互的越来越频繁,可能将来会有更多的或者更复杂的,不同于传统的安全威胁出现。 这也需要项目方在做项目的时候,一定要把安全在设计开始之初就考量在内,而不是在整个项目完成之后,找一个安全审计公司公去做一个简单的安全审计和评估就可以的。这也是一个教训吧。 主持人:之前大家会觉得Defi是去中心化的,是安全的,会有代码即法律这一类的言论。但攻击出现后,受害群体的用户都在要报警。这个时候大家都在怀念好像中心化才更好。 区块链、包括Defi,基本上大家都认为一定要去中心化、去中介化的,那它们在在去中心化、去中介化的过程中,究竟安不安全呢? 周亚金:我个人觉得安全和是否中心化或去中心化,没有本质和必然的联系。可以举一个简单的例子,比如Linux操作系统是开源的,大家都可以引用它的代码。window系统是闭源的。但Linux和windows到底谁更安全,这个是不太好去评估的。 是不是去中心化和是不是安全没有必然联系。去中心化,虽然代码是法律,但是如果代码出现了问题,就相当于出现了坏的法律。 所以要如何样Defi的代码变得更安全?我觉得是整个社区需要去探讨的问题。而不是纠结于中心化和去中心化,中心化就一定不安全,去中心化就一定安全。 大家为什么最近都特别拥抱去中心化,还是因为信任和单点故障的问题。去中心化最大的问题是不会存在单点的故障。如果是中心化的,比如交易所它的安全做得好,那它整体安全水位就会非常的高。由于它是中心化的,只要一个人做好了,整个交易所的安全系数就非常高。 但是如果在去中心化的生态中,玩家会更多,会涉及到大、中、小各种不同类型的玩家。由于技术实力和资金实力的差别,在安全上的质量可能是参差不齐的。所以总体来说,我个人认为去中化和中心化与安全没有本质的、必然的联系。还是取决于这个项目方对安全的投入和重视程度。 主持人:跨链协议在哪些方面特别容易出现安全问题?今年在Defi的安全事故中,我们看到将近有一半是在跨链上出了事情的。 周亚金:我们在课堂上给学生讲课经常会讲,人不可能写出来没有bug的代码。 你的代码里有bug的数量,和你的代码行数可能是有一定关系的。 这就意味着当项目的规模变得复杂了以后,如果把控不好,实际上会出bug,甚至会引起安全漏洞的可能性是非常大的。 跨链最近引起大家的重视,出了那么多安全问题,主要还是因为它比传统的Defi的应用和传统的DAPP变得更加的复杂。链和链之间的交互,链和合约之间的交互,合约和合约之间的交互以及链和跨链聚合器,底层架构之间的交互。整个的数据和资金的流向是非常复杂的。 我们觉得项目方一定要在设计整个跨链协议的时候,要想清楚。首先要把整个项目里可能被攻击点能识别出来。识别出来之后,你需要抵御这样的攻击点和攻击界面,需要做哪些安全防御的事情。一定是要从一开始就把安全引入到整个的系统架构设计里面去。然后识别出来风险点和攻击点,然后建立好威胁模型,才能保证比较复杂的,像跨链这种基础架构的安全性。 另外一点,希望和大家去探讨。我们看到了很多项目的风险和攻击,实际上是可以被监控,并且是可以使得损失变得比较小的。这是什么意思呢? 区块链从一条攻击交易发出到最终上链,是有10秒到12秒之间的延时的。如果项目方可以比较好的去监控、去看链上目前有哪些人正在做什么事情,这个交易到底会不会对我的合约和资产造成安全的损害?如果一旦有风险发生,项目方可以立刻强制合约将攻击交易关掉,就可以避免掉一部分的损失。 但我们比较遗憾的发现,好像项目方很少有这么做的,或者很少去和专业的安全公司一起来去做这样的事情。 更多的都是在项目上线之后,找了安全公司做审计,那我的项目就是安全的。但实际上它不是这样子的。安全是一个持续的、长期的和全面的投入。安全需要项目方在项目上线之前,上线之后都需要有持续的安全的监控和投入。 主持人:教授有没有给这次PolyNetwork上受损的用户一些建议?他们很焦急,很无助,但又没有办法,只能等待。 周亚金:从我们的角度来看,目前用户能做的事情确实比较少。第一是希望黑客能把钱还回来,还回到用户的手里面;第二是和项目方去商议后续怎么去处理。 说到建议,也许就是可以分担风险,不要把你的投资和数字货币放在同一个平台里面。一个篮子打翻了,还有其他篮子。但是我觉得真的好像普通用户能做的事情比较少。 主持人:这一次攻击,对行业里的用户伤害是非常深的。能够参与到03的挖矿,做LP的这些用户,都应该算区块链行业里高阶的玩家了。当时03确实非常火热,对于项目的安全,好像大家也没有太去关注。只是知道审计被通过了。 那对于一个项目的安全性,普通的用户该如何去判断呢? 周亚金:这确实也是目前整个行业的误区,包括用户的误区。就认为项目被审计之后就一定是安全的。这是一个非常大的误区。项目被审计过之后,只说明这个项目被相应的审计公司以安全的视角去审核过它的代码。并不代表没有安全威胁的存在。我觉得这是项目方和用户都需要了解到的。 从用户的角度,可以多维的去评估项目方的安全程度。比如项目方有没有定期的去披露项目监测到的风险的情况。这是能反映一个项目方对安全风险是不是有持续监控的重要指标。如果项目方会定期的披露,比如每天或者每周去披露项目大概遇到疑似的攻击有多少次,或者疑似的恶意交易有多少次。项目方是怎么去阻断它的,或者怎么去监控到的。那至少说明项目方在这方面投入非常大的时间和成本。这样的项目安全相对来说会比较高一点。 同时,用户也需要督促项目方。用户可以从用脚来投票的角度,更多的去支持一些对安全投入比较大的项目。整个Defi的TVL现在这么大,但是每个项目在安全上的投入到底是多少?是不是项目方也可以做相应的披露,以赢得用户对项目安全的信心。用户和项目方可以有更好的、良性的互动去提高整个项目的安全性。 主持人:关于这次黑客攻击事件,您还有没有其他需要补充的话题呢? 周亚金:这次算是整个行业规模最大的一次攻击。堪称是史诗级的一次攻击。 这一次攻击暴露了整个行业的一些问题。第一个问题,个人觉得项目方可以更透明一些,对自己的安全事件有个披露。从我们外部的角度来看,很多时候的分析都是在去做盲人摸象。我们只能根据我们所掌握的公开信息去推测事情的原因到底是什么。但项目方会比安全公司掌握更详细的信息。 项目方可以有更迅速和更透明的响应。使得在有安全事件发生的时候,可以第一时间积极的和多家安全公司来沟通,一起找出来背后的原因是什么。 对于整个Defi行业,比较幸运的是这一次的事件虽然整个损失的数额比较大,但我们预期攻击者可能会把钱还回来。对用户的伤害比预期的会来的小。 从另外的角度来看,虽然有安全事件的发生,但也是一次教训。也许有了这样的教训和这么大的安全事件发生以后,我们才可以让整个DEFI生态发展的更安全。 因为人总是会从跌倒中吸取教训的,可以下一次做的更好。 不幸中的万幸,有这么大的一次安全事件,但是最终的损失可能会被还回来。又对整个社区和整个行业有了一个比较好的安全教育。未尝不是一件好事。 主持人:谢谢教授的分享。最后我也要向攻击者喊一下话。区块链并不是法外之地,非法盗用、占用如此大额的资金,其实已经构成了刑事犯罪,无论处在哪个国家。我们呼吁攻击者立即归还所有的资金,争取法律的宽恕。 以上是笔记的全部内容。附上参与这次攻击追索的安全公司慢雾创始人余弦以及Poly链上巨鲸用户,矿圈大佬神鱼两人的复盘截图。 正如周亚金教授讲的,不幸中的万幸,这次攻击者退回了几乎全部的被攻击资产。行走记得,519事件发生后,孙宇晨复盘谈到最多的也是幸运,幸好及时补到了仓,没有彻底爆掉。但一个行业不能一而再,再而三的依靠幸运活着。资产安全,稳健投资这些基础性“常识”,也许需要行业从业者和参与者共同去补课。行走也希望这样的事件真的不要再反复发生了,因为幸运真的不会一直存在。 —- 编译者/作者:行走 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
行走笔记:Poly Network攻击事件技术复盘(下)
2021-08-16 行走 来源:区块链网络
LOADING...
相关阅读:
- Filecoin 与 NEAR 达成合作,促进Web3生态稳定发展2021-08-16
- 卡尔达诺价格火爆,但数据显示专业投资者尚未热身2021-08-11
- Poly Network 被黑客入侵超过 6 亿美元——黑客巨魔项目称“它可能是十亿2021-08-11
- 去中心化无线通信网络 Helium 完成 1.11 亿美元代币融资,a16z 领投2021-08-11
- NFT市场新星——Sec正式空投啦2021-08-11