欧易下载

欧易交易所
欧易交易所APP官网下载

欧易交易所(OKX)是最老牌的比特、莱特、以太交易所,欧易交易平台支持OTC法币交易,支持微信、支付宝和银行卡转账,安全方便快捷,欧易下载官方APP链接。

首发 | 解读DeFi典型漏洞及其安全风险

本文由Certik原创,授权金色财经首发。

自DeFi兴起以来,在短短9个月时间内迅速风靡全球。

BSC凭借低廉的gas和高速壮大的生态应用建立起了日渐完整的生态系统,成功成为了领先的公链平台之一。

数据来源:https://bscscan.com/

如今每天,都有数百个项目在BSC上进行数千万的交易。

图片来自https://twitter.com/BinanceChain/status/1395060714390315008

但是链上交易的热度将另外一个隐患带到了我们面前——安全隐患。

目前可被黑客所利用的不同级别漏洞越来越多。

CertiK安全专家将这些漏洞分为四大类?,下文将为各位读者带来DeFi相关安全风险讲解。

在智能合约中,某些功能受到函数修改器(modifier)的保护——只有特定的操作者才能调用特定的功能。

在大多数情况下,这些功能是用于修改合约配置或管理智能合约中持有的资金。因此如果攻击者破坏了管理密钥,他们可以完全控制智能合约,调用该功能从而窃取用户资产。

密钥泄露的原因

第一种可能性是计算机木马程序。 

攻击者可以使用木马程序来窃取存储在计算机上的私钥,或者进行网络钓鱼攻击,以诱用户将其私钥发送给攻击者。

对DeFi合约来说,往往是几个人共享一个管理密钥。

这就意味着如果有内部人员心怀不轨,那么他可以调用管理功能将项目的代币转移到自己的钱包地址中。

这里有两个案例:2021年3月5日,PAID Network因其私钥管理不当而遭受“铸币”攻击,经推测攻击者很可能是通过网络钓鱼攻击从管理员的计算机中窃取了密钥。

Livepeer宣布将所有功能由以太坊主网迁移至Arbitrum:2月15日消息,去中心化流媒体传输协议Livepeer宣布完成网络升级,禁用以太坊主网上的协议操作,将所有功能迁移至Arbitrum网络。Livepeer表示,随着以太坊主网Gas费上涨,高费用环境使网络参与者难以有效运营并盈利。

据悉,以太坊主网上的任何 LPT 代币都需要桥接到 L2网络才能与协议交互。此外,自今日起,Livepeer编排者将不会在以太坊主网上获得收益或通胀奖励,后者都将在 Arbitrum 上支付。所有协调者需在2月21日前将其权益迁移到 Arbitrum。LPT代币质押者(委托者)2月21日后可在 Arbitrum 网络上认领其 LPT 代币和收益。[2022/2/15 9:52:25]

PAID代币合约位于可升级代理服务器之后,这意味着代币合约可以被代理服务器的所有者替换。

这类恶意代码有铸币功能,攻击者销毁6000万个PAID代币,然后为自己铸造了5900万枚代币。

当时2,501,203美元的PAID代币(约为2,040ETH)在Uniswap上被出售,代币价格也从2.8美元暴跌为0.3美元。

2021年4月19日,EasyFi创始人声称该黑客为获取管理密钥对管理员进行了针对性的攻击。298万个EASY代币(当时价值约7500万美元)被从EasyFi官方钱包中转移到了几个未知钱包中。

因此安全存储私钥对于项目安全的重要性可见一斑,管理者切忌将未加密的管理员密钥存储在电脑设备上,或将其无防备的放置于Metamask热钱包中。

CertiK安全专家建议管理者使用硬件钱包创建账户。

如果多人团队的每位管理者均使用硬件钱包,一旦其中一位管理者试图进行特权交易,也需获取大部分成员的签署同意,这样可以防止攻击者仅获取一个密钥访问权时就可以调用所有特权功能。

金色晚报 | 10月14日晚间重要动态一览:12:00-21:00关键词:俄罗斯、LTC、蚂蚁集团、雄安、Filecoin

1. 俄罗斯央行:建议非专业投资者1年加密投资上限为60万卢布;

2. 李启威:LTC正集成隐私增强功能 明年将升级到主网

3. 蚂蚁集团与杭州市政府签署战略合作 加快区块链等数字技术创新;

4. 工信部:加快区块链等技术在工业互联网+安全生产领域创新;

5. 雄安小规模测试数字人民币 星巴克等暂未接入;

6. Filecoin社区提议上线后立即释放25%的存储矿工区块奖励;

