火星链 火星链
Ctrl+D收藏火星链
首页 > USDC > 正文

DEFI:国家区块链漏洞库发布DeFi网络安全态势报告

作者:

时间:1900/1/1 0:00:00

来源:国家区块链漏洞库

近期DeFi安全事件频发,国家区块链漏洞库收录的安全事件包括shroom.finance项目增发无限代币、Unicats项目授权攻击、Balancer项目攻击事件、Akropolis和OUSD分别遭遇黑客重入攻击等。DeFi生态安全威胁风险等级为高。

一、DeFi当前整体发展情况

2017年12月,全球首个DeFi项目Maker正式上线。今年以来,DeFi经历了快速发展,特别是6月到11月间DeFi锁定资产价值从10亿美元增长到了180亿美元左右,上涨幅度高达1,700%。高峰时期,项目数量超500个。目前DeFi的主要产品类型有借贷市场、去中心化交易所、衍生品、支付网络、代币化资产等。此外,根据用途及代币特性,DeFi还有基础设施、数据服务、钱包以及稳定币等品类。

图1DeFi主要项目类型总锁定价值占比

DeFi项目快速发展,围绕DeFi的各类安全事件也开始频繁发生。

二、DeFi安全现状

DeFi在各链平台的安全状况国家区块链漏洞库对今年以来的DeFi安全事件统计,82.61%安全事件发生在以太坊上。波场区块链占比6.52%,EOS区块链占比4.35%,其他区块链占比6.52%。

渝中区发布《坚持创新引领打造国家区块链产业高地》成果:金色财经现场报道,9月16日下午,由中国国际智能产业博览会组委会主办,重庆市大数据发展局、重庆市经济信息委、重庆市渝中区人民政府联合承办,宏链财经执行的“2020(线上)智博会区块链高峰论坛”在渝中区JW万豪酒店隆重召开。渝中区政府副区长乔宏在论坛上发布《坚持创新引领打造国家区块链产业高地》。他表示接下来,渝中区将始终保持勇立潮头的气魄,持续领跑区块链、5G等新赛道,加快创建全国区块链发展先行示范区,力争实现“重庆第一、西部领先、全国一流”的目标,为经济高质量发展赋能,为群众美好生活添彩。[2020/9/16]

图2各类区块链上的DeFi安全事件占比

DeFi项目的安全问题

1、无限增发问题

无限增发是指智能合约中存在可以非法调用增发函数的漏洞,导致攻击者可以进行随意发币的操作过程。

DeFi项目方通过添加minter权限,即可进行增发代币操作。此外,也存在本该拥有铸币权限的治理合约地址,被替换成项目方所持外部地址的情况,这样使得项目方可以无限铸币。还有些项目方没写时间锁,导致增币不受时间限制,可以无限增币。例如,DeFi项目shroom.finance因为没有设置时间锁定,导致代币无限增发。

2、授权攻击问题授权攻击是指攻击者利用合约逻辑漏洞获得其他用户授权过的合约权限,对用户的代币进行随意转账。

投资者参与DeFi项目时,为了方便,通常会被要求将全部代币授权给合约地址,以避免用户在之后的操作中反复授权,例如用户有1,000万某代币,但每次合约进行转账的时候用不了1,000万,这样的话,每次合约转账都需要用户签名,如果在最开始就把1,000万授权给合约地址,那就可以避免不必要的重复操作。但如有恶意者利用合约权限,调用ERC20代币中存在的transferFrom函数实施代理转账。那么用户钱包中的所有代币都能被攻击者随意操作。在项目Unicats中,项目方正是留下了这样的可以越过判断条件的权限,相当于地址白名单,使其可利用合约身份发起交易,恣意盗取用户的资产。

政协委员陈晓红:重庆将积极打造国家区块链数字经济产业园:金色财经现场报道,7月8日,2020线上智博会区块链应用创新大赛在重庆启动。启动仪式上,中国工程院院士、全国政协委员陈晓红通过视讯的形式表示,重庆举办全国性区块链应用创新大赛,积极打造国家区块链数字经济产业园,彰显着发展数字经济、打造智慧名城的执着与探索精神。正值毕业季,我和同学们说,区块链、大数据、人工智能等,正让生活和工作经历着巨变,我们要永远处于开放创新的状态。

