月亮链 月亮链
Ctrl+D收藏月亮链

ETH:首发 | DeFi平台Opyn智能合约漏洞详解 攻击者空手套白狼_OPY价格

作者:

时间:1900/1/1 0:00:00

北京时间2020年08月05日,DeFi期权平台Opyn的看跌期权智能合约遭到黑客攻击,损失约37万美元。

Opyn是一个通用期权协议,于今年2月份转型为保险平台,通过oTokens为DeFi平台提供可交易的ETH看跌期权,以此锚定ETH市场价格,为高波动性的DeFi市场提供相对的稳定性。

PeckShield安全团队获悉Opyn平台遭受攻击后,迅速定位到问题关键点在于:

攻击者发现?Opyn智能合约行权接口对接收到的ETH存在某些处理缺陷,其合约并没有对交易者的实时交易额进行检验,使得攻击者可以在一笔对自己发起真实的交易之后,再插入一笔伪装交易得卖方所抵押的数字资产,进而实现空手套白狼。

简单来说,由于OpynETHPut智能合约中的行权函数exercise()没有对交易者的ETH进行实时校验。根据Opyn平台的业务逻辑,看跌期权的买方给卖方转移相应价值的ETH,即可获得卖方抵押的数字资产。狡猾的攻击者,先向自己发起伪装的交易,利用这笔ETH可以重复使用的特性,再次向卖方用户发起转账,进而取卖方已经抵押的数字资产。

LBank蓝贝壳于5月3日20:00首发 CSPR(Casper),开放USDT交易:据官方公告,5月3日20:00,LBank蓝贝壳上线 CSPR(Casper),开放USDT交易,同时并开放充值,资料显示,Casper网络是基于CasperCBC规范构建的第一个实时权益证明区块链。Casper旨在加速当今企业和开发人员对区块链技术的采用,同时确保随着网络参与者需求的发展,其在未来仍能保持高性能。[2021/5/3 21:19:51]

下面为您详细分析漏洞原因及攻击过程。

漏洞详细过程分析

先来说说,Opyn平台的业务逻辑:当用户使用Opyn合约行权即买卖期货时,需要买方向卖方转入相应数量的ETH或者ERC20Token,然后合约将销毁买方对应的oToken,而后买方将获得卖方已经抵押的资产。

首发 | 百度财报体现区块链 BaaS平台成为新战略重点:金色财经报道,2020年2月28日,百度(股票代码BAIDU)公布财报,其中将区块链BaaS平台相关的进展进行了单独叙述,依托于百度智能云的区块链平台有望成为技术创新方向的新增长引擎。在AI服务上,百度与上海浦东发展银行达成合作,共建区块链联盟,在百度区块链服务(BaaS)平台上实现跨行信息验证。[2020/2/28]

例如:小王认为行情进入了下跌趋势,看到Opyn上挂着一个小李对ETH330美元的看跌期权,于是进入交易系统,向小李转账一个ETH,获得小李抵押的等额数字资产。若此刻行情已经跌至了300美元,小王便可获得其中的差价。

图1.exercise()函数中循环执行传入的vaults地址列表

首发 | 蚂蚁矿机S17性能曝光 采用全新散热技术及全局优化定制方案:金色财经讯,日前,比特大陆即将发布的蚂蚁矿机S17性能曝光。据蚂蚁矿机S17产品经理朋友圈称,新品将采用新一代散热技术及全局优化定制方案。据了解,该散热技术可能是指芯片的封装技术,也有可能是机器的散热结构设计。至于S17产品“全局优化定制”方案未有细节透露。有声音评价,这或许是为决战丰水期做出的准备。[2019/3/22]

如上面的合约代码片段所示,行权函数exercise()的内部是一个循环,依据参数中传递的vaultsToExerciseFrom中的地址数量依次调用真正的行权逻辑_exercise()函数。

图2.重用传入合约的ETH来获得抵押资产

首发 | 百度推动246家博物馆线上藏品上链:金色财经讯,近日,百度超级链联合百度百科,基于区块链技术创建 “文博艺术链”,推动百科博物馆计划中的246家博物馆线上藏品上链。基于“文博艺术链”,百度将与博物馆共同推动线上藏品版权的确权与维护,同时探索线上藏品版权数字化交易方式,为合作的博物馆提供更全面的服务和更多的权益。据介绍,此项目将分阶段进行,一期将完成线上藏品的入链确权,为每一件藏品生产专属的版权存证证书。让每一名用户可以在百度百科博物馆计划的PC端和WAP端的藏品页查看证书。后续,百度还将推动AI与区块链技术在文博领域的结合应用,用来保障上链数据与藏品相匹配,为后续进行藏品图像版权数字化交易奠定基础。[2019/1/30]

函数处理ERC20Token时,和大部分的DeFi项目做法一样,使用transferFrom(),如代码1882行所示,从msg.sender转账到address(this)。

