当前位置:首页 > 知识 >

Web 3.0安全问题与解决方案

Web3.0是一个去中心化的互联网,涉及使用部署在区块链上并由虚拟机执行的去中心化协议。这些分散的应用程序称为智能合约

通过DeFi和NFT市场,Web3.0的使用与加密货币形式的货币密切相关。Web3.0的金融应用是目前的重点。毕竟,你需要为每笔交易花费一些加密货币,以支付矿工和验证者处理你的交易的服务。

但是,当您拥有一个旨在处理现金流的系统时,您需要安全地构建它。但Web3.0目前处于非常早期的开发阶段,看起来更像是实验性测试,而不是一项完善的技术。正如当今大多数新数字技术所共有的那样,安全性是Web3.0初期的主要问题之一。尽管如此,它已经获得了被诱人的回报所吸引的大量风险投资。

每一项锁定大笔资金和大量未修补漏洞的新技术企业自然会成为黑客的诱饵,黑客愿意利用它们谋取经济利益。最重要的是,Web3.0的去中心化特性以及无需提供您的个人详细信息使其对网络犯罪分子更具吸引力。

而投资规模是衡量一个行业潜力的最佳指标。因此,可以肯定地说Web3.0具有良好的潜力——其中一些可能尚未开发。为了促进其发展,必须提高安全标准。

DeFi安全的主要威胁是什么?

当前与Web3.0网络攻击相关的现有威胁可分为两类——代码漏洞和智能合约业务逻辑漏洞。第一组包括利用虚拟机、内存池过载和重入攻击。它们是围绕利用命令的功能和执行顺序而构建的。

从本质上讲,这些漏洞利用不会像对集中式IT基础设施和个人计算机的攻击那样破坏传统意义上的分散式软件。他们只是利用程序员无意中提供的机会。

它可以以不同的方式发生。通常,开发人员使用其他开源项目的代码库,但同时对其进行一些看似微不足道的修改,但不会影响智能合约的运行方式。然而,它们最终可能会被证明是错误的,因为这些修改会以无法预料的方式影响智能合约运行的机制。

重入攻击在区块链的历史上已经名存实亡。他们以所谓的回调函数和合约中使用其余额的函数为目标。该功能用于借贷协议的智能合约中,因为需要监控用户在平台上的抵押品并计算他们可以借入的资金量。

当用户借入资金时,他们会查询“回调函数”,该函数会检查用户在合约中的余额,并发放相应数量的流动性作为贷款。该过程包括三个操作——检查用户余额、计算发放贷款后的用户余额以及发放贷款。

根据回调函数中这些操作的顺序执行,可能有一种方法可以欺骗系统并获取比您的抵押品允许的更多的流动性。

首先进行余额检查,然后是发放贷款或计算已更改的余额。如果先发放贷款,并且在代码序列的末尾有一个回调,它允许用户从头开始这个过程,而这个交易不会被挖掘并添加到区块链中。

例如,您有200美元的抵押品,并以100美元的抵押品获得100美元的贷款。如果先发放贷款,并且在您的操作对区块链的影响最终确定之前查询回调,则您可以再次贷款以获得不变数量的抵押品。这个过程可以进行多次迭代,并允许用户耗尽合约的流动性。

保护合约免受这种网络威胁的方法称为检查-效果-交互模式。这种模式将用户余额的计算放在了资金发放之前的合约中。然而,这种简单的模式适用于对回调函数本身的重入攻击,但跨函数重入攻击更难防御。

但是,随着新框架旨在消除重入攻击,重入攻击正变得越来越不常见。如今,DeFi黑客更多地将精力集中在利用智能合约业务逻辑的不一致性上,通常使用多种协议从一个协议中窃取资金。此类攻击通常涉及闪贷服务,允许您在不提交抵押品的情况下获得贷款。

2021年12月对CreamFinance进行了最大的闪电贷攻击之一。它导致价值1.3亿美元的加密货币和代币被盗。此次攻击涉及两个地址,分别使用MakerDAO、AAVE、Yearn.finance、Curve等闪贷平台向CreamFinance提款。最终,攻击者利用了Cream的PriceOracleProxy对cryUSD——Cream锚定美元的稳定币价格的评估漏洞。PriceOracleProxy根据yUSDYearnVault中持有的yUSDVault稳定币的价格对cryUSD进行估值。

在对从MakerDAO借出的流动性进行多次操作后,攻击者将800万yUSD添加到800万yUSDVault。CreamFinancePriceOracleProxy认为这是yUSDVault现在的成本是2美元而不是1美元,并且是cryUSD价格的两倍。因此,攻击者从价值15亿美元的yUSDVault铸造的15亿美元cryUSD中获得了30亿美元。这使得攻击者能够偿还贷款、利息并使用剩余的10亿美元从价值1.3亿美元的流动资金中抽取CreamFinance。

Web3.0的未来是什么?

为了使Web3.0更安全,应该提高安全标准。这需要有能力从头开始构建Web3.0的劳动力,以及为Web3.0公司工作的合格安全专家。尽管DeFi和Web3.0的其他实体存在高风险,但期望主流公众接受Web3.0是不合理的。为了让它更快发生,我们还可以采用CeFi的最佳安全实践,并将它们实施到去中心化系统中。

猜你喜欢

微信二维码

微信