答:实际情况并不是那么简单。尽管常见的“外溢”和“外部调用”等漏洞是智能合约安全漏洞的一部分,但它们并不是最为严重和频繁出现的。SharkTeam的智能合约安全课程中介绍的“十大智能合约安全威胁”可以深入讨论这些威胁。本文第六课详细描述了“函数故意初始化”。
一、什么是初始化函数?
初始化是指在软件编程领域,将数据对象或自变量赋予初始值的处理方式。如何进行初始化取决于使用的编程语言和所需初始化对象的存储类型等特性。用于进行初始化的软件结构被称为初始化器或初始化列表。
初始化函数是指创建一个实例时将启用的函数。在部署合约之后,一般不会使用传统的构造函数(init)进行合约初始化。
为什么不使用构造函数init(uint256_a)进行初始化,而是使用其他初始化函数呢?
1. 不需要担心繁琐的构造函数主要参数,可以轻松被Etherscan识别;
2. 当常规工作流需要主要参数时,部署和部署不必同步进行,这更有效率;
3. 允许智能合约自行更新。
但使用这种方式进行初始化存在一些问题:
1. 管理权限没有进行严格检验:如果未严格设定初始化函数的调用者管理权限,则网络攻击可以利用管理权限系统漏洞进行故意初始化。
2. 多次启用自定义初始化函数:如果自定义了不安全的初始化函数,并未监管其启用频率,则网络攻击可以利用该系统漏洞反复启用初始化函数,轻松再次初始化资金池。
二、攻击事件分析
2.1DODO
2021年3月9日,DODO的wCRES/USDT资金池被攻击,网络攻击窃取了价值约90万美元的wCRES和价值约113万美元的USDT。DODO是一个最近非常热门的DeFi新项目。网络攻击利用了资金池的初始化函数系统漏洞,从资金池窃取了133,548.93858472505 wCRES和1,139,456.204397 USDT。在DODO官方社交媒体上的一段声明中,称此次攻击与DODOV2众筹项目池有关。DODO早已关闭了DODO资金池的连接。
1. 网络攻击将FDO和FUSDT等两种空气币转到wCRES/US
一、什么叫智能合约 智能合约是时下趋之若鹜的区块链专有名词,其火爆水平与其说定义的模糊不清水平相伴相生。PeterTodd就曾坦言:“没人了解智能合约到底是啥,大家应当必须推测机去执行它。”要了解智能合...
如今我们的日常生活基本上离不了合同书,往大说,工作中是与企业签署的劳动合同书,购房是与房地产公司签署买房合同,购买保险是与车险公司签署保险合同;往变小说,网上购物、定外卖送餐、打的、购买彩票全是与有关的服务项目给予...
比特币有智能合约吗?当然。通用术语中的智能合约是一种数字化协议,在满足预定标准时自动执行。比特币是支持多种智能合约以支持多笔交易的领先货币之一。比特币经过重大升级,使加密货币能够轻松处理更复杂的交易。这些智能合约为加密货...
通过 zkSNARKs 证明机器学习 (ML) 模型推理有望成为这十年智能合约最重要的进步之一。这一发展开辟了一个令人兴奋的大设计空间,允许应用程序和基础设施发展成为更复杂和智能的系统。 通过添加 ML 功能,智能...