账本连接黑客如何诱骗用户进行恶意批准
这位12月14日成功撬走至少484,000美元的Ledger黑客真是太“是用心良苦”了!根据Cyvers团队的说法,他巧妙地唬弄用户去批准了那些恶意代币。听起来就像是把精心策划的诈骗游戏玩到了Web3应用上。
据悉,这场黑客攻击发生在12月14日早上。攻击者利用钓鱼漏洞攻陷了一位前Ledger员工的电脑,获得了员工NPMJS账户的访问权限。
我们已经发现了并移除了Ledger Connect Kit的恶意版本。
现在正在推送一个真正的版本来替换恶意文件。此时请勿与任何dApps互动。我们会随着情况的变化持续告知您。
您的Ledger设备和...
一旦攻入,他们就将恶意更新上传到了Ledger Connect的GitHub仓库。Ledger Connect是Web3应用中常用的一个包。
一些Web3应用升级到了新版本,导致其应用将恶意代码分发给了用户的浏览器。Zapper、SushiSwap、Phantom、Balancer和Revoke.cash等Web3应用都被感染了。
因此,攻击者能够从这些应用的用户那里窃取至少484,000美元。其他应用可能也会受到影响,专家们警告说,这个漏洞可能影响到整个以太坊虚拟机(EVM)生态系统。
攻击如何发生?
Cyvers首席执行官Deddy Lavid、首席技术官Meir Dolev和区块链分析师Hakal Unal在接受CoinTelegraph采访时,揭示了这次攻击可能发生的方式。
他们表示,攻击者可能使用了恶意代码,在用户的钱包中显示混乱的交易数据,让用户不知不觉批准了他们本来不打算进行的交易。
当开发者创建Web3应用时,他们会使用开源的“连接包”来允许他们的应用与用户的钱包连接,Dolev表示。这些包是通用代码块,可以安装到多个应用中,无需编写代码就能处理连接过程。Ledger的Connect Kit是可用来处理该任务的可选项之一。
听起来今天的网络安全事件是Ledger的三个独立失败的综合结果:
1. 盲目加载代码,没有固定特定版本和校验和。
2. 没有强制执行“两人规则”来审查代码和部署。
3. 没有撤销前员工访问权限。
当开发者第一次编写他们的应用时,他们通常会通过节点包管理器安装连接包。在创建构建并上传到他们的网站后,他们的应用将会包含连接包作为其代码的一部分,然后在用户访问网站时ρωκω将下载到用户的浏览器。
据Cyvers团队表示, malicious code inserted into the Ledger Connect Kit可能允许攻击者更改推送到用户钱包的交易。例如,在使用应用的过程中,用户通常需要向代币合同发出批准,允许应用从用户的钱包中消耗代币。
恶意代码可能让用户的钱包显示了一个代币批准确认请求,但地址写的是攻击者的而不是应用的。或者,可能会出现一个钱包确认,里面包含了难以理解的代码,导致用户糊里糊涂地按下“确认”键,没有意识到他们同意了什么。

区块链数据显示,攻击的受害者向恶意合约给出了非常大的代币批准。例如,攻击者在一笔交易中从以太坊地址0xAE49C1ad3cf1654C1B22a6Ee38dD5Bc4ae08fEF7中提取了超过10,000美元。这笔交易记录显示,用户批准了大量的美元代币(USDC)被恶意合约使用。

Cyvers团队表示,这种批准可能是因为恶意代码导致的错误操作。他们警告说,避免这种攻击非常困难,因为钱包并不总是向用户提供清楚的信息,知道他们在同意什么。一种可能帮助的安全实践是仔细评估在应用中使用时弹出的每个交易确认消息。然而,如果交易是以难以阅读或混淆的代码形式显示的,这可能就不会有帮助。
相关:ConsenSys高管谈MetaMask Snaps的安全:'同意最重要'
相关:ConsenSys高管谈MetaMask Snaps的安全:'同意最重要'Cyvers声称,其平台允许企业检查合约地址,确定这些地址是否曾参与安全事件。例如,被该攻击使用的智能合约创建者已在Cyvers系统中检测到参与过180起安全事件。

尽管未来的Web3工具可能允许在攻击发生前就检测到并阻止这种攻击,但该团队告诉CoinTelegraph,该行业在解决这个问题上“还有很长的路要走”。