火星链 火星链
Ctrl+D收藏火星链
首页 > Gateio > 正文

DEFI:DeFi平台Opyn智能合约漏洞详解:攻击者空手套白狼

作者:

时间: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可以重复使用的特性,再次向卖方用户发起转账,进而取卖方已经抵押的数字资产。下面为您详细分析漏洞原因及攻击过程。漏洞详细过程分析

DeFi协议组合工具Starcombo将支持Alpha Road Finance:6月4日消息,基于StarkNet的DeFi协议组合工具Starcombo近日发布更新,包括即将支持DeFi平台Alpha Road Finance、提供详细的交易历史记录。[2022/6/5 4:02:48]

先来说说,Opyn平台的业务逻辑:当用户使用Opyn合约行权即买卖期货时,需要买方向卖方转入相应数量的ETH或者ERC20Token,然后合约将销毁买方对应的oToken,而后买方将获得卖方已经抵押的资产。例如:小王认为行情进入了下跌趋势,看到Opyn上挂着一个小李对ETH330美元的看跌期权,于是进入交易系统,向小李转账一个ETH,获得小李抵押的等额数字资产。若此刻行情已经跌至了300美元,小王便可获得其中的差价。

Oasis协议增加Shyft网络以吸引机构加入DeFi:公共区块链Oasis宣布已经与关注合规的Shyft网络合作,旨在创建更加私密和可扩展的去中心化金融(DeFi)版本。合作伙伴关系将利用Shyft的身份系统来实施反(AML)限制。(Coindesk)[2021/1/8 16:40:52]

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

OKEx DeFi播报:DeFi总市值168.5亿美元,OKEx平台DHT领涨:据OKEx统计,DeFi项目当前总市值为168.5亿美元,总锁仓量为174.9亿美元;行情方面,今日DeFi代币普涨,OKEx平台DeFi币种涨幅前三位分别是DHT、BOX、SUN;截至17:30,OKEx平台热门DeFi币种如下。[2020/11/24 21:57:56]

图2.重用传入合约的ETH来获得抵押资产函数处理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实时数量的检验,使得攻击者可以先伪造一笔指向自己的交易,然后再把已经花掉的本金再次利用,和平台其他用户完成一笔正常交易。

调查:DeFi交易员并不致力于使用以太坊:去中心化交易聚合器dex.blue最近对用户进行调查,“加密交易者并不像很多人想象的那样对以太坊情有独钟。你的立场是什么?‘我是以太坊的信徒,V神是我的上帝’或‘如果有必要,我会立刻改变区块链’。在1-10分制中,以太坊的平均分数只有5.5分。”这表明,DeFi交易员并不致力于使用以太坊。[2020/8/6]

图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被重复使用的风险。

标签:ETHEFIDEFDEFIethnographyofspeakingInfiniityDeFi99DEFI.NETWORKDeFi Degen Land

Gateio热门资讯
加密货币:比特币对接美国银行,「圈外人」敲门?

上周,推特上的数字货币爱好者们再次「炸锅」。当地时间7月22日,美国货币监理署高级副审计长兼高级法律顾问JonathanGould表示,根据他们的结论,银行可以为客户提供数字货币托管服务,包括持.

1900/1/1 0:00:00
YFI:最佳治理实践?一文读懂YFI运行机制

编者按:本文来自加密谷Live,作者:MarketResearch,翻译:Liam,Odaily星球日报经授权转载.

1900/1/1 0:00:00
OPEN:防不胜防,资金盘推广无底线:办卡、兼职,身边竟然全是坑

前几天,高考刚刚结束,鉴叔的侄子也刚考完开始浪。但是没想到,刚高中毕业就碰到了社会的第一次打.

1900/1/1 0:00:00
COIN:CoinHolmes:7月各国加码AML反政策,推特被黑赃款部分流入Coinbase交易所

编者按:据数字资产可视化追踪平台CoinHolmes反态势感知平台观察发现,过去一个月全球各国开始加大AML反政策监管要求,FATF通过会议进一步推进对VASP的监管.

1900/1/1 0:00:00
以太坊:D1 Ventures:简析以太坊Layer 2方案与DeFi扩容选择

编者按:本文来自链闻ChainNews,星球日报经授权发布。撰文:D1Ventures,专注于原生区块链领域的风险投资机构,通过提供全球化的市场洞察、构建跨市场的流动性、提供战略咨询和Meme传.

1900/1/1 0:00:00
CIS:成都链安:Opyn ETH Put逻辑漏洞技术分析

事件简述8月5日凌晨四点,有用户在opyn论坛反馈自己的账户余额无故消失,并有用户发现可疑的交易信息,如下图所示: Opyn项目方再对情况初步分析后做出回应表示:已经转移了资金.

1900/1/1 0:00:00