2023年悄然结束,加密市场也迎来了崭新的一年,随着ETF的推进,2024年将是非常受瞩目的一年,同时安全也将达到在行业里前所未有的重视程度。在新旧交替之际,Fairyproof针对2023年行业的安全维度进行梳理分析,旨在提供给受众一个全面的、有深度的安全年度报告,下面是报告的正文。
观点综述
相比2022年,2023年加密市场的状况有了明显改善,加密资产的整体市值有了显著的上扬,与此同时,安全事件的发生次数也有了大幅的增加。
- 在Fairyproof调研的489个典型案例中,价值将近12.3亿美元的加密资产被盗。
- 随着比特币尤其是铭文生态的迅速成长,这个生态的安全隐患日渐突出,2023年出现了13起针对比特币生态尤其是铭文设施的攻击。
- 黑客利用私钥泄露发起的攻击造成的加密资产损失达5.18亿美元,这个金额占所有由黑客攻击导致的损失金额的45.07%。安全稳妥地保管私钥至始至终都是所有区块链用户必须首要重视的事务。
- 2023年, Fairyproof广泛研究了零知识证明[1]相关的技术及应用,熟悉掌握了业界主流的解决方案和应用场景。在开发方面,Fairyproof打磨了一套完整的流程、模式,可以根据用户需求及应用场景快速研发、部署解决方案。在审计方面,Fairyproof积累了丰富的经验,能够熟练将目标问题转换为零知识电路,专业地审计电路、证明的生成、证明的验证等。此外,Fairyproof还在零知识应用的实现方案上进行了优化,研发了自己的系统,相比现有的流行方案在安全性和去中心化方面更优。
- 2023年, Fairyproof在多方安全计算[2](简称MPC)技术方面也有大胆地布局,同样确立了自己的一套完整的开发流程和模式,能够因应客户需求和场景需要快速地开发和部署MPC方案。
背景介绍
在详细呈现Fairyproof的研报结果之前,有必要对本报告中的相关术语进行解释、说明。
CCBS
CCBS指代“中心化加密资产或区块链服务机构”。它通常指人为运作管理的非链上服务平台,其核心技术主要依赖传统的中心化技术,其日常运维活动主要为链下活动。传统的加密资产交易所(如Binance)、加密资产发行承兑平台(如Tether)即为此类典型。
闪电贷(FLASHLOAN)
闪电贷是黑客在攻击以太坊虚拟机平台上智能合约的一种常见和流行的方式。闪电贷是知名DeFi应用AAVE[3]团队发明的一种合约调用方式。这种合约调用让用户无需任何抵押物便可以直接从支持这种功能的DeFi应用中借出加密资产,只要用户在一个区块交易内归还该资产即可使该交易有效[4]。起初这个功能的发明是为了给DeFi用户更灵活、便利的手段进行各项链上的金融活动。但后来,闪电贷因其灵活性高使得其使用得最多的场景变成了黑客借出ERC-20[5]代币然后用其进行攻击。在发起一笔闪电贷之前,用户需要将借出(资产)和归还(资产、利息及相关手续费)的逻辑清晰地在一个合约中描述,然后调用该合约发起闪电贷。
跨链桥(CROSS-CHAIN BRIDGE)
跨链桥是连结多个独立区块链的一种基础设施,它让部署于不同区块链的代币在各个区块链之间相互流通。
随着越来越多区块链有了自己的生态、应用和加密资产,这些应用和资产对跨区块链通信和交易的需求显著增长。这也使得跨链桥成为黑客眼中热门的攻击对象。
报告重点
Fairyproof详细研究了2023年发生的489起典型安全事件,在本报告中对这些事件造成的损失金额、成因等各种要素进行了统计分析,并给出了相应的防范建议和措施。
2023安全事件的统计及分析
Fairyproof研究团队详细研究了2023年较为突出的489起安全事件,从遭受攻击的目标和造成攻击的根源两方面列举了统计结果并对其进行了分析研究。
在2023年一整年,这489起安全事件造成的加密资产损失总额达12.3亿美元,Tradingview显示的主流加密资产总值达1.62万亿美元。损失资产占总市值的比例为0.08%。
基于受害对象划分的安全事故
Fairyproof研究的安全事件按其受害对象分可以分为以下四类:
- 中心化加密资产或区块链服务机构(CCBS,下文所指CCBS即为此概念)
- 区块链(Blockchains)
- 去中心化应用(dApps)
- 跨链桥(Cross-chain Bridges)
本报告所指的CCBS安全事件是指受到攻击或损害的对象是CCBS系统。在这些事件中,CCBS所保管的资产被盗或运作的服务被迫中断。
区块链安全事件是指区块链主网、侧链或依附区块链主网的第二层扩展系统受到攻击或损害。通常在这些事件中,黑客从系统内、系统外或者两方面都发起攻击,导致系统软件或硬件失常,资产损失。
dApp安全事件是指dApp受到攻击而无法正常工作,从而使黑客有机会盗取dApp中管理的加密资产。
跨链桥安全事件是指跨链桥受到攻击,导致其无法正常工作,甚至导致其经手交易的加密资产被盗。
Fairyproof对总共489起事件按上述四类进行了划分,其比例分布图如下所示:
由图中可知,dApp安全事件的数量占总量的88.34%。其中20起为CCBS安全事件,26起为区块链安全事件,432起为Dapp安全事件。
区块链安全事件
涉及区块链的安全事件可以进一步细分为以下三类:
- 区块链主网(Blockchain mainnets)
- 侧链(Side chains)
- 第二层扩展系统(Layer 2 solutions)
区块链主网也被称为Layer 1,它是独立的区块链,有自己的网络、协议、共识和验证者。区块链主网可以验证交易、数据和区块,所有这些验证工作都由自己的验证者完成并最终取得一致性。比特币和以太坊就是典型的区块链主网。
侧链是与区块链主网并行运作的一条单独的区块链。它也有自己的共识和验证者,但是它会以某种方式(如双向锚定[6])和区块链主网连结,
第二层扩展系统是依赖于区块链主网的系统,它需要区块链主网提供安全和最终一致性[7]。它主要为了解决区块链主网的可扩展性,能以更低的费用、更低的价格处理交易。自从2021年以来,依附于以太坊的第二层扩展系统有了飞速地发展。
侧链和第二层扩展系统都是为了解决区块链主网的可扩展性。两者主要的区别在于,侧链不依赖区块链主网提供安全性和一致性,但第二层扩展系统却需要。
2023年总共有26起与区块链有关的安全事件。下图展示了区块链主网、侧链和第二层扩展系统各所占的比例。
由图中可以看出,区块链主网和第二层扩展分别占84.62% (22起)和15.38%(4起),没有较为严重的侧链事件发生。4起涉及以太坊第二层扩展的为Metis [8]、zkLink [9]、Boba [10]和Arbitrum [11]。而涉及区块链主网的事件中Mixin所遭受的攻击损失为最大,其它针对主网项目的攻击则主要为社交攻击,并没有造成很大的资产损失。
DAPP安全事件
在432起涉及dApps的安全事件中,有45起是跑路,263起被连累,124起直接被攻击。直接对dApp的攻击通常会涉及三个方面:Dapp的前端、后台和智能合约。因此,我们将124起直接被攻击的事件分为下列三类:
- dApp前端
- dApp后台
- dApp合约
在dApp前端受攻击的事件中,黑客主要通过前端漏洞发起攻击,盗取资产或瘫痪其服务。
在dApp后台受攻击的事件中,黑客主要通过后台漏洞发起攻击,比如劫持后台和合约的通信,劫持资产或瘫痪服务。
在dApp合约受攻击的事件中,黑客主要通过合约漏洞发起攻击,盗取资产或瘫痪其服务。
下图展示了这三个类别受攻击事件的比例:
由上图所示,合约、后台和前端受攻击的事件比例分别为95.16%、0%和4.84%。在总共124起事件中,6起为前端受攻击,118起为合约受攻击。
我们进一步研究了各类事件所造成的加密资产损失金额。其中前端受攻击导致的损失达23.8万美元,合约受攻击导致的损失达5.42亿美元。
显然,合约安全仍然是最大的问题。而在众多合约漏洞中,逻辑缺陷、私钥泄露、闪电贷攻击、重入攻击为典型的漏洞。
我们研究了118起涉及合约受到攻击的安全事件,得到下列比例图:
上图所示,逻辑缺陷导致合约安全事件占比最高,其次为闪电贷攻击。逻辑缺陷中通常包括缺少参数验证、缺少权限验证等。53起事件为逻辑缺陷,28起事件为闪电贷。
下图展示了各个漏洞造成的损失金额比:
由上图可知,逻辑缺陷造成的损失金额在所有类别中排第一,53起安全事件造成了2.86亿美元的损失,占总金额的比例为52.83%;私钥泄漏造成的损失排第二,6起事件造成了1.74亿美元的损失,占比32.1%;重入攻击造成的损失金额排第三,10起安全事件造成了2906万美元的损失,占比5.36%。
基于成因划分的安全事故
基于造成区块链安全事故的成因,我们将事故分为三类:
- 由黑客攻击所致
- 跑路
- 其它
我们的研究结果如下图所示:
由上图所示,黑客攻击和跑路导致的安全事故分别占比为88.75%(434起)和9.2%(45起)。
我们研究了这些成因所造成的损失,如下图所示:
由上图所示,黑客攻击和跑路导致的损失金额分别占比93.04%和3.87%,前者导致了11.5亿美元的损失,后者导致了4776万美元的损失。这表明2023年,黑客攻击仍然是行业安全面临的主要威胁。
黑客攻击事件
我们研究了黑客攻击事件,如下图所示:
由上图所示,黑客攻击dApp、CCBS和区块链的事件占比分别为89.38%(387起)、4.62%(20)和6%(26起)。
我们研究了各类事件所导致的损失金额,如下图所示:
黑客对dApp、CCBS和区块链攻击所导致的资产损失占比分别为58.95%、24.03%和17.02%,具体的损失金额分别为6.94亿美元、2.83亿美元和2亿美元。
跑路事件
2023年发生的跑路事件主要发生在dApp项目。总共45起跑路事件造成的损失金额达4776万美元。这个损失金额相比黑客攻击造成的损失金额规模要小得多。
研究发现
从我们的统计数据来看,2023年黑客最偏爱攻击的目标仍然是dApp项目,对dApp的攻击事件远超其它任何对象,所造成的资产损失却高居首位,达到6.94亿美元,占所有攻击事件总金额比例的58.95%。这表明当前dApp的安全状况存在相当大的隐忧,是当下整个区块链生态安全需要关注的重点问题。
对整个区块链生态来说,黑客仍然是最大的安全威胁,无论从其造成的安全事件数量还是从其造成的资产损失来看都是如此,由黑客攻击造成的安全事件数量占整个安全事件数量的比例超过88.75%,攻击造成的资产损失金额占所有损失金额的比例超过93.04%,远超跑路事件对生态造成的威胁。
2023年,黑客对第二层扩展系统的攻击无论在数量上还是在损失金额上都低于2022年。我们认为这是第二层扩展技术更加成熟,以及在安全性上得到了更多重视的结果。
一个典型的dApp包括三部分:前端、后台和智能合约。当黑客攻击一个dApp时,会攻击其中一部分或同时攻击多个部分。根据我们的统计数据,对智能合约的攻击无论在数量还是在金额上都远超对前端和后台的攻击。这表明智能合约仍然是黑客攻击dApp时最主要的攻击目标。
2023年发生的典型跑路事件都为dApp项目。这表明dApp跑路仍然是用户考虑跑路风险时要防范的重点。
在智能合约受到黑客攻击的事件中,逻辑缺陷引发的攻击事件次数和导致的损失金额都高居榜首,远超其它类别。
探索与思考
越来越多的创业团队已经并且正计划涌向零知识证明相关的应用领域,包括基于以太坊的ZK第二层扩展方案、基于ZK的社交应用等。我们认为随着这些应用的爆发和涌现,对基于ZK系统的开发和审计需求将迅猛增长。
防范安全事故的实践方案和措施
本节,我们将根据2023年所发生的安全事故的特点总结一些帮助区块链开发者和用户管理及防范区块链风险的方案和措施。我们建议无论是区块链开发者还是用户都积极地在平时的操作和工作中尽可能落实和实践这些方案及措施,最大限度保护项目安全和加密资产安全。
注:“区块链开发者”既指区块链项目本身的开发工程师,也指和区块链系统相关或其延申系统(如加密资产等)的开发者。“区块链用户”是指所有参与到区块链系统活动(比如管理、运作、维护等)或加密资产交易等的用户。
对区块链开发者
跨链桥的开发者需要高度关注跨链桥的安全。跨链桥方案一般包括链上操作和链下操作两部分。而链下操作相对而言更容易受到黑客的攻击,因此跨链桥需要特别注意链下操作的安全性和可靠性。
尽管2023年对第二层扩展攻击造成的损失金额相对跨链桥而言不算大,但它的安全性同样值得重视。因为接下来,第二层扩展方案的发展和落地将会出现井喷,对其方案安全性的研究将是业界面临的重大挑战。
在区块链应用中,当项目部署并稳定运行一段时间后,将项目中掌控关键操作的权限转移到多签钱包或者DAO组织来进行管理是非常有必要的步骤。
当黑客发现智能合约的漏洞时,往往会借助闪电贷对合约进行攻击。这些可能被利用的漏洞通常包括重入漏洞、逻辑缺陷(比如缺乏权限验证、错误的价格算法)等。严谨防范和处理这些漏洞对智能合约开发者而言时刻需要引起高度重视,甚至需要排在重要性的首位。
我们的统计数据还显示越来越多的黑客会通过社交媒体软件(如Discord、Twitter等)发起钓鱼攻击。这个现象贯穿了整个2022年。不少用户从中遭受了损失。项目方需要对其运作的社交媒体实施严格、周全的管理,部署相应的安全方案保证其社交媒体运作的安全和稳定,防范被黑客利用。
区块链用户
越来越多用户开始参与各类区块链生态的活动,并持有各类区块链生态的资产。在这个过程中,跨链交易活动也再迅猛增长。当用户参与跨链交易时,用户需要和跨链桥进行交互,而跨链桥却是黑客经常关注的攻击目标。因此当用户在发起跨链交易前,需要详细调查和了解其所使用的跨链桥的安全状况和运营状况,确保跨链桥的安全、稳定、可靠。
当用户和dApp进行交互时,必须高度关注其智能合约的质量和安全,同时也需要关注dApp前端的安全。对前端显现的一些不明来历、高度存疑的信息、提示、对话等要小心处理,不要随意点击或跟随其指引进行操作。
我们强烈建议用户在和任何区块链项目交互前或投资区块链项目前,要仔细检查并阅读该项目的审计报告。对没有审计报告或报告可疑的项目,要谨慎参与。
我们建议用户尽量使用冷钱包或多签钱包管理大额资产或不用于频繁交易的资产。时刻小心热钱包的运作安全,并确保安装热钱包的硬件平台本身是安全、可靠和稳定的。
用户需要对区块链项目的团队背景进行一定程度的调查和了解。对团队背景模糊、信用缺失的团队要小心。对这类项目要小心其可能发生的跑路风险。对使用较为频繁的中心化交易所,用户更要关注其背景和信用,尽可能从多个第三方数据源查证这些交易所的背景、信息、数据,确保交易所能够长久持续的安全运作。
参考资料
[1] zero-knowledge proof. https://en.wikipedia.org/wiki/Zero-knowledge_proof
[2] MPC. https://en.wikipedia.org/wiki/Secure_multi-party_computation
[3] Aave. https://aave.com/
[4] Flash-loans.. https://aave.com/flash-loans/
[5] ERC-20 TOKEN STANDARD. https://ethereum.org/en/developers/docs/standards/tokens/erc-20/
[6] Sidechains. https://ethereum.org/en/developers/docs/scaling/sidechains/
[7] Layer-2. https://academy.binance.com/en/glossary/layer-2
[8] Metis. https://www.metis.io/
[9] zkLink. https://zk.link/
[10] Boba. https://boba.network/
[11] Arbitrum. https://arbitrum.io/