theNet by Cloudflare

了解 Web3 及其安全性影响

了解企业探索去中心化 Web 时的考虑因素

进入 Web3 世界的初期步骤

从 Web 1.0 转向 Web 2.0 时,企业面临一系列新的安全风险。任何用户都可以在互联网上发布内容,这意味着不受信任的恶意输入可以更轻松地破坏网站、泄露数据和感染数据库。

随着企业开始探索 Web3 新世界,他们将不得不面对其他类型的安全漏洞,其中有些可能是他们以前从未遇到过的。尝试使用 Web3 的企业将需要新的方法来应对这些挑战。


Web3 的核心概念

Web3 希望打造去中心化和集体所有的 Web 版本。Web3 技术以去中心化数据库为基础,任何更改或更新都需要多数人达成共识。

Web3 与以前的 Web 技术的不同之处:

  • Web 1.0 是阅读:用户可以在 Web 上获取数据,但不能与之交互。

  • Web 2.0 是阅读-写作:用户向 Web 提供数据,例如通过上传。

  • Web3 是阅读-写作-拥有:用户不仅提供数据,而且还拥有自己的数据。

阅读-写作-拥有的理念是通过几个基本原则实现的:

去中心化

在互联网历史上,Web 应用程序大部分时候都是由中心化提供商控制。这些提供商控制着应用程序的逻辑和数据,并可以随意编辑和清除。

在 Web3 中,Web 应用程序分布在节点相互连接的点对点 (P2P) 网络中。没有中央机构或控制器;数据对所有节点可见;网络未达成共识,就不能删除或更改数据。

共识

Web3 需要网络达成多数共识来验证新的交易或更新。区块链使用工作量证明 (PoW) 和权益证明 (PoS) 验证机制来达成共识。

隐含信任

Web3 依靠加密技术,特别是散列法,来确保绝不会在未经支持网络同意的情况下更改或删除数据。

例如,区块链上的任一区块都不能自行更改,因为其哈希值记录在下一个区块上。更改一个区块,下一区块的值也随之更改,这将使下一区块的哈希值变得无效,以此类推。换而言之,任何更改都需要区块链上其他大部分区块跟着更改。这种更改确实存在,但它们需要支持网络达成广泛共识,而且极其耗费资源。

因此,Web3 在许多方面都比 Web2.0 更安全。参与的客户端肯定会收到它们所请求的确切数据,而且所请求的数据不会被改变或替换成恶意的内容。客户端不需要信任中心化提供商;区块链中内置隐含信任。


企业如何使用 Web3

企业可以通过多种方式探索 Web3 的可能性,从分布式应用程序架构到更具弹性的文件存储方法。

区块链和去中心化应用程序 (DApp)

区块链是一种在分布式网络的数据块中按时间顺序记录交易的方法。已写入区块链的数据无法更改。

区块链最广为人知的应用之一是加密货币,加密货币是当今使用的去中心化金融 (DeFi) 服务的重要组成部分。但开发人员也可以编写使用区块链执行的去中心化应用程序 (DApp)(包括非同质化代币,即 NFT)。

DApp 的逻辑是智能合约。智能合约是为执行特定功能而设计的代码——和任何其他可编程功能一样,智能合约是在被调用时执行。智能合约创建并存储在区块链网络上。

从开发的角度来看,DApp 让企业不再需要管理和维护支持应用程序运行所需的全部后端基础设施。智能合约存储在区块链上,并自动运行。部署 DApp 的组织通常也需要部署和维护用户界面,使用中介服务在后端向智能合约进行 API 查询。

DApp 非常可靠,因为它们在一个巨大的点对点网络上运行,而中心化应用程序会在支持基础设施发生故障时瘫痪。

金融领域是 DApp 的一个主要用例,示例包括加密货币、钱包、去中心化交易所等。此外,开发人员还已经构建了 DApp Web 浏览器、游戏、社交网络,以及其他各种服务。

