比特币价格·比特币行情
Ctrl+D收藏简单区块链

首发 | CertiK:Yearn.finance新项目Eminence攻击事件漏洞分析

作者:

时间:2020/12/12 20:07:53

北京时间9月29日,CertiK安全研究团队发现Yearn.finance的新项目Eminence.finance出现异常交易。有三笔共计价值约1.09亿人民币的资金,被从Eminence智能合约中转出,地址为:0x5ade7ae8660293f2ebfcefaba91d141d72d221e8。CertiK安全研究团队认为该事件是攻击者使用脚本程序,通过闪电贷flashloan借得初始资金,利用Eminence项目中的联合曲线(Bonding Curve)模型,反复购买出售EMN和eAAVE来获得收益。

以下分析以:

https://etherscan.io/tx/0x3503253131644dd9f52802d071de74e456570374d586ddd640159cf6fb9b8ad8为例子,该笔交易流程图如下:

在该笔交易中,攻击者首先通过Uniswap中的闪电贷(Flash Loan)服务借得1500万个DAI, 然后全部购买EMN代币,共购得约1,383,650,487个EMN代币。

其中一半EMN,共约691,825,243个EMN代币, 通过OP0步骤用于购买eAAVE代币,共获得约572,431个eAAVE代币。

到当前为止,攻击者共持有1,383,650,487-691,825,243 = 691,825,244个EMN和572,431个eAAVE代币。 

接下来攻击者的脚本继续执行了OP0, OP1, OP2, OP3, OP4共5个内部交易(Internal Transactions),该5个内部交易产生的影响如下表:

从OP4售出的DAI总数目为16,673,637,比攻击者通过闪电贷借得的DAI总数目1500万个要多出近170万。造成以上结果的原因是:在OP0使用EMN购买eAAVE的过程中,EminenceCurrency.sol 智能合约第231行中claim函数被调用,随后第233行的_burn函数将用于交易的691,825,243个EMN进行了燃烧:

然而在下图_burn函数的定义中我们可以看到,仅仅只有EMN代币的数目被燃烧掉,而其对应的DAI数目并没有改变。这就造成了一个问题:EMN和DAI的比率由于EMN数目的减少,造成了DAI相对价格的降低,因此采用同样数目的EMN去购买DAI,可以获得的DAI数目更多。

因此,当OP0完成后,EMN数目对DAI数目比率下降。攻击者通过OP1将剩余的一般EMN兑换成DAI,由于此时DAI相对价格低,因此购入的DAI数目相比正常情况多。

完成OP1后,攻击者将持有的eAAVE通过OP2,OP3兑换回EMN,然后兑换到DAI。最终,当进行OP4之前,攻击者持有的DAI数目会高于从Uniswap中借得的数目。

至此,攻击者通过漏洞完成一次获利。

攻击者在同一次交易中重复三次利用了该漏洞。每次到达OP4时,会将获利后总共的DAI再次利用,进行攻击行为。当完成全部三次后,攻击者偿还了Uniswap的借款,将该次交易获利发送至其地址:

0x223034edbe95823c1160c16f26e3000315171ca9

攻击者总计执行了3次交易,交易地址如下:

第一次:

0x3503253131644dd9f52802d071de74e456570374d586ddd640159cf6fb9b8ad8

第二次:

0x045b60411af18114f1986957a41296ba2a97ccff75a9b38af818800ea9da0b2a

第三次:

0x4f0f495dbcb58b452f268b9149a418524e43b13b55e780673c10b3b755340317

该事件是一个典型的由于逻辑设计与实际智能合约代码实现不符而造成安全漏洞的案例。而且项目上线前,尚未经过安全审计。对于该种类型漏洞,传统的测试方法与测试工具均无法检查出该种逻辑漏洞。

因此,CertiK提出以下建议:

当前DeFi项目热潮持续不减,很多项目为了抓住热点与机遇,在未经严格测试和审计的情况下便匆忙上线。这些项目中,大部分的漏洞是无法通过常见的测试方法和工具来发现的。只有寻找专业的审计专家进行严谨的数学模型证明,才可以发现该漏洞。

安全审计现在已经是高质量DeFi项目的标配。若项目没有被审计,对于用户来说,投资行为则要格外慎重;对于项目方来说,则需要找专业并且声誉好的审计公司进行审计。若项目被审计过,则需尽量了解审计公司背景以及其审计报告中的各项指标,其中包括但不限于:

