时间:2023-08-11|浏览:201
用戶喜愛的交易所
已有账号登陆后会弹出下载
虽然我默默安慰自己飞机空难的概率非常低,感染新冠肺炎的概率也不那么高,但我还是想起了“墨菲定律”。
在现代科技的发展中,锁定在区块链领域的资产越来越多。随着区块链的发展,隐藏在计算机背后的危机也逐渐显露出恐怖的一面。
在智能合约中,即使是一个小小的bug,也可能给项目或投资者带来无法弥补的损失。
受到这个警示,CertiK安全团队利用CertiK天网系统(Skynet),对北京时间2020年12月4日0时至24时之间新加入Uniswap的代币智能合约进行了监控分析。
在这段时间内,总共有29个智能合约代币项目。
经过CertiK的Skynet分析,发现总共有16个智能合约存在漏洞或缺陷!
大约有55%的智能合约项目或多或少存在漏洞或缺陷,其中大约有10%存在严重漏洞,45%存在项目拥有者权限过大,中心化程度过高的缺陷。
本次分析的智能合约项目名称和合约地址如下:
分析结果如下:
虽然只能通过一天的情况难以预测所有时间范围内的智能合约安全状况,但能初步了解情况。
接下来,我们主要分析三个相对重要的漏洞:
1. nostromo.finance (NSTR):在burnFrom函数中,受到ownerOnly修饰词的限制,只允许项目管理者执行该函数。然而该函数内部的逻辑允许通过设置account、balance和subtractValue的值,间接修改_totalSupply和给定账户的_balances值。
2. PowerPool.Finance (CVP):在powerpoolttl合约的回退函数中,当外部用户对该智能合约进行调用时,如果没有调用合约中的任何一个函数,或者仅仅将代币转移到合约中,回退函数会被调用并将代币直接转移到teamAddress的地址中。
3. omphalos.co (OMPL):该项目中可以通过执行transferFrom函数进行代币转移。根据transferFrom函数定义,执行代币转移需要扣除的费用取决于执行getFee函数的结果。然而,当前getFee函数的定义取决于manager变量所存储的地址指向的智能合约,但该智能合约的源代码并未在etherscan上认证。
大家都知道2020年最著名的例子就是DeFi项目Yam,在上线前并未经过审计,但仅在不到一小时内就有超过7600万美元被存入该项目。然而可预料的是,Yam在短短36小时内因为一个小小的漏洞,损失了数亿美元。
安全审计现在已经成为高质量DeFi项目的标准。然而,在当前DeFi项目热潮中,很多项目为了抓住机遇,匆忙上线而没有经过严格的测试和审计。
大部分漏洞无法通过常见的测试方法和工具发现。只有通过寻找专业的审计专家进行严谨的数学模型证明,才能发现这些漏洞。形式化验证是目前唯一被证明可以提供可信数学证明的软件验证方法。
因此,在项目上链之前,采用基于形式化验证方法的区块链检测工具来验证项目中的安全漏洞应成为必要步骤。
每个项目受到攻击或损失资产的原因都是因为一个非常小的代码漏洞。
根据数据统计,计算机领域中平均每1000行代码就会有1-25个bug。也就是说,这个概率的范围是千分之一(0.1%)至百分之二点五(2.5%)。
那么已经接受安全审计并通过的项目呢?
CertiK统计了三家公开审计信息的安全公司的数据。
总共统计了377个被审计的项目(包括重复审计项目)。
其中有8个项目在至少经过一次审计的情况下仍然遭受到黑客攻击。
这8个已审计但被攻击的项目共损失了6900万美元。
根据这三家审计公司的数据计算,审计后被黑客攻击的比例为8/377=2.12%。
代码产生漏洞的概率和项目已通过审计