7. 四川成都发布社区发展治理促进条例 运用区块链等技术促进社区智慧治理;

8. 波卡建议各节点升级至最新版本为下次升级做准备;

9. Filecoin在过去2天中全网有效算力增速放缓。[2020/10/14]

代币合约应尽可能避免铸造新代币的功能。如果需要铸造新代币,应使用DAO合约或时间锁合约,而非EOA帐户。

大家一提到DeFi漏洞,往往会认为漏洞必然是很复杂的,其实并非总是如此。

有时一个小小的编码错误,就可以导致数百上千万美元的资产一朝蒸发。

一些常见的编码错误示例:

1. 函数权限, 修改器(modifier)缺失

2. 错别字

3. 数字位数不正确

4. 变量值分配缺失/不正确

有一个非常典型的例子就是Uranium Finance曾发生的受攻击事件:黑客攻击了Uranium Finance未受审计的合约,项目因此损失了5700万美元。

管理员在交换前后比较池中两个代币余额的乘积时使用了不一致的乘数,这使得攻击者可以仅用1 Wei就从池中换出大量代币。

Uranium finance的代码:

正确的代码:

CoinW将于9月7日 22:00在DeFi专区上线ACH:据官方消息,CoinW将于9月7日 22:00在DeFi专区上线ACH,并开启“充值送ACH,-0.1%Maker费率”活动;据悉,Alchemy Pay是具有适应性的加密支付基础设施,且是亚太地区较为领先的去中心化数字货币支付解决方案和技术提供商,开发了一个加密货币与法币混合支付解决方案,能够为超百万家线上和线下商户提供快速、安全和便捷的聚合数字货币和法币支付技术解决方案。[2020/9/7]

另一个例子是Value DeFi,被黑客攻击导致损失了1000万美元。

此次事件发生的原因在于Value DeFi合约中的初始化函数缺少“initialized = true”,这意味着任何人都可以将资金池初始化并将自己设置为管理员。

2021年5月5日,攻击者将资金池初始化,将自己设置为管理员,然后使用“governanceRecoverUnsupported()”函数耗尽了已抵押的代币。

Value DeFi中的易受攻击的代码:

解决方法:

只需通过适当的同行评审、单元测试和安全审计,这一类型的代码错误往往极易避免。

闪电贷可以在无需提供任何抵押的情况下进行贷款,当然所有操作必须在一个交易区块内完成。

开发人员可以从Aave或dYdX等协议中借贷,条件是在交易结束之前将流动资金返还到资金池中。

如果资金未能及时返回,则交易将被撤回,从而确保储备池的安全。

闪电贷的一般运行步骤如下:

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

2. 在DEX上将代币A交换为代币B(代币A的价格下降,代币B的价格上升)

3. 攻击一个依赖A/B价格的DeFi项目

4. 偿还闪电贷

上周PancakeBunny遭受了闪电贷攻击,攻击者窃取了11.4万BNB和69.7万Bunny(当时价值约为4000万美元)。

攻击者利用闪电贷操纵PancakeSwap USDT-BNB V1池的价格,导致大量的BNB流入BNB-Bunny池,这使得该合约能够以虚高的BNB/Bunny的价格铸造Bunny。

PancakeBunny使用了以下函数来计算Bunny的价格:

大量的BNB流入BNB-Bunny池造成变量“ reserve0”变得更大,且价格计算公式存在缺陷,因此导致攻击者非法获取了69.7万Bunny。

闪电贷攻击的受害者很多,包括DeFi领域的一些知名项目:PancakeBunny(4000万美元损失),Harvest Finance(2500万美元损失),Yearn(1100万美元损失),Value DeFi(700万美元损失),AKROPOLIS(200万美元损失),Cheese Bank,XToken,bZx 等等。

从这些实例中不难看出——项目方应着重预防价格被闪电贷恶意操纵。

为了防止这种情况的发生,CertiK安全专家建议①使用时间加权平均价格(TWAP,代表了指定时间段内代币的平均价格),因为攻击者只能在一个区块中操纵价格,因此平均价格并不会被影响,从而规避相关恶意操纵,②或使用可靠的链上价格预言系统,例如Chainlink。

许多项目,例如PancakeSwap和UniSwap都是独立运行的,用户并不与其他第三方协议进行交互。

在PancakeSwap中,用户可以通过提供流动性以获得奖励代币或将一个代币交换为另一个代币。

但其他项目(例如Yearn Finance)的运作方式并不同。

比如Yearn Finance是收集用户资金并将其放入第三方合约,通过投资用户代币以获取收益的。

