智能合约漏洞一直是加密生态系统中最关注的问题之一,当然,这个问题在 DeFi 行业内也饱受批评。今年早些时候,Poly Network 成为头条新闻,因为在一次自称为「白帽」黑客的智能合约攻击中,该协议有超过 6 亿美元的资产被盗,这表明加密行业需要围绕智能合约探索更严格的安全实践。
许多智能合约的安全工作重心都放在了「部署前审计」上,依靠经验丰富的安全研究人员在部署前确定智能合约中需要解决的关键漏洞。但不幸的是,这种方法无法准确捕捉到合约部署之后出现的潜在漏洞,这些漏洞可能被恶意行为者发现,继而威胁数百万 DeFi 用户的资金安全。
Forta 是由 OpenZeppelin 孵化的一个全新加密项目,可以帮助开发者在智能合约的实时执行过程中更好地识别漏洞。 Forta 有两个关键组成部分:
- Agent(代理),它是扫描区块链交易是否存在威胁、异常和其他风险的脚本,任何人都可以编写Agent来监控智能合约或交易,随着 Agent 编写者社区规模不断扩大,能够有效解决不断发展的智能合约生态系统中的潜在漏洞。
- Node(节点)是运行支持 Layer 1 或 Layer 2 区块链上 Agent 的服务器。当 Agent 检测到智能合约出现某些问题时,Node 就会会发出一个警报,该警报会存储在 IPFS 中并记录在 Polygon 区块链上。
Forta 还提供了一些附加功能来增强智能合约的安全性,包括:推出让开发人员轻松部署和管理代理的界面 (Forta Connect)、提供用户浏览和订阅特定警报的工具 (Forta Explorer),以及带有混淆代码和用于谨慎漏洞监控加密警报功能的Agent(Private Agents)。
截至目前,Forta 已经部署了超过 200 个 Agent 来支持智能合约警报功能,例如出现异常高的 gas 费用、异常高的交易量、以及出现再入请求(Reentrancy Calls)。现阶段,不少知名 DeFi 项目已经与 Forta 完成集成,旨在更好地监控各种安全、财务、运营和治理风险。此外,Forta 社区在 Discord 上的服务器成员数量已经发展到超过 10,000 名。
最终,通过实时检测漏洞,Forta 可以为智能合约安全提供更完整的解决方案,帮助智能合约成为为最安全、最值得信赖的技术原语,进而实现 Web 3 安全、去中心化愿景。
新技术带来新风险
自 2015 年以太坊推出以来,智能合约已成为 Web 3 技术的核心功能和特征。比特币向我们展示了完全去中心化公共账本是可行的,而以太坊则给我们带来了一种完全去中心化的计算模型——在去信任和透明度方面,至少现阶段而言,还没有其他计算模型能与以太坊相媲美。得益于智能合约,开发人员能够将自定义构建的应用程序部署到区块链上,为数百个用例提供支持,如今,这些用例已发展成为价值数十亿美元的生态系统,而且也成为当今大多数加密项目的核心(包括 Uniswap 协议和 Maker 协议),并推动了许多其他区块链快速增长,比如 Solana、Binance Smart Chain 和 Polkadot 等。
与此同时,新技术的出现不可避免地会带来新风险。今年早些时候,Poly Network 成为头条新闻,因为在一次自称为「白帽」黑客的智能合约攻击中,该协议有超过 6 亿美元的资产被盗。尽管黑客将资产全额归还,但这一事件表明加密行业需要围绕智能合约探索更严格的安全实践,同时在技术方面,下一代金融系统也需要更及时的攻击监控功能。智能合约漏洞一直是加密生态系统中最关注的问题之一,以至于「智能合约风险」(smart contract risk)已成为金融领域的一个术语,旨在描述合约执行中发生的错误和 Bug,这些问题往往会带来数字资产风险,也会影响人们的投资决策。
从一次性审计到提供实时安全功能
现阶段,在评估智能合约安全性方面,大多数工作仍集中在审计上,比如项目方会聘请经验丰富的智能合约开发人员来审查和测试合约,以便在项目公开发布之前识别出潜在漏洞。尽管审计对于安全的区块链开发至关重要,但并非万能的灵丹妙药,因为不少经过审计的加密项目也都成为智能合约黑客攻击的牺牲品,而且攻击媒介只会在项目生命周期的后期才被发现。
在这种情况下,为了预防这些潜在攻击,持续监控应用程序的状态和安全性就显得至关重要,甚至在智能合约完成部署之后,持续监控也应该继续下去。在 Web 2 领域里,这个概念被称为「Runtime Security」,对于大多数现代云托管服务来说,实时应用程序监控和警报工具已成为必备品;而在 Web 3 领域里,考虑到应用程序的去中心化性质和智能合约模型概念相对较新,因此实施「Runtime Security」难度比想象中要大得多。
Forta 是一种用于 Web 3 应用程序的全新去中心化「Runtime Security」协议,能够帮助开发人员在智能合约的实时执行过程中更好地识别漏洞,该项目由 OpenZeppelin 孵化,该团队已审核了包括 Compound、Maker 和 Augur 在内的数十种加密协议。
Forta采用了什么解决方案?
Forta 的去中心化实时安全解决方案基于两个组件:
- Agent(代理):是扫描交易区块以查找异常交易或智能合约状态变化的脚本。
- Node(节点):是运行支持 Layer 1 或 Layer 2 区块链上 Agent 的服务器。
如果 Agent 检测到特别可疑的事件或状态变化,Node 会发出公共警报,该警报存储在 IPFS 上并记录在 Polygon 区块链上。
值得注意的是,任何人都可以开发 Agent 并在 Forta 上运行它。Web 3 应用程序的高度可塑性和可组合性需要一种基于社区驱动的去中心化安全解决方案,因为没有一个参与者可以识别应用程序中的全部潜在漏洞。目前,已经有超过 100 名开发人员在 Forta 上创建并部署了 Agent,如果你也有兴趣创建新 Agent,不妨可以在此处查看 Forta 的软件开发包(SDK)。
此外,Forta 还发布了一些其他功能,旨在进一步增强实时安全性,包括:
- Forta Connect,这是一个自助服务平台,使开发人员可以更轻松地使用 MetaMask 而不是命令行来发布和管理 Agent。
- Forta Explorer,这是一种帮助用户通过 Slack 通知、电子邮件更新等服务来浏览和订阅 Forta Agent 的警报工具。
- Private Agents:该功能是一种带有混淆代码和用于谨慎漏洞监控加密警报功能的Agent,允许开发人员更加谨慎地监控威胁。
11 月 15 日,Forta 项目完成了与智能合约操作平台 OpenZeppelin Defender 的集成,将使开发人员通过统一的用户界面更轻松地操作和监控智能合约安全。
在实践中如何运作?
举个例子,让我们回到 2021 年 8 月黑客对 Poly Network 实施的攻击。
Poly Network 是一个让用户能在不同的 Layer 1 和 Layer 2 区块链之间传输数字资产的协议,他们通过在发送链上锁定用户资产并在接收链上发行等量新资产来实现这一点。更具体地说,用户可以通过接收链上的一组 Poly Network 钱包访问接收链上已发行的资产。在攻击中,黑客执行了一笔交易,把接收链上 Poly Network 钱包的公钥替换为黑客自己的公钥,这意味着黑客获得了对 Poly Network 钱包的完全控制权,继而可以轻松从用户手中窃取已发行的资产。
使用 Forta 进行实时监控可以避免这种攻击,或是降低攻击的危害,而且只需通过两种简单的方式即可实现:
- 当黑客用自己的公钥替换 PolyNetwork 的公钥时,Agent 可能已经检测到管理其钱包的 Poly Network 智能合约状态发生了异常变化。如果 Poly Network 团队有效监测到这种状态变化,那么就可以快速恢复原始公钥,从而完全阻止攻击。
- Agent 可以检测到接收链上 Poly Network 钱包余额出现较大的异常变化,使团队能够更早地识别攻击并限制损失。
到目前为止, 200 多个 Agent 已经完成部署,用来识别和标记上述漏洞,一些业内领先的 DeFi 项目也在与 Forta 进行集成,以监控安全、财务、运营和治理风险。自 Forta 于 10 月 1 日宣布启动,他们在 Discord 上的社区成员数量已经超过了 10,000 名。
最后的想法
区块链安全性需要不断增强,只有这样,机构和主流才能更好地接受加密,这点至关重要。2021 年早些时候对 Poly Network 的攻击、2016 年的 DAO 和 2017 年的 Parity 等黑客攻击已经破坏了许多潜在用户对加密和 DeFi 的信心,如果区块链和智能合约想要成为支撑下一代金融系统的基本技术,那么就必须解决此类事件、并在未来防止此类事件发,只有这样,才能重新赢回人们的信心。
通过将 Web 3 「Runtime Security」抽象为一个简单工具,Forta 能够帮助开发人员更好、更轻松地编写和管理智能合约,而且还具有更严格的安全实践。
不仅如此,作为一个去中心化解决方案,Forta 还允许任何人跟踪智能合约中的特定行为,要知道,如今智能合约生态系统中的漏洞越来越多,因此采用去中心化解决方案是非常有必要的。最终,Forta 将进一步增强智能合约安全性、帮助智能合约成为互联网的基础设施,继而实现 Web 3 去中心化、安全和去信任的伟大愿景。
本文链接地址:https://www.wwsww.cn/qkl/10375.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。