年底,是系统高危频发和黑客活跃期,来自比特安数据检测中心最新检测的数据,最近一段时间,去中心化交易平台安全隐患不断,成为安全的雷区,其中 DODO 的 wCRES/USDT V2 资金池被黑客攻击,转走价值近 98 万美元的 wCRES 和近 114 万美元的 USDT成为业内比较突出的案例。

这次合约漏洞的作案手法,我们用一个词来形容:偷天换日!

比特安安全审计中心对此次时事件跟进并分析,下面将细节分析给大家参考。

通过查看本次攻击交易,比特安审计的技术人员发现整个攻击过程非常简单。攻击者先将 FDO 和 FUSDT 转入 wCRES/USDT 资金池中,然后通过资金池合约的 flashLoan 函数借出 wCRES 和 USDT 代币,并对资金池合约进行初始化操作。

那么为何存入 FDO 和 FUSDT 代币却能成功借出 wCRES 和 USDT ,并且初始化资金池合约呢?是因为资金池的闪电贷功能有漏洞吗?

比特安团队通过分析具体代码发现,在进行闪电贷时会先通过 _transferBaseOut 和 _transferQuoteOut 函数将资金转出,然后通过 DVMFlashLoanCall 函数进行具体外部逻辑调用,最后再对合约的资金进行检查。可以发现这是正常闪电贷功能,那么问题只能出在闪电贷时对外部逻辑的执行上。

通过分析闪电贷的外部逻辑调用,可以发现攻击者调用了 wCRES/USDT 资金池合约的 init 函数,并传入了 FDO 地址和 FUSDT 地址对资金池合约进行了初始化操作。

到这里就可以发现资金池合约可以被重新初始化。

通过具体的代码分析得出,资金池合约的初始化函数并没有任何鉴权以及防止重复调用初始化的逻辑,这将导致任何人都可以对资金池合约的初始化函数进行调用并重新初始化合约。至此,比特安团队得出了本次攻击的完整流程:

1、攻击者先创建 FDO 和 FUSDT 两个代币合约,然后向 wCRES/USDT 资金池存入 FDO 和 FUSDT 代币。

2、接下来攻击者调用 wCRES/USDT 资金池合约的 flashLoan 函数进行闪电贷,借出资金池中的 wCRES 与 USDT 代币。

3、由于 wCRES/USDT 资金池合约的 init 函数没有任何鉴权以及防止重复调用初始化的逻辑,攻击者通过闪电贷的外部逻辑执行功能调用了 wCRES/USDT 资金池合约的初始化函数,将资金池合约的代币对由 wCRES/USDT 替换为 FDO/FUSDT。

4、由于资金池代币对被替换为 FDO/FUSDT 且攻击者在攻击开始时就将  FDO 和 FUSDT 代币存入了资金池合约,因最终通过了闪电贷资金归还的余额检查而获利。

本次攻击发生的主要原因在于资金池合约初始化函数没有任何鉴权以及防止重复调用初始化的限制,导致攻击者利用闪电贷将真币借出,然后通过重新对合约初始化将资金池代币对替换为攻击者创建的假币,从而绕过闪电贷资金归还检查将真币收入囊中。

比特安审计中心在此提醒大家,安全无小事,对区块链项目智能合约的代码审计势在必行,一个专业的安全审计团队能够为后期项目的安全进行带来安全保障。如本次dodo被黑事件恰恰是因为底层合约的漏洞造成如此严重的后果,比特安安全团队希望以此警示大家,重视区块链项目的安全审计问题,减少直至杜绝此类安全问题再次发生!

