主页 > imtoken苹果地址 > 因以太坊生态缺陷导致数十亿代币被盗大案

因以太坊生态缺陷导致数十亿代币被盗大案

imtoken苹果地址 2023-01-18 11:37:42

最近,慢雾安全团队观察到了一起自动硬币盗窃攻击。攻击者利用以太坊节点 Geth/Parity RPC API 认证漏洞恶意调用 eth_sendTransaction 盗取币。代币,有效期两年,被盗以太币价值高达2000万美元,代币种类有164种,总价值难以估计(很多代币还没有已上市交易所正式发行)。如下图:

攻击过程

SlowMist 安全团队整合受害者情报、Reddit 信息和蜜罐日志分析来追溯攻击行为

可能是:

以太坊大事件

备注:

UnlockAccount功能介绍

该函数会使用密码从本地keystore中提取私钥并存储在内存中,函数的第三个参数duration表示私钥解密后存储在内存中的时间,默认为300秒;如果设置为 0,则意味着它将永久保留在内存中,直到 Geth/Parity 退出。详情见:

#personal_unlockaccount

以太坊大事件

攻击时间线

我们在 Etherscan 上对攻击者的钱包地址进行了详细分析,得到以下主要攻击时间线:

这种时间线追踪可以辅助分析攻击者的行为轨迹。

影响情况

以太坊大事件

SlowMist 安全团队独有的 MOOZ 系统扫描检测全球约 42 亿个 IPv4 空间,发现它们暴露在公网和开放 RPC API 的以太坊节点超过 10,000 个。这些节点都处于受到直接货币盗窃攻击的高风险。

以太坊大事件

防御建议

进一步思考

通过对这起事件的调查和攻击方式的完整再现,我们越来越意识到赛博空间遵循黑暗森林的规律,这就是对《三体》的参考:“宇宙是一个黑暗的地方。在森林里,每一个文明都是一个拿着枪的猎人,鬼鬼祟祟地潜入森林,轻轻推开挡在路上的树枝,努力不让脚步声发出一点声响,连呼吸都要小心,他一定要小心以太坊大事件,因为森林里有像他这样的猎人在游戏中到处偷偷摸摸,如果他找到另一个生命,他能做的只有一件事,射击并摧毁它。我们仔细回顾了持续两次的攻击年,并且仍然活跃。所有细节,如果我们是攻击者,我们可以通过一个脚本项目轻松地在全球范围内窃取数万甚至数百万的数字资产。

我们需要特别提一下攻击者的战术,不知道大家有没有注意到,为什么攻击的第一步是调用eth_getBlockByNumber来获取区块高度呢?本次调用的详细信息为:eth_getBlockByNumber("0x00", false),如果区块高度不是最新的,那么本次调用会报错,不需要在里面进行钱包地址、余额等查询操作未来,因为余额不准确,最后一步的转账操作一定不能完成。这种攻击逻辑的设计是针对这种攻击场景的一种攻击场景。很暴力的美学设计。

以太坊大事件

从上面提到的“攻击时间线”来看,攻击者其实很不寻常。这种潜在的攻击发生在以太坊历史上第一次众所周知的攻击中。黑客事件之前的DAO事件(2016/06/17),正是以太坊技术被市场正式认可的时期。可见攻击者是很早的以太坊技术研究人员,他们非常了解黑客工程技术。攻击者在实战过程中不断优化这个项目。

我们还进一步分析了RPC API相关模块的功能,发现了一些潜在的安全隐患,也需要大家注意,例如:如果RPC API中开启了personal模块以太坊大事件,可以通过personal_unlockAccount爆破账号密码方法。如果爆破成功,可以一次性实现解锁+转移。如果在 RPC API 中开启了矿工模块,可以通过 miner_setEtherbase 方法修改矿工。钱包地址。

在我们MOOZ系统的全网检测中,我们发现这些暴露在公网上的以太坊节点所开启的RPC API模块并不相同。这是一个比较复杂的攻击,提供了不同的不同条件。

从防御分析的角度,我们也发现Geth等人的日志机制并不完善,无法记录RPC API请求的源IP(配置--debug和--verbosity 5无效),导致直接访问 RPC API。在被攻击的以太坊节点上取证追踪攻击者的IP非常麻烦。

虽然以太坊本身的稳健性已经过测试,但安全性是一个整体。通过这次事件,我们可以看到以太坊生态系统的一些安全漏洞。有些安全漏洞可能被认为是一种需要用户注意的机制,但安全门槛对用户来说太高了。高门槛的安全一定更容易滋生如此大规模的攻击。<​​/p>

最后,我希望我们在本文中的披露能够为这个生态系统带来更多的安全性。