别怕,其实Web3.0的世界很安全

22-03-22 16:42
阅读本文需 2011 分钟
总结 AI 总结
看总结 收起

「我钱包里的 ETH 都没了!」


今日,DeFinance 创始人 Arthur 在社交媒体上表示其遭受鱼叉式网络钓鱼攻击。Arthur 点击了一封酷似 Defiance Capital 合作资管平台官方地址发来的邮件中的 PDF 文档,导致其热钱包被盗,损失大量 NFT 以及其他资产价值超 400ETH。


Web3.0 的世界好像并不安全,我们的链上资产似乎处处受到威胁。确实,从上层来看,链上应用不光要考虑应用逻辑的漏洞,还要考虑所部属链共识层可能潜在的攻击途径(抢跑等)。除此之外,我们还需要擦亮双眼看清交互前端,并预防各类钓鱼链接。最致命的一点是,交易一旦获得清算保证,回滚成本极高。这么说来,Web3.0 整体安全程度还不如 Web2.0 呢。


但从更底层维度来看,理论上来说 Web3.0 其实应该是更安全的。例如,链上的去中心化平行执行为链上应用打造了去信任化的执行环境。Web2.0 应用常遇到的 DoS 攻击也被 Gas 机制所解决。协议的开源同时也让用户在使用前「有权」进行 DYOR,等等...


本文出自加密钱包 ZenGo 联创 Tal Be'ery,文中就 Web3.0 固有的安全优势进行了详细解读,并提出了现存问题的潜在解决方案。律动研究院将全文进行了翻译:


我知道这一点听起来很荒唐,毕竟 Web3 的安全性是目前科技领域的一大笑柄,而 Web3 在去年也因安全漏洞损失了超过 100 亿美元。然而,我认为目前这样的情况应该是阶段性的,而非持续性的,一旦 Web3 应用程序变得更加成熟,它们将在安全性上超越很多「传统应用程序」。


Web3 的定义


在我们开始讨论 Web3 的安全性之前,我们需要首先对其作出定义。我们可以暂时将 Web3 定义为依赖于「智能合约」的应用程序,其商业逻辑和存储均在区块链上完成。因此,Web3 目前主要包括 DeFi 应用程序和 NFT,但在未来可以扩展到更多领域。



Web3 三角


在对 Web3 作出定义之后,我们便可以开始探讨它的安全性,而这主要包括智能合约的安全性。为了简单起见,我们将只讨论以太坊上的智能合约,但我相信其结论也适用于其他相似的系统和区块链。


Web3 的安全性有其内在优势


想象一下,如果 Web3 软件环境中没有了恶意软件、拒绝服务攻击以及其他类型的攻击,该是一次多么美妙的升级。下面我们一起来认识一下实现了安全乌托邦的 Web3:


-Web3 解决了可信执行的问题:对于传统的应用程序,可信执行是一个尚未解决的主要问题。目前,一个应用程序必须信任其软件(操作系统)和硬件(处理器和固件)的执行环境。如果这种信任被恶意软件或能够植入恶意处理器的硬件供应链攻击所破坏,攻击者便可以获得控制权。Web3 利用执行的去中心化解决了这个基本的安全问题。所有的区块链节点都在平行执行 web3 的代码,并且必须就执行的结果达成一致。除非执行引擎本身存在一些系统性风险(例如以太坊的 EVM 本身存在漏洞),否则攻击者必须发动「51% 算力攻击」,用恶意软件感染大多数区块链节点,以破坏其执行。


-Web3 可以免疫注入式攻击:对于传统的网络应用程序,所有参数都是以字符串的形式发送。这个设计缺陷是大多数传统网络应用程序漏洞背后的核心原因,这些漏洞包括 SQL 注入和命令注入,让攻击者能够将非预期输入偷运到尚未完善的网络应用程序之中。相比之下,由于 Web3 的强类型性质,这种非预期输入(比如,当预期是一个数字时,输入的却是一个字符串)将立即失败,而 Web3 应用程序则不需要做任何特殊的准备。


-Web3 对拒绝服务攻击的抵抗力更强:虽然这些攻击并不聪明,因为它们通常不是靠「脑力」,而是靠僵尸网络大军的「蛮力」,以较低的成本向攻击目标发送垃圾流量,但它们仍然是传统 Web 应用程序面对的一个主要问题。相比之下,Web3 应用程序就不会受此困扰,因为区块链为了防止被过量使用,设置了较高的交易费用,从而让 DoS 攻击者无从下手。