此外,陈晓红透漏了其以政协委员身份履职尽责一贯的观点:“来自于实践、来自于需求,能解决问题的提案,才有生命力。”她指出,区块链应用创新大赛一样,能将区块链技术用于解决实际问题的项目,才有场景,才有需求,才能脱虚向实。希望优秀项目借助大赛平台,充分展示区块链赋能产业转型升级的力量,收获资本青睐与政府支持,真正让区块链产业创新落到实处。[2020/7/8]

图3攻击代码部分截图

从目前情况看,几乎所有的项目方在前端或者其他地方,会默认设置用户授权的额度是最大。而有些合约在调用其他合约的时候,也会需要给合约授权,但是他们往往使用的是使用多少授权多少的方式。因此,作为投资者,在DeFi项目的授权问题上都必须保持高度警惕,以免坠入攻击者的“陷阱”。

3、套利问题

套利是通过同时购买和出售同种虚拟数字货币资产来获得利润的方式,它利用了同一虚拟数字货币资产在不同交易所定价的不同的现象,特别是在虚拟数字货币资产发行的开始阶段,在不同交易所之间流动性变化很大,导致有很多可以利用交易所之间的价格差来套利赚取收益的机会。

Cardano基金会宣布与南非国家区块链联盟建立合作关系:Cardano基金会于4月7日宣布与南非国家区块链联盟(SANBA)建立合作关系。该合作伙伴关系致力于探索进一步方法来加强技术在整个南非的采用。根据官方公告,Cardano将使用区块链技术促进南非的社会经济增长,合作也将帮助他们在南非地区增加区块链采用率。(Cointelegraph)[2020/4/9]

这类问题主要出现在业务复杂程度较高的DeFi项目上。例如,Balancer项目的攻击事件。攻击者通过组合利用“闪电贷”、通缩货币的特性,以及Balancer代币池的“乘积恒定”规则,使用通缩代币STA和“闪电贷”构造出只有1单位STA的特殊情况。当池中只有1单位STA和其他代币时,仅需1单位STA就可以兑换价值较高的其它代币。加之,STA具有通缩特性,即转账时会销毁部分代币,但因为1单位STA是最小值,当转账1单位STA时也会销毁1单位STA,这就使得池中STA数量不变。攻击者反复进行此操作,便可掏空资金池。如下图:

图4攻击流程

4、重入攻击

重入攻击是指合约代码在执行回调函数时被攻击者劫持,导致本该调用的回调函数被替换为恶意合约地址,使得攻击者能再次调用该函数,例如,本该进行一次转账的函数被两次调用,这就使得攻击者获得两次收益。

最近发生的DeFi协议Akropolis遭到了黑客重入攻击事件,通过分析,本次攻击主要是由于合约未进行参数校验以及未对重入攻击进行防范所导致。

动态 | 澳大利亚国家区块链路线图引起质疑:澳大利亚公布国家区块链路线图并未引起国内一致好评,甚至引起一部分人的批评。合规与战略公司Gresham International的创始人Cal Evans表示,澳大利亚可以在许多行业中受益于区块链的部署。有许多行业可以由政府主导,包括医疗,运输和国防。但专注于葡萄酒行业,感觉更像是澳大利亚政府真的不确定区块链,也不希望在关键领域(例如运输或国防)进行测试。澳大利亚金融科技协会主席、联邦政府金融科技咨询小组成员Alan Tsen在接受采访时也表示,路线图“缺乏远见”,而所谓用例读起来就像咨询公司写的一样。此前2月7日消息,澳大利亚正式公布国家区块链路线图。澳州联邦政府文件显示,澳大利亚将在区块链投资和开发方面重点关注三个关键领域,包括:法规和标准;技能、能力和创新;国际投资与合作。(Cointelegraph)[2020/2/12]

攻击者首先将自己的恶意合约地址作为参数传入函数deposit(),传入的位置为代币地址的参数位置。这样就将导致函数在执行代币的safetransferFrom()函数时,调用的是攻击者的恶意合约。攻击流程分为如下几个步骤进行:

1.deposit()函数首先执行depositToProtocol()函数,而depositToProtocol()函数里存在一个被恶意劫持的safeTransferFrom()函数,所以这一步将执行攻击合约。

2.在攻击合约中攻击者再次调用了deposit()函数,而这次传入的参数为正常代币地址,本次调用攻击者存入了真实的DAI进行正常存币操作。

