SushiSwap智能合约漏洞事件分析

2020-08-29 14:33 栏目:经验之谈 来源:网络整理 查看()

最近,《哈利波特与魔法石》的3D版本又回到了热点。我想知道你是否注意到了魔法世界银行——古灵阁,它由妖精监管,从未被盗过。

也许你会想,如果现实世界中有这样一个保存财富的机构就好了。

然而(剧透警报),《哈利波特与死亡圣器》年,从未被入侵的古灵阁世界被盗,——名主角经过在银行工作的妖精,打破了古灵阁从未被盗的记录。

一个高质量的金融体系不仅需要在外部坚不可摧,还需要在内部确保不会因为项目方自己的意愿而窃取客户的财产。

SushiSwap漏洞事件简介

北京时间8月28日,CertiK安全研究小组报告称,SushiSwap项目智能合同存在许多安全漏洞。智能合同所有者可能会利用此漏洞,允许所有者执行任何操作,包括未经授权清空智能合同帐户中的令牌。同时,本项目的智能合同中存在严重的重入攻击,这将导致潜在攻击者的恶意代码被多次执行。

技术分析

SushiSwap智能合约漏洞事件分析

在SushiSwap项目MasterChief.sol智能合同的第131行中,智能合同的所有者可以有权设置上图中迁移器变量的值,该值的设置可以确定哪个迁移器合同代码将执行以下操作。

SushiSwap智能合约漏洞事件分析

在确定了migrator的值之后(如上图所示,有142行代码),可以相应地确定migrator.migrate(lpToken)。迁移方法是通过ImigratorChef接口调用的,因此在调用时,迁移方法中的逻辑代码会根据不同的迁移器值而变化。

简而言之,如果智能合同所有者将迁移器值指向包含恶意迁移方法代码的智能合同,则所有者可以执行他想要的任何恶意操作,甚至可以清空帐户中的所有令牌。

同时,在上图的行142中的行migrator.migrate(lpToken)的执行完成之后,智能合同所有者还可以利用重入攻击漏洞,并从行136开始重新执行迁移方法或其他智能合同方法,以执行恶意操作。

该漏洞的启示(突出显示)

聪明的合同所有者不应该拥有无限的权利,而必须受到社区监督和治理的限制,以确保他们不会利用自己的优势进行恶意操作。

智能合同代码在被允许发布之前需要经过严格的安全验证和检查。

目前,SushHaap的创始人表示,该项目已经迁移到时间锁定合同,也就是说,任何SushHaap项目智能合同所有者的操作将有48小时的延迟锁定。

在此,CertiK技术团队建议我们在智能合同宣布之前,尽最大努力找一个专业的团队来做审计工作,以避免因项目漏洞造成的损失。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发