区块链安全公司CertiK:注意DeFi中的4大安全风险

注:5月,DeFi安全事故频发,据统计,约有15个项目遭到黑客攻击,包括BeltFinance、BurgerSwap、Julswap、Merlin、AutoSharkFinance、BoggedFinance、PancakeBunnny、Venus、FinNexus、bEarnFi、EOSNation、xToken、RariCapital、ValueDeFi、Spartan,涉及资金损失近3亿美元。值得注意的是,在如此多的攻击中,BSC上的DeFi项目貌似成了黑客的集中攻击点,而闪电贷则是黑客主要的攻击手段。5月30日,币安智能链官方还针对频发的安全事件发布推特称:

最近已经接连发生超过8起针对BSC链上项目的闪电贷攻击,我们认为现在有一个有组织的黑客团队盯上了BSC。我们呼吁所有DApp注意防范并采取防治措施。

此前,BSC还与区块链安全公司CertiK举办了有关DeFi风险的直播活动,本文将对其进行回顾以帮助了解DeFi中的4大安全风险。观看活动视频,可访问:https://www.pscp.tv/w/1BdGYYeYVREGX。

自9个月前推出以来,币安智能链已成为全球领先的DeFi平台之一。如今,有超过600个项目在BSC上每天产生数千万的交易。

美股开盘:美股区块链概念股仅一股上涨:美三大股指基本平开,道指涨0.07%;标普500涨0.01%;纳指跌0.02%,美股区块链概念股仅一股上涨。柯达平盘,埃森哲上涨0.17%,overstock.com下跌1.11%;RiotBlockchain下跌1.28%,MarathonPatent下跌1.06%,Square下跌0.49%。[2020/7/10]

然而,巨大的成功也伴随着巨大的风险。黑客利用在不同层面暴露出来的漏洞,越发频繁地进行了漏洞攻击。这些漏洞可以分为4个大类,我们将对这些漏洞进行介绍,以使读者更好地了解与DeFi有关的安全风险。

管理密钥的泄露

在智能合约中,修改器限制了允许调用某些功能的人选。这些功能通常是用于修改合约配置或管理智能合约中持有的资金的特权功能。如果攻击者获取了管理密钥,他们就可以完全控制智能合约,并窃取用户资金。

密钥如何被泄露?

第一种可能性是通过计算机木马。攻击者可以使用木马程序来窃取存储在计算机上的私钥。此外,攻击者也可以进行网络钓鱼攻击,用户将私钥发送给攻击者。对于DeFi项目而言,有时几个项目利益相关者将共享一个私钥。这就使得恶意的内部人员可以使用该密钥调用管理功能,并将项目的代币转移到他们自己的钱包地址。

例如,2021年3月5日,PAID网络就遭受了因私钥管理不善而引发的"铸币"攻击。PAID代币合约是置于一个可升级的代理之后的,也就是说,合约可以被修改和替换。代理人的私钥被用来交换部署在代理背后的代码,其中包含攻击过程中使用的销毁和铸造功能的恶意代码。攻击者销毁了6000万现有的PAID代币,然后为自己铸造了5900万代币。瞬时,PAID代币价格从2.8美元跌至0.3美元,因为2,501,203个PAID代币在Uniswap上遭到抛售,总价约为2,040ETH。攻击者很可能是通过网络钓鱼攻击入侵了管理员的机器。

声音 | 浙江大学蔡亮:目前我国区块链技术发展集中在两个领域:据法制日报消息,近日,浙江大学区块链研究中心常务副主任蔡亮接受采访时表示,当前,区块链技术已应用于金融、政务、社会治理、工业制造等多个领域,并且随着业界对区块链的价值和场景适用度的认识不断提高,很多企业从原来的概念验证式的应用逐渐转向实际应用。目前我国区块链技术的发展趋势和研究热点主要集中在两个领域。“首先是联盟区块链技术的研究与产业发展,包括联盟区块链核心技术的攻关、联盟区块链平台的研发,以及围绕联盟区块链,怎么样服务于社会经济、政府、社会治理等领域。其次,区块链的监管技术也是一个很重要的研究方向。怎么样把区块链技术用好、管好,这是确保整个产业可持续发展的关键问题。”[2019/11/12]

2021年4月19日,298万个EASY代币从EasyFi官方钱包转移到几个未知的钱包,这些代币的当时价值为7500万美元。EasyFi创始人声称,黑客攻击的原因是"对创始人的机器/Metamask进行有针对性的攻击,以获取管理密钥"。

