BAL:首发 | Sushiswap智能合约安全漏洞事件分析_KEX

北京时间8月28日,CertiK安全研究团队发现sushiswap项目智能合约中存在多个安全漏洞,该漏洞可能被智能合约拥有者利用,允许拥有者进行包括将智能合约账户内的代币在没有授权的情况下取空等操作在内的任意操作。同时该项目智能合约还存在严重的重入攻击漏洞,会导致潜在攻击者的恶意代码被执行多次。

技术步骤:

MasterChief.sol:131https://github.com/sushiswap/sushiswap/blob/master/contracts/MasterChef.sol

BKEX Global将于2020年8月22日10:30上线OMNI:据BKEX Global公告,BKEX Global将于2020年8月22日10:30(UTC+8)上线OMNI(Omni),开放交易对:OMNI/USDT。

OMNI,原名万事达币(Mastercoin)发布于2013年6月24日,万事达币是建立在比特币协议之上的二代币,旨在帮助用户创建和交易加密货币以及其他类型的智能合同。[2020/8/20]

在sushiswap项目智能合约的MasterChief.sol智能合约的131行中,智能合约的拥有者可以有权限来设定上图中migrator变量的值,该值的设定可以决定由哪一个migrator合约的代码来进行后面的操作。

BKEX Global将于今日18:30上线MCB:据BKEX Global公告,BKEX Global将于2020年7月25日18:30(UTC+8)上线MCB(MCDex),开放交易对:MCB/USDT。

MCDEX的使命是让投资更简单,希望基于区块链技术打造安全、易用的去中心化金融平台,让更多的用户以更容易的方式投资DeFi产品并获得收益。[2020/7/25]

MasterChief.sol:136https://github.com/sushiswap/sushiswap/blob/master/contracts/MasterChef.sol

BKEX Global将于6月8日上线LEND:据BKEX Global公告,BKEX Global将于2020年6月8日20:30(UTC+8)上线LEND(ETHLend),开放交易对:LEND/USDT,6月7日15:00开放充值。

ETHLend 基于以太坊来实现去中心化的借贷,通过与法币挂钩以避免数字货币的价格波动,分散了借贷风险并增加了可借贷总量,而基于机器学习的算法也将用于自动风险评估。[2020/6/7]

当migrator的值被确定之后,上图中142行的代码,migrator.migrate(lpToken)也就被随之确定,由migrate的方法是通过IMigratorChef的接口来进行调用的,因此在调用的时候,migrate的方法中的逻辑代码会根据migrator值的不同而变化。

简而言之,如果智能合约拥有者将migrator的值指向一个包含恶意migrate方法代码的智能合约,那么该拥有者可以进行任何其想进行的恶意操作,甚至可能取空所有的账户内的代币。

同时,在上图142行中执行结束migrator.migrate(lpToken)这一行代码后,智能合约拥有者也可以利用重入攻击漏洞,再次重新执行从136行开始的migrate方法或者其他智能合约方法,进行恶意操作。?

当前sushiswap项目创建者表示已经将该项目加入了时间锁定合约的显示,即任意sushiswap项目智能合约拥有者的操作会有48小时的延迟锁定。

该漏洞的启示:

智能合约拥有者不应该拥有无限的权利,必须通过社区监管(governance)来限制智能合约拥有者并确保其不会利用自身优势进行恶意操作;

智能合约代码需要经过严格的安全验证和检查之后,才能够被允许公布。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-3:750ms