安全审计的范围,方法,及结论

合约是否有漏洞或者安全隐患?如果有,需要了解这些问题的严重程度及可能影响

合约整体的代码质量

审计公司的专业性和独立性

到当前为止,攻击者共持有1,383,650,487-691,825,243 = 691,825,244个EMN和572,431个eAAVE代币。 

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

首发 | 火币集团全球业务副总裁:监管将决定区块链技术和加密货币的落地速度:1月21日,火币集团全球业务副总裁Ciara Sun在达沃斯世界经济论坛上表示,对区块链和数字货币的监管态度,2019年是重要的一年。在美国,到2019年底,针对加密货币和区块链政策有21项法案,这些法案包括税收问题,监管结构,跟踪功能和ETF批准,哪些联邦机构监管数字资产等。欧盟(EU)在2020年1月10日实施了一项新法律,要求加密货币平台采取更严格的反做法。瑞士,日本,立陶宛,马耳他和墨西哥通过法律,要求交易所必须根据KYC和AML准则获得许可。中国,土耳其,泰国等国家正在计划自己的中央银行数字货币(CBDC)。而监管将决定区块链技术和加密货币的落地速度。[2020/1/22]

动态 | 可信教育数字身份在广州白云区首发 采用区块链等技术:12月25日,可信教育数字身份(教育卡)广东省应用试点首发仪式与应用研讨在广州市白云区举行。 \n据介绍,可信教育数字身份融合采用国产密码、区块链等核心技术,创新签发“云计算、边缘计算、移动计算”网络环境下的一体化数字身份,实现一体化密钥管理,构建“可信教育身份链”。(中国新闻网)[2019/12/25]

标签:

区块链热门资讯
火币推出生态链Heco 助力开发者成长的每个阶段

12月10日,火币全球站发布官方公告,为帮助开发者灵活高效地搭建去中心化应用,火币宣布正式推出生态链 Huobi ECO Chain (以下简称为“Heco”)。与此同时,Heco测试环境也在12月10日上线。

2020/12/12 20:08:07
金色硬核 | BTC价格真由华尔街推动吗?从小时数据看

金色财经近期推出金色硬核(Hardcore)栏目,为读者提供热门项目介绍或者深度解读。近期很多投资者认为是这一轮比特币牛市是华尔街机构牛。Coin Metrics最新文章用华尔街开市和休市期间比特币价格的小时数据检视了这一观点。

2020/12/12 20:08:03
首发 | 区块链硬核解析(一):区块链是一种共享数据库?

这几年,学术和产业界对区块链的理解和应用产生了大量误区,本人也在过去的文章中逐步澄清和重新定义。不过,总觉得意犹未尽,没有专门立题成章。最近由于正在设计分布式产业协作模型,每到区块链技术运用精妙之处,觉得需要有系列文章来逐一解释这些误解。希望通过本人的反复倡导,可以为区块链产业运用提供更多的方案和定义。

2020/12/12 20:07:57
首发 | Mercurity.finance智能合约安全漏洞分析

今年美国大选虽说有了广泛意义上的尘埃落定,但竞选结果并未明确。 如今拜登团队宣布胜选,美国媒体纷纷宣布拜登当选下届美国总统。而另一方面,川普拒绝接受败选结果,他持续进行计票,并宣称要采取法律行动。 造成如今这个混乱结果的首要原因在于美国没有设立独立的对大选事务具有权力的权威性的选举委员会,在默认情况下,是新闻机构承担了这个角色。

2020/12/12 20:07:48
首发 | Text.finance智能合约安全漏洞分析

北京时间11月12日,CertiK安全研究团队发现DeFi项目text.finance智能合约代码部分存在安全漏洞。 分析之前,先考考大家的眼力,看看下图里面的文字说了什么。 如果看不清,不妨点击图片后把屏幕亮度调至最高。 有的时候,某些不想让你看到的因素,正是通过排版或者这样的方式,被刻意隐藏了起来。 接下来说说该项目中存在的两处漏洞。

2020/12/12 20:07:42
首发 | Keep3r项目中心化风险漏洞分析

北京时间2020年11月20日, Telegram社群出现某些截图声称Keep3rLink接受了CertiK的审计服务。 在此,CertiK郑重声明:CertiK团队从未对 "Keep3rLink" 项目进行过任何审计。 同日,CertiK安全研究团队发现Keep3r项目存在中心化安全风险。

2020/12/12 20:07:36