本周,非集中化金融(DeFi)又未能幸免于黑客攻击。一个攻击者成功地从Grim Finance协议中窃取了3000万美元,这要归功于一个相对知名的重入攻击。
Grim Finance有3000万美金被盗
去中心化金融(DeFi)协议Grim Finance(GRIM)在其Twitter账户上确认了这一消息。本周六,它是一次攻击的受害者,导致3000万美元的数字资产损失。该缺陷直接影响到金库,目前所有用户的资金都处于风险之中。
该协议在Fantom Opera区块链上实现,以Solidity语言构建,与以太坊(ETH)兼容。Grim Finance声称是一个 “复合回报优化器”,这意味着它承诺通过将你的代币暂时锁定在其金库中,为其带来回报。
Hello Grim Community,
我们怀着沉重的心情通知你,我们的平台今天被一个外部攻击者利用,大约在6小时前。攻击者的地址已经确定,这里有价值超过3000万美元的盗窃案https://t.co/qA3iBTSepb
– Grim Finance (@financegrim) December 19, 2021
在其技术文件中,Grim表示,它希望 “帮助用户收获更多的回报,而没有麻烦”。显然不是真的。
这是什么攻击?
根据来自Grim Finance的信息,黑客使用了一种相当普遍的 “重入 “攻击。这涉及到发起一个提款请求,然后在第一个提款请求仍在执行时同时提出其他几个提款请求。通过这种方式,攻击者欺骗了协议,并进行了超过保险箱内总金额的提款。
在这种情况下,协议通常只在你的请求开始和完成时有安全保障。他们首先检查你的保险箱是否有足够的资金来进行提款。然后在交易验证时有一个额外的检查,主要是计算收取的费用。
假设在任何一个人被验证之前,同时提出从整个保险箱提款的几个请求。然后每个人都会被授权,你将可以提取比你实际拥有的更多的钱。这就是 “重入攻击 “的(非常简化)原理。
攻击的细节。
这是一次先进的攻击。攻击者使用名为beforeDeposit()的函数从我们的金库策略进入恶意代币合约进行攻击。
– Grim Finance (@financegrim) December 19, 2021
格里姆金融的未来是什么?
重入式攻击在以太坊上比较常见,并且开始被协议所了解。事实上,由智能合约专家审计师组成的DeFi监督小组Rugdoc.io在一系列推文中声称,Grim Finance应负直接责任。该代码应该包含一个 “重入防护”,即针对这种类型的攻击的特定保护。
Let’s hope that all projects can learn from this incident. 大多数有经验的Solidity开发者都有很多知识在他们的指尖。如果你还没有想明白,就不要建造数百万美元的项目。不要被那些大家都知道是没用的公司审计,”其中一条推文写道。
Grim Finance通过Solidity Finance来审核其协议的智能合约代码的安全性。根据他们的报告,”ReetrancyGuard在必要时被用来防止重入攻击”。又错了。
对Grim Finance生态系统的经济学来说是一个打击,GRIM代币很快就从这个消息中受到了打击。价格下降了80%以上,从0.8美元左右到最低时仅为0.15美元。在撰写本文时,它的交易价格为0.2美元。

GRIM代币价格演变(来源:CoinGecko)
周日上午,一些金库暂时开放,供用户提取资金。然而,截至下午,格林金融金库的所有存款和提款仍被搁置,以避免任何进一步的事件