3.代码中可以看到,mint函数之前进行了一个余额相差计算,铸币即是根据这个差值来计算的,而本次存入真实DAI使得余额增加,所以本次攻击者将会获得与存入DAI等价的poolTokens。

动态 | 意大利公布专家名单 共同制定国家区块链战略:据CoinDesk消息,意大利发展部于27日公布了一份由30名专家组成的名单,以共同制定国家的区块链战略。据悉,该小组将努力确定公共和私人服务中区块链的潜在用例,并开发必要的技术和监管工具来推广该技术。其中一些知名人物包括:电信公司Italtel的营销组合主管、联合国信息系统区块链团队成员Angiolini Giorgio,以及普华永道意大利分公司区块链能力中心负责人Monaco Marco。[2018/12/28]

4.恶意合约执行完毕后,正常合约将继续执行depositToProtocol()函数之后的代码。

5.由于之前攻击者确实存入了DAI,所以本次攻击者将会再次获得与存入DAI等价的poolTokens,实现了资产翻倍。

攻击者正是使用了这一系列方法,对合约发起了多次攻击,最终获利200多万的DAI。

图5攻击流程

再比如,最近发生的OUSD遭重入攻击事件,攻击者利用重入攻击与弹性供应调整来达到攻击目的。

本次攻击,攻击者通过dYdX闪电贷贷出7万枚ETH,并将ETH兑换成了相应的USDT和DAI。

1.攻击者先向Vault中转入750万的USDT,从而使自己在Vault中的价值占比达到50%以上。

2.调用合约中的mintMultiple()函数进行铸币,并将2,050万枚DAI与恶意合约假冒的另一种代币作为参数传入,函数正常接收到2,050万枚DAI,在接收另一种代币时其实调用的是攻击者的恶意合约,攻击者在攻击合约中再次存入2,000枚USDT进行铸币,其目的是为了触发rebase()调用。

3.因为正常合约是转账之后,会进行资产结算,更新资产总价值,然后通过rebase()进行分配,但此时合约被劫持,合约还未将这2,050万的DAI算入Vault资产总价值,所以在进行rebase()的时候,会将这2,050万枚DAI全部当作收益进行分配。

4.由于攻击者在Vault中的价值占比超过50%,所以攻击者会在没有任何付出的情况下分配到超1,025万的DAI,之后合约正常执行,攻击者获得由oUSD.mint铸的OUSD代币,其价值与存入DAI相等。

最终,攻击者所有的收获加起来价值大约为3,327万枚OUSD。最后,攻击者赎回之前存入的代币,并将获得的代币归还闪电贷。

导致DeFi安全事件的原因国家区块链漏洞库对DeFi安全事件的主要原因进行分析,具体包括业务逻辑实现漏洞、业务设计缺陷以及项目方跑路、重入攻击、钓鱼等,详细原因分类如下图所示。

图6导致DeFi安全事件的原因

除此而外,导致DeFi安全事件频发的另一个原因是,大量“仿盘”项目如雨后春笋般在市场中迅速兴起。这些项目普遍存在技术底层薄弱,业务设计不合理等问题,有的更是疑似的项目。接下来,我们对其中存在的典型问题分析如下:

1、业务逻辑实现错误所谓业务逻辑实现错误,是指在写程序实现需求的时候,因为错误的代码编写方法导致漏洞存在。在CherryFi项目USDT锁死事件中,其转账逻辑调用了safeTransfer函数进行具体转账操作。但是,USDT的转账逻辑并没有返回值,这就导致safeTransfer调用永远无法成功,导致资金锁死,用户因此无法进行USDT转入和转出。据了解,CherryFi代码未经审计。

2、业务设计缺陷业务设计缺陷,是指在业务设计的过程中考虑不够完善与严谨,而并非是因为代码编写问题导致的业务缺陷。在DeFi项目中,此类问题主要体现在交易对相关逻辑或弹性供应机制中,且极易引发恶意套利问题。在Curve项目中,其变量A在进行变化前后的兑换比例如不一致,就会出现套利机会。

图7代币联合曲线

