作者:Abyss,极客web3

摘要:对于广大用户而言,一笔交易从生成到最终确认的整个生命周期中,有多少个环节隐藏着风险?鱼页面、智能合约中的恶意逻辑、浏览器和钱包插件的漏洞、粘贴板和木马文件或是各种硬件设备漏洞,都是攻击者的惯用路径,即使你避开了上述要素,MEV科学家也会掠夺你的潜在收益。如果没有各大Web3安全平台的监测与保护,难以想象在黑暗森林中摸爬滚打的人们该如何生存。

随着Web3业内的长期演化,主流的Web3安全攻防思路已经分化出B端和C端两种,前者依赖于安全机构对B端产品进行全面审计,而后者需要在Web3生态里建立全面的个人保护措施。未来的web3安全核心叙事将集中在C端。

在充分思量了商业逻辑后,GoPlus将致力于成为一个大型的Web3安全SAAS生态或是类似于Steam的商店,打造「以用户为中心」的Web3安全范式,全面覆盖B端和C端。其推出了便于集成的“安全模块化”服务,将针对交易的全流程提供安全防护,为各大平台设计便于集成的安全模块,包括钱包、DApp、RPC和排序器的专用插件,以实现全面的链上风险管理。

下文中,我们将从Web3安全知识的科普出发,为大家系统梳理那些重要但常被忽视的知识。在让更多人感受到“黑暗森林”的危险之余,让我们一起来理解为何GoPlus SecWareX为代表的Web3安全SAAS生态体系将越来越重要。

web3安全的现状:黑暗森林


在2020年一篇名为“Ethereum is a Dark Forest”的文章中,Paradigm的两名研究员直接将以太坊生态乃至于整个web3形容为“黑暗森林”,这个概念原本脱胎于《三体》的宇宙社会学法则,描述的是充斥着各种未知危险和残酷丛林法则的生存环境。后来,慢雾在《黑暗森林自救手册》中再度引用“黑暗森林”这一概念,用于概括当时的Web3大环境:江湖险恶,人人自危。

显然,Paradigm和慢雾的说辞并不是空穴来风。根据零时科技的统计,2023年Web3领域发生了506起不同类型的攻击事件,累计损失达110亿美元,其中,6大主要赛道(公链、跨链桥、钱包、交易所、NFT、DeFi)共发生安全事件435起,损失超79.83亿美元,占比达72%。

可以说,Web3中的“监管缺失”是一把双刃剑:我们在拿回数据与资产主权的同时,也踏入了充满危险的黑暗森林,尤其是在Code is Law的环境下,没有技术认知或防范意识不足的人,无时无刻不在面临着网络钓鱼、Rug Pull、Scam等多样化的安全风险,极易遭受损失。而自从2020年的DeFi盛夏后,庞大的TVL为闪电贷攻击供给资产,又为web3安全引入了新的隐患。

但是,相比B端平台的智能合约等单点风险,C端面临的威胁更广泛、安全需求更旺盛——不管是普通人还是项目方创始人,都屡遭网络钓鱼、诈骗合约等C端攻击。比起针对B端协议的攻击,针对C端个人用户的攻击手法更多样、威胁更严重,影响面更大——这让用户直接感知到的体验变得极差,尤其对于新用户而言,由于缺少安全知识,很容易在复杂的链上操作中蒙受损失。

如何建立起更全面的C端保护措施,来帮助用户对抗五花八门的攻击手段,将是考验Web3安全赛道中各大平台和项目方的核心问题。下面,让我们从一笔交易发起到结束的整个生命周期,来深入认识基于区块链的安全风险,以及该如何防患于未然。

从交易的生命周期看安全风险


在区块链中,用户从前端发起一笔交易,到该交易被最终确认的过程,涉及到一系列复杂的步骤。这涵盖了交易创建、验证、广播、上链和最终确认,在这套链式的流程中,隐藏着大量易受攻击的薄弱点。下面我将展开介绍并指出相关的安全隐患。


生命周期


用户从前端发起交易,到该交易被最终确认,整个过程经历Transaction(Txn)的发起和创建、广播给区块链的RPC节点并其接收验证、再广播给其他节点直到被出块节点获取、最终依据一定的规则被记录到链上。大致分为以下步骤


