近日,3D版《哈利·波特与魔法石》再次成为人们关注的焦点。我不知道你是否注意到,魔法师世界银行,由地精监管,从来没有被盗。
也许你会想,如果现实世界有这样一个保存财富的机构就好了。
然而,在《哈利波特与死亡圣器》中,闻所未闻的古灵阁世界被偷走了——主角们打破了古灵阁从未被银行里的地精偷走的记录。
一个高质量的金融体系不仅需要对外界坚不可摧,还需要确保不存在因项目方意愿而窃取客户财产的可能性。
sushiswap漏洞事件简介
北京时间8月28日消息,certik安全研究团队透露,寿司交换项目智能合约存在多个安全漏洞。智能合约的所有者可能会利用此漏洞进行攻击,该漏洞允许所有者在未经授权的情况下执行任何操作,包括清空智能合约帐户中的代币。同时,该项目的智能合约还存在严重的重入攻击漏洞,可能导致潜在攻击者的恶意代码被多次执行。
技术分析
校长索尔:131
图片来源
https://github.com/sushiswap/sushiswap/blob/master/contracts/MasterChef.SOL
在寿司交换项目中首席执行官.SOL在智能合约的131行中,智能合约的所有者可以设置上图中Migrator变量的值。该值的设置可以确定迁移器契约的哪一个代码将执行以下操作。
**索尔:136。
图片来源
https://github.com/sushiswap/sushiswap/blob/master/contracts/MasterChef.SOL
当Migrator的值被确定时(如上图142行代码所示),migrator.迁移(lptoken)即可确定。migrate方法是通过imigratERChef接口调用的,因此在调用时,migrate方法中的逻辑代码会根据Migrator的值而变化。
简而言之,如果智能合约所有者将Migrator的值指向包含恶意迁移方法代码的智能合约,则所有者可以执行任何他想要的恶意操作,甚至可能清空帐户中的所有代币。
同时,在上面的第142行migrator.迁移(lptoken)在执行这行代码之后,智能合约的所有者还可以利用再入攻击漏洞重新执行migrate方法或其他从136行开始的智能合约方法进行恶意操作。
这个漏洞的启示
智能合约的所有者不应拥有无限的权利。要通过社区监督和治理来约束智能合约的拥有者,确保其不会利用自身优势进行恶意操作。
智能合约代码在发布前需要经过严格的验证和检查。
目前,sushiswap项目的创建者表示该项目已迁移到时间锁定契约,即任何sushiswap项目智能合约的所有者都将拥有48小时延迟锁定。
对此,certik技术团队建议,在智能合约发布前,尽量找专业团队来做审核工作,避免项目漏洞造成损失。
文章标题:sushiswap智能合约漏洞事件分析
文章链接:https://www.btchangqing.cn/96931.html
更新时间:2020年09月03日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。