链资讯 链资讯
Ctrl+D收藏链资讯
首页 > BTC > 正文

首发 | 遇到有漏洞的DeFi合约概率是多少?审计后又有多大概率被攻击?

作者:

时间:

身在新冠日增确诊10万例美国的小编,因为硬核原因不得不搭乘飞机出门。出行前一直担心是否会被感染,途中却被飞机遇到猛烈气流的颠簸唬住了。

虽然心里默默安慰自己飞机空难发生的概率非常低,感染新冠肺炎的概率也没那么高,但还是想起来了四个字:“墨菲定律”

在现代科技发展的大潮流下,锁定在区块链领域里的资产愈发庞大。隐藏在计算机背后的危机也随着区块链的发展日益展露狰狞的面目。

智能合约当中,任何一个小bug,都可能会给项目或者投资者造成无法挽回的损失。

受此警示之下,CertiK安全团队利用CertiK天网系统 (Skynet),对自北京时间2020年12月4日0时至24时之间,新加入Uniswap的代币智能合约进行了监控分析。

在本次分析的时间段内,一共产生了29个智能合约代币项目。

经过CertiK的Skynet分析,总计发现16个智能合约存在漏洞或者缺陷!

大概有55%的智能合约项目或多或少存在漏洞或者缺陷,其中大约有10%存在严重漏洞,45%存在项目拥有者权限过大,权限中心化过高的缺陷。

本次分析的智能合约项目名称和合约地址如下:

分析结果如下: 

虽然难以通过一天的情况来预估所有时间范围内的智能合约安全情况,但窥一斑而知全豹。

加拿大央行:基准利率维持在0.25%不变,2022年通胀预期上调至4.2%:1月26日消息,加拿大央行宣布将基准利率维持在 0.25% 不变,2022 年通胀预期上调至 4.2%。同时表示,至少在开始提高政策利率之前,将保持其资产负债表上持有的加拿大政府债券大致不变。(金十)[2022/1/27 9:15:29]

下面主要针对三个相对重要的漏洞进行分析:

图1: burnFrom()函数

图1中burnFrom函数受到ownerOnly修饰词限制,只允许项目管理者执行该函数。该函数内部逻辑实现允许通过设置account, balance和subtractValue的值,间接对_totalSupply和给定账户的_balances值进行任意修改。

图2: powerpoolttl合约中回退函数

图2中为powerpoolttl合约的回退函数。当外部用户对该智能合约进行调用,如果该调用中没有调用合约中的任何一个函数,或者仅仅转移了代币到该合约中,则回退函数会被调用。70行的逻辑显示,当回退函数被调用时,调用中被转移到合同中的代币会被直接转移到teamAddress的地址中。

该项目中可以通过执行transferFrom()函数进行对代币转移,根据图3中transferFrom()函数定义,211行需要执行getFee函数决定每次代币转移需要扣除的费用。从图3中getFee()函数的定义可以看到,决定费用高低的逻辑是取决与241行调用的Management.getFee()函数的定义。当前Management.getFee()函数的逻辑定义是根据manager变量中存储的地址值的不同而进行改变。当前manager变量中存储的地址值如图6所示。

Ripple高管:比特币最大化的时代已经结束:Ripple高级副总裁Asheesh Birla最近在谈到他对比特币市场的看法时表示,“比特币的‘最大化时代’已经结束,我认为,人们相信只有比特币的日子已经一去不复返了,我认为将会有大量的数字资产和更多的传统资产被代币化。”(UToday)[2020/11/29 22:30:51]

然而manager变量中存储的地址值所指向的智能合约并未在etherscan上被认证,因此无法得知该智能合约的源代码,继而无从得知Management.getFee()函数的定义。

由于Management.getFee()函数背后的逻辑无法得知,因此项目拥有者有可能通过操作Management.getFee()函数返回值的方式,调整每次代币转移的费用,进行恶意操作等。

图3:transferFrom()函数

图4:StandardToken合约中的getFee()函数 

图5:Management智能合约接口与getFee函数接口

图6:当前manager变量存储的地址值

图7:当前manager变量存储的地址值指向的智能合约

大家都知道2020年最知名的一个例子——DeFi项目Yam于北京时间8月12日3:00启动后,尽管该项目的博客文章警告称尚未对其合约进行任何审计,但疯狂的Yield farmers在不到一小时内向该项目存入了7600万美元。

后期不出意料,Yam在短短36小时内,数亿美元因为一个小小的漏洞,消失于无形。

安全审计现在已经是高质量DeFi项目的标配。当前DeFi项目热潮持续不减,很多项目为了抓住热点与机遇,在未经严格测试和审计的情况下便匆忙上线。

这些项目中,大部分的漏洞是无法通过常见的测试方法和工具来发现的。只有寻找专业的审计专家进行严谨的数学模型证明,才可以发现该漏洞。形式化验证是当前唯一被证明可以产生可信数学证明的软件验证方法。

