BSC生态又一起“闪电贷攻击”:ApeRocket Finance被黑事件简析

二、事件分析

Ø 攻击过程分析

1. 攻击者首先利用了“闪电贷”,借取了1259459+355600个cake。

BSC生态又一起“闪电贷攻击”:ApeRocket Finance被黑事件简析

2. 随后,将其中的509143个cake抵押至AutoCake(相当于是Aperocket的策略合约)。

BSC生态又一起“闪电贷攻击”:ApeRocket Finance被黑事件简析

3. 攻击者将剩余的1105916个cake直接打入AutoCake合约。

BSC生态又一起“闪电贷攻击”:ApeRocket Finance被黑事件简析

4. 然后攻击者再调用AutoCake中的harvest触发复投,将步骤3中打入Autocake的cake进行投资。

BSC生态又一起“闪电贷攻击”:ApeRocket Finance被黑事件简析

5. 完成上述攻击步骤后,攻击者调用AutoCake中的getReward结算步骤2中的抵押盈利,随即触发奖励机制铸币大量的SPACE Token进行获利。

BSC生态又一起“闪电贷攻击”:ApeRocket Finance被黑事件简析

6. 归还“闪电贷”,完成整个攻击后离场。

BSC生态又一起“闪电贷攻击”:ApeRocket Finance被黑事件简析

Ø 攻击原理分析

l 在此次攻击事件中,攻击者首先在AutoCake中抵押了大量Cake,这使得其持股占比非常之高,从而能够分得AutoCake中几乎全部的质押收益。

l 在步骤3中,攻击者直接向AutoCake合约中打入大量cake,这部分cake因并没有通过抵押的方式打入AutoCake合约;根据合约自身逻辑,将会被当作“奖励”(抵押cake,奖励也是cake)。

l 一来一回,直接打入AutoCake中的cake大部分最终也会结算给攻击者。

l 但另一方面,在进行getReward操作时,函数会根据质押而获得奖励的数量来铸币SPACE Token发放给用户,做为另外的奖励。在正常情况下,质押奖励较少,因此铸币的SPACE Token也会很少;但由于攻击者上述的操作,便导致铸出了大量的SPACE Token。

BSC生态又一起“闪电贷攻击”:ApeRocket Finance被黑事件简析三、事件复盘

不难看出,这是一次典型的利用“闪电贷”而完成获利的攻击事件,其关键点在于AutoCake合约自身逻辑的“奖励机制”,最终导致攻击者铸出了大量的SPACE Token完成获利。同时,这也是本月首起典型的“闪电贷”攻击事件,值得引起注意。

成都链安·安全团队建议,随着“闪电贷”在DeFi生态越来越受青睐,潜藏在暗处的攻击者也随时准备着利用“闪电贷”而发动攻击。因此,DeFi生态各项目方仍然需要格外重视来自“闪电贷攻击”的威胁,与第三方安全公司积极联动,构建起一套完善而专业的安全防护机制。