近年来,区块链技术越来越受欢迎。除了在加密货币领域的应用外,区块链技术已正被用于食品安全、医疗保健、智能合约等诸多领域。本质上看,区块链就是一串使用密码学方法相关联产生的数据块,每个区块中包含了一定时间内网络中全部的信息交流数据,随着时间推移,这条链会不断增长。
基于以上特点,行业普遍认为区块链技术可以基于共识机制、去中心化和密码学的应用原理,有效解决交易过程中产生的安全和信任问题。然而,随着区块链应用的推广,区块链数字资产引发的各种安全问题也开始出现,包括盗币、诈骗、非法集资、洗钱、暗网非法交易、网络犯罪等。
- 2021年7月,跨链桥项目Chainswap遭到黑客攻击,超20个项目代币被黑客盗取,总损失价值400万美元。
- 同年7月,跨链桥项目Anyswap新推出的V3跨链流动性池遭到黑客攻击,总计损失超过787万美元。
- 2021年8月,区块链应用孵化机构DAO Maker遭受黑客攻击,总计被盗走700万美元,有5521名用户受影响。
- 2022年2月,跨链桥项目Wormhole遭攻击,损失约3.2亿美元。
- 2022年8月,区块链平台Solana遭遇攻击,价值数百万美元的加密货币钱包被洗劫一空。
根据相关数据统计,2021年全球区块链生态系统发生的相关安全事件数量超过300起,相较于2020年增幅达到22%;所造成的经济损失超153亿美元,同比增长了26%。大量事实表明,区块链已然成为网络攻击者重点关注的诱人目标。而且随着应用流行度的增加,未来还会出现更多区块链安全问题。以下将对目前最常见的8种区块链应用安全威胁进行说明,并给出应对建议。
1、女巫(Sybil)攻击
在区块链网络中,用户创建新身份或者新节点的成本极低,因此攻击者大量利用这一特性来发动Sybil攻击,通过伪造自己的身份加入区块链网络,在控制了若干节点以及节点身份之后,就可以做出一些恶意的行为:例如误导正常节点的路由表,降低区块链网络节点的查找效率等。Sybil攻击对区块链网络的影响主要体现在以下几个方面:
- 虚假节点加入:在遵循区块链网络协议的基础上,任何网络节点都可以向区块链网络发送节点加入请求消息。利用这个过程,Sybil攻击者可以获取大量的区块链网络节点信息来分析区块链网络拓扑。
- 误导区块链节点的路由选择:节点间路由信息的实时交互是保证区块链网络正常运行的关键因素之一。节点只需定时地向其邻居节点宣告自己的在线情况,就能保证自己被邻居节点加入到其路由表中。恶意的Sybil入侵者通过这个过程,入侵正常区块链节点的路由表并误导其路由选择,降低区块链节点的路由更新和节点查找效率。
- 虚假资源发布:Sybil攻击者一旦入侵区块链网络节点的路由表,就可以随意发布自己的虚假资源。
防护建议
- 使用可接受的共识算法,如工作量证明(PoW)、权益证明(PoS)、委托权益证明(DPoS)等。虽然这些算法不能直接阻止女巫攻击,但可以有效降低攻击者发起女巫攻击的可能性。这些共识算法背后的共同特点就是增加区块链网络中创建身份的成本。
- 身份认证,可以是基于第三方可靠节点的认证,也可以是全节点制的认证。
- 监控替代节点的行为,并检查仅对来自一个用户的转发块进行测量的节点。
2、端点漏洞
虽然区块链技术被认为是几乎“不可破解”,但我们需要注意到的是,大多数进行区块链交易的终端计算设备却并不安全。区块链网络的交易终端可能是用户使用区块链进行操作的任何地方:PC、手机或者其他电子设备。黑客会观察用户行为并针对利用终端系统的漏洞窃取密钥。
防护建议
- 不要将区块链密钥作为文本文件保存在相关的终端设备上。
- 为终端电子设备安装并使用可靠的终端安全防护软件。
- 经常检查系统,跟踪时间、位置和设备访问信息。
3、51%攻击
51%攻击是指攻击者拥有超过全网算力中的50%以上算力资源,便可以发动51%算力攻击,修改自己的交易记录、废弃其余矿工开采的区块、阻止交易确认等不道德行为,这可能是灾难性的。在理论上,如果掌握了50%以上的算力,就拥有了获得区块链记账权的绝对优势,可以更快地生成区块信息,同时也拥有了篡改区块链数据的能力。研究人员已经发现,当恶意攻击者持有比特币全网占比较高的算力时,即使尚未达到51%的比例,也可以制造相应的攻击,比较典型的案例就是双花问题。
防护建议
- 确保哈希率更高。
- 增强对矿池的监控能力。
4、网络钓鱼攻击
针对区块链网络的网络钓鱼攻击事件频发,这已经给整个网络和用户造成了较为严重的损失。攻击者在网络钓鱼攻击中的目标是窃取用户的凭据(密码、私钥等)。他们会向钱包密钥的所有者发送看似合法的电子邮件,诱导用户在虚假超链接中输入登录详细信息。这会对用户和区块链网络造成较严重的损害,受害者也容易受到后续持续性的攻击影响。
防护建议
- 及时更新系统版本,并通过安装经过验证的加载项或扩展程序来提高浏览器的安全性。
- 通过安装终端安全防护软件来提高设备安全性。
- 加强相关人员的网络安全意识培养。
- 避免使用开放或公共的Wi-Fi网络。
5、路由攻击
区块链技术安全和隐私的主要挑战将会是路由攻击。区块链网络和应用程序依赖于大量数据的实时传输,黑客可以使用账户的匿名性来拦截正在传输的数据,这便是路由攻击。在遭遇路由攻击的情况下,区块链参与者通常不会意识到威胁,因为数据传输和操作照常进行。风险在于这些攻击会经常窃取用户的机密数据或在用户不知情的情况下提取数字化资产。
防护建议
- 使用更可靠的数据加密技术。
- 实施带有证书的安全路由协议。
- 加强密码管理,并且使用强密码策略。
6、私钥破解
私钥是确保交易合法性校验的唯一证明,私钥丢失或者被盗也就意味着失去了对该账户下所有资产和数据的操作权,所以保证私钥的安全成为了区块链应用的命门。如果私钥不够安全,黑客可能很容易破解,如此一来,他们就可以在无需任何密码的情况下轻而易举地转移走用户账户的资产。
防护建议
- 私钥应该保密且足够强大。
- 私钥不能以明文的方式出现在可被窃取的服务器或者第三方平台上。
- 需要进行备份以便于私钥丢失后的找回。
7、恶意节点
恶意节点通过攻击者通过伪装,可自由加入或离开区块链网络,并可利用区块链节点的局限性来发动攻击或破坏网络的完整性。一旦攻击者进入区块链网络并试图破坏它,这种情况就会发生,他们将通过向网络发送虚假交易请求或尝试撤销有效交易来开展破坏活动。
防护建议
- 加强节点安全检测。
- 采用拜占庭容错(PBFT)模型,即便存在少数恶意节点、故障节点时,也能保证大部分忠诚节点的一致性和正确性。
8、可扩展性问题
可扩展性是指随着用户数量的增加,系统能够自动应对不断增长的计算需求。但区块链由于去中心化的要求,其可扩展性往往难以满足。区块链应用中有一个术语:TPS(Transactions Per Second),即每秒交易的数量,这个数量代表了某个区块链应用系统的交易能力。而这个交易能力受到区块链的“不可能三角”的制约:“不可能三角”是指无法同时达到可扩展性(Scalability)、去中心化(Decentralization)、安全(Security),三者最多只能得其二,这极大地限制了区块链技术的商业落地进程。
应对建议
积极尝试应用侧链(sidechains)或Rollups等创新主链扩展解决方案,提升区块链网络的可扩展性。