近期,我们的链上风险监控发现TRX、ETH、BSC链上频繁出现 0U 转账现象,以下图bsc链的交易数据为例,受害者A发出一笔正常交易将452 BSC-USD发给B后,会收到C转来的0 BSC-USD,同时,在同一笔交易hash内用户A自己也会不受控制的给C转0 BSC-USD(实现了“一来一回”的0 BSC-USD转账操作)
其实遇到这种情况的用户不用紧张,大家的资产是安全的,私钥并没有泄漏,只需要仔细确认地址小心别转错账就没事,黑客的手法很简单:
1.在链上监控几个稳定币的转账信息,捕获受害者地址A正常发送给用户B的转账信息。
2.精心构造与用户地址B首尾一致的黑客地址C,使受害者A与黑客地址C互相转帐0U。
3.受害者A下次转账时粗心大意直接复制历史交易的地址时,很容易错误复制到黑客准备的地址C,从而将资金转错账。
技术原理分析
针对bsc链上的token攻击主要包含BSC-USD、BUSD、USDC、ETH等,大部分是通过攻击合约批量调用transferFrom()函数,也有手动调用transfer()函数的情况和针对主币的情况,原理基本一致。在攻击者调用攻击合约的一笔交易中,攻击合约只调用了 BSC-USD 的 transferFrom() 函数,通过对参数填充sender、recipient、amount可以实现操控任意地址间的0 USD转帐,同时产生授权Approval()与转账Transfer()的事件。
例如下图:用户经常转账的地址为「TUahsb…JjXyp3」,伪装地址为「TSeqQh…sjXyp3」,它们有相同的尾号「jXyp3」。
最后总结
本文主要介绍了链上地址投毒方式“相同尾号空投”和“零U投毒”,生成相同尾号的地址作为伪装地址,并利用伪装地址向用户不断空投小额的 Token,使得骗子的地址出现在用户的交易记录中,用户稍不注意就复制错误地址,导致资产损失。”波场助手(trxhelp.org)”在此提醒,由于区块链技术是不可篡改的,链上操作是不可逆的,所以在进行任何操作前,请务必仔细核对地址。