📢 Gate广场 #MBG任务挑战# 发帖赢大奖活动火热开启!
想要瓜分1,000枚MBG?现在就来参与,展示你的洞察与实操,成为MBG推广达人!
💰️ 本期将评选出20位优质发帖用户,每人可轻松获得50枚MBG!
如何参与:
1️⃣ 调研MBG项目
对MBG的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与MBG相关活动(包括CandyDrop、Launchpool或现货交易),并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是现货行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
MBG热门活动(帖文需附下列活动链接):
Gate第287期Launchpool:MBG — 质押ETH、MBG即可免费瓜分112,500 MBG,每小时领取奖励!参与攻略见公告:https://www.gate.com/announcements/article/46230
Gate CandyDrop第55期:CandyDrop x MBG — 通过首次交易、交易MBG、邀请好友注册交易即可分187,500 MBG!参与攻略见公告:https://www.gate.com/announcements
SharkTeam:Tornado.Cash 提案攻击原理分析
撰文:SharkTeam
北京时间 2023 年 5 月 20 日,Tornado.Cash 遭受提案攻击,攻击者已获利约 68 万美元。SharkTeam 对此事件第一时间进行了技术分析,并总结了安全防范手段,希望后续项目可以引以为戒,共筑区块链行业的安全防线。
一、事件分析
攻击者地址:
0x092123663804f8801b9b086b03B98D706f77bD59
0x592340957eBC9e4Afb0E9Af221d06fDDDF789de9
攻击合约:
0xAF54612427d97489707332efe0b6290F129DbAcb
0x03ecf0d22f9ccd21144a7d492cf63b471916497a
0x7dc86183274b28e9f1a100a0152dac975361353d(部署合约)
0xc503893b3e3c0c6b909222b45f2a3a259a52752d(假提案合约)
被攻击合约:
0x5efda50f22d34F262c29268506C5Fa42cB56A1Ce
发起提案交易:
0x34605f1d6463a48b818157f7b26d040f8dd329273702a0618e9e74fe350e6e0d
攻击交易:
0x3274b6090685b842aca80b304a4dcee0f61ef8b6afee10b7c7533c32fb75486d
攻击流程:
(1)首先,攻击者(0x08e80ecb)先向被攻击合约(0x5efda50f)发起了一个提案,并宣称此提案是 16 号提案的补充
(2)但提案中实际上存在一个额外的自毁函数。
(3)很遗憾的是社区并没有发现此提案中存在问题,大多数成员都投票通过了这次提案。
(4)攻击者创建了很多个合约来实行代币的转移
(5)攻击者(0x08e80ecb)销毁了提案合约(0xc503893b)和他的创建合约(0x7dc86183)。随后在相同的地址重新部署了攻击合约(0xc503893b)。
(6)修改完提案合约后,攻击者(0x08e80ecb)执行提案并将自己所控制的合约地址的代币锁定量都修改为 10000。
(7)提案执行完成后,攻击者(0x08e80ecb)将代币转移到自己的地址,并获得被攻击合约的所有权。
漏洞分析:由于提案合约(0xc503893b)的创建合约(0x7dc86183)是通过 creat2 进行部署的,所以两个合约销毁之后,在同一地址上可以部署新的逻辑合约,并且提案执行是通过 delegatecall 的形式调用,攻击合约可任意修改被攻击合约中的值。
事件总结:本次事件发生原因是由于社区在检查提案时未能发现提案中存在的风险,并没有认真核实提案合约的代码是否存在安全漏洞。
二、安全建议
针对本次攻击事件,我们在开发过程中应遵循以下注意事项: