截至发稿前,官方发文回应此次事件:遭到黑客攻击,并已对可能遭受攻击的资产进行转移,但此次漏洞只涉及ETH合约,并不影响其他合约。
​​
-安全实验室第一时间对本次事件进行跟踪分析,以下是态势感知系统检测盗的攻击者合约地址:

0xe7870231992ab4b1a01814fa0a599115fe94203f

0xb837531bf4eb8ebfa3e20948bd14be067c18cbd3

0xb72e60ea1d0c04605f406c158dce9ac6ae6d224c

攻击者攻击方式还原:

攻击者调用合约向合约发送n个USDC增加抵押,并得到合约币oETH
攻击者调用合约发送ETH进行抵押,并销毁oETH以赎回自己的USDC
攻击者赎回自己抵押的ETH。
在步骤二中,攻击者调用exercise函数,并向其传递了两个地址A(攻击者自己地址)、B(他人未赎回USDC的地址)和两倍自己应得的USDC,程序正常执行,这导致地址B的资金受损。
技术分析
以交易0x56de6c4bd906ee0c067a332e64966db8b1e866c7965c044163a503de6ee6552a为例,攻击者通过合约0xe7870231992ab4b1a01814fa0a599115fe94203f对合约0x951D51bAeFb72319d9FBE941E1615938d89ABfe2发动攻击,此笔交易中共获利$9907。

攻击者首先调用了addERC20CollateralOption函数,向合约中发送了9900个USDC。

此函数中的addERC20Collateral(msg.sender, amtCollateral);负责代理转账USDC;函数中的issueOTokens(amtToCreate, receiver);负责铸币oETH,此笔交易铸币30个oETH并发送给了攻击者。

在此完成后,攻击者的vault参数进行了变化。vault.oTokensIssued和vault.collateral分别更新300000000和9900000000

然后攻击者开始将oETH兑换出来。

调用exercise,构造参数oTokensToExercise为60,vaultsToExerciseFrom为两个地址,其中一个是也满足条件的他人地址。

Exercise函数运行_exercise(vault.oTokensIssued, vaultOwner);分支,将30oETH相应比例的USDC发送给调用者

我们可以注意到,在最终转账时,_exercise是将USDC转给了msg.sender,也就是攻击者。

我们回头看exercise中存在者for循环,攻击者输入的oTokensToExercise为60,所以合约再验证了第二个地址符合条件的情况下,依旧会将余额转给msg.sender,也就是攻击者。这就使得攻击者可以获得两次USDC,从而获得利润。

总结建议

此次事件攻击者利用了exercise函数的逻辑缺陷。此函数在进行最后转账前并未验证调用者是否有权限赎回此地址的USDC,只是简单的验证了地址是否可以赎回。

项目上线前应当进行足够有效的安全审计,最好是多方审计
对于合约的应当设置暂停合约交易等功能,在发生安全事件时,可以以保证资金安全安全是一个持续的过程,绝非一次审计就能保平安,与第三方安全公司建立长期的合作至关重要。

喜欢我的朋友可以关注我下,我会持续给大家分享更多有用的干货。