DODO被黑详解:偷天换日相关推荐

  1. python黑帽编程视频_Python黑帽编程 3.4 跨越VLAN详解

    VLAN(Virtual Local Area Network),是基于以太网交互技术构建的虚拟网络,既可以将同一物理网络划分成多个VALN,也可以跨越物理网络障碍,将不同子网中的用户划到同一个VLA ...

  2. 黑猫带你学UFS协议第17篇:全网最全UFS RPMB LU详解(重放保护逻辑单元)

    1 前言 1.1 声明 本文依据UFS3.1 JEDEC协议及个人工作经验整理而成,如有错误请留言. 文章为个人辛苦整理,付费内容,已加入原创侵权保护,禁止私自转载. 文章所在专栏:<黑猫带你学 ...

  3. 详解冬奥冠军背后的AI黑科技

    在北京冬奥会上有一项黑科技引发了广泛的关注,就是英特尔® 3DAT三维运动员追踪技术(3D Athlete Tracking,3DAT).中国速度滑冰队夺取北京冬奥会速度滑冰男子500米比赛金牌并刷新 ...

  4. win7打开仅计算机黑屏,黑屏只剩鼠标指针,详解win7打开电脑黑屏只剩鼠标指针的解决教程...

    今天小编给大家详解win7打开电脑黑屏只剩鼠标指针的解决教程,使用win7系统过程中,开机黑屏是见的故障,当你遇到电脑开机黑屏只剩下鼠标指针的问题时,可参照以下的详细方法进行解决.最近有win7系统用 ...

  5. 黑猫详解【UFS HCI】第1篇:UFSHCI系统框架介绍

    本文依据Unipro1.8/M-PHY4.1/UFSHCI3.0协议及个人工作经验整理而成,如有错误请留言. 文章为个人辛苦整理,付费内容,已加入原创维权,禁止私自转载. 文章所在专栏:<黑猫带 ...

  6. 黑猫带你学UFS协议第11篇:两万字详解UFS协议信息单元(UPIU)

    1 前言 本文依据UFS3.1 JEDEC协议.网络资料及个人工作经验整理而成,如有错误请留言. 文章为个人辛苦整理,付费内容,禁止私自转载. 本文结合UFS3.1 JEDEC协议手册查看效果更佳. ...

  7. 黑猫带你学eMMC协议第11篇:eMMC擦除详解(erase/trim/discard/sanitize/secure erase/secure trim...)

    文/黑猫学长 本文依据eMMC JEDEC5.1及个人工作经验整理而成,如有错误请留言. 文章为个人辛苦整理,付费内容,已加入原创维权,禁止私自转载. 文章所在专栏:<黑猫带你学:eMMC协议详 ...

  8. 如何黑掉一个宇宙?一文带你详解Meterpreter后渗透模块攻击(文末赠送免费资源哦~)

    如何黑掉一个宇宙?一文带你详解Meterpreter后渗透模块攻击(文末赠送免费资源哦~) 文末赠送超级干货哈 一.名词解释 exploit 测试者利用它来攻击一个系统,程序,或服务,以获得开发者意料 ...

  9. 什么是黑帽SEO?20种黑帽手法详解。

    这次小编为大家整理了20种黑帽技术,内容较多也比较全面,导致篇幅过长.为了方便大家阅读,所以将其分成两篇文章分别发布,另一篇文章篇我也会马上发布到主页小伙伴们可以到小编的个人主页查看哦,接下来小编就为 ...

最新文章

  1. 基于cobbler实现自动安装系统
  2. FTP协议常用COMMAND和状态码
  3. 解决: Your ApplicationContext is unlikely to start due to a @ComponentScan of the default
  4. Win10系统鼠标滑轮灵敏度怎么设置
  5. this-is-how-we-troubleshoot-windows-interoperability-issues-in-the-open-specifications-support-team/
  6. VS code 尝试在目标目录创建文件时发生一个错误
  7. python快捷键设置,环境设置、输出print、转义字符、标识符
  8. linux vga 分辨率低,通过 VGA 接口连接显示器时分辨率不正确
  9. 机器学习之多种算法优缺点总结及优化方法
  10. SSD原理解读-从入门到精通
  11. Linux网络命令合集
  12. i++和++i哪个效率高
  13. 嵌入式芯片调试神器-J-Link RTT详解
  14. idea中各种颜色的含义
  15. WEB安全漏洞扫描与处理(下)——安全报告分析和漏洞处理
  16. 工程师思维是什么?芯片工程师要有哪些思维习惯?
  17. 云安全类型及预防方法
  18. 惠普P1100 series “打印机安装失败,未安装打印机”问题解决方法
  19. MeeGo操作系统 华硕Eee PC X101在美上架
  20. windows11 安装vc++6.0

热门文章

  1. Cell Biolabs 脂滴分离提取试剂盒检测原理
  2. 暑期实践Vue7.17
  3. Windows下用批处理修改网络适配器设置
  4. 彼得•德鲁克给中层经理人上的一课
  5. java 后台源码_课程管理系统后台JAVA代码
  6. 高职院校计算机信息管理技术,关于高职计算机信息管理专业人才培养模式探索...
  7. 欧拉函数(详解)-数论
  8. PHP 实现“贴吧神兽”验证码
  9. OpenCv 练习题 霍夫(Hough)变换
  10. 乔布斯为什么成为了改变世界的乔布斯?