DeFi借贷协议Akropolis重入攻击事件分析

近日,DeFi借贷协议Akropolis遭到网络黑客的攻击。Akropolis创始人兼首席执行官Ana Andrianova表示,攻击者利用在衍生品平台dYdX的闪电贷进行重入攻击,造成了200万美元的损失。

DeFi借贷协议Akropolis重入攻击事件分析

成都链安团队在接到自主独立研发的区块链安全态势感知平台(Beosin-Eagle Eye)报警后,第一时间对本次攻击事件进行了调查,结果发现:

1、Akropolis确实遭到攻击2、攻击合约地址为0xe2307837524db8961c4541f943598654240bd62f3、攻击手法为重入攻击4、攻击者获利约200万美元

攻击手法分析

通过对链上交易的分析,发现攻击者进行了两次铸币,如下图所示:

DeFi借贷协议Akropolis重入攻击事件分析

(图1)

DeFi借贷协议Akropolis重入攻击事件分析

(图2)

(参考链接:https://etherscan.io/tx/0xddf8c15880a20efa0f3964207d345ff71fbb9400032b5d33b9346876bd131dc2)

但据oko.palkeo.com交易调用情况显示,攻击者仅调用了一次deposit函数,如下图所示:

DeFi借贷协议Akropolis重入攻击事件分析

(图3)

通过跟踪函数调用,成都链安团队发现,攻击者在调用合约的deposit时,将token设置为自己的攻击合约地址,在合约进行transferFrom时,调用的是用户指定的合约地址,如下图所示:

DeFi借贷协议Akropolis重入攻击事件分析

(图4)

通过分析代码发现,在调用deposit函数时,用户可指定token参数,如下图所示:

DeFi借贷协议Akropolis重入攻击事件分析

(图5)

而deposit函数调用中的depositToprotocol 函数,存在调用 tkn 地址的safeTransferFrom函数的方法,这就使得攻击者可以通过构造“safeTransferFrom”从而进行了重入攻击。

DeFi借贷协议Akropolis重入攻击事件分析

(图6)

事件小结

Akropolis作为DeFi借贷、存储服务提供商,其存储部分使用的是Curve协议,这在当天早些时候的攻击中曾被利用。攻击者从该项目的yCurve和sUSD池中取出了5万美元的DAI,而在耗尽这些池子前,共计窃取了价值200万美元的DAI。

在本次攻击事件中,黑客使用重入攻击配合dYdX闪电贷对存储池发起了侵占。在协议中,资产存储池可谓是防守重点,作为项目方,对资金池的安全预防、保护措施应置于最优先级别。特别是,为应对黑客不断变化的攻击手段,定期全面检查和代码升级缺一不可。

最后,成都链安强烈呼吁,对于项目方而言,安全审计和定期检测切勿忘怀;对于投资者而言,应时刻不忘安全警戒,注意投资风险。

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到admin@btc366.com,本平台相关工作人员将会进行核查。如若转载,请注明出处:https://www.btc366.com/29259.html