当前位置:首页 > 报告详情

去中心化应用:DApp安全指南(41页).pdf

上传人: e**** 编号:45454 2021-07-15 41页 1.12MB

1、北京时间 2020 年 08 月 05 日,DeFi 期权平台和保险项目 Opyn 的看跌期权(OpynETH Put)智能合约遭到黑客攻击,损失约 37 万美元。Opyn 是一个通用期权协议,于今年 2 月份转型为保险平台,通过 oTokens 为 DeFi平台提供可交易的 ETH 看跌期权,以此锚定 ETH 市场价格,为高波动性的 DeFi 市场提供相对的稳定性。PeckShield 安全团队获悉 Opyn 平台遭受攻击后,迅速定位到问题关键点在于:攻击者发现 Opyn 智能合约行权(exercise)接口对接收到的 ETH 存在某些处理缺陷,其合约并没有对交易者的实时交易额进行检验,使得

2、攻击者可以在一笔对自己发起真实的交易之后,再插入一笔伪装交易骗得卖方所抵押的数字资产,进而实现空手套白狼。简单来说,由于 Opyn ETH Put 智能合约中的行权函数 exercise() 没有对交易者的ETH 进行实时校验。根据 Opyn 平台的业务逻辑,看跌期权的买方给卖方转移相应价值的 ETH,即可获得卖方抵押的数字资产。狡猾的攻击者,先向自己发起伪装的交易,利用这笔 ETH 可以重复使用的特性,再次向卖方用户发起转账,进而骗取卖方已经抵押的数字资产。下面是 PeckShield 的详细分析:漏洞详细过程分析:先来说说,Opyn 平台的业务逻辑:当用户使用 Opyn 合约行权即买卖期货

3、(exercise)时,需要买方向卖方转入相应数量的 ETH 或者 ERC20 Token,然后合约将销毁买方对应的 oToken,而后买方将获得卖方已经抵押的资产。例如:小王认为行情进入了下跌趋势,看到 Opyn 上挂着一个小李对 ETH 330 美元的看跌期权,于是进入交易系统,向小李转账一个 ETH,获得小李抵押的等额数字资产。若此刻行情已经跌至了 300 美元,小王便可获得其中的差价。但是当函数处理的资产为 ETH 时,处理的方式就完全不一样了。因为在 Solidity中,msg.value 的意思是合约调用者在调用具有 payable 接口时所转给该合约的 ETH数 量 , 仅 是 一 个 量 值 , 所 以 在 合 约 代 码 的 1879 行 中 , 检 查 msg.value =amtUnderlyingToPay 仅能确保合约确实收到了 amtUnderlyingToPay 数量的 ETH,并不会对 msg.value 的值造成任何影响。但是正如上面讲到的在 exercise() 中会循环调用 _exercise() 函数,这导致尽管合约实际只收到一次 ETH,然而在循环过程中却可以重复使用。攻击点就在这里,由于合约少了一步对 ETH 实时数量的检验,使得攻击者可以先伪造一笔指向自己的交易,然后再把已经花掉的本金再次利用,和平台其他用户完成一笔正常交易

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了去中心化应用(DApp)及其安全问题,特别是针对去中心化金融(DeFi)应用的安全性进行了详细分析。文章首先概述了DApp的定义、特点和安全性,指出DApp继承了传统应用的优势,结合区块链的特点,扩展了区块链的应用场景,但同时也面临安全风险。接着,文章详细介绍了DeFi的概念、功能特性、生态堆载和安全问题,指出DeFi利用去中心化协议和智能合约提供金融服务,具有普惠性、可控性、透明性等优点,但同时也存在智能合约安全、通证经济设计安全、监管安全等问题。文章还通过案例分析了DeFi智能合约的安全漏洞,如Opyn的看跌期权智能合约漏洞和波场DeFi项目Myrose的智能合约漏洞,并提出了修复建议。最后,文章提出了DApp安全测试的建议和工具,以及DApp安全最佳实践与案例。
DApp安全攻防有哪些常见手段? DeFi项目如何避免死亡螺旋? Opyn智能合约漏洞的具体原因是什么?
客服
商务合作
小程序
服务号
折叠