宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 区块链 > 正文

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

派盾:3月约20起DeFi攻击事件中共损失6.996亿美元:金色财经消息,派盾发推称,2022年3月,大约20起DeFi攻击事件共造成6.996亿美元损失,其中包括Ronin黑客攻击事件。[2022/4/2 14:00:51]

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

金融科技公司Current将与Acala的DeFi Hub集成:Current宣布与Acala建立合作伙伴关系,Acala是一个基于波卡的去中心化金融平台。Current.com将与Acala的DeFi Hub集成,利用专有技术在Polkadot生态系统中构建基础架构。该合作伙伴关系是同类中的第一个,它建立了一个新的类别混合金融(HyFi),将传统和DeFi应用程序结合在一起。Current将运行其自己的基础结构,并加入Polkadot网络上设置的活动验证器。与Acala的集成直接内置在Current的专有核心银行平台Current Core中,该平台旨在将闭环法定货币系统桥接到开放平台。这将加速HyFi基础设施的开发,该基础设施旨在为Current的近300万成员提供价值。(CoinDesk)[2021/5/18 22:16:31]

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

分析师:2021年值得关注的十大加密货币包括Uniswap等DeFi项目:加密货币交易员、分析师、YouTube播主Nicholas Merten公布2021年值得关注的十大加密货币名单。DeFi项目占据榜单,包括Uniswap、DeFi Money Market、Hegix等;以太坊成为今年最值得押注的加密货币。Merten预测,到2022年以太坊价格将达到1万-1.25万美元。(Crypto News Flash)[2021/1/3 16:19:26]

CFTC主席:DeFi理念是革命性的,或降低系统性风险:金色财经报道,美国商品期货交易委员会(CFTC)主席Heath Tarbert周三在活动中讨论了以太坊、DeFi及BitMEX。Tarbert表示,DeFi的整个理念首先是革命性的,且他认为最终可能导致金融系统和传统参与者大规模的非中介化。最后,DeFi甚至可能在某种程度上降低系统性风险,因为我们没有将金融体系集中在这些全球性的、具有系统重要性的大型机构中。Tarbert预计这种转变不会立即发生,可能需要“数十年之久”。对于涉及DeFi项目或由DeFi项目发行的资产如何适用于证券或商品法,Tarbert没有给出明确的回答,指出这可能取决于数字合约的用途和代币的分配方式。对于针对BitMEX的执法行动,Tarbert表示:“我们希望创造一个环境,使数字资产交易的创新者可以在美国成长,他们可以到CFTC这样的地方获得许可证,他们可以从我们的监管制度中获益。我们不希望看到的是那些藐视美国法律的离岸交易所。”Tarbert称,CFTC有“义务”追踪不合规的交易所。当被问及该机构是否也在关注其他平台时,他回答说:“我觉得可能。”[2020/10/15]

图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实时数量的检验,使得攻击者可以先伪造一笔指向自己的交易,然后再把已经花掉的本金再次利用,和平台其他用户完成一笔正常交易。

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

标签:ETHDEFIDEFEFIeth价格今日行情多少DOGDEFI价格比特令牌币defi3.0DEFI100Farm Token

区块链热门资讯
秘乐短视频或被立案调查,公司资金遭冻结,用户提现无门

编者按:本文来自DeepChain深链,作者:石岩,Odaily星球日报经授权转载。只要是资金盘总有崩盘的那天。趣步被立案调查之后,同样披着“区块链”外衣的秘乐短视频目前也面临着同样的“窘况”.

1900/1/1 0:00:00
传嘉楠联合创始人刘向富转投美国挖矿网红Layer1?其实被伪造信息

吴说区块链独家获悉,疑似美国挖矿网红公司Layer1近期一份提供给投资人的商业计划书曝光,传闻上百个投资者接到了这份商业计划书.

1900/1/1 0:00:00
价格跌了,币也莫名变少?为什么钱包里的AMPL数量每天都在变?

编者按:本文来自知矿大学,Odaily星球日报经授权转载。上周,矿矿在微博上分享了“亏了又亏,亏上加亏”是什么样的体验,讲述用ETH兑换时下非常热门的DeFi代币AMPL后,遇上ETH上涨、AMPL价格腰斩并数量通缩的“戴维斯三杀”故.

1900/1/1 0:00:00
本轮DeFi行情是矿工的阴谋?

“强烈怀疑这次DeFi行情是矿工的阴谋”,数字货币资深玩家刘明在朋友圈打趣。矿工无疑是这次DeFi的最终赢家。Glassnode和Etherscan数据显示,以太坊全网算力达到20个月以来的新高.

1900/1/1 0:00:00
机构FOMO?芝商所BTC期货未平仓金额达8.41亿美元创新高

编者按:本文来自区块律动BlockBeats,Odaily星球日报经授权转载。8月12日,芝加哥商业交易所比特币(BTC)期货未平仓价达到8.41亿美元,创历史新高。进一步突显出机构投资者对比特币日益增长的兴趣.

1900/1/1 0:00:00
详解火热的DeFi保险NXM,真能成为加密世界的中国平安?

DeFi发展火热,而随着DeFi的火热发展,对于DeFi保险的需求也快速增加,因为很明显使用DeFi产品是一项高风险行为,为资金购买一份保险是明智之举.

1900/1/1 0:00:00