1.提交数据:用户根据要调用的智能合约逻辑,在前端构建交易数据。


2.生成签名:用户通过客户端或钱包插件,对生成的交易数据进行签名,证明这笔交易是本人授权后发起的。


3.提交给RPC节点:钱包插件把签名后的交易提交给区块链网络中的RPC节点,后者会进行验证,如果交易数据有问题,比如签名无效或是有其他错误,会被拒收并不会被再度广播。

4.再度P2P广播:RPC节点对交易验证后,会将交易再度广播给网络中其他节点,最终一笔交易数据会被传播给网络内所有节点。


5.出块及最终确认:出块者把交易打包进区块后,会把区块P2P广播给其他节点设备。一个区块被节点同步后,并不代表其完成了“最终确认”,要再等多个区块产生和全网同步后,才能“最终确认”。


这些过程看起来简单,实际上却暗藏杀机。比如说,在最开始生成交易数据的过程中,用户很难直接识别自己交互的DAPP页面是否是钓鱼网站,或者直接识别DAPP智能合约是否包含恶意逻辑,是否会触发恶意的授权或盗币行为。


在生成数字签名的步骤中,用户主要依赖于钱包前端进行操作,所以钱包的健康性是安全的关键所在,然而即使是世界上最为流行的chrome浏览器,基于其的插件钱包metamask、okx wallet、keplr等等,也会因为chrome本身存在的漏洞而被连带攻击。

而不同人管理钱包的不同方法更可能埋下祸根,比如,你是否频繁导出自己的私钥,那么你的粘贴板有可能被某些应用监听到,又或者你曾经通过某些文本文件,记录了助记词,这些文本文件极有可能被某些有访问权限的应用扫描到,甚至连苹果手机都爆出过针对性的漏洞。这意味着钱包会在设备的使用链路上遇到各种威胁。

参考资料:《Trust Wallet: 苹果手机iMessage存高危零日漏洞,可被黑客利用入侵》

当然,这还没完。交易数据在被广播给RPC节点或其他节点时,就被全网公开了,你发起的交易可以被反解出交易行为,如果矿工或其他人模拟你的行为,分析出这笔交易有盈利空间,那么就会有人模仿你的交易路径,多付一点手续费抢跑在你前面,把原本应属于你的交易利润给“偷走”,这种窃取MEV价值的抢跑行为屡见不鲜,甚至发展出了庞大的“产业链”与生态。

据Beosin-Eagle Eye消息,2023年各种抢跑交易(三明治攻击)掠取的MEV价值高达2500万美元,这些利润原本应该属于最初的交易发起者,但都被专业的MEV科学家给抢跑了。区块链之所以像“黑暗森林”一样弱肉强食,某种程度也是拜MEV科学家们所赐。

Web3安全攻防新思路


主流思想


我们先简单介绍下如今主流的Web3安全攻防思路,包括面向B端和面向C端两种类型:


面向B端(项目方、DApp协议等Web3平台)的安防措施,主要是传统审计模式,最典型的特征,就是我们所熟知的:事前依赖安全机构对B端进行全面审计,提供一套重心后置的被动防御体系——事前地址搜集、事发时介入、事后积极追索;


绝大部分Web3安全项目也针对C端推出了安全插件(Scam Sniffer、MetaDock 等)、合约/地址风控监测(OKLink 链上天眼等)、高风险地址交易链条追索(MistTrack)、合约授权管理(Revoke)常见的ToC安全服务,这些方法可以在一定程度上满足安全需求,但往往还不够全面和深入。


如何重塑以用户为中心的Web3安全范式,将Web3安全的战线覆盖2B和2C,进一步优化2C的安防,成为了当前Web3安全的关键。毕竟你无法保证每天涌现的成百上千的新协议,全都被安全机构审计并能被发现代码漏洞,这并不现实。但你可以从个人角度守好资产,防止被钓鱼攻击,从C端为资产上好一把锁。


可以说,Web3安全赛道的终局在于C端,谁牵住了「个人链上地址」这个牛鼻子,谁才能拥有话语权


GoPlus的Web3安全新思路