除了上面几点以外,Web3 在其他方面也表现出了很好的安全性(例如,在应对软件供应链攻击方面)。但是,仅仅是做到了上面几点,就已经相当厉害了。


但除了上述的技术优势外,鉴于 Web3 的完全开放性和透明度,Web3 还具有一些理念意义上的安全优势。早在 Web3 出现之前,开放式安全理念在安全领域就有很多拥护者,认为它比「隐蔽式安全」更具优势。Web3 将开放式安全理念发挥到了极致:在 Web3 中,不仅代码按照惯例是开源的,而且根据定义,二进制文件在区块链上也是对外公开的,且可以被验证为是已发布源代码的结果。此外,根据定义,所有代码的执行(交易)都是公开的,任何人都可以对其进行验证和审查。


理论优势并非实际优势


如果 Web3 的安全性在理论上大大优于传统应用程序,那为什么在实际操作中,DeFI 应用程序的安全性还是比不过传统的银行应用程序?


我认为这不是因为 Web3 的安全性本身有多差,而是因为它的运行环境异常恶劣,攻击者可以更容易地靠黑客攻击赚钱。Web3 应用程序每时每刻都在处理着「流动资金」,因为区块链上的资金转移几乎都是即时发生且不可改变的;而在传统的银行系统中,即使银行应用程序被黑,在攻击者兑现以前,这些恶意交易所涉及的财产都可以被追回。


具体而言,我们可以看一下规模最大的银行被黑案之一——2016 年孟加拉银行黑客入侵案。攻击者利用恶意软件渗透到银行当中,并发送欺诈性的 SWIFT 电汇,试图劫走 10 亿美元。为了真正得到这 10 亿美元,攻击者需要看好一个特定的日期,这一天正好银行放假,好让他们有足够的时间来变现。他们还需要在一家能够处理大量电汇的菲律宾银行提前做好准备,以便在电汇被退回之前将资金套现。最终,攻击者「只」获得了 10 亿美元中的 6000 万美元,而这并不是因为银行的软件安全性高,而是因为环境比较宽松,给了防卫者足够的时间追回电汇。


因此,我们可以得出结论,为了击败攻击者,我们需要为防卫者争取更多的时间。


要想做到这一点,我们需要减少攻击的检测时间,或者延长交易可逆转前的时间,又或者同时做好这两点。


我非常看好我们社区在改善攻击检测时间上的能力,因为目前已经有一些安全公司(如 peckshield)能够根据公开数据,利用上述的区块链透明度及「开放式安全」理念,提前对黑客攻击作出预警。从最近发生的黑客攻击案及其事后分析来看,没有什么能阻止在交易执行时分析的实时进行(甚至在交易执行节点内存池中的一个「代办事宜」时也一样)。当我们把这样一种先进的预警系统集成进合约当中以后,可能就足以用来杜绝此类恶意交易了,正如最近出现的 Forta.network 等项目所显示的那样。


即使在今天,套现也不像看起来那么容易。一些 Crypto Token 已经设置了自己的黑名单,用以冻结名单用户的资产。此外,要想兑现成法币,攻击者通常需要借助中心化交易所,而这些交易所正受到越来越多的监管,并也增添了 KYC 功能(了解你的客户)及黑名单,阻止了攻击者进行兑现。因此,如今一些攻击者更愿意归还大部分被黑的资金,只保留一小部分,并把这部分资金洗白成被黑应用程序发放的「漏洞修补赏金」(bug bounty)。正如最近查获的 Bitfinex 被黑资金,这些黑客其实很难将大笔的 Crypto 套现。可以肯定的是,套现只会变得越来越难。


结论:我们终将成功


虽然 Web3 的安全性还远远不够,但随着它的不断改进,未来很有可能成为我们数字活动的安全护盾。就像大多数革命性的技术一样,Web3 的功能越丰富,其安全性就越是问题,这也是一直以来的情况。不过今后在风险投资和成功 Web3 项目的资金支持下,安全系统的人才将不断从传统安全产品涌入 Web3 领域,我相信到那时 Web3 的安全性便可以充分的发挥出来。


Web3 和 Crypto 技术涉及计算机科学和经济中的诸多学科,而我只了解安全领域。我相信,Web3 将为安全领域带来重大突破,而且我也深信它能对其他我不了解的领域作出改进。


或者用 Web3 的行话说,WAGMI(我们都会成功的!)。


原文链接




欢迎加入律动 BlockBeats 官方社群:

Telegram 订阅群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方账号:https://twitter.com/BlockBeatsAsia

举报 纠错/举报
选择文库
新增文库
取消
完成
新增文库
仅自己可见
公开
保存
纠错/举报
提交