EXE:区块链安全 | 用户余额无故消失?Opyn ETH Put逻辑漏洞技术分析_CIS

事件简述

8月5日凌晨四点,有用户在opyn论坛反馈自己的账户余额无故消失,并有用户发现可疑的交易信息,如下图所示:

Opyn项目方再对情况初步分析后做出回应表示:已经转移了资金,并正在寻找问题原因

截至发稿前,官方发文回应此次事件:遭到黑客攻击,并已对可能遭受攻击的资产进行转移,但此次漏洞只涉及ETH合约,并不影响其他合约。如下图所示:

Magic Eden在Solana区块链上的NFT市场份额正在迅速下降:金色财经报道,随着不想创作者征收版税的 NFT 交易平台越来越受欢迎,Magic Eden 在 Solana 区块链上的 NFT 市场份额正在迅速下降。去年,Magic Eden 一直是 Solana 上领先的 NFT 市场,迅速占据了 90% 或更多的市场份额,并在 6 月份达到 16 亿美元的估值。但是根据 NFT 市场Tiexo最新编制的数据,Magic Eden 的 Solana 市场份额最近几周有所下降。从数据分析结果来看,截至撰写本文时,其份额从过去六个月的 89% 下降到上个月的 79%,上周下降幅度更大,下降到 61%,过去 24 小时下降到 58%。

MonkeDAO联合创始人兼Frictionless Capital管理合伙人“SOL Legend”解释说:“当熊市来袭时,利润被压缩,NFT 交易所开始抱怨,因为 10% 的特许权使用费严重侵蚀了他们 20% 的利润。Magic Eden 拥有市场主导地位,以至于小众玩家别无选择,只能采用 0% 的创作者费用版税策略来夺取市场份额并将 OTC 交易量重新投入市场。”[2022/10/14 14:27:07]

A股收盘:深证区块链50指数下跌0.85%:金色财经消息,A股收盘,上证指数报3496.33点,收盘下跌0.16%,深证成指报15007.3点,收盘下跌0.65%,深证区块链50指数报3840.56点,收盘下跌0.85%。区块链板块收盘下跌1.43%,数字货币板块收盘下跌1.69%。[2021/2/5 18:59:03]

成都链安-安全实验室第一时间对本次事件进行跟踪分析,以下是态势感知系统检测盗的攻击者合约地址:

0xe7870231992ab4b1a01814fa0a599115fe94203f

0xb837531bf4eb8ebfa3e20948bd14be067c18cbd3

0xb72e60ea1d0c04605f406c158dce9ac6ae6d224c

政协委员蔡秀军:未来区块链和医疗会有非常好的结合点:全国政协委员、邵逸夫医院院长蔡秀军表示,未来,人工智能、区块链和医疗会有非常好的结合点,我们也正在结合一线实际,希望进行原创性的探索创新,这将有效拓展医疗服务空间,为广大患者就医提供更多便利。(科技日报)[2020/5/21]

攻击者攻击方式还原:

攻击者调用合约向合约发送n个USDC增加抵押,并得到合约币oETH

攻击者调用合约发送ETH进行抵押,并销毁oETH以赎回自己的USDC

攻击者赎回自己抵押的ETH。

如下图所示:

动态 | 韩国区块链研究教育院聘请币核巨建华担任特别顾问:12月17日,韩国区块链研究教育院聘请币核科技Bluehelix创始人兼CEO巨建华作为特别顾问。该院获得了韩国科学技术情报通信部的认证授权,目前仅聘请了五位区块链行业专业人士作为特别顾问,巨建华是今年受聘的唯一一位顾问。此前,巨建华曾受邀成为韩国江原道区块链委员会八位顾问委员之一,协助政府制定用区块链技术赋能江原道实体经济的相关政策。[2019/12/18]

在步骤二中,攻击者调用exercise函数,并向其传递了两个地址A、B和两倍自己应得的USDC,程序正常执行,这导致地址B的资金受损。

技术分析

以交易0x56de6c4bd906ee0c067a332e64966db8b1e866c7965c044163a503de6ee6552a为例,攻击者通过合约0xe7870231992ab4b1a01814fa0a599115fe94203f对合约0x951D51bAeFb72319d9FBE941E1615938d89ABfe2发动攻击,此笔交易中共获利$9907。如下图所示:

区块链概念股卫士通涨停:区块链概念股卫士通(002268)今日收盘涨停。据悉,近日卫士通发布公告:卫士云将成为国内第一个以国产密码为核心、符合国家等级保护和密码应用要求的一体化高安全云,目前正处于区块链前期技术储备阶段。[2018/3/12]

攻击者首先调用了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,只是简单的验证了地址是否可以赎回。属于代码层的逻辑漏洞,并且根据官方回复,此合约是经过安全审计的。成都链安在此提醒各项目方:

项目上线前应当进行足够有效的安全审计,最好是多方审计

对于合约的应当设置暂停合约交易等功能,在发生安全事件时,可以以保证资金安全

安全是一个持续的过程,绝非一次审计就能保平安,与第三方安全公司建立长期的合作至关重要

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

大币网

[0:31ms0-5:592ms