首发 | DeFi项目Based智能合约出现漏洞 发生了什么?

“亡羊补牢,为时未晚”,这句话在生活中的大部分时候均适用。然而,在面临网络安全时,牢破也许就会造成无法挽回的损失。

在安全问题未造成不可弥补的损失前就被发现,或是一开始便做好万全准备,才是身为区块链从业者的安全第一要义。

北京时间8月14日下午,CertiK安全技术团队发现DeFi匿名耕种项目Based官方宣布有攻击者通过调用Based智能合约中的某一个函数,将一号池(Pool 1)冻结,同时宣布将重新部署其一号池。

官方发布推特称,有黑客试图将“Pool1”永久冻结,但尝试失败。而“Pool1”将继续按计划进行。

CertiK通过分析该智能合约,认为这次冻结Based项目一号池事件,是一次由于存在智能合约漏洞导致的事故。

24小时BTC全网合约成交数据显示:多方占优:据合约帝数据显示,最近24小时BTC全网合约成交量中开多比例为52.27%,开空比例为47.73%。主流合约交易所中,Huobi季度开多比例为50.22%,开空比例为49.78%;OKEx季度开多比例为51.25%,开空比例为48.75%;BitMEX合约开多比例为55.84%,开空比例为44.16%。[2020/8/21]

Based团队部署一号池智能合约,部署地址为0x77caF750cC58C148D47fD52DdDe43575AA179d1f。

Based官方通过调用智能合约中的renounceOwnership函数来声明智能合约所有者,但未进行智能合约初始化。

由于在Based智能合约中initialize函数被错误的设置为可以被外部调用,因此造成在初始化智能合约过程中,一号池的智能合约被外部攻击者用错误的值初始化。

错误的初始化造成Based官方无法再次初始化一号池的智能合约,因此造成一号池被冻结,任何质押行为都无法完成。

Based官方决定放弃该智能合约,重新部署一号池智能合约。 

1. Based团队在部署智能合约后,没有及时的调用下图的initialize函数来初始化智能合约的设置:

2. 外部调用者利用Based团队在部署和初始化智能合约之间的时间差,乘机调用了下图中671行被错误设置调用范围的initialize函数,抢先初始化了一号池的智能合约:

3. 上图两个initialize函数都是由initializer的修饰符修饰。根据其中代码,如果调用了其中一个initialize函数,另外一个initialize函数就无法被调用。initializer修饰符代码如下图所示,这造成了Based官方失去了初始化函数的机会:

4. 综上因素,Based智能合约无法被官方正确初始化,因此任何质押行为都无法进行。

质押失败的交易记录:

该次事件本质上是由智能合约漏洞导致的,但如果Based团队提早注意到这个漏洞,提前初始化智能合约,可以完全规避这次危险,避免一号池被冻结。因此,CertiK安全技术团队提出如下建议:

部署智能合约时应准备好初始化智能合约所需要的命令脚本等工具,及时初始化智能合约,避免攻击者利用部署操作和初始化操作之间的时间差,抢先初始化或者恶意操纵智能合约。

开发者应精通智能合约的运行原理和技术细节,不要盲目的采用其他的智能合约代码。

可邀请专业的第三方安全团队或内部安全专家对其智能合约进行审计,保证智能合约的安全性和可靠性。

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

金宝趣谈

ICP金色观察丨评估DeFi协议用哪个指标好?

金色财经 区块链8月21日讯  评估DeFi 行业及其相应增长的指标有许多,锁仓量就是其中一个,而且目前深受投资者欢迎。那么使用这个指标来评估DeFi协议究竟准不准确呢?实际上,我们其实可以利用不少其他指标来评估DeFi协议。 首先,我们要清楚它并不适用于所有协议。

屎币金色观察 | 解锁DeFi的EOS 能靠它起飞吗?

DeFi愈演愈烈,EOS也来分一杯羹。 8月15日,EOS创始人Daniel Larimer(BM)发推称,我在2014年创建第一个DeFi平台,DeFi是激发DPOS、TAPOS和高性能数据库和账户结构的必要条件。EOS是为DeFi设计的。? 在同一天稍早前,BM在推特回复网友时表示:“构建复杂高性能的DeFi,EOS会是更好的选择。

以太坊交易所数据:DeFi协议锁定资金总值被高估28.3亿美元

根据链上数据资源网站DeFi Pulse的数据,去中心化金融(DeFi)协议锁定的美元总值近日突破了60亿美元大关。 目前,这一数字停留在63.2亿美元,自不到三个月前达到10亿美元大关后,增长了近6倍。今年出现的指数级增长主要归功于yield farming的出现和Compound协议的上线。

[0:46ms0-7:204ms