1、公链-Web3生态安全的命脉
公链是Web3行业的基础设施,承载着整个行业的协议、应用及资产记账,随着业内对公链性能、互操作、兼容性、扩容的旺盛需求,多链发展迸发呈强劲势头,安全问题,刻不容缓。
根据零时科技不完全统计数据,截至2022年12月,目前公链有152 条。以公链生态应用数量来看,据rootdata数据,Ethereum,应用1275个,Polygon,应用数767个,BNB Chian,应用数704个,稳居前三,Avalanche、Solana、Arbitrum等新公链紧追其后呈现快速增长趋势。
以公链生态市值来看,据coingecko数据,以太坊、BNB Chain、Polygon生态分别以3830亿美元、2366亿美元、2192亿美元位居前三。当前,公链生态总市值已超万亿美元,如此庞大的资金诱惑,让黑客对其虎视眈眈。
截至2022年12月,据零时科技数据统计,公链赛道发生安全事件10起,累计损失资产金额超1.57亿美元。
从数量来看,公链的攻击类型主要为:黑客攻击、安全漏洞、资产被盗、钓鱼攻击和私钥窃取,其对应占比为:28%、28%,16%、8%、8%。从损失金额来看,安全漏洞造成损失最高,为1.47亿美元,占比55%;黑客攻击造成损失位居第二,为4200万美元,占比16%。(注:部分项目遭受多种类型攻击)
据零时科技区块链安全情报平台监控消息,下图为部分2022公链攻击的典型案例:
公链安全风险及措施建议
零时科技安全团队分析,公链安全风险主要来自以下三点:
1)技术复杂性:涉及技术领域多,安全风险点多。
2)开发人员不确定性:代码由开发者所写,过程难免出现漏洞。
3)开源漏洞透明性:公链代码开源,黑客发现漏洞更为便利。
零时科技安全团队对公链安全建议,有以下三点:
1)主网上线前,针对公链各风险点,需要设立丰富的安全机制:
在P2P和RPC方面,需要注意劫持攻击,拒绝服务攻击,权限配置错误等;
在共识算法及加密这块,需要注意51%攻击,长度扩展攻击等;
在交易安全方面,需要注意假充值攻击,交易重放攻击,恶意后门等;
在钱包安全方面,需要注意私钥的安全管理,资产的安全监控,交易的安全风控等;
在公链项目的相关工作人员方面,需要有良好的安全意识,办公安全,开发安全等常识。
2)进行源代码和智能合约审计,确保弥补原则性和明显的漏洞:
源代码审计可以是全量代码,也可以是部分模块。零时科技安全团队拥有一套完整的公链安全测试标准,采用人工+工具的策略对目标代码的安全测试,使用开源或商业代码扫描器检查代码质量,结合人工安全审计,以及安全漏洞验证。支持所有流行语言,例如:C/C++/C#/Golang/Rust/Java/Nodejs/Python。
3)主网上线后,进行实时安全检测,预警系统风险;
4)发生黑客事件后,及时通过溯源分析,找出问题所在,减少未来发生攻击可能性;迅速源追踪监控损失流向,尽可能找回资产。
跨链桥,也称区块链桥,连接两条区块链,允许用户将加密货币从一条链发送到另一条链。跨链桥通过在两个独立平台之间启用代币转移、智能合约和数据交换以及其他反馈和指令来进行资金跨链操作。
截至2022年 12月 ,根据 Dune Analytics 数据统计,以太坊中主要跨链桥的锁定总价值(TVL)约55.6亿美元。当前TVL最高的是 Polygon Bridges,为29.49亿美元, Aritrum Bridge紧跟其后,为12.06 亿美元,Optimism Bridges排名第三,为8.34 亿美元。
随着区块链及链上程序的增长,多链资金转换需求迫切,跨链桥的协同特征可以让各区块链发挥更大的协同潜力,跨链桥为用户提供便利的同时,也为黑客提供了另一扇大门。由于跨链桥传递资产的特性,其锁定、铸造、销毁及解锁等流程环节一旦出现问题,就会威胁到用户资产安全。貌似并不复杂的跨链资金转移操作,但在多个跨链桥项目中,不同步骤均发生过安全漏洞。
据零时科技数据统计,截至12月,跨链桥因受到攻击发生安全事件14起,累计损失资产金额为13.38亿美元。
2022年,发生安全事件损失Top5的跨链桥为:Ronin、Wormhole、Nomad、Harmony(Horizon)、QBridge,分别损失金额为:6.15亿美元、3.2亿美元、1.9亿美元、1亿美元和8000万美元。
从安全事件发生的数量看,跨链桥攻击的类型主要为:黑客攻击、私钥窃取、资产被盗、信息泄露和错误权限,分别占比52%、18%、17%、9%和4%。从损失金额来看,私钥窃取占比最大,为42%;黑客攻击次之,占比27%;资产被盗占比23%,位居第三。
下图为部分2022年典型跨链桥攻击案例:
跨链桥安全风险及措施建议
零时科技安全团队从跨链桥多次攻击事件中得出,跨链之前和签名处攻击较多,存在官方马虎大意造成的被盗事件。对于越来越多的跨链项目及项目合约安全,零时科技给出以下安全措施建议:
1)项目上线前对合约进行安全审计;
2)合约调用接口需要严格排查其适配性;
3)版本更新时需要对相关接口及签名安全进行重新评估;
4)需要对跨链签名者进行严格审查以保证签名不被恶意人员控制。