“亡羊补牢,为时未晚”,这句话在生活中的大部分时候均适用。然而,在面临网络安全时,牢破也许就会造成无法挽回的损失。
在安全问题未造成不可弥补的损失前就被发现,或是一开始便做好万全准备,才是身为区块链从业者的安全第一要义。
北京时间8月14日下午,CertiK安全技术团队发现DeFi匿名耕种项目Based官方宣布有攻击者通过调用Based智能合约中的某一个函数,将一号池(Pool 1)冻结,同时宣布将重新部署其一号池。
百度Apollo首发 “Apollo 001”系列纪念数字藏品:金色财经报道,据百度Apollo智能驾驶官方公众号,百度Apollo全网首发首款 “Apollo 001”系列纪念数字藏品,以百度汽车机器人为主体形象,每款对应一个百度Apollo自动驾驶重要里程碑事件。据悉,该数字藏品将于2022年7月8日 09:55发布汽车机器人家族全家福空投款。[2022/7/7 1:58:19]
官方发布推特称,有黑客试图将“Pool1”永久冻结,但尝试失败。而“Pool1”将继续按计划进行。
CertiK通过分析该智能合约,认为这次冻结Based项目一号池事件,是一次由于存在智能合约漏洞导致的事故。
LBank蓝贝壳于4月9日16:50首发 BOSON:据官方公告,4月9日16:50,LBank蓝贝壳首发BOSON(Boson Protocol),开放USDT交易,4月9日16:00开放充值,4月12日16:00开放提现。上线同一时间开启充值交易BOSON瓜分10,000 USDT。
LBank蓝贝壳于4月9日16:50开启充值交易BOSON瓜分10,000 USDT。用户净充值数量不少于1枚BOSON ,可按净充值量获得等值1%的BOSON的USDT空投奖励;交易赛将根据用户的BOSON交易量进行排名,前30名可按个人交易量占比瓜分USDT。详情请点击官方公告。[2021/4/9 20:02:26]
首发 | Bithumb将推出与Bithumb Global之间的加密资产转账服务:Bithumb内部人士对金色财经透露,Bithumb推出和Bithumb Global之间的加密货币资产免手续费快速转账服务,每日加密货币资产转账限额为2枚BTC。此消息将于今日晚间对外公布。据悉,目前仅支持BTC和ETH资产转账。[2020/2/26]
Based团队部署一号池智能合约,部署地址为0x77caF750cC58C148D47fD52DdDe43575AA179d1f。
Based官方通过调用智能合约中的renounceOwnership函数来声明智能合约所有者,但未进行智能合约初始化。
IMEOS首发 EOS Go公布新增两条复选条件 :据金色财经合作伙伴IMEOS报道:今日,EOS Go在 steemit上公布新增的两条复选条件为:
1. 保证安全的计划:候选节点是否在steemit上发布文章介绍该节点的安全方法和计划,“安全方法”标准是向EOS选民展示安全最佳实践知识和组织实施计划的机会;
2. 立场:描述该节点分享通胀奖励和/或向EOS代币持有人派发股息的立场(候选节点在steemit发布)。主要阐述以下两个问题:
该组织是否会出于任何原因向EOS令牌选民提供支付,包括BP选举和社区建议?
该组织是否有书面的无票付款政策?如果是这样,请提供一个链接。[2018/4/27]
由于在Based智能合约中initialize函数被错误的设置为可以被外部调用,因此造成在初始化智能合约过程中,一号池的智能合约被外部攻击者用错误的值初始化。
错误的初始化造成Based官方无法再次初始化一号池的智能合约,因此造成一号池被冻结,任何质押行为都无法完成。
Based官方决定放弃该智能合约,重新部署一号池智能合约。
1. Based团队在部署智能合约后,没有及时的调用下图的initialize函数来初始化智能合约的设置:
2. 外部调用者利用Based团队在部署和初始化智能合约之间的时间差,乘机调用了下图中671行被错误设置调用范围的initialize函数,抢先初始化了一号池的智能合约:
3. 上图两个initialize函数都是由initializer的修饰符修饰。根据其中代码,如果调用了其中一个initialize函数,另外一个initialize函数就无法被调用。initializer修饰符代码如下图所示,这造成了Based官方失去了初始化函数的机会:
4. 综上因素,Based智能合约无法被官方正确初始化,因此任何质押行为都无法进行。
质押失败的交易记录:
该次事件本质上是由智能合约漏洞导致的,但如果Based团队提早注意到这个漏洞,提前初始化智能合约,可以完全规避这次危险,避免一号池被冻结。因此,CertiK安全技术团队提出如下建议:
部署智能合约时应准备好初始化智能合约所需要的命令脚本等工具,及时初始化智能合约,避免攻击者利用部署操作和初始化操作之间的时间差,抢先初始化或者恶意操纵智能合约。
开发者应精通智能合约的运行原理和技术细节,不要盲目的采用其他的智能合约代码。
可邀请专业的第三方安全团队或内部安全专家对其智能合约进行审计,保证智能合约的安全性和可靠性。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。