Web3安全公司GoPlus推出了「以用户为中心」的「Web3 整体安全观」新思路,他们称:“Web3安全是个整体,不能单纯依靠审计机构事前审查,应该重塑以用户为中心的Web3安全范式”。以其面向C端的SecWareX为例,你可以直接链接钱包并进行安全扫描,涵盖绝大部分风险指标,支持每个用户自行了解潜在的安全风险。

相比于现有的Web3安全项目,如BlockSec、PeckShield 等特定的安全场景服务,或是OKLink链上天眼等专门的交易追溯及合约地址风控等细分工具,GoPlus的定位更偏向于底层基础设施和中间件:它把核心的安全模块封装起来,提供一键集成调用的插件服务,使得其它任何一家平台可以通过GoPlus提供的安全模块,将其集成嵌入到自己的既有产品中,甚至可以根据自身需求构建定制化的链上安全服务。
譬如下文要详细介绍的GoPlus Security API,可以提供实时、自动化的安全分析和数据监测,支持其它平台直接集成,通过使用GoPlus的代币GPS作为手续费,来调用对应的API监测等模块化服务。
这种模式像是一个SAAS生态平台,GoPlus将不断吸引更多的安全模块开发者在其平台发布安全服务模块,ToB或ToC的用户在集成和采用这些服务的同时,会为GoPlus平台积累数据和调用记录,最终让后者成为数据湖,在数据维度构建出护城河,制造飞轮效应。
GoPlus的未来叙事:Web3安全的SaaS生态缔造者
其实,安全是个整体,不能单纯依靠安全机构事前审计,如果要构建全方位的安全服务,必须要统筹B端和C端,建立一个以用户为中心、事前多方风险控制、以预防为主而非事后追责为主的「Web3综合安防体系」
面对前文提到的安全风险环节,GoPlus提出的解决方案涵盖了SecWareX,Personal SecHub,USM等产品模块,而未来的GoPlus将趋于“平台化”和“中介化”,将被设计为一个分布式的基础设施,它将由两个核心模块组成:分布式去中心化的安全数据层和计算层。接下来,让我们从“事前、事中、事后”3个维度来深入理解其产品逻辑。

事前预防——安全风险检测


正所谓“防患于未然”,制止危险事件的最佳方法就是不让它发生。在交易的生命周期中,最重要的一环正在于交易发起和生成时的步骤。钓鱼诱导、骗取授权、恶意关联合约等黑客惯用的手法,仅在2024年初就为广大用户造成了超过2亿美元的损失。如何在交易发起与生成时就把危险扼杀在摇篮中,是安全平台必须重视的环节。

对此,GoPlus团队提供了一系列API从多个角度覆盖上述问题,对应的风险种类概况如下:
  • 合约风险:目前已知的代币种类高达160多万,风险种类繁多,包括代币是否可增发、是否为貔貅盘、Token合约是否存在管理员等等。目前可知的是,相当多的Token或多或少存在隐患。
  • 黑名单地址:过去被检测出危险的合约,往往被统一归集进黑名单内,用户在生成交易时需要避免和黑名单中已有的高危合约交互,而要获取更实时、更详细的黑名单信息,需要集成相应的第三方模块。
  • 授权风险:在对dApp产品进行使用时,常常需要对其进行合约授权,这种授权的权限是极大的,使得合约能够支配用户的资产,如果合约被恶意行为者利用,将会构成极大的风险敞口。
其实,上述问题归根结底在于个体用户能获取到的数据有限,而黑名单等机制恰恰需要依赖于海量数据集,这中间需要平台化的产品体系。GoPlus选择将自己定位成“安全插件的SAAS平台”,专门充当第三方安全模块和钱包插件之间的中介,目的更多在于汇总归集API调用数据及检测结果,以平台的身份获取各种数据以更好的完善其安全检测产品与黑名单,不失为一种构建飞轮效应的好思路。
同时,只要GoPlus的“Web3安全应用商店”定位逐渐稳固,可以利用应用聚合器的身份以平台的方式获取更多流量,不但便于吸引C端用户,也便于吸引更多的第三方插件开发者和合作伙伴。
总的来说,GoPlus的定位不只是一个第三方安全机构,更是一个“平台”,而平台往往意味着在开发者和用户之间充当中介,同时平台将通过利用用户数据来不断完善自身产品,构建出护城河。
事中拦截-全流程拦截体系