区块链Opyn ETH Put逻辑漏洞技术分析相关推荐

  1. 技术工坊|解密区块链DApp的代码逻辑,从请求到数据存储都要经历什么?(上海)...

    请求-调用-执行-存储,不论是网站还是APP,这是从代码到应用的运行逻辑,那么区块链世界的Dapp应用是否也会执行这套逻辑?Dapp的代码逻辑与传统app有什么不同? 6月20日,由HiBlock区块 ...

  2. 在线诉讼区块链证据规则的理论逻辑与制度体系

    随着区块链技术与司法的融合不断深入,"通过区块链技术存储的电子数据"(以下简称"区块链证据")已经越来越多地出现在司法实践特别是在线诉讼中.为了构建明确统一的制 ...

  3. 区块链应用 | 直击“区块链”:概念火爆背后 是技术还是利益在驱动?

    币圈一日,人间一年. 由比特币引起的投资热潮让投机者们趋之若鹜,在经过了两天的狂跌之后,包括比特币在内的主要数字加密货币价格近日再次反弹,其中比特币价格再次破10000美元大关. 有如过山车般的涨落颇 ...

  4. 元宇宙临近,区块链成为新世代的底层技术的脉络越发清晰

    当元宇宙的脚步越来越近,区块链成为新世代的底层技术的脉络便越来越清晰.对此,可能有人并不认同,按照他们的理解,所谓的元宇宙应当是一个有诸多技术复合的存在,而不仅仅只是一个以区块链为底色的存在,区块链同 ...

  5. 人工智能大数据与区块链联合在线实验室基础装修技术要求

    人工智能大数据与区块链联合在线实验室基础装修技术要求 实验室教学基础环境为打造先进的多媒体大数据人工智能与区块链实验室与良好的智能化学习环境,需要对以下强弱电系统进行基础架构,尽量做到铺设完整性确保以 ...

  6. 区块链笔记:区块链概念、相关对比、技术特点、CAP定理、FLP定理、价值网络

    什么是区块链 对于区块链这个技术名词出现在很多文章里面,有很多解释.站在技术角度来说,它是指一种数据的记录格式,任何系统都要记录数据,区块链对于其他的数据库或者工具有什么不一样的地方呢? 记录数据的方 ...

  7. 区块链、通证与供应链风险管理适应性分析研究

    ↯ 摘要 本文转载自<国际金融杂志>,原作者: ◎郭为民  朱大磊  奚士佳  吴朋澔 业界普遍认为,区块链可以有效提升供应链管理的效率以及信息交互的真实性和有效性,在供应链领域具有非常广 ...

  8. 绿盟科技发布OpenSSL高危漏洞技术分析与防护方案 G20成员国美国、中国、德国受影响较大...

    近日,OpenSSL官方发布了版本更新,修复了多个OpenSSL漏洞,这次更新所修复的漏洞中,有两个危害等级较高的为CVE-2016-6304和CVE-2016-6305.绿盟科技对此漏洞进行了技术分 ...

  9. 【推荐】2022年区块链行业研究报告投资策略产业发展前景市场行情分析(附件中为网盘地址,报告持续更新)

    [推荐]2022年区块链行业研究报告投资策略产业发展前景市场行情分析(附件中为网盘地址,报告持续更新),每月至少更新一次. 下载地址:https://download.csdn.net/downloa ...

最新文章

  1. iOS ERROR ITMS - 打包上传报错整理
  2. python爬百度翻译-python爬虫实现百度翻译
  3. 基于matlab的点云重建与三角剖分
  4. BNUOJ 4067 美丽的花环 (几何题)
  5. 简述:B2B、B2C、C2C、O2O
  6. 街篮混服服务器信息,街篮手游闻鸡起舞服务器火爆开启
  7. 高通全系列手机处理器深度解析 (升级选手机必备)附参数对比表
  8. 【例题+习题】【数值计算方法复习】【湘潭大学】(一)
  9. AI + 3D!英伟达开源3D深度学习框架Kaolin
  10. angular中如何定义全局变量_如何在Angular 2 / Typescript中声明全局变量?
  11. 高中计算机室名言,高中班级激励格言
  12. WordPress前台后台页面打开慢的解决方法
  13. 学习、使用Echar
  14. 老司机的HCIE战报
  15. 购物车结算页面案例jQuery
  16. linux 开启rsh权限,开启rsh服务
  17. ZYNQ_MPSoC启动
  18. 国标PS流解包(解封装)代码
  19. 组网胖模式_胖瘦AP组网优劣对比
  20. algebraic reconstruction technique (ART)算法

热门文章

  1. CROC 2016 - Elimination Round (Rated Unofficial Edition) B. Mischievous Mess Makers 贪心
  2. java毕业设计京津冀景区网上导游系统Mybatis+系统+数据库+调试部署
  3. python职工工资管理系统课程设计_Python3实现的简单工资管理系统示例
  4. 为何政企偏爱阿里云混合云?这三张王牌是关键
  5. 求解车流量之线性方程组
  6. 查查吧学区房三维地图
  7. 收藏|正确认识丰田精益生产方式
  8. 主题:Django资源大全
  9. 单体药店计算机权限划分,单体药店管理系统解决方案
  10. Redis(二十四)-秒杀案例之库存遗留问题解决