对于DApp开发者来说,资金安全都是必须要着重考虑的维度。

作者:@Web3Mario

摘要:上周真是大事不少,美联储相对激进降息50个BP,连带着日本央行按兵不动,这基本也就预示了至少在未来几周内不会有过度利空的信息出现,相关分析的文章已经有不少了,在这里就不再赘述了,在这个过程中大家只要关注两个逻辑,就可以相对容易的把握风险,其一是就业市场是否如期恢复,其二是通胀重燃风险。除此之外,倒是有一条快讯吸引笔者的注意,就是Solana上的一个算稳项目Nirvana Finance宣布重启V2,这个项目在2022年7月被黑客攻击350余万美金后宣布中止,我记得之前有了解过攻击该项目的黑客被定罪,而最近能够重启也就意味着相关司法机构应该已经完成了对被盗资金的移转,这就意味着整个事件应该可以被定义为美国首个因智能合约攻击而被定罪的案件,这对于海洋法系来说具有标志性意义,至此之后类似案件的处理流程应该会得到显著提升。因此周末花了一些事件来详细整理了这个案件的始末,与诸君分享。

Nirvana Finance被闪电贷攻击的背景

不知道有多少小伙伴了解这个项目,在这里先简单描述一下整个事件的背景信息。首先Nirvana Finance是Solana上的一个算法稳定币项目,在这里就不展开讲了。这个项目在2022年年初启动,并且在2022年7月28日被黑客攻击,并盗走了协议中稳定币NIRV的所有抵押品,大概350万美金。具体攻击的细节也很有趣,由于该项目的合约并没有开源,而黑客仍然可以借助Solend的闪电贷功能获利,当时也一度当其团队面对了不少关于监守自盗的指控。

除此之外,该项目在被盗之前,宣称其经过据其完成了“自动化审计”,但是事实上这并没有其效果。联创Alex Hoffman在之后接收Cointelegraoh的采访中描述,就在攻击发生的当周,团队本来已经开始了审计工作。据他介绍,事实上他在开发之初并没有料想到Nirvana Finance可以获得如此大的关注,直到引起了几家中国新闻媒体的关注,导致TVL大幅飙升。这当然也能理解,彼时正式luna如日中天的时期,算法稳定币赛道自然收到了广泛关注。在获得了启动的成功后,当时Solana的首席执行官Anatoly Yakovenko也亲自敦促他进行智能合约审计,并且尝试将它在审计公司的排期中向前推进。

而在抵押品被盗后,该项目就陷入了停滞,但是其Discord社区倒一直有官方人员维护。而在这个过程中,社区一直保持了对被盗资金的监控,但是由于黑客最终选择了tornado与门罗币等手段进行了隔离,追讨事实上并没有什么收获。事情在2023年12月14日迎来了转机,一名叫做Shakeeb Ahmed的曾在亚马逊工作过的高级软件安全工程师,在纽约南区法院承认了一项与 Nirvana Finance 和一家未具名的去中心化加密货币交易所遭到黑客攻击有关的计算机欺诈指控。美国检察官办公室也表示,这是有史以来第一起因黑客攻击智能合约而被定罪的案件。

当然该创始人在项目被攻击后并没有停下脚步,转而开发了其他的项目,superposition finance和concordia systems。这也是保持一定匿名性的好处,至少Fud不会被转移。而后该案件在2024年4月15日迎来了宣判,Shakeeb Ahmed因入侵和诈骗两家加密货币交易所而被判处三年监禁。而后在6月6日,被盗资金被转移回团队制定账户,至此意味着该项目被盗资金被正式追回。

事实上整个案件的源头应该是Crema Finance,而Nirvana Finance是在黑客被捕捉后被主动交代出来从而锁定的

事实上,这位时年34岁的软件安全工程时,在攻击时是一家国际科技公司的高级安全工程师,专门从事智能合约和区块链审计。并且精通软件反向工程,这就解释了Nirvana为什么在未开源时就会被攻击,所谓反向工程,就是利用一些反编译软件,将一些被编译过的用于执行码反向生成回编译前的高级语言,从而时人类可读。虽然对应合约并没有开源,但事实上智能合约的所有编译码都储存在链上,精通此技术的开发人员倒也是可以轻松获得。

而据后来美国司法部公开的文件中显示,整个案件的源头是一个2022年7月被攻击并损失了月900万美金的去中心化交易所,通过比对判断应该是Crema Finance,2022年7月4日,Shakeeb Ahmed也是通过闪电贷攻击了该平台,并且提出了250万美金的“白帽赏金”以赎回其他用户资产并放弃对黑客的追诉,并且最终Crema Finance 宣布同意接受约 168 万美元的“白帽赏金”。

而在文件中描述,Nirvana Finance是在黑客被捕捉后被主动交代出来从而锁定的,关于Shakeeb Ahmed的定罪证据中,除了对其个人电脑中网页的浏览记录进行回赎,找到了一些相关内容之外,也描述了他在发起这些攻击后,用了很多手段,包括一些混币协议、Tornado和门罗币等进行混淆。那么这就产生一个有趣的问题,Shakeeb Ahmed究竟做了什么事情,导致他最终被捕呢?

答案可能有两种。首先根据攻击发生时SolanaFM 的分析发现,攻击者要么与火币交易所地址进行交互,要么与与火币相关联的嵌套交易所地址进行交互。因为攻击地址的初始资金来源于此。其次是对于Tornado Cash的使用失误,由于Tornado Cash对于资金的混淆能力与其存入资金并持续的时间有关,只有存入足够长的时间,并且在此期间有较多的赎回交易发生,被混淆的程度才会提升。而在攻击发生后的不久,Ahmed将资金存入Tornado后很短时间内,就有赎回交易发生,而且被赎回的资金最终进入了中心化交易所Gemini。而这似乎预示着司法机关是通过与上述两个中心化交易所进行合作,从而定位Shakeeb Ahmed并最终将其在纽约抓获。

不管怎么说,被盗资金追回是一件好事情,而这也反映两个问题,首先对于DApp开发者来说,资金安全都是必须要着重考虑的维度。其次此类案件至此有了处理参照的蓝本,对于相关行为应该也会有一定的震慑性作用。