Abstract:
近一周,0U转账的链上地址投攻击愈演愈烈,截至12月2日,已经有超过37W地址被投,总计92个受害地址,被盗取金额超过164WUSD。
本篇文章,X-explore对攻击态势进行了全面分析,对攻击者进行了链上溯源,同时也深入分析了攻击的实现方式。
我们呼吁钱包APP加强风险提示,普通用户在转账时谨防此类攻击。因为我们注意到UTC时间11月2日10点38分,有一位链上用户损失惨重,近100万美金因投而被转到黑客地址。
本文由X-explore与吴说区块链联合发布。
1.背景
近期,我们的链上风险监控发现ETH、BSC链上频繁出现0u转账现象,以下图bsc链的交易数据为例,受害者A发出一笔正常交易将452BSC-USD发给B后,会收到C转来的0BSC-USD,同时,在同一笔交易hash内用户A自己也会不受控制的给C转0BSC-USD
在社区中,很多用户不知所以然,担心自己的钱包私钥已经泄漏,攻击者正在窃取资产。
2.攻击意图
其实遇到这种情况的用户不用紧张,大家的资产是安全的,私钥并没有泄漏,只需要仔细确认地址小心别转错账就没事,黑客的手法很简单:
Terra链上DeFi锁仓量突破290亿美元:金色财经报道,据DefiLlama数据显示,当前Terra链上DeFi锁仓量为293.5亿美元,近24小时增长0.08%。在公链中排名第2位仅次于以太坊。目前,Terra链上DeFi锁仓量排名前5的分别为:Anchor(152.1亿美元)、Lido(88.7亿美元)、Astroport(14.7亿美元)、Stader(8.99亿美元)、Terraswap(6.95亿美元)。[2022/3/31 14:29:22]
在链上监控几个稳定币的转账信息,捕获受害者地址A正常发送给用户B的转账信息。
精心构造与用户地址B首尾一致的黑客地址C,使受害者A与黑客地址C互相转帐0U。
受害者A下次转账时粗心大意直接复制历史交易的地址时,很容易错误复制到黑客准备的地址C,从而将资金转错账
我们认为这种攻击是链上地址投攻击:
首先,黑客让自己的地址出现在用户交易历史中,诱导用户误认为是可信的交互地址。
此外,黑客构造出的地址与用户可信地址首尾相同,被用户当作下次交易的对象。链上投很容易使用户产生资损,链上用户需共同警惕!
Belt.fi将于5月21日跨链上线HECO,同步开启流动性挖矿和单币无损挖矿:5月18日,BSC头部AMM协议Belt.fi宣布将于5月21日正式跨链上线HECO链,同步开启流动性挖矿和单币无损挖矿,届时将会支持4Belt LP(USDT+HUSD+USDC+DAI)、HT/BELT LP流动性挖矿,以及HT、USDT、HUSD、USDC、DAI、BTC和ETH单币无损挖矿,并打通BELT在HECO与BSC的跨链互通。
Belt.fi是BSC头部AMM协议,该协议在Binance Smart Chain(BSC)上融合了多策略收益优化功能,并提供低收手续费/低滑点,还通过机池组合,借贷聚合产生收益来实现最大回报。
HECO是一个去中心化高效节能的公链,在支持高性能交易的基础上,实现了智能合约的兼容性,HECO的原生数字资产为HT,兼容以太坊EVM(Ethereum Virtual Machine),采用HPoS共识机制。[2021/5/18 22:16:02]
3.攻击态势
截止12月2日,在BSC与ETH链上的攻击次数分别超过32万次和5万次,受攻击影响的独立地址数分别超过16万个以及4万个。
从趋势上看,BSC链自从11月22日开始爆发,ETH链则从11月27日开始爆发,两条链的攻击规模均愈演愈烈。
此外,可以看到攻击发生时间有显著规律性,在每天UTC时间17点到0点攻击量级显著减少。疑似攻击者处于亚洲时区。
截止12月2日,总共有92个独立地址受,累计被金额达到164万USD。伴随着攻击者攻击目标的增加,可以预见,近期还会不断有大量用户被。
动态 | 405.7万枚HT在以太坊链上销毁 价值约2006.7万美元:Whale Alert监测数据显示,北京时间16:44,以太坊链上405.7万枚HT被销毁,按当前价格计算,价值约2006.7万美元,销毁哈希为: 0xf8d05529e9ec494a3294b04d97d790b38a0f882675f24b58c1dbf66e09bca199。[2020/2/15]
此外,我们对攻击者的攻击成本进行了分析,目前总成本接近2.9WUSD,攻击者对BSC-USD和USDT非常偏爱,与稳定币的币种流通量和用户持有量有关
攻击者溯源
我们对其中一个攻击者进行了链上溯源追踪,与两个主流中心化交易所关联,其完整过程如下图所示:
其攻击资金的来源地址与OKX.com存在关联,攻击者通过使用Transit.Finance跨链桥将原始攻击资金从TRON链转移到BSC链上。
其盗取资金最终归集到Huobi.com,攻击者依然使用Transit.Finance跨链桥将盗取资金转移到TRON链上。
分析 | BTC链上数据较7日均值均有小幅上升:据 TokenInsight 数据分析显示,12月12日 BTC 链上转账数 261,303,较前日增加3.95% ,较7日日均转账数增加3.13%;活跃地址数545,888,较前日减少0.94%,较7日日均活跃地址数增加3.81%;交易所成交量为42.1亿美元,较前日减少9.66%,较7日日均成交量减少19.44%;存储地址中BTC总量为6,834,814 枚,较前日增加9,339枚,较7日日均资金总量增加2,181枚。 独立分析师James认为,BTC链上转账数、活跃地址数与存储地址中BTC总量较7日日均小幅上升,但交易所成交量显著下降。市场反弹无力,震荡下行趋势或将延续。[2018/12/13]
让我们进一步展开,针对盗取资金的流向进行溯源。
首先,受害者地址0xe17c2b2b40574d229a251fe3776e6da2cc46aa5e向攻击者地址0x720c1cfe1bfc38b3b21c20961262ad1e095a6867分两次,共转账1300U。
接着,攻击者地址将资金归集到地址0x89e692c1b31e7f03b7b9cbb1c7ab7872ddeadd49
攻击者在0x89e692c1b31e7f03b7b9cbb1c7ab7872ddeadd49地址上进行了资金的跨链转移,在txhash为0x72905bd839f682f795946d285500143ee7606e9690df2ad32968e878ad290d9f的交易中,如下图所示,将10561USDT通过Transit.Finance的合约进行了Cross操作。在这笔交易的EventLogs中,可以看到资金去向了TRON链的USDT,对应地址是TLUKBw37BVWDZdhbGco2ZEfdMd5Cit8TMD,对应TRON链上的交易hash是:716507136ad28717ffd5f2f437af753ff96d344d2bcbe83f24d801db49f5a884
动态 | 日本Connectome公司致力于推出全球区块链上虚拟人代理服务:日本初创公司Connectome提出了创造区块链上首个虚拟人类代理(VHA)的设想,旨在实现人工智能(AI)代理建造和商业化经销的民主化。该公司预计未来的潮流将是以类人的AI代理替代用户界面,因此致力于开发下一代AI界面。
Connectome正与拥有区块链、AI等多个项目经验的日本科技公司Couger密切合作。Connectome表示,其区块链平台将促进开发人员和企业家交流,交易开发的AI类人代理,以及培训它们所需的数据。其平台将让个人与企业拥有保证类人AI代理所有权的方法。[2018/11/26]
最终,攻击者将TLUKBw37BVWDZdhbGco2ZEfdMd5Cit8TMD地址上的充值进了Huobi交易所。充值的入金地址分别是:TPtzsrCAG61QMwig3jZV8Px7Rd1WZVnRXG,TDp7r3S1hJeiNfH1CvCVXeY8notY47nagJ
攻击原理分析
攻击者案例1:
EOA:0xBAA1451bE8C33998CD43F375c2e67E79c1a104AD
CA:0x7ceBeb6035B231A73CB5Fb4119c2FbBC04Ec6fD1
攻击者案例2:
EOA:0x616384a80f32aDb65243522971aE2ba7664B62E3
CA:0x6f00Ed594A6AceEf0E1A6FE023Ecd5Eb96c8665a
针对bsc链上的token攻击主要包含BSC-USD、BUSD、USDC、ETH等,大部分是通过攻击合约批量调用transferFrom()函数,也有手动调用transfer()函数的情况和针对主币的情况,原理基本一致。以下用BSC-USD的一个攻击合约举例
transferFrom()
在攻击者调用攻击合约的一笔交易中,攻击合约只调用了BSC-USD的transferFrom()函数,通过对参数填充sender、recipient、amount可以实现操控任意地址间的0USD转帐,同时产生授权Approval()与转账Transfer()的事件
Blocksecphalcon交易信息
BSC-USD的合约源码显示transferFrom()函数顺序调用了转账_transfer()与授权_approve()函数
_transfer()函数的作用很简单,首先排除交易中的全零地址,然后给发送方减钱,接受者加钱,最后记录转账事件。这里用到的加减函数add()/sub()是OpenZeppelin的safemath库,溢出会报错回退
_approve()函数同样排除全零地址,修改授权值,这个函数的重点在transferFrom中调用approve的参数计算里,用到了_allowances.sub(amount,"BEP20:transferamountexceedsallowance"),将已有的授权token数量减去转账数量,剩余的授权数量放入approve重新授权。这里用到的减函数sub是OpenZeppelin的safemath库,溢出会报错回退;但是如果整个流程的amount参数为零,没有任何检测机制能拒绝这笔交易,也就导致了链上大量的0U转账能正常发送,而黑客只需要付出手续费即可收获不菲的回报。
transfer()
调用transfer()函数的攻击方式原理一致,整个流程只有加减的溢出检测,没有对零转账的过滤。
BNB
在token的攻击追溯过程中,我们还发现了通过0BNB转账的首尾相同钓鱼攻击,原理与token钓鱼类似,构造首尾相同的地址进行钓鱼
攻击交易:https://bscscan.com/tx/0x5ae6a7b8e3ee1f342153c1992ef9170788e024c4142941590857d773c63ceeb3
构造地址后迷惑性非常高,一不小心就转错到黑客地址上
正常用户地址:0x69cb60065ddd0197e0837fac61f8de8e186c2a73
黑客构造地址:0x69c22da7a26a322ace4098cba637b39fa0a42a73
6.X-explore攻击检测
目前X-explore可针对此类攻击行为进行实时的链上监测,为了避免危害进一步加剧,我们建议:
钱包App通过颜色或其他提示帮助用户区分地址,并做好用户提醒;
用户在转账前仔细区分历史交易地址,逐字确认,最好自己存一份地址簿。
与此同时,我们在Dune中开源了此次攻击事件的态势感知大图。
https://dune.com/opang/first-and-last-address-construction
敬请关注我们。
Mirror:https://mirror.xyz/x-explore.eth
Twitter:https://twitter.com/x_explore_eth
来源:bress
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。