CreamFinance是DeFi领域的知名去中心化借贷协议。项目方在业内首先推出了白名单机制的IonBank借贷机制。这一创新一方面为DeFi借贷提供了更为便捷的工具,另一方面也为黑客攻击创造了条件。
在今年2月13日,CreamFinance就因为其IonBank被黑客利用并辅以闪电贷工具遭到攻击。时隔半年,在8月30日,CreamFinance再次遭到闪电贷攻击。
本次攻击是因为项目中的APM代币合约与借贷合约的cToken合约不适配造成重入漏洞,被黑客利用。
在本次攻击中,攻击者的地址为:0xce1f4b4f17224ec6df16eeb1e3e5321c54ff6ede。
攻击合约的地址为:0x38c40427efbAAe566407e4CdE2A91947dF0bD22B。
独家 | BTC 24h链上交易量上升19.98%:据欧科云链OKLink数据显示,2020-06-05 BTC 24h链上活跃地址数总计894169,前日24h总计959970,较前日下降6.85%;链上交易量总计595056.78BTC,前日24h总计495948.98BTC,较前日上升19.98%;链上交易笔数总计315676,前日24h总计315512,较前日上升0.05%;BTC链上活跃度下降。
截至上午10时,全网算力约为105.85EH/s,较前日上升1.81EH/s,全网算力呈上升趋势。[2020/6/5]
被攻击的合约有两个,合约及地址分别为:
APMtoken合约:0xff20817765cb7f73d4bde2e66e067e58d11095c2
cToken合约:0xd06527d5e56a3495252a528c4987003b712860ee
独家 | Bithumb内部人士回应收购BitMax合约:没有收购只是财务投资:金色财经消息,此前有媒体报道,由于Bithumb缺少合约系统,Bithumb将收购BitMax合约。对此事金色财经独家采访了Bithumb内部人士。内部人士称,并没有收购,目前只是财务投资,bithumb投资很多,只是被过度宣传了。[2020/2/25]
我们先看cToken合约中出现漏洞的代码片段:
上面的代码所实现的逻辑是在转账完成之后,才修改借贷额度状态accountBorrows。
独家 | 央行反局原副局长担任“区块链行业应用反标准”起草小组专家组组长:金色财经消息,2019年12月31日,中国软件行业协会区块链分会联合发起了“区块链行业应用反标准”起草小组,通过吸纳业内具有一定影响力的主体单位或者个人权威专家、学者共同参与《区块链行业应用反标准》制定。据起草小组成员透露,专家组组长已敲定为央行反局某原副局长,标准的制定将会对区块链行业从业者以及相关平台产生一定程度影响力,间接为相关部门政策制定提供行业意见反馈。
本次标准起草主要目的为厘清区块链相关领域的正常金融行为与非正常金融行为,遏制、监督相关区块链应用平台纵容与包庇非法分子利用区块链技术避开执法人员和其他调查人员的审查而进行非法行为,促进行业健康、自律发展,为国家相关监管部门提供行业建议与监管参考。[2020/1/16]
这是一个典型的竞态问题。
独家 | Libra联合创始人:Libra是现有法币体系的补充,不会取代法币体系:金色财经现场报道,今日在旧金山区块链周的主会上,Libra联合创始人兼Calibra产品副总裁Kevin Weil表示,区块链就是互联网应用在金融上最新的技术。Weil再次强调,Libra是现有法币体系的补充,不是为了取代法币体系。Libra的愿景之一是让为了让那些得不到金融服务的人群也能得到便捷的金融服务,Libra可以让人们拿起手机就能得到无边界的金融服务。Libra是一个开放体系,开放的金融服务。现存的支付体系都是隔离的,Libra想象email一样,做一个统一的开放金融。[2019/11/1]
代码中的doTransferOut函数最终会调用标的代币合约的transfer函数,在此之后再对与标的代币关联的cToken合约的状态进行修改。
独家 | 青狮链团队律师:对于项目方来说合规性的要求成为刚需:今日,珠晖破获一起特大网络案,正是去年ICO上线即破发的英雄链,涉案金额达3亿余元。就此事金色财经采访了青狮链团队的陈昊东律师和周誓超律师,他们表示,根据目前获取的最新情况,机关是以涉嫌罪立案侦查的。
这是一个非常有积极影响的事件。因为涉及虚拟货币的案件相对传统案件有一定”创新性”和”复杂性”。对于机关来说,面临很多难点,比如项目主体设在海外,采用虚拟货币募集避开法币渠道,机关在办案过程中难以搜集证据等等。本次事件对整个虚拟货币市场产生了震慑作用,对采用虚假项目割韭菜的项目敲响了警钟。
本次事件说明了各监管机构尤其是机关的介入进一步规范虚拟货币市场的意愿和决心。对于项目方来说,合规性的要求成为刚需,项目方无论是在项目宣传、融资还是运作过程中必须严格合规,否则容易触犯法律法规,尤其是刑法。对于投资人来说,是一种良性警示,对虚拟货币的参与也会趋于理性,避免盲从。[2019/4/23]
通常cToken对应的标的代币合约都是标准的ERC-20代币合约,这类标准的ERC-20代币合约中的transfer函数中没有回调函数。但如果标的代币不是标准的ERC-20代币合约,其transfer函数带有回调函数,则会引发重入漏洞。
本次攻击恰恰就是因为cToken对应的标的代币不是标准的ERC-20代币。APM代币合约是个基于ERC-777标准的合约。这个合约中的transfer函数最后会调用_callPostTransferHooks()函数,在这个函数的最后会有一个回调函数IAmpTokensRecipient.tokensReceived。
下面是与此相关的代码片段:
在回调函数中,攻击者可以再次发起交易,而此时cToken还未修改用户借款的相关状态,攻击者却已经收到借款,可以利用这些借款进行后续的动作。
合约中与cToken修改借款状态的相关接口已经定义了防重入的锁?borrowInternal,使用户无法再次直接从初始的借款合约中借入资金。
borrowInternal的代码片段如下:
攻击者也注意到了这一点,于是选择从一个借贷池借来的cToken,去另一个借贷池借款,以绕开上述防重入锁的限制。
由于cToken被再次用于借款,因此超过了借款额度。如果攻击者直接还款则会因为超额借贷而导致第一次借贷交易失败。因此攻击者选择不还款,而是使用另一个地址清算了这个满足清算条件的cToken,从而完成全部攻击。
纵观整个攻击过程,导致本次攻击成功的原因有两个:
1为AMP代币添加借贷池时,没有考虑到AMP代币与借贷合约的适配性
2借贷生成的cToken存在竞态条件问题,代码的实现逻辑没有严格遵循状态修改要放在外部调用之前的默认规范。
在此,灵踪安全提醒所有的项目方:编写Solidity合约代码时一定要遵循Solidity合约编写的安全规范,不能心存侥幸。
在此例中Cream.Finance的代码分叉复制于Compound,尽管后者已经经过考验,但依然不能认为其代码是万无一失的。
根据我们的经验,即便是利用一些成熟的、历经考验的项目代码,也不能认为它们是绝对安全的,依然要进行充分的审计。尤其是要弄清楚,这些代码适用的前提条件和安全假设,以及具体到自己的应用场景中,这些代码是否还满足这些前提和假设。
在灵踪安全审计代码的过程中,对适用前提和安全假设都有严格的检验标准和审查流程,并不会因为项目代码分叉自知名项目而忽略对这些安全事项的检查。
关于灵踪安全:
灵踪安全科技有限公司是一家专注区块链生态安全的公司。灵踪安全科技主要通过“代码风险检测+逻辑风险检测“的一体化综合方案服务了诸多新兴知名项目。公司成立于2021年01月,团队由一支拥有丰富智能合约编程经验及网络安全经验的团队创建。
团队成员参与发起并提交了以太坊领域的多项标准草案,包括ERC-1646、ERC-2569、ERC-2794,其中ERC-2569被以太坊团队正式收入。
团队参与了多项以太坊项目的发起及构建,包括区块链平台、DAO组织、链上数据存储、去中心化交易所等项目,并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪及安全防范系统。
作者:
灵踪安全CEO谭粤飞
美国弗吉尼亚理工大学(VirginiaTech,Blacksburg,VA,USA)工业工程硕士(Master)。曾任美国硅谷半导体公司AIBTInc软件工程师,负责底层控制系统的开发、设备制程的程序实现、算法的设计,并负责与台积电的全面技术对接和交流。自2011至今,从事嵌入式,互联网及区块链技术的研究,深圳大学创业学院《区块链概论》课程教师,中山大学区块链与智能中心客座研究员,广东省金融创新研究会常务理事?。个人拥有4项区块链相关专利、3本出版著作。
在电影《盗梦空间》中,建造梦境的人被称作建筑师,建筑师可以凭借自己的想象力,在梦境中自由地构建场景、设计空间,甚至可以摆脱物理规律的束缚.
1900/1/1 0:00:00自CryptoKitties热潮以来,NFT再次成为关注的中心已经很久了。谷歌趋势指数在不到一个月的时间里从2021年2月的个位数飙升至100,这要归功于佳士得拍卖的艺术家毕普(Beeple)以.
1900/1/1 0:00:00搞了这么多年VR,Facebook终于出了一个拿得出手的应用。在VR上曾无数次的遭到“群嘲”的Facebook,现在乘着元宇宙概念爆火的东风,似乎又能重新燥起来了.
1900/1/1 0:00:00「金子,金子,从美洲河来的金子!」1848年5月,旧金山街头,一个名叫布兰纳的杂货铺的老板挥舞着帽子吸引人群,向人们展示药瓶里装着的金片和尘土.
1900/1/1 0:00:00当前的链游仍处于早期的状态,我们发现很多链游始终无法摆脱以NFT为主,做成卡牌类的游戏,但他的发展速度超出了我们的预期.
1900/1/1 0:00:00如果将区块链视为互联网之后的下一代基础设施技术,那么,参考互联网的发展轨迹,在区块链之上建立面向广大不定用户的应用自然而然成了行业发展的下一步.
1900/1/1 0:00:00