去中心化金融 (DeFi)

去中心化金融 (DeFi) 是指不依赖银行等中心化权威机构获取金融服务的一系列方法。DeFi 用户可以发放或接收贷款;购买、出售和兑换加密货币;赚取利息;以及执行与金融服务部门有关的其他任务,所有这些均通过去中心化平台完成。DeFi 主要基于智能合约(由 Ethereum 区块链支持)。中心化交易所支持 DeFi(例如 Coinbase),但 DeFi 协议本身是去中心化的。

分布式、去中心化的文件和数据存储

区块链的去中心化交易存储使其成为 Web3 的核心构件,但它并不是企业正在尝试的唯一架构类型。星际文件系统 (IPFS) 是实施 Web3 原则的另一(非区块链)协议。IPFS 是在分布式文件系统中存储数据。通过 IPFS 提供的内容地址不可更改,更新会产生一个新的唯一内容地址。凭借 IPFS 的分布式架构,它比中心化存储方法更具弹性,更加可靠。

企业可以依靠 IPFS,以值得信赖的方式向用户提供内容。IPFS 还让用户能够轻松地从自己的环境中发布自己的内容。


Web3 的最大安全风险

虽然 Web3 的基本原则使其在某些方面比 Web2.0 更加安全,但和任何技术一样,它也带来了一些安全风险。有些安全漏洞源自 Web3 和 Web2.0 架构的交互方式;有些则是区块链和 IPFS 等协议运转的固有缺陷。而由于 Web3 依赖网络共识,修补这些漏洞和其他缺陷的过程将会非常缓慢。

一些主要的安全风险包括:

没有对 API 查询进行加密和验证

大多数人知道不要把个人信息提供给未经验证的请求者。然而,Web3 应用程序往往依赖于 API 调用和响应,但这些调用和响应并不对连接端进行身份验证。

理论上,Web3 是完全去中心化的,网络上任何连接的节点都可以直接与存储的数据联系。实际上,Web3 应用程序的前端仍然需要依靠用户终端可以轻松与之交互的 Web2.0 技术。大多数 Web3 应用程序前端向 Web3 后端使用 API 查询获取业务逻辑和数据存储。

目前,许多 Web3 API 查询没有采用加密方式签名。因此它们容易遭遇在途攻击、数据拦截和其他攻击,正如使用未加密、未签名的 HTTP Web 2.0 应用程序时,用户容易遭遇数据泄露和在途攻击。换而言之,尽管有上述“隐含信任”理念,但往往也不能保证 Web3 应用程序数据来自正确的来源。

智能合约黑客攻击

和任何代码一样,智能合约可能包含重大的安全缺陷,使用户数据或资金(通常涉及资金)处于风险之中。2019 年的一项研究发现,编码拙劣的 Ethereum 智能合约使价值 400 万美元的以太币处于风险之中。随着时间的推移,这个问题并没有改善;2021 年 12 月,由于智能合约缺陷,攻击者盗取了价值约 3100 万美元的数字货币。2022 年 5 月,算法缺陷导致价值约 500 亿美元的 TerraUSD 加密货币丢失。

去中心化数据存储的隐私问题

连接的任何节点均可存储和访问区块链上的数据——Web 2.0 世界则不然,数据库的访问权限会非常受限。这带来了许多安全和隐私问题,具体取决于存储的数据类型。哪怕是匿名的静止数据,研究一致表明,没有数据是真正匿名的。

账户盗窃和移动钱包盗窃

媒体上充斥着加密货币或 NFT 钱包攻击的故事。最常见的情况是,攻击者获得了用户私钥的访问权限,或通过网络钓鱼诱使用户交出私钥。事实上,如果将私钥储存在用户的设备上,它们很容易遭遇实物盗窃

由于 DApp 和 Web3 的主要用途是加密货币,到目前为止,大多数攻击都是针对数字货币。但是,Web3 技术的其他应用可能也会遭遇同样严重的影响。

