北京时间8月28日,CertiK安全研究团队发SushiSwap项目智能合约中存在多个安全漏洞。该漏洞可能被智能合约拥有者利用,允许拥有者进行包括将智能合约账户内的代币在没有授权的情况下取空等操作在内的任意操作。同时该项目智能合约还存在严重的重入攻击漏洞,会导致潜在攻击者的恶意代码被执行多次。 技术解析 MasterChief.sol:131 图片来源:https://github.com/sushiswap/sushiswap/blob/master/contracts/MasterChef.sol 在SushiSwap项目MasterChief.sol智能合约的131行中,智能合约的拥有者可以有权限来设定上图中migrator变量的值,该值的设定可以决定由哪一个migrator合约的代码来进行后面的操作。 MasterChief.sol:136 。 图片来源:https://github.com/sushiswap/sushiswap/blob/master/contracts/MasterChef.sol 当migrator的值被确定之后(如上图中142行代码显示),migrator.migrate(lpToken)也就可以被随之确定。由migrate的方法是通过IMigratorChef的接口来进行调用的,因此在调用的时候,migrate的方法中的逻辑代码会根据migrator值的不同而变化。 简而言之,如果智能合约拥有者将migrator的值指向一个包含恶意migrate方法代码的智能合约,那么该拥有者可以进行任何其想进行的恶意操作,甚至可能取空账户内所有的代币。 同时,在上图142行中migrator.migrate(lpToken)这一行代码执行结束后,智能合约拥有者也可以利用重入攻击漏洞,再次重新执行从136行开始的migrate方法或者其他智能合约方法,进行恶意操作。 该漏洞的启示(划重点) 智能合约拥有者不应该拥有无限的权利,必须通过社区监管及治理(governance)来限制智能合约拥有者并确保其不会利用自身优势进行恶意操作。 智能合约代码需要经过严格的安全验证和检查之后,才能够被允许公布。 当前SushiSwap项目创建者表示,已将该项目迁移到时间锁定(Timelock)合约,即任意SushiSwap项目智能合约拥有者的操作会有48小时的延迟锁定。 在此CertiK技术团队建议大家在智能合约公布前,尽量寻找专业团队做好审计工作,以免项目出现漏洞造成损失。 —- 编译者/作者:CertiK中文社区 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
首发|CertiK:SushiSwap智能合约漏洞事件分析
2020-09-02 CertiK中文社区 来源:区块链网络
LOADING...
相关阅读:
- SushiSwap锁仓超10亿美元,“赚钱效应”成DeFi繁荣最大推手,终结狂热的2020-09-02
- ETH行情分析在暴力拉升中寻找100个点的中长线布局2020-09-02
- 9/2BTH昨日晚上成功斩获5个点币友们你跟上了吗2020-09-02
- 刘言秋:金九银十已经吹响号角,短线、中长线布局等你来把握!(附解套2020-09-02
- 安琪策币:9.1ETH短线实时单止盈提醒2020-09-02