就在本月初,一个名为Nomad的跨链桥协议,遭受到了Web3.0有史以来最混乱的一次黑客攻击,攻击发生期间WETH和WBTC以每次百万美元的速度被持续转出,参与此次攻击的黑客地址超500条,短时间内,Nomad跨链桥中锁定的近2亿美元资产被洗劫一空。
从Multichain到AxieInfinity侧链Ronin,再到如今的Nomad跨链桥,公开数据统计显示,自今年年初以来,黑客们通过跨链桥已经窃取了超过14亿美元。频发的区块链安全事件中,跨链桥俨然成为了网络犯罪分子们的“新宠”。
跨链和跨链桥
跨链技术伴随着区块链的发展一直存在。
由于以太坊是第一个支持完全可编程的智能合约网络,所以大部分智能合约应用都部署在以太坊主网上。但随着用户对智能合约需求的不断增加,以太坊上的计算资源出现了供不应求的现象,这也导致了交易费的不断攀升。于是人们便寻求其他低成本的解决方案,将智能合约开始部署在其他Layer1区块链、侧链以及Layer2rollup上,以此来满足用户和开发者的需求。然而,这些链上的资产之间无法直接流动,大大阻碍了整个区块链行业的发展,因此,可以使链间实现价值转移的跨链技术应运而生。
我们都知道,如今的区块链就像早期的互联网,各种公链各自发展,自成一套规则、协议和共识机制,相当于一个个独立的生态,它们之间并不相通,也就是人们常说的“价值的孤岛”。跨链就是连接这些“岛屿”——将孤立在两条或多条平行公链上的资产,进行直接流通的一种技术;跨链桥,则是公链间资产跨链的一种工具。跨链并没有改变每个区块链上的价值总额,只是不同链上的地址之间进行了价值的兑换。
黑客频频“光顾”跨链桥
DeFi加密资产规模的增长,促成了一个又一个“桥”的建成,跨链桥上的总锁仓量也日益增大。因为跨链协议负责锁定资产,以支撑另一条链上的平行资产,所以该储存点很容易成为目标,引来黑客们的频繁“光顾”。
同时,跨链作为一项发展中的技术,其本身还存在很大的安全问题。由于跨链项目不仅仅是链上智能合约,还有链下的代码,无论哪一部分出现了问题,都会被黑客所利用。
知帆安全团队盘点了过去跨链桥中比较重大的10次攻击情况,其中RoninNetwork被盗一事,更是被称为DeFi史上最大的黑客攻击事件,被盗金额高达6.2亿美元。
DeFi安全事故频发,跨链桥资金量大,并且频繁遭受攻击。此次Nomad跨链桥被洗劫一事,更是被网友戏称,“甚至连「黑客技术」都没有用到”。
Nomad被攻击始末
北京时间8月2日,跨链互操作性协议Nomad桥遭黑客攻击,Nomad上近2亿美元的TVL在短时间内被攻击者“掏空”。起因是一名黑客发现了Nomad跨链桥合约副本存在一个巨大漏洞,其盗币完成后将此漏洞在社交平台公布,引发众人竞相效仿,哄抢平台中的资产。
此次攻击事件堪称一场Web3.0版“薅羊毛”——黑客薅完平台羊毛,还把方法发在了“羊毛群”,引发众羊毛党一拥而上,直接把平台“薅”垮。
1、漏洞分析
1-1合约地址
此次事件的漏洞合约地址为:
0x5d94309e5a0090b165fa4181519701637b6daeba
0xB92336759618F55bd0F8313bd843604592E27bd8
Nomad桥资产合约地址为:
0x88A69B4E698A4B090DF6CF5Bd7B2D47325Ad30A3
1-2攻击过程
此次攻击分为四步进行:
Step1
攻击者调用了Replica合约中的process函数。
Step2
process函数调用了acceptableRoot,这个函数是保证提交过的message被验证过。但由于acceptableRoot(0x00)在初始化的时候被设置成了True,并且在solidity中如果map映射中没有对应的键的时候,它会自动返回0,所以message就被设置为了0,这样攻击者就绕过了require的检查。
Step3
进入到了acceptableRoot(_root)函数,_root为0时,confirmAt=1,保证了confirmAt满足不为零且小于等于block.timestamp的值。
Step4
然后回到process函数中,在了解了上述漏洞产生的原因后,只需要每次输入没有被使用过的_messageHash,就能在messagesmapping中获取到0值,从而绕过!proven的检测,最终从跨链桥上盗取资产。
由于Replica合约初始化时,默认零值为True,导致之后合约中的confirmAt均为true。在process方法中可直接通过判断条件,导致每条消息在默认情况下都被证明有效,项目方的资金池就成了一个大众都可以提钱的公共的资金池。
总而言之,就像引发这个恶性事件的匿名discord消息所说的一样,任何人只需要复制第一个黑客的交易并更改地址,然后点击通过Etherscan发送,“就可以在Nomad桥上搞到三千到两万美元”。
2、链上分析
由于方法极其简单,而且Nomad项目方没有紧急停止机制,此次攻击事件有大量普通用户参与其中。8月3日官方发布返还被盗资金说明,请求白帽黑客将资金返还到官方资金回收钱包,并在5日补充称,“将为归还至少90%所盗资金的攻击者提供最高10%的奖励”。
知帆安全团队对此次Nomad跨链桥攻击事件的相关地址进行了分析,从链上获取了自UTC时间2022年8月1日21:32至2022年8月2日0:05时间内的1206条交易,共涉及ETH地址和合约585个,币种14个。
这些攻击地址分为两种,一是帮助项目减少损失的白帽地址,二是从事恶意攻击的黑客地址。我们来重点分析一下恶意攻击的黑客地址。
经过分析判断,获利额度在百万美元以上的黑客地址实体有10个,获利情况如下图:
接下来,我们分别看一下每个攻击者实体具体的资金流向。
攻击者1
攻击者1在此次攻击中获利约6000万美元,涉及普通地址2个与合约地址11个。攻击者1获取Nomad项目资金的方式主要有三种。
第一种:地址直接调用项目方的漏洞合约,给自己的地址转币。
第二种:地址通过自建合约调用项目方的漏洞合约,将项目方资金转到自建合约后再转到自己地址。
第三种:地址通过自建合约调用项目方的漏洞合约,将项目方资金转到自建合约后再进行换币操作兑换为ETH,随后将ETH提到自己的地址或者与自己相关的地址。
目前攻击者0在Nomad项目中获取的资金,全部保存在2条普通地址中,未发生转移。
地址1:0x56d8b635a7c88fd1104d23d632af40c1c3aac4e3
地址2:0xb5c55f76f90cc528b2609109ca14d8d84593590e
两条地址的余额情况
地址1:12,869.99ETH、10203.49WETH、7123204.2DAI、37514864.7CQT、12502.96FXS;
地址2:810.95ETH、3450068.37DAI、103WBTC、300WETH、2706359.86CQT、14004.36FXS。
攻击者2
攻击者2地址:0xbf293d5138a2a1ba407b43672643434c43827179。
攻击者2在此次事件获利约4000万美元,涉及普通地址1个及合约地址200个。攻击者2直接调用项目方漏洞合约进行了一次攻击获取3WBTC,之后全部都是调用合约对Nomad资金池进行攻击,合约获得资金后将资金直接转移到了地址7179中,之后资金都未发生移动。
目前地址7179中余额
17.74ETH、39753037.51DAI。
攻击者3
攻击者3在此次事件中获利1000多万美元,是一个合约地址。
通过分析发现,此合约被调用65次攻击Nomad资金池,每次攻击后都将获得的资金转入至地址0x56178a0d5f301baf6cf3e1cd53d9863437345bf9,目前资金仍存在于这个地址中。
攻击者4
攻击者4在此次事件中获利约800万美元,涉及普通地址11个。
攻击者4在Nomad项目中获取资金后,将所获得的币种全部兑换为了ETH,共计4788.99ETH。之后通过三个地址充值到了Tornado中进行混币操作。
攻击者5
攻击者5在此次事件中获利740多万美元,涉及普通地址3个及合约地址4个。
攻击者5在Nomad项目中获取资金后,将资金全部兑换为了ETH,其中有540ETH通过3个地址中的一个被充值到Tornado进行混币,剩下的全部留在了剩下的两个地址中,共计3129.29ETH。
攻击者6
攻击者6在此次事件中获利600多万美元,涉及普通地址2个及合约地址20个。
攻击者6在Nomad项目中获取资金后,进行过换币提币的操作,目前全部资金都沉淀在两个地址中,余额为1197354.04CQT、450120C3、5750025.15DAI、133.91ETH。
攻击者7
攻击者7在此次事件中获利500多万美元,涉及地址3个。
攻击者7在Nomad项目中获得资金后,全部兑换为了ETH,共计3100.72个,全部通过地址0x72ccbb2002254bd8a0485d13a3a2faa9b0f992c6充值到Tornado进行混币。
攻击者8
攻击者8在此次事件中获利约440万美元,涉及普通地址2个及合约地址2个。
攻击者8在Nomad项目中获取资金后全部兑换为了ETH,之后在两个地址上沉淀,共计2223.03个ETH。
攻击者9
攻击者9在此次事件中获利约175万美元,涉及地址2个。
攻击者9在项目Nomad中获取资金后,将其中的一部分兑换为71.51个ETH在其中一个地址沉淀,其余币种也全部都留在这两个地址未发生转移。
攻击者10
攻击者10在此次事件中获利140多万美元,涉及地址1个。
攻击者10在项目Nomad中获取资金后,进行过两笔换币,将USDC和FRAX兑换为了DAI,之后资金在此地址沉淀,目前地址中余额为:1402215.46DAI、150040CQT。
3、总结
8月18日,Nomad发布了“复苏之路”计划,将在未来几月内重启跨链桥和分配回收资金。截止发稿,近20%的被盗资金已返还至Nomad资金回收地址,目前仍有大量资金沉淀在攻击者地址中。预计黑客后续将会通过Tornado等混币平台以逃避追踪,知帆安全团队将持续关注攻击者地址。
安全提醒
Nomad平台通过悬赏的方式以期追回资产,再一次将虚拟货币领域的安全问题暴露在大众视野。随着虚拟货币市场的快速增长,网络安全问题也日益凸显,网络犯罪频频发生,一度造成严重后果。此次Nomad被攻击事件中,如果黑客不打算归还资金,那么官方将难追回这部分损失。
知帆安全团队提醒加密机构不断寻求可靠的安全措施,以保证平台和用户的资产安全,同时提醒广大用户,目前区块链技术尚处于早期发展阶段,仍存在很大的风险,全球相关监管和措施也尚不完备,投资需谨慎。对于监管和执法机构来说,未来还会有许多区块链安全事件发生,监管和执法上都将面临极大的挑战。知帆科技作为行业领先的区块链大数据分析安全公司,一直利用自身在区块链大数据领域的优势和积累,帮助等监管机构解决涉虚拟货币相关案件查证难题,为共同构建区块链生态安全不断努力。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。