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

Beosin成都链安 阅读 48275 2020-11-16 10:10
分享至
微信扫一扫,打开网页后点击屏幕右上角分享按钮

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

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

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

1、Akropolis确实遭到攻击

2、攻击合约地址为

0xe2307837524db8961c4541f943598654240bd62f

3、攻击手法为重入攻击

4、攻击者获利约200万美元

攻击手法分析

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

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

图一

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

图二

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

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

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

图三

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

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

图四

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

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

图五

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

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

图六

事件小结

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

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

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

btcfans公众号

微信扫描关注公众号,及时掌握新动向

来源链接
免责声明:
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
上一篇:国际区块链政策、监管重点及趋势分析 下一篇:美国货币监理署署长Brian Brooks:数字资产创新和私有加密领域极为重要

相关资讯