独家 | Fairyproof Tech:代币合约不匹配 Cream Finance遭二次攻击

Cream Finance是DeFi领域的知名去中心化借贷协议。项目方在业内首先推出了白名单机制的Ion Bank借贷机制。这一创新一方面为DeFi借贷提供了更为便捷的工具,另一方面也为黑客攻击创造了条件。

在今年2月13日,Cream Finance就因为其Ion Bank被黑客利用并辅以闪电贷工具遭到攻击。时隔半年,在8月30日,Cream Finance再次遭到闪电贷攻击。

本次攻击是因为项目中的APM代币合约与借贷合约的cToken合约不适配造成重入漏洞,被黑客利用。

在本次攻击中,攻击者的地址为:0xce1f4b4f17224ec6df16eeb1e3e5321c54ff6ede。

攻击合约的地址为:0x38c40427efbAAe566407e4CdE2A91947dF0bD22B。

独家 | BTC 24h 链上交易量下降15.88%:金色财经报道,据欧科云链OKLink数据显示,BTC 24h链上活跃地址数总计950711,较前日下降1.22% ;链上交易量总计414212.45 BTC,较前日下降15.88% ;链上交易笔数总计287714,较前日下降3.53% ;BTC链上活跃度下降。

截至上午10时,BTC全网算力约为120.93EH/s,较前日下降2.06EH/s,全网算力呈下降趋势。[2020/8/3]

被攻击的合约有两个,合约及地址分别为:

APM token合约:0xff20817765cb7f73d4bde2e66e067e58d11095c2

cToken合约:0xd06527d5e56a3495252a528c4987003b712860ee

独家 | 金色财经2月26日挖矿收益数据播报:金色财经报道,据印比特数据显示,按照BTC参考价格64800元、电价0.38元/kWh计算,当前在售主流BTC矿机的市场价格及回本周期为:神马M20S-68T(全新现货12200元,285天回本)、芯动T3+-57T(全新现货9500元,330天回本)、阿瓦隆1066-50T(全新现货6100元,252天回本)、蚂蚁S17+-67T(3月份期货12800元,272天回本)。[2020/2/26]

我们先看cToken合约中出现漏洞的代码片段:

上面的代码所实现的逻辑是在转账完成之后,才修改借贷额度状态accountBorrows。

独家 | 火币集团全球业务副总裁:区块链社区之前是中心化和监管的对立面:1月21日,火币集团全球业务副总裁Ciara Sun在达沃斯世界经济论坛上表示,2019年,政府和传统企业普遍有了共识,区块链技术可以为各行业和场景的业务提供基于技术的解决方案。德勤(Deloitte)一项调查显示,超过50%的受访者将区块链技术视为其所在机构在2019年的关键优先项。JP Morgan和CME等传统巨头以及Facebook和IBM等技术巨头的参与推动了落地步伐。

区块链社区之前是中心化和监管的对立面,现已转向致力于将区块链技术的优势整合到金融技术中的可信行业。[2020/1/22]

这是一个典型的竞态问题。

代码中的doTransferOut函数最终会调用标的代币(underling token)合约的transfer函数,在此之后再对与标的代币关联的cToken合约的状态进行修改。

独家 | 武景刚:区块链创业团队应该备好资金,准备“过冬”:清华-青岛大数据工程研究中心区块链物联网实验室主任武景刚在接受金色财经独家采访时表示:以互联网技术为例,分为‘前互联网时代’和‘后互联网时代’。前者是各大公司拼技术拼商业模型的阶段,后者是拼运营、资本、资源的阶段。区块链技术目前处于前期阶段,各团队、项目都在拼技术,探讨TPS等性能的发展。在新一轮的监管来看,监管政策指向并没有针对区块链技术,主要是集中在对发币融资定性为非法集资。对于区块链创业团队而言,目前应该充沛资金,准备好“过冬”。[2018/9/24]

通常cToken对应的标的代币合约都是标准的ERC-20代币合约,这类标准的ERC-20代币合约中的transfer函数中没有回调函数。但如果标的代币不是标准的ERC-20代币合约,其transfer函数带有回调函数,则会引发重入漏洞。

独家 | 蔡良滨:对加密货币交叉监管易致真空风险:加密货币的属性一直存在争议,近日泰国全新法律将数字资产定义为货币和证券双重属性。日本金融厅拟将虚拟货币划分为金融商品,受金融商品交易法约束。对于加密货币的属性问题及适用的监管法律问题,FORTUNA方图创始人蔡良滨在接受金色财经独家采访时表示:“各国对于加密货币市场到底适用于既有的哪一套监管体系范畴的争论一直持续着。类似日本政府一刀切,统一认定为金融商品这样的做法,最大的好处就是有明确的单一监管部门对这个市场进行负责,有明确的监管法规可以适用,有明确的监管工具与范式可以套用。而像近期泰国政府认定加密货币具备‘货币’与‘证券’双重属性的做法,很容易导致监管真空风险。事实上,不只是加密货币市场,金融市场里其他交叉领域的监管,最后都有可能变成‘真空地带’,酿成巨大风险。我们熟悉的早期P2P理财如此、早期现金贷如此、利用‘三会分立’多层嵌套的杠杆融资亦如此,越是界定模糊,越是风险巨大。”