项目应该安全地存储私钥,而不应该在PC设备上以纯文本形式存储管理密钥,或依赖MetaMask热钱包。我们建议使用硬件钱包创建一个多签账户。例如,对于一个五人团队,每个团队成员都应该有自己的硬件钱包。当他们试图发送特权交易时,应该要求五个团队成员中至少有三个人签署该交易,从而防止攻击者在获得其中一个密钥时就能够调用任何特权功能。

对于代币合约来说,如果可能的话,应避免允许铸造新的代币。但如果没有这个可能,也要尽量使用DAO合约或时间锁合约作为所有者,而不是EOA账户。

动态 | KT发表区块链卫星服务关联构想:最近韩国KT SAT在与韩国宇宙技术振兴协会(KASP)共同举办的Korea Sat Conference中发表了将卫星与区块链相结合的强力保密服务的构想。[2018/10/12]

编码错误

DeFi中,一些漏洞的复杂程度很高,但情况并不总是如此。有时,智能合约中的一个小编码错误就会变成一场大灾难,导致价值数百万的资产受到损害。

一些常见的编码错误包括:

函数允许(修改)

拼写错误

数字错误

缺少/不正确的变量值赋值

一个值得注意的例子是UraniumFinance的黑客事件,该事件发生在一个未经审计的合约上,最终导致了5700万美元的损失。这是由于在比较交换前后池中两个代币余额的乘积时,使用了不一致的乘数,使得攻击者可以从资金池中换出大部分代币,而成本只有1Wei。

UraniumFinance代码:

正确代码:

业内人士:没有任何区块链项目就建几十个微信群 很可能发展成币局:据法治周末,一位早期进入区块链行业的资深人士透露,从去年开始暴涨的比特币行情让普通人开始关注区块链和虚拟货币,并对神秘的虚拟货币投资产生了向往。该人士称,有些年轻人甚至从小贷平台上借钱、用信用卡套现等投资一些虚拟货币,他们认为只要踩对一个币,就会获得可观的回报,甚至实现财务自由。而这种盲目的心态往往会落入一些不法分子设计的内部发币、币值只涨不跌的圈套。有一些所谓的区块链项目方在没有任何项目的情况下会先建立几十个微信群,这些微信群很有可能就是项目方后期发“空气币”“币”的宣传场所,如此一来后果不敢想象,发展成的可能性非常大。[2018/4/25]

另一个例子是来自于ValueDeFi的黑客事件,该事件导致了1000万美元的损失。据悉,合约中的初始化函数漏掉了"initialized=true",也就是说,任何人都可以重新初始化资金池并将自己设置为操作员。2021年5月5日,攻击者重新初始化了资金池,并将操作员的角色设置为了自己,然后使用"governanceRecoverUnsupported()"函数耗尽了池中的质押代币。

ValueDeFi中的漏洞代码:

金色财经独家分析 IBM构建智慧商业致力指数级增长 区块链重新定位企业的产业周期:近日IBM表示,善于利用数字化智能技术,拥有指数级学习能力的智慧型企业将在这个时代占领先机,甚至逆袭成下一个行业巨头。IBM 致力于利用区块链等帮助各行业企业迅速构建“智慧商业”,实现指数级增长。金色财经独家分析,按照产业周期理论,指数级迅猛增长往往出现在产业的初创期和成长期。如今区块链的应用可以打破原有的生产关系,将传统商业打碎重塑,因此重新定位了企业所处的周期,以前进入成熟期并开始放缓增长速度的产业或因生产关系的变革再次迎来机遇,进入高增长期。[2018/4/11]

修复代码:

上述两个例子都是由简单的编码错误引起的,而且都造成了重大损失。但是,这些类型的错误完全可以通过适当的同行评审、单元测试和安全审计来轻松消除。

闪电贷和价格操纵

闪电贷是一种从Aave或DyDx等协议中借入大量资金以获得一定费用的方式。其要求是,贷款需要在同一交易中归还。如果没有,贷款就会被退回。这些贷款的一般利用流程如下:

使用闪电贷借入大量的代币A

在DEX上将代币A换成代币B

利用一个依赖A/B交易对价格的DeFi项目

偿还闪电贷

