🎉 攒成长值,抽华为Mate三折叠!广场第 1️⃣ 2️⃣ 期夏季成长值抽奖大狂欢开启!
总奖池超 $10,000+,华为Mate三折叠手机、F1红牛赛车模型、Gate限量周边、热门代币等你来抽!
立即抽奖 👉 https://www.gate.com/activities/pointprize?now_period=12
如何快速赚成长值?
1️⃣ 进入【广场】,点击头像旁标识进入【社区中心】
2️⃣ 完成发帖、评论、点赞、发言等日常任务,成长值拿不停
100%有奖,抽到赚到,大奖等你抱走,赶紧试试手气!
截止于 8月9日 24:00 (UTC+8)
详情: https://www.gate.com/announcements/article/46384
#成长值抽奖12期开启#
Euler Finance遭闪电贷攻击 损失1.97亿美元
Euler Finance遭受闪电贷攻击,损失高达1.97亿美元
2023年3月13日,Euler Finance项目因合约漏洞遭受闪电贷攻击,导致巨额损失。攻击者利用合约中donateToReserves函数缺少流动性检查的漏洞,通过多次操作获取了大量资金。本次事件涉及6种代币,总损失达1.97亿美元。
攻击过程分析
攻击者首先从某借贷平台闪电贷借入3000万DAI,并部署了两个合约:借贷合约和清算合约。
攻击者将2000万DAI质押到Euler Protocol合约中,获得19.5万个eDAI。
利用Euler Protocol的10倍杠杆功能,攻击者借出195.6万个eDAI和200万个dDAI。
攻击者使用剩余的1000万DAI偿还部分债务并销毁相应的dDAI,随后再次借出195.6万个eDAI和200万个dDAI。
关键步骤:攻击者调用donateToReserves函数,捐赠100万eDAI(是偿还资金的10倍)。紧接着,攻击者调用liquidate函数进行清算,获得310万dDAI和250万eDAI。
最后,攻击者提取38.9万DAI,并归还闪电贷的3000万DAI,最终获利887万DAI。
漏洞原因分析
此次攻击的核心问题在于Euler Finance合约中的donateToReserves函数缺少必要的流动性检查。与mint函数相比,donateToReserves函数未执行checkLiquidity步骤,这导致攻击者可以绕过正常的流动性检查。
正常情况下,checkLiquidity函数会调用RiskManager模块,确保用户的eToken数量大于dToken数量。然而,由于donateToReserves函数缺少这一关键步骤,攻击者得以利用这个漏洞,先使自己处于可被清算的状态,然后完成清算操作。
安全建议
针对此类攻击,我们建议DeFi项目方:
在合约上线前进行全面的安全审计,确保合约的安全性。
对于借贷类项目,要特别关注资金偿还、流动性检测和债务清算等关键环节。
在每个可能影响用户资金状态的函数中都应该实施严格的流动性检查。
定期进行代码审查和更新,及时修复发现的漏洞。
考虑引入多重签名机制或时间锁定等额外的安全措施。
这次事件再次提醒我们,在快速发展的DeFi领域,合约安全始终是至关重要的。项目方需要不断加强安全意识,采取多重防护措施,以保护用户资产的安全。