蔡良滨进一步表示,如果加密货币市场要走向成熟,配套监管设施是必须具备的,而且良好的监管会正面引导市场走向更加成熟和合规的方向。例如,如果确定为证券监管范畴,那么加密通证将会作为一种新型的更有效率的资产证券化的手段得以在传统金融世界里得到普及,但这个前提是对于信息披露、资金托管等重要环节的监管覆盖;再例如,如果确定为货币范畴,需对其发行总量、超发情况、反、偷漏税、外汇管制等领域监管到位。[2018/7/3]

本次攻击恰恰就是因为cToken对应的标的代币(APM代币)不是标准的ERC-20代币。APM代币合约是个基于ERC-777标准的合约。这个合约中的transfer函数最后会调用_callPostTransferHooks()函数,在这个函数的最后会有一个回调函数IAmpTokensRecipient.tokensReceived。

下面是与此相关的代码片段:

在回调函数中,攻击者可以再次发起交易,而此时cToken还未修改用户借款的相关状态,攻击者却已经收到借款,可以利用这些借款进行后续的动作。

合约中与cToken修改借款状态的相关接口已经定义了防重入的锁 borrowInternal,使用户无法再次直接从初始的借款合约中借入资金。

borrowInternal的代码片段如下:

攻击者也注意到了这一点,于是选择从一个借贷池借来的cToken,去另一个借贷池借款,以绕开上述防重入锁的限制。

由于cToken被再次用于借款,因此超过了借款额度。如果攻击者直接还款则会因为超额借贷而导致第一次借贷交易失败。因此攻击者选择不还款,而是使用另一个地址清算了这个满足清算条件的cToken,从而完成全部攻击。

纵观整个攻击过程,导致本次攻击成功的原因有两个:

1 为AMP代币添加借贷池时,没有考虑到AMP代币与借贷合约的适配性

2 借贷生成的cToken存在竞态条件问题,代码的实现逻辑没有严格遵循状态修改要放在外部调用之前的默认规范。

在此,Fairyproof Tech提醒所有的项目方:编写Solidity合约代码时一定要遵循Solidity合约编写的安全规范,不能心存侥幸。

在此例中Cream.Finance的代码分叉复制于Compound,尽管后者已经经过考验,但依然不能认为其代码是万无一失的。

根据我们的经验,即便是利用一些成熟的、历经考验的项目代码,也不能认为它们是绝对安全的,依然要进行充分的审计。尤其是要弄清楚,这些代码适用的前提条件和安全假设,以及具体到自己的应用场景中,这些代码是否还满足这些前提和假设。

在Fairyproof Tech审计代码的过程中,对适用前提和安全假设都有严格的检验标准和审查流程,并不会因为项目代码分叉自知名项目而忽略对这些安全事项的检查。

关于Fairyproof Tech:

Fairyproof Tech科技有限公司是一家专注区块链生态安全的公司。Fairyproof Tech科技主要通过“代码风险检测+逻辑风险检测“的一体化综合方案服务了诸多新兴知名项目。公司成立于2021年01月,团队由一支拥有丰富智能合约编程经验及网络安全经验的团队创建。

团队成员参与发起并提交了以太坊领域的多项标准草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569 被以太坊团队正式收入。

团队参与了多项以太坊项目的发起及构建,包括区块链平台、DAO组织、链上数据存储、去中心化交易所等项目, 并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪及安全防范系统。

作者:

Fairyproof TechCEO 谭粤飞

美国弗吉尼亚理工大学(Virginia Tech, Blacksburg, VA, USA) 工业工程(Industrial Engineering) 硕士(Master)。曾任美国硅谷半导体公司 AIBT Inc(San Jose, CA, USA) 软件工程师,负责底层控制系统的开发、设备制程的程序实现、算法的设计,并负责与台积电的全面技术对接和交流。自2011至今,从事嵌入式,互联网及区块链技术的研究,深圳大学创业学院《区块链概论》课程教师,中山大学区块链与智能中心客座研究员,广东省金融创新研究会常务理事 。个人拥有4项区块链相关专利、3本出版著作。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

狗狗币经济参考报:数字货币大变局将如何演变

百年未有之大变局中,货币变局是否在所难免?50年前,时任美国总统尼克松宣布将基础货币美元与黄金脱钩,货币的金本位制结束。此后,布雷顿森林体系解体,“尼克松冲击”影响深远.

[0:0ms0-1:365ms