技术编程|CertiK:SushiSwap 智能合约漏洞事件分析
文章图片
北京时间8月28日 , CertiK安全研究团队发SushiSwap项目智能合约中存在多个安全漏洞 。该漏洞可能被智能合约拥有者利用 , 允许拥有者进行包括将智能合约账户内的代币在没有授权的情况下取空等操作在内的任意操作 。同时该项目智能合约还存在严重的重入攻击漏洞 , 会导致潜在攻击者的恶意代码被执行多次 。
技术解析
文章图片
MasterChief.sol:131
在SushiSwap项目MasterChief.sol智能合约的131行中 , 智能合约的拥有者可以有权限来设定上图中migrator变量的值 , 该值的设定可以决定由哪一个migrator合约的代码来进行后面的操作 。
文章图片
MasterChief.sol:136 。
当migrator的值被确定之后(如上图中142行代码显示) , migrator.migrate(lpToken)也就可以被随之确定 。由migrate的方法是通过IMigratorChef的接口来进行调用的 , 因此在调用的时候 , migrate的方法中的逻辑代码会根据migrator值的不同而变化 。
简而言之 , 如果智能合约拥有者将migrator的值指向一个包含恶意migrate方法代码的智能合约 , 那么该拥有者可以进行任何其想进行的恶意操作 , 甚至可能取空账户内所有的代币 。
同时 , 在上图142行中migrator.migrate(lpToken)这一行代码执行结束后 , 智能合约拥有者也可以利用重入攻击漏洞 , 再次重新执行从136行开始的migrate方法或者其他智能合约方法 , 进行恶意操作 。
该漏洞的启示(划重点)
·智能合约拥有者不应该拥有无限的权利 , 必须通过社区监管及治理(governance)来限制智能合约拥有者并确保其不会利用自身优势进行恶意操作 。
·智能合约代码需要经过严格的安全验证和检查之后 , 才能够被允许公布 。
当前SushiSwap项目创建者表示 , 已将该项目迁移到时间锁定(Timelock)合约 , 即任意SushiSwap项目智能合约拥
有者的操作会有48小时的延迟锁定 。
【技术编程|CertiK:SushiSwap 智能合约漏洞事件分析】在此CertiK技术团队建议大家在智能合约公布前 , 尽量寻找专业团队做好审计工作 , 以免项目出现漏洞造成损失 。
- 烹饪|锡纸烧烤技术,三款酱料配方是关键,制作好酱料锡纸类菜品轻松做
- 上海嘉定|一项专利技术使车库车位增多10%,开发商们要坐不住了
- 上海市科学技术委员会|关于做好制订因公出国(境)培训中期规划的补充通知
- 闲情居|华为云手机发布,真正的5G手机,绕过光刻机的技术壁垒
- 一味宠爱|最全盘点卡中国脖子的35项技术,折射中国工业水平的真实现状
- 人员|计划到期!立昂技术:部分董事、高管人员累计减持约47万股
- 百辐网:工业互联网公益宣讲片《融合的力量》——新技术助推中小企业转型升级
- 上观新闻|探营2020年服贸会上海主宾市展区技术服务板块
- 遥不可及|DataForce组件技术及功能:数据批量和实时同步
- 人民网|日本大发拟公开招聘意欲发展副业的人才 强化移动服务技术