因此,采用基于形式化验证方法的区块链检测工具来验证项目中的安全漏洞,应成为每一个项目在上链前的必经步骤。

每一个项目受到攻击或是损失资产的原因,都是因为一个非常小的代码漏洞。

计算机领域中,平均每1000行代码中,会有1-25个bug。也就是说,这个概率的区间是千分之一(0.1%)至百分之二点五(2.5%)。

那么那些已经接受安全审计并通过的项目呢?

CertiK选取了三家公开审计信息的安全公司进行了数据统计。

此次统计了这三家公司的共计377个被审计的项目(包括重复审计项目)。

其中有8个项目在至少被审计过一次的情况下,仍旧遭受到了黑客攻击。

这8个已审计却被攻击的项目,整整损失了6900万美元。

根据此三家审计公司的数据来计算审计后被黑客攻击的比例是:8/377 = 2.12%

代码产生bug的几率和项目已通过审计但仍旧被攻击的概率大抵都约等于2%,在这里举个简单的例子:

根据SquareTrade数据统计显示——在美国,短短一小时内就有5761个手机屏幕壮烈牺牲。假设,美国人均一部手机,并且没有重复摔同一部手机的癖好。那么50天内,一位美国小伙儿有2%的几率把手机屏幕摔碎。

但是一部手机的使用寿命肯定不止50天,如果用一年呢?这个概率骤增为15%!使用超过三年半,概率就超过了50%!

这就印证了上文中的墨菲定律——小概率事件的必然性:时间基数够长的情况下,坏事总会轮到你的。

而空难发生的几率是五百万分之一(0.00002%)。

相比之下,代码产生漏洞的概率以及项目已通过审计但仍旧被攻击的概率是空难的整整12.5万倍!

如果在飞机颠簸的时候,你害怕飞机失事,那么不妨用超出10万倍的担心,去保护你的项目。

这么对比过后,你还觉得项目不需要额外的保障吗?

为之于未有,制治于未乱。

除静态审计之外,动态的安全防护更能够防范攻击事件。CertiK开发的动态安全工具:快速扫描——安全预言机——CertiKShield,从预警到实时评测到保险计划,可以全方位为项目方提供安全保障。

标签:比特币ETFCERTMENT中国比特币之父是谁一个比特币要挖多久CellETFAnimal ConcertsGreen Environmental chain

BTC热门资讯
金色前哨 | Yearn.finance首份季度报告:三个月净收入约为380万美元

12月9日晚间,Yearn.finance推特指出,社区发布了第一份非正式季度报告,实际为8月20日—10月20日。需要注意的是,本报告由社区开发者自行完成,Yearn.finance 官方及 Lehnberg 本人均已强调,报告不构成财务建议,也未经第三方专业会计师事务所的审计。

市场今天会不会直接喷射?

门头沟的事还是没有最终结果,他丢这些币,肯定是没办法按照一比一赔偿的,现在冷钱包里还有16万多枚比特币,这些币将作为最终赔偿的筹码,目前门头沟交易所将该案件委托给日本的律师事务所,律师和法院还会因此打交道很长时间,虽然说是最终提交期限,但如果提交后的法案未被通过,这个流程就会持续反复,这事目前来看还是遥遥无期,先不用管他了。

金色DeFi日报 | Yearn.Finance已开始申请3CRV奖励

DeFi数据 1.DeFi总市值:182.56亿美元市值前十币种涨跌幅,金色财经制图,数据来源Coingecko 2.过去24小时去中心化交易所的交易量:6.4亿美元 交易量排名前十的DEX 数据来源:Debank 3.DeFi借贷平台借款总量:33.3亿美元DeFi借贷平台借款占比,金色财经制图。

NEXTOKEN开始对其首个生态系统NEXFIN进行测试

NEXFIN是以FOREX零佣金为目标而成立的FOREX保证金经纪服务,加入了全球首个基于欧盟的区块链代币模式,目前已完成30多个支付系统的链接,并在2021年3月正式服务前完成开发。 通过对全球外汇市场的歧视,Nexfin将以500万用户为目标开始服务,目标是在未来三年内实现全球前十的交易量。

数字人民币提速 多家龙头企业或迎更大发展空间

今年以来,我国央行数字货币的研发进程明显加快,继深圳罗湖区10月发放1000万元数字人民币红包后,苏州将在12月“双十二”期间推出数字人民币测试并新增“双离线”功能。 据媒体报道,除了已公布的雄安、苏州、成都、深圳和冬奥会场景等“四地一场景”的试点之外,数字人民币还将继续新增上海、长沙、海南、青岛、大连、西安六地试点。

这不是一个好信号:比特币矿工的抛售风险创三年来新高

比特币矿工似乎再次出售大量BTC。CryptoQuant的数据显示,比特币矿工头寸指数——追踪比特币离开矿工钱包比率的指标——达到了三年高点。这一趋势表明,矿工可能在场外或现货交易所出售BTC。