部署前需要权衡的8个区块链安全风险

日期: 2023-12-04 作者:Kurt Seifried翻译:邹铮 来源:TechTarget中国 英文

近年来,企业区块链之所以受到关注,主要是因为它解决了多方数据共享中长期存在的挑战,而这些挑战之所以变得困难,部分原因是企业试图迫使其他人采用其专有数据格式。

企业区块链通过两种方式解决这些问题。首先,区块链和在其上运行的智能合约要求每个人都就数据格式和处理规则达成一致。更重要的是,规则由系统强制执行,除非每个人都同意更改,否则无法手动覆盖。其次,由于区块链和智能合约非常新,它们本质上是每个人的绿地部署。这意味着没有人有他们可试图强加给其他人的系统。

新技术带来新的风险,而这些风险往往知之甚少。目前,企业区块链和智能合约部署存在三大新风险:旧软件、软件缺陷和操作缺陷。

但仔细想想,这些风险与我们 50 年来在计算领域一直面临的风险相同。在元层面上确实如此,但当你深入了解细节时,区块链和智能合约也有其自身的安全问题。

1. 旧软件

虽然企业区块链软件很少“过时”,但就变化速度和改进而言,任何存在超过一两年的东西基本上都像是石器时代的工具。

R3 的开源 Corda 区块链平台就是一个很好的例子。在 2016 年 5 月首次发布后的五年中,Corda 发布了 182 个版本,大约每 10 天发布一次。其中很多也不是小版本。主要的新功能和代码的重构或删除很常见。可以这样说:在大多数企业项目中,通常会选择一个软件版本,然后从来不更新,因为这样做可能需要中断业务。

这里的教训是:确保你的软件最新版本并且可以保持更新。

2. 缺乏安全漏洞覆盖

企业区块链软件在安全漏洞数据库中几乎没有覆盖范围。这意味着大多数用户,除非他们明确跟踪供应商发行说明,否则他们不知道安全更新。这种覆盖率的缺乏是一个巨大的问题,尤其是在通用漏洞和暴露(CVE)数据库和美国国家漏洞数据库(NVD) 中,因为如果这些漏洞没有得到官方认可,那么很多大型组织就不存在这些漏洞。我不确定为什么区块链的CVE和NVD覆盖率如此之差,但可能的罪魁祸首是缺乏特定区块链漏洞的官方文档。

经验教训:确保你有足够的资源来监控区块链和智能合约软件中的安全漏洞和更新。

3. 对安全漏洞的了解不足

传统软件具有广为人知的漏洞类型,其中很多漏洞都记录在安全漏洞数据库(CWE)中,例如,缓冲区溢出和整数溢出之间的差异是黑客可以利用的常见弱点。CWE是一个关键的资源。很多代码扫描工具将其用作它们尝试检测的漏洞类型的基础。

但是,CWE并不专门涵盖区块链或智能合约。好消息是,还有其他努力来记录这些问题,包括来自云安全联盟(CSA)的区块链DLT攻击和漏洞数据库,其中有200多个条目,涵盖了各种智能合约语言、区块链技术和一般概念。企业以太坊联盟的 EthTrust 安全级别规范定义了智能合约安全审计的要求,并列出了一些常见的漏洞。

经验教训:询问你的代码审计员或工具正在寻找哪些漏洞。他们应该能够清楚地表达和解释它们。

4. 缺乏代码扫描和安全测试

目前的区块链和智能合约代码扫描工具并不是特别成熟,原因很简单,因为这个领域太新了。雪上加霜的是,很多智能合约都是在没有安全审计的情况下部署。这种情况正在开始改变,但很多安全事件凸显了在部署之前审核代码和生成新密钥的重要性。

Paid Network是一家用于金融交易的区块链去中心化应用程序提供商,当他们部署智能合约时遭到攻击,这个智能合约是他们付钱给开发人员所创建,但他们从未删除过开发人员的密钥。当开发人员密钥后来在 Git 提交(将程序代码保存到存储库的过程)中公开时, Paid Network的合约就遭受攻击。

该合同已通过安全审计。审计员无法审计生产密钥,这会暴露它,因此它会假设Paid Network会用安全生成的密钥替换它,但事实并非如此。

经验教训:确保所有智能合约代码都经过扫描和审计,所有加密材料都安全生成并正确插入。

5. 操作风险

假设你有一个安全的区块链和没有任何安全缺陷的格式良好的智能合约。你仍然必须在连接良好且可靠的东西上运行区块链和智能合约代码,最好。如果你选择云或第三方托管,则需要确保它们也是安全的。

在通常的 SOC 2 合规性声明之外寻找诚实和透明度。CSA 的安全、信任、保证和风险注册表是这方面的资源,你可以在其中直接比较提供商的答案。

这里的教训是:提出问题。关心安全性的供应商和服务提供商会回答这些问题,并且不会回避。

6. 加密密钥和HSM

每个区块链服务和客户端的核心都是加密密钥。即使在使用专用系统时,在计算机上保留重要的加密密钥也不再足够好。

请改用硬件安全模块 (HSM)。HSM 基本上提供了普通计算机无法提供的两件事。首先,可以设置密钥,使其无法从 HSM 导出或复制。其次,你可以更可靠地记录密钥的使用情况。这一点至关重要,因为如果你的网络遭到入侵,你可以确定攻击者将你的密钥用于什么目的,而不是推测他们可能做了坏事。

经验教训:敏感操作的加密材料必须存储在 HSM 中并进行备份。通用计算机或服务器是不够的,即使是气隙(物理分离)的计算机或服务器。

7. 网络钓鱼、SIM 卡交换和其他攻击

企业区块链通常不会受到网络钓鱼或SIM卡交换等技术的广泛攻击,这些技术通常用于攻击加密货币用户。然而,勒索软件和相关攻击越来越多地转向网络钓鱼和鱼叉式网络钓鱼,原因很简单:它们有效。对于这些类型的攻击,应对办法是使用强大的多因素身份验证,理想情况下基于硬件令牌,以防止用户向坏人提供信息。

要吸取的教训:人类会犯错误。你需要业务和技术流程来捕获错误和恶意行为。

8. 51% 攻击

最后,还有一些令人鼓舞的消息。大多数企业区块链部署不使用工作量证明 (PoW) 共识机制。权益证明或更传统的投票机制(例如多数票)更为常见。

51% 攻击,即单个实体接管大部分区块链哈希率或计算资源以试图破坏网络,对基于 PoW 的系统最有用。即使使用简单的共识机制,例如多数票决,攻击者也需要劫持51% 的组织,这比简单地控制计算资源要困难得多,毕竟计算资源通常可以租用。

经验教训:确保你了解正在使用的区块链共识机制,以及攻击者在什么情况下能够破坏它们。例如,建立需要半数以上的组织同意才能改变的系统,这可能是可以接受的风险。

结论

区块链和智能合约软件几乎比其他任何东西都更复杂、更难保护。

我们希望构建这样的系统,知道恶意行为者正在恶意参与,但不允许他们破坏系统。解决这个问题开辟了各种新的市场和机会。

自从比特币在2009年问世以来,我们一直在稳步实现这一目标,其系统已经投入生产,可以承受高水平的攻击和滥用。但是,与任何新技术一样,它仍然需要大量的专业知识来安全地构建、部署和运营区块链。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

翻译

邹铮
邹铮

相关推荐