近日,PancakeBunny就遭遇闪电贷攻击,攻击者共获得了114KBNB和697KBunny。攻击者利用闪电贷操纵了PancakeSwapUSDT-BNBV1池的价格,导致大量的BNB流入BNB-Bunny池,从而使得该合约能够以虚高的BNB对Bunny的价格铸造Bunny。PancakeBunny则使用以下函数来计算Bunny价格:

随着大量的BNB流入BNB-Bunny池,变量"reserve0"变得很大。最终,由于价格计算存在缺陷,攻击者共获得了697KBunny。

此外,遭受过闪电贷攻击的受害者还有很多,其中也不乏DeFi领域的一些知名项目,包括PancakeBunny($4000万资金损失),HarvestFinance($2500万资金损失),Yearn($1100万资金损失),ValueDeFi($700万资金损失),AKROPOLIS($200万资金损失),CheeseBank,XToken,bZx等等。

如果一个项目需要价格参考,它也需要小心,因为闪电贷可能会操纵价格。为了防止这种情况发生,我们建议使用时间加权平均价格。TWAP代表了一个代币在特定时间范围内的平均价格。如果攻击者在一个区块中操纵价格,它是不会影响平均价格的。另一个建议是,使用一个可靠的链上价格预言机,如Chainlink。

滥用第三方协议和商业逻辑错误

许多项目,如PancakeSwap和UniSwap,是独立运行的。在PancakeSwap中,用户可以为收益耕种代币提供流动性,或者用一种代币交换另一种代币。用户不与其他第三方协议互动。

其他项目,如YearnFinance,运作方式则不同。YearnFinance收集用户资金并将其投入第三方合约。它通过投资用户的代币获得收益。另一种情况是,一些项目从其他项目"借用"代码。例如,PancakeSwap就引用了UniSwap的代码。在这两种情况下,如果第三方代码的源头有漏洞,那么使用该代码的项目也会出现漏洞。如果一个项目的开发者不熟悉他们所使用的第三方代码,那么一旦漏洞被利用,就可能酿成大问题。

2021年5月8日,ValueDeFivSwapAMM的非50/50资金池被人利用,总共损失了约1100万美元。为了实现非50/50资金池,ValueDeFi从属于Bancor协议的"BancorFormula.sol"复制了"power()"函数。在power()函数的描述中,写到这个函数不支持"_baseN<_baseD"的情况。然而,不幸的是,ValueDeFi就是这样使用这个函数的。攻击者通过向该函数发送了一个精心制作的有效载荷,将少量的代币A交换成了代币B。

ValueDeFi代码:

在DeFi领域中还有许多其他类似的案例。2021年5月8日,一名攻击者通过利用集成在RariCapitalV2中的AlphaHomoraV1的ibETH池的功能,从RariCapitalEthereum池中抽走了大约2600个ETH。BearnFinance则在其"BvaultsStrategy"合约中允许使用BUSD的提款金额来提取ibBUSD,使得攻击者从池中移除了10,859,319BUSD。

相较于前几种问题,此类漏洞更难发现,在使用与任何第三方协议通信的项目时,都应该谨慎行事。我们不建议盲目地复制和部署开发人员不了解的代码。开发者应该在整合第三方协议并将其部署到生产中之前,充分了解第三方协议以及分叉项目的工作方式。此外,我们还建议开发者先在测试网上部署他们的项目,并进行测试运行,以检查交易记录的异常情况。

作为终端用户,在使用个人资产与项目进行互动之前,有时很难找出项目的详细信息。这时,便可以借助区块链安全公司的审计报告,来浏览项目的安全性。

总之,创建DeFi项目可以很有趣,但被黑客攻击就不好了。要使一个项目100%安全是困难的,但我们可以尽可能地进行保护:

保持管理密钥的安全

避免简单的编码错误

使用可靠的链上价格馈送

接受安全审计并做好审计准备

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

银河链

币安币思考 | 被误读的闪电贷:它只是一个工具

据PeckShield态势感知平台数据显示,过去一个月,整个区块链生态共生46起较为突出的安全事件。涉及DeFi相关25起、交易所相关4起、勒索相关3起,欺诈事件10起,钱包相关2起,智能合约相关2起.

波场被误读的闪电贷:它只是一个工具

据PeckShield态势感知平台数据显示,过去一个月,整个区块链生态共生46起较为突出的安全事件。涉及DeFi相关25起、交易所相关4起、勒索相关3起,欺诈事件10起,钱包相关2起,智能合约相关2起.

[0:15ms0-2:516ms