当交易度过了发起和生成的阶段后,在区块链网络中广播时,面临的风险将更加隐蔽。例如,当你发起可获利的交易后,如果被MEV机器人检测到,随时可能遭遇三明治攻击,俗称“被夹”,或是被抢跑交易。此前比较流行的 Solana 客户端 Jito就曾禁用其内存池功能以应对三明治攻击。
而在GoPlus的体系下,只要区块链节点集成了GoPlus平台提供的安全模块,就会通过一系列手段对节点交易池进行实时监控,GoPlus的安全引擎会对交易池中的交易活动进行分析和频率检测。
由于MEV机器人经常用少量地址发起频繁的交易请求,或是通过具备特征的交易路径发动三明治攻击,只要被GoPlus安全引擎检测到的异常地址都有可能被列入黑名单。此外,当系统发现攻击者发起的交易时,会向相关节点发出警报,建议其拦截或延迟广播这些交易数据。

事后防御-细数余痕

在交易广播后,一切都尘埃落地了吗?不,并没有。记得我们前面说过的,用户在使用dApp和钱包时,需要对合约进行授权,这意味着我们的资产往往可以被第三方合约随意支配,这是非常危险的。
一切交易完成后,我们其实还需要进行收尾工作,以保证不留下后患。GoPlus平台提供的第三方安全模块,将在交易结束后,把用户在交易发起时对合约的授权进行撤销,帮助钱包插件自动解除或最小化Token授权金额,防止被攻击者针对性的盗币。
此外,GoPlus平台方将持续检测链上已触发的各种交易行为,检测各种实时发生的攻击行为,完善其安全数据集和黑名单,在利用平台内既有数据的同时,将不断吸收各种外部数据,加强风险预测能力。
GoPlus的安全SAAS生态愿景展望
纵观整个GoPlus的安全路线及其愿景不难看出,在安全这一赛道领域,GoPlus秉持着小公司大生态作为它们的核心指导思想,一直推动着它们的前行。对于GoPlus的发展,作者从其数据的角度来看可以发出两个问题:
我们如何共治,凝聚共识?
在GoPlus的安全网络里,整个生态是共治的,区块链最为避讳的就是中心化,所以作为用户安全的头部网络也是远离这一缺陷的,整个网络的共治是一个由用户,验证,数据,计算所构成的集合社区。每一个社区群里不可避免的比如需要有经济可持续循环的体系来维持:

这个生态可以看成一个生产者和消费者的关系,数据贡献者,计算节点贡献者和安全开发人员构成生产者,而用户作为消费者来使用或者间接使用这些”产品“,并且支付相应的token,这样使得”生产人员“有利可图,可以更加热情的投入安全的贡献,而用户获得了”产品“所带来的安全的利益,切实维护了资金的安全也更加倾向于去为安全付费。
同时生态本身也是一个人类群体,人的天性是社交,整个共治的体系中融入了社交分享的属性,人人可以去贡献相关的数据,从一个消费者转变为一个生产者,不同的场景拥有着不同的身份,使得整个生态是完备的,可以内循环的,这也是符合可持续安全网络的最好的道路。
安全生态的未来将如何发展?
安全生态的未来如同GoPlus所言,是以小公司大生态为未来的主导,在Web3这一领域很难出现Web2的情况,由少数的几家头部企业对其进行垄断。在区块链智能合约的安全审计和监控有着CertiK为主导,对于链上数据的检测和漏洞扫描以Resonance扛大旗,而Laconic则专注于数据可用性和可验证性,而GoPlus则立足于ToC的安全模块SAAS生态尝试开辟出一条独特的道路。
每个项目方都在各自的方向上尝试专精,但彼此涉足的领域并未出现清晰的边界,安全永远都是一个整体,每一个赛道的头部企业应该相互合作,才能让整个行业的水平整体提升。
正如上文所说到的事前风险检测体系,面对繁多的风险行为,一家企业很难做到兼顾彼此,只有聚合资源才能消除短板效应,构建出繁荣的生态体系。
如同区块链的社区化、全球化、去中心化,Web3安全也需要社区性质的开放性生态建设,集众家之所长的协同发展,才是Web3安全生态的未来。