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

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

作者:

时间:1900/1/1 0:00:00

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

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

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

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

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

独家 | Bakkt期货合约数据一览:金色财经报道,Bakkt Volume Bot数据显示,10月6日,Bakkt比特币月度期货合约日交易额为7542万美元,同比上升114%,未平仓合约量为1453万美元,同比下降1%。[2020/10/7]

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

APM token合约:0xff20817765cb7f73d4bde2e66e067e58d11095c2

cToken合约:0xd06527d5e56a3495252a528c4987003b712860ee

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

独家 | Bakkt期货合约数据一览:金色财经报道,Bakkt Volume Bot数据显示,8月5日,Bakkt比特币月度期货合约日交易额为5065万美元,同比上涨15%,未平仓合约量为2326万美元,同比下跌5%。[2020/8/6]

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

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

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

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

独家 | 嘉楠耘智将于11月8日上市纳斯达克 整体估值为20亿-30亿美金:10月10日,网传的一张某打新宝APP的截图显示,全球头部矿机生产商嘉楠耘智将于11月中旬在美上市,拟发行新股1.26亿,估值15亿美元。

就此事,金色财经独家采访到相关从业者,该人士称:嘉楠耘智原计划是在10月中下旬附近披露招股说明书,并于10月底公开路演、认购,若无意外,具体上市时间为11月8日上市,不过就算推迟,其上市时间也会在11月下旬。

关于此次嘉楠耘智上市纳斯达克的估值,该业内人士表示:此次嘉楠耘智的整体估值为20亿-30亿美金,当前预估以PE(市盈率)8-10上市,具体估值看机构认购情况,二级市场对嘉楠耘智的估值以及未来业绩是否充满信心。

金色财经就此事查阅了市面上同类芯片类公司的PE,其普遍PE在25左右,可以看出嘉楠耘智的PE相对偏低,具备较强的吸引力。[2019/10/10]

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

独家 | 蚂蚁金服区块链技术专家张文彬:黎曼猜想和区块链没有关系:金色财经就近期大受关注的黎曼猜想若被成功验证将对区块链造成的影响采访了蚂蚁金服区块链技术专家张文彬,张文彬对金色财经表示:“可以说黎曼猜想和区块链没有关系。对于区块链领域,长期来看需要关注的是量子计算和后量子密码(量子计算机可以破解现有广泛使用非对称公钥加密技术,不管是RSA还是ECDSA)。互联网和区块链使用的加密技术的安全是基于素数分解和离散对数问题的困难性,但这两个问题都可以被量子计算机高效解决,因此需要关注的不是黎曼猜想,而是量子计算机。用大白话说就是,不管黎曼猜想有没有被证实,与互联网加密和区块链安全都没关系,真正有关系的是量子计算机。

此外数学领域讲究严格的正确性,任何的猜想的解决都需要经历领域内数学家们较为长期的、严格的检查,才能确定是否正确。历史上宣称解决了黎曼猜想的大有人在,但至今还没正确的。这次的也留给领域内的专家去检查。”[2018/9/25]

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

金色独家 Higgs Block 科技公司CEO陈庆:市政厅会议将不会给美国关于加密货币法律带来立竿见影的影响:针对美国证券交易委员会(SEC)将于北京时间6月14日凌晨两点在佐治亚州亚特兰大州立大学举行一次市民会议一事,金色财经邀请Higgs Block 科技公司CEO陈庆对此作出解读,陈庆表示:美国证券交易委员会(SEC)、美国商品期货交易委员会(CFTC)于2018年2月6日于美国参议院会会晤,这个市政厅会议广泛地讨论了加密货币以及如果有这种需要的话,这些机构如何配合监管。SEC主席,Jay Clayton比较坚定地认为所有的ICO都是证券。在SEC4月26日召开的会议是为争取“通证权益”而进行的重要一步。讨论标志着SEC成员新的态度和开放度。SEC的部门负责人 William Hinman向听众保证,代表们正在试图更加开放的看待此类问题,并且来审视一下到底哪些项目会表现出以功能为基础的行为,而不是证券类的。从我们的角度来看,关于如何去给加密货币和TOKEN分类以及监管ICO投资过程的困惑是6月13日开展此次讨论的主要原因,这次会议也将开启让问题更加明朗的后续步伐。SEC的比特币和ICO会议将帮助政府明确在被加密货币社区广泛讨论的一些紧迫的法律问题方面的立场。我们判断,并且已经注意到,这场市政厅会议是关于加密货币、ICO以及监管等问答的模拟大会,市政厅会议将不会给美国关于加密货币法律带来立竿见影的影响,到目前为止只有一项明文的相关法律,那就是禁止美国人交易委内瑞拉石油币,也就是特朗普通过签署今年3月份的行政命令而确定的一项法律。[2018/6/13]

在回调函数中,攻击者可以再次发起交易,而此时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本出版著作。

标签:TOKTOKENTOKEKENbZx Vesting Tokentokenlon币有价值吗Imtoken下载FAM Token

Ethereum热门资讯
首发 | OKEx Research:为什么说Loot开启NFT可组合性新纪元(附曹寅最新分享)

本文由OKEx Research原创,授权金色财经首发,转载请注明出处。最近几天,Loot的横空出世将NFT再次推向新高潮.

1900/1/1 0:00:00
金色图览 | 一文梳理萨尔瓦多比特币法案重要节点

2021年6月9日10:00左右萨尔瓦多总统Nayib Bukele发推表示正式向萨尔瓦多共和国立法会提交比特币法案。根据法案的生效和过渡性条款第十六条:“本法将在政府公报上公布九十天后生效.

1900/1/1 0:00:00
Coinbase CEO再谈Coinbase文化:企业文化建设非常重要

Coinbase CEO Brian Armstrong曾在2020年9月其公司Blog上发布长文表达了Coinbase是一家专有使命的公司.

1900/1/1 0:00:00
金色前哨 | CoinList推出积分Karma 高分用户可以进入CoinList优先队列

作为进一步加速代币项目发展的一种方式,同时奖励不断壮大的早期采用者、开发者和传播者社区,2011年9月7日CoinList宣布推出CoinList Karma(业力)。CoinList表示,自己使命是加速加密货币的全球进步和采用.

1900/1/1 0:00:00
为什么以太坊将复兴数字身份

数字身份 (digital identity),或自主身份 (self-sovereign identity) 是一种利用非对称性加密技术为网络交易提供认证,并确保交易的完整性和不可拒付性的技术.

1900/1/1 0:00:00
王者荣耀营收被超?GameFi掀起的Play to Earn淘金巨浪

短短一年时间,加密市场在经历了 DeFi 之夏、疯狂“动物币”等多轮浪潮之后,在2021年的夏天,曾经各自独立的三者——DeFi、NFT、Game,相拥在一起并掀起了一股“金融游戏化”的热潮,即 GameFi.

1900/1/1 0:00:00