“亡羊补牢,为时未晚”,这句话在生活中的大部分时候均适用。然而,在面临网络安全时,牢破也许就会造成无法挽回的损失。
在安全问题未造成不可弥补的损失前就被发现,或是一开始便做好万全准备,才是身为区块链从业者的安全第一要义。
北京时间8月14日下午,CertiK安全技术团队发现DeFi匿名耕种项目Based官方宣布有攻击者通过调用Based智能合约中的某一个函数,将一号池(Pool 1)冻结,同时宣布将重新部署其一号池。
官方发布推特称,有黑客试图将“Pool1”永久冻结,但尝试失败。而“Pool1”将继续按计划进行。
CertiK通过分析该智能合约,认为这次冻结Based项目一号池事件,是一次由于存在智能合约漏洞导致的事故。
事件经过
智能合约技术细节
(1) Based团队在部署智能合约后,没有及时的调用下图的initialize函数来初始化智能合约的设置:
(2) 外部调用者利用Based团队在部署和初始化智能合约之间的时间差,乘机调用了下图中671行被错误设置调用范围的initialize函数,抢先初始化了一号池的智能合约:
(3) 上图两个initialize函数都是由initializer的修饰符修饰。根据其中代码,如果调用了其中一个initialize函数,另外一个initialize函数就无法被调用。initializer修饰符代码如下图所示,这造成了Based官方失去了初始化函数的机会:
(4) 综上因素,Based智能合约无法被官方正确初始化,因此任何质押行为都无法进行。
质押失败的交易记录:
如何避免事件发生
该次事件本质上是由智能合约漏洞导致的,但如果Based团队提早注意到这个漏洞,提前初始化智能合约,可以完全规避这次危险,避免一号池被冻结。因此,CertiK安全技术团队建议:
本报记者 刘琪 4月10日,新时代新罗湖微信公众号发布公告,从当日至4月23日开展...
瞻博网络发布Connected Security产品家族最新应用,提供全面可视性的同时确保降...
近日,专业消费级路由器厂商Ubiquiti被指掩盖一个灾难性的安全漏洞。事件发生24...
比特币再次站上40000美元关口,让加密货币行情再次火爆了一把。这是自2021年1月8...
人际关系和网上约会都是相当私密的事情,所以,许多人会选择保密,或者至少只与...
关于比特币与区块链两者之间暧昧的关系常常让大家各说东西: 说法一:比特币与区...
产品需求 在安全运营数智化的今天,越来越多的新基建项目要求使用云原生的安全解...
游戏硬件制造商雷蛇(Razer)在线商店的一个不安全的数据库在网上被曝光后,遭遇了...
PHP是用C语言编写的,MySQL则是用C++编写的,而Apache则大部分是使用C语言编写的...
黑客入侵了硅谷一家生产安全摄像头的公司,可以实时监控体育馆、医院、警察局、...