第三种情况则是一些项目会从其他项目“借用”代码。

后两种情况下,如果第三方代码的来源安全风险较大,那么所有使用该代码的项目也会受到攻击。

假如项目的开发人员不熟悉他们使用的第三方代码,一旦代码存在漏洞,所导致的后果将是灾难性的。

2021年5月8日,Value DeFi vSwap AMM的非50/50池被攻击,损失总额约为1100万美元。

为了实现非50/50池,Value DeFi从属于Bancor协议的“ BancorFormula.sol”中复制了“ power()”函数。

在power()函数的用法说明中,已写明该函数并不支持“ _baseN <_baseD”的情况。

但Value DeFi并未注意到此注释,因此攻击者成功利用此漏洞,通过往函数中传入特定的参数来用少量的代币A交换代币B。

Value DeFi的代码:

DeFi领域中还有许多其他类似的情况。

2021年5月8日,一名攻击者通过利用集成在Rari Capital V2中的Alpha Homora V1的ibETH池Bank合约的功能,从Rari Capital Ethereum Pool中消耗了大约2600个ETH。

Bearn Finance使用BUSD的提款金额在其“ BvaultsStrategy”合约中提取ibBUSD,从而让攻击者轻易转移了池中10,859,319 枚BUSD。

这类问题较难检测,因此项目管理者应谨慎与任何第三方协议进行交互,更不应盲目地复制并部署开发人员不了解的代码。

CertiK安全专家建议:

1. 开发人员在集成第三方协议并将部署到生产运行过程中之前,应充分了解其及其分支项目的运行情况。

2. 开发人员应在项目上线前,先将其部署在测试网上进行测试并及时检查交易记录中的异常情况。

总体而言,尽管项目难以保证100%的安全,但是以下几点可以尽可能提高项目的安全性:

1. 安全存储管理员密钥

2. 避免简单的编码错误

3. 参考可靠的链上价格

4. 进行安全审计并做好审计前的准备

对于终端用户来说,在使用个人资产与项目进行交互之前,有时很难找到有关项目的详细信息。

为了方便用户获取项目的安全性信息,CertiK开发了全球首个公开透明展示区块链项目安全数据的安全排行榜。

通过查看公开的安全数据,终端用户可以实时了解项目安全情况。

https://www.certik.org

除以上防范方式以外,所有项目均应意识到安全审计的重要性。

那么审计前为了充分利用发挥安全审计的作用,应该如何准备资料和代码?

以下有几个小tips:

1. 定义审计的确切范围并设定审计目标

2. 制作全面的审计代码文档

3. 确保良好的代码质量

4. 审计前测试代码

5. 冻结代码并在审核之前指定代码的commit hash

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

欧易交易所

屎币NFT 销售额前10名:需求旺盛的虚拟房地产

在过去的一周里,虚拟土地的需求出现了显著的增长,这要归功于一些土地出售活动和NFT交易。Decentraland的一处虚拟房产以709,020美元的价格售出,成为上周以来第二昂贵的NFT。 我们仍然可以将加密朋克(CryptoPunks)视为NFT的黄金标准,因为像素化角色一直占据着DappRadar上NFT销量前10名的位置。

BNB简单理解以太坊Layer 2新方案Arbitrum

最近Uniswap和Sushiswap都在计划使用Arbitrum的L2方案,这使得Arbitrum成为人们关注的以太坊L2方案。那么,如何简单理解Arbitrum? Arbitrum也是rollups系列的L2方案 以太坊Layer2方案有不少,其中最受关注的还是Rollups系列。 Arbitrum也是Rollups系列的解决方案。

比特币交易所区块链在数据管理中有哪些价值?

在数字化转型时代,更多企业开始积极拥抱区块链、人工智能、物联网等新型数字技术改造传统流程,应对数字化新挑战。其中区块链技术正受到越来越多企业的关注。 ISO 22739这一国际标准将区块链定义为“用密码学技术将共识确认的区块按顺序追加形成的分布式账本。”简单来说,就是存储数据的区块通过哈希加密这一密码学技术首尾相连,形成块链式数据结构。

以太坊交易所“算力”被盗 法律怎么看?

随着数字经济的蓬勃发展,“算力”一词进入了人们的视野。在早期,算力是指比特币等虚拟货币网络处理能力的度量单位,即计算机计算哈希函数输出的速度。后来,算力一词逐步扩展到大数据时代的运算能力。过去的20世纪是以电气化为特征的电力时代,而在信息网络时代,随着运算能力的跃升,算力逐渐成为了新的生产力特征。

[0:11ms0-0:499ms