如上图所示,Curve代币池中不同代币余额都要满足该曲线。为进一步说明这个套利空间的形成过程,可假设TokenX为USDT,TokenY为另一种代币。用户在A=1时将持有的USDT和TokenY全部兑换成TokenY,假设兑换前池子中共150USDT,50TokenY,如图红点,该点处于蓝色曲线上,同时保持150与50的比例,用户持有50USDT。根据此时的曲线,用户如果使用50USDT兑换TokenY,则池子里将会有200USDT,为了保证比例处于蓝色曲线,则红点将会移动到黄点,对应比列为200:30,所以50USDT可兑换20TokenY。

假设,A=10时,当前池中余额为200USDT和30TokenY。此时使用持有的20TokenY兑换USDT,这时池中有50TokenY,为了满足红色曲线的比列,则黄点会移动到绿点,则池中余额应为140USDT和50TokenY,即使用20TokenY可兑换到60USDT,这样就获得了10个USDT的利润。这就是A在变化前后,形成的套利的空间。

3、代码错误代码错误通常发生在编写代码时,因为程序员疏忽大意,导致代码书写错误。该问题可能对项目带来毁灭性打击,例如YAM项目因出现代码书写错误,在弹性供应计算过程中忘记除以精度,如下图所示,导致合约保留过多代币。而治理需要投票,发起一个提案需要提案发起者抵押总代币的1%才能够提案成功,如果总代币数量太多了,那提案所需抵押的代币量就比较巨大,从而导致没有人能承担得起提案所需代币。最终,项目方不得不因此宣布项目终止。

图8部分错误代码截图

最后,随着DeFi行业的快速发展,越来越多的组合性创新被应用到DeFi项目中,但是人们在进行安全检测或者安全审计的过程中,往往很难发现组合后的风险。比如,Lendf.me攻击,项目的业务逻辑、ERC777本身都没有问题,但是组合起来之后存在重入漏洞。组合性风险的难题仍待区块链安全行业的各个厂商去联手解决。

三、结语

当前DeFi项目仍处于发展初期,各个项目方水平参差不齐,技术条件差异较大。部分DeFi项目,一是未经过专业的代码安全审计;二是忽视区块链技术特性,只基于传统金融类中心化系统经验进行建设;三是部分区块链应用没有进行真实性核查,存在被不法分子利用数字资产投资、理财等噱头进行的风险。部分项目方还存在将地址上的数字资产进行大量转移的行为,亟需相关方关注。综上,DeFi生态安全威胁风险等级为高。

标签:区块链DEFDEFIEFI区块链工程专业学什么及就业方向Alchemist DeFi AurumDefi.financeDefi Factory

USDC热门资讯
GMT:行情分析:上涨动能衰竭,大盘继续调整

作者|哈希派分析团队金色财经合约行情分析 | 资金费率保持高水平,多头情绪仍浓:据火币BTC永续合约行情显示,截至今日18:00(GMT+8),BTC价格暂报11264美元(+1.11%).

1900/1/1 0:00:00
HTT:科普 | 让信任最小化——一文回顾密码学货币的来历

在学习密码学货币的过程中,最要紧的事就是理解设计它们的目的。密码朋克自八十年代末以来,一个不断扩大的自由主义科学家、工程师、计算机科学家、哲学家团体,便一直在讨论,如何在一个日益被计算机和互联网.

1900/1/1 0:00:00
BitMart:香港发出首张加密货币牌照,限八百万港币以上专业投资者,北京会参考吗?

12月15日BC科技集团旗下OSL交易所宣布,获得香港证券及期货监察委员会颁发的首个虚拟资产牌照,牌照类型为第1类证券交易和第7类提供自动化交易服务。这意味着香港发出了第一张加密货币牌照.

1900/1/1 0:00:00
COIN:Coinbase上市背后:中国资本入局,估值或达280亿美元

8年磨一剑,Coinbase终于申请上市!12月7日,CoinbaseGlobal宣布,已向美国证券交易委员会提交了上市申请,成为首家试水资本市场的加密货币交易所.

1900/1/1 0:00:00
FIL:冗余策略:双副本与纠删码该如何选择?

Filecoin主网的上线后,存储的数据呈爆炸式增长,如今全网有效算力已经达到了1.40EiB,海量数据的安全存储给矿工带来了巨大的挑战.

1900/1/1 0:00:00
USD:AAX研报:比特币若突破24000美金,目标30000美金

BTCBTC这个月的表现非同一般。本月达到历史最高点,可能所有人都在想,BTC这艘火箭船何时会耗尽燃料。然而,一周前,BTC开始显得有些不稳定.

1900/1/1 0:00:00