但是当函数处理的资产为ETH时,处理的方式就完全不一样了。因为在Solidity中,msg.value的意思是合约调用者在调用具有payable接口时所转给该合约的ETH数量,仅是一个量值,所以在合约代码的1879行中,检查msg.value==amtUnderlyingToPay仅能确保合约确实收到了amtUnderlyingToPay数量的ETH,并不会对msg.value的值造成任何影响。

但是正如上面讲到的在exercise()中会循环调用_exercise()函数,这导致尽管合约实际只收到一次ETH,然而在循环过程中却可以重复使用。

攻击点就在这里,由于合约少了一步对ETH实时数量的检验,使得攻击者可以先伪造一笔指向自己的交易,然后再把已经花掉的本金再次利用,和平台其他用户完成一笔正常交易。

图3.攻击交易分析

在图3中,我们通过Bloxy浏览器显示的调用过程来展示攻击的过程。由于攻击者吃掉了很多笔订单,我们以其中一笔交易为例,向大家展示其攻击逻辑:

1、攻击者先从Uniswap购入了75oETH为进一步调用函数行权做好筹备;2、攻击者创建了一个Vault地址,作为看空期权卖方,并且抵押24,750USDC铸造出75oETH,但并未卖出这些期权,等于自己同时买入了以330的价格卖出75ETH的权利;3、攻击者在Opyn合约中调用了exercise(),在持有150oETH看空期权的情况下,先向自己的Vault地址转入了75个ETH,获得自己事先抵押的24,750个USDC,再重利用了这75个ETH,成功吃掉了另一个用户的24,750个USDC,进而实现非法获利。

修复建议

PeckShield安全团队建议,在Solidity中,合约可使用一个局部变量msgValue来保存所收到ETH。这样,在后续的步骤中通过操作msgValue,就能准确的标记有多少ETH已经被花费,进而避免资产被重复利用。此外,我们还可以使用address(this).balance来检查合约余额来规避msg.value被重复使用的风险。

PeckShield作为业内领先的区块链安全公司,安全业务已覆盖全球范围,主要客户包括有:公链提供商(EOS、Nervos、Harmony、AVA、HBTC、NEO、IOST、Bytom、TRON、OKChain),头部钱包和矿池(imToken、SparkPool、比特派、Cobo金库,VoiceWallet),以及头部交易所(Huobi、KuCoin、Bithumb、Upbit、OKex)、DeFi应用及智能合约等。

近一年内,PeckShield已经接连审计了数十个DeFi项目,帮助DeFi协议做代码安全审计、业务逻辑风控、威胁情报风险预警等等,已经成为服务DeFi领域的头部安全公司。

标签:ETHOPYOpynPYNethbox TokenOPY价格Opyn SqueethOpyn

火必交易所热门资讯
TPS:关于WBF暂停GOS充值业务的公告_SAFEX

尊敬的用户:经与GOS项目方协商后,WBF将于2020年8月5日17:00关闭GOS充币业务,具体恢复时间将以公告另行通知。请您提前做好相应准备,如有任何问题,请联系WBF官方客服.

1900/1/1 0:00:00
COIN:明锦:8.5比特币盘整即将结束,大行情或再次来临_Trexcoin

投资就像开车一样,开车谁也不能保证不会出事故,但是只要我们遵守交通规则,不酒驾不违规,带好刹车控制好风险,我们就可以将事故发生率降到最低,甚至不发生.

1900/1/1 0:00:00
COI:Filecoin强势领跑,去中心化存储正在崛起!_Filecoin

维护成本较高、安全性低、隐私泄漏等问题,使得曾因高效性和高商用性而备受欢迎的中心化存储已经发展到天花板阶段。因此,去中心化存储的出现和发展,是技术发展的必然历程.

1900/1/1 0:00:00
BIKI:关于部分交易对评估及调整的公告(0806)_biking怎么读音发音

尊敬的用户:为了充分保护用户权益,维护健康有序的市场秩序,BiKi平台基于项目的流动性、交易量、项目方运营、用户市场反馈进行评估.

1900/1/1 0:00:00
420:币圈冯博毅:8.5比特币多头烟幕弹、晚间谨慎追多!_BTC

币圈冯博毅:8.5比特币多头烟幕弹、晚间谨慎追多!趋势价值交易,是所有投资者走向盈利的必经之路,没有捷径,也不要心存侥幸.

1900/1/1 0:00:00
OIN:Filecoin主网上线临近:黎明即起,曙光初现_LEC

本文目录:1.交换网络的大历史1.1.人类的大历史1.1.1.平面化的旧石器时代1.1.2.集约型的农耕时代1.1.3.全球化的工业时代1.1.4.数字化的信息时代1.2.

1900/1/1 0:00:00