协议和跨链桥攻击

并非所有 Web3 都直接构建在区块链上。正如互联网包括构建在彼此之上的 7 个层次(根据 OSI 模型),区块链上也有协议。例如广泛依赖“桥”——支持从一个区块链向另一个区块链转账的协议。

这些协议也可能遭到攻击。例如,2022 年 2 月,盗贼利用 Wormhole 桥,盗取了价值约 3.2 亿美元的加密货币。

更新缓慢

在 Web3 中,一旦发现安全问题,就很难修复。因为 Web3 是基于去中心化的网络共识,任何更改都必须获得整个网络的批准。

这也许是 Web3 最大的安全挑战。构建完全安全的应用程序靠人力是不可能的,无法快速修复缺陷会加剧安全缺陷的影响,因为即便发现了安全缺陷,它们也能继续活动。

Web 2.0 的典型风险

从用户凭据盗窃到 cross-site scripting,尽管使用 Web3 后端,Web3 前端仍然会有许多和 Web2.0 前面一样的漏洞。代码注入、机器人、基于 API 的攻击等各种威胁手段会使应用程序和用户处于危险之中。


保护 Web3 应用程序和基础设施的最佳实施

API 查询加密和签名

HTTP 请求和响应广泛使用传输层安全性 (TLS),极大地提高了 Web 2.0 的安全性。同样,对 Web3 DApp 的 API 查询和响应使用加密和数字签名,对保护应用数据也至关重要。

WAF 和其他 Web 2.0 安全措施

目前,企业在抗击 Web 2.0 安全漏洞方面已有几十年经验。虽然这并不会缓解这些漏洞,但确实意味着保护用户账户、防止代码注入和阻止 cross-site scripting 等攻击的方法早已有之。Web 应用程序防火墙 (WAF)机器人管理以及 API 安全等措施封锁了针对应用程序前端的各种攻击手段。

在部署前加强代码审查

这在 Web 2.0 中也很重要,但许多(甚至大多数)组织假快速发布和迭代之名跳过或匆忙完成这一步。毕竟,新发布的功能或产品中的任何安全缺陷都可以在下一版本中修复。

但在 Web3 中就没那么简单了。对去中心化应用程序进行更新和添加需要的时间比 Web 1.0 和 Web 2.0 要长得多,因为需要整个去中心化网络达成共识。正确的做法是事先发现安全漏洞,而不是事后修复。在这种情况下,必须加倍重视代码审查。


Web3:如何安全地前进

随着企业探索并开始与 Web3 交互,他们必须继续将安全摆在首位。安全漏洞会使企业陷入瘫痪,或损害企业声誉。而且,由于 Web3 应用程序依赖于 Web2.0 式的前端,企业将需要同时抵御 Web2.0 和 Web3 的安全风险。

无论组织处于何种情况,从本地网络保护,到迁移到云端的组织,到 Web3 等新模式的前沿组织,Cloudflare 均可帮助组织抵御安全缺陷。对于采用 Web3 的组织,Cloudflare 可以帮助保护前端和后端,同时还提供网关,让组织可轻松与 Web3 交互。

Cloudflare 负责管理和保障与 Web3 基础设施的连接,让企业专注于重要的事情:为其用户打造尖端产品和所需服务。

Cloudflare 就影响当今技术决策者的最新趋势和主题发布了系列文章,本文为其一。



关键要点

阅读本文后,您将能够了解:

  • Web3 与以前的 Web 技术有何不同

  • 企业如何在其产品和运营中应用 Web3

  • Web3 常见的安全风险

  • 如何缓解这些安全风险


相关资源


深入探讨这个话题。

阅读 Ethereum Gateway 白皮书 ,进一步了解底层技术的工作原理,准备迎接 Web3。

接收有关最流行互联网见解的每月总结。