「我钱包里的 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 目前主要包括 DeFi 应用程序和 NFT,但在未来可以扩展到更多领域。
在对 Web3 作出定义之后,我们便可以开始探讨它的安全性,而这主要包括智能合约的安全性。为了简单起见,我们将只讨论以太坊上的智能合约,但我相信其结论也适用于其他相似的系统和区块链。
想象一下,如果 Web3 软件环境中没有了恶意软件、拒绝服务攻击以及其他类型的攻击,该是一次多么美妙的升级。下面我们一起来认识一下实现了安全乌托邦的 Web3:
-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(我们都会成功的!)。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。