4

采用区块链之前,需要了解八大区块链安全风险

 2 years ago
source link: https://www.tuoluo.cn/article/detail-10092705.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

采用区块链之前,需要了解八大区块链安全风险

毛球科技集团 原创 2021-12-13 06:55 热度 82239
分享

微信扫一扫:分享



微信里点“发现”,扫一下 二维码便可将本文分享至朋友圈

为什么企业区块链现在这么火?毛球科技归结为两个主要原因:现有的多方数据共享和处理的门槛太高,每个人都想强迫其他人使用自己的系统和数据格式。

而企业区块链可以以两种方式解决这些问题。首先,区块链和智能合约可以让每个人就数据格式和处理规则达成一致,更重要的是,这些规则是由系统强制执行的。没有可用的手动覆盖,除非每个人都统一进行更改。

其次,因为区块链和智能合约是新兴技术,对于每个人来说基本上都是一个绿地部署。很有可能现在没有一个人拥有现成的解决方案,所以有一些人会试图把区块链和智能合约强加给其他人。

不过新技术也会带来新的风险,这些风险通常是人们不太了解的风险。目前,企业区块链和智能合约部署在毛球科技看来存在三大新风险:旧软件、软件缺陷和操作缺陷。

回顾过去50年,好像这些都是一直在处理的计算机风险。在元级别上,当你深入到细节时,像任何其他技术一样,区块链和智能合约已经找到了新的和创造性的方法来创造安全风险。

下面一起来看看毛球科技整理的8个区块链安全风险:

1. 老软件

虽然企业区块链软件很少是“老的”,但对于软件来说,任何超过一两年的软件在变化速度和改进方面基本上都是石器时代的工具。

R3的开源Corda区块链平台就是一个很好的例子。从2016年5月的初始版本到2021年5月(4.8版),Corda有182个版本,大约每10天一个。其中许多也不是小版本;主要的新功能和重构或删除代码是司空见惯的。在大多数企业项目中,有一种真正的趋势是选择一个软件版本,然后永远不升级,因为升级有可能会破坏一些东西。

这里的教训是:确保软件是最新版本并且还可以持续保持更新,但如果不能,为什么不呢?

2. 缺乏安全漏洞覆盖

企业区块链软件在安全漏洞数据库中几乎没有覆盖。这意味着大多数用户,除非他们明确跟踪供应商的发布说明,否则不会意识到安全更新。

这种缺乏覆盖面,特别是公共漏洞和暴露(CVE)数据库和美国国家漏洞数据库(NVD)是一个巨大的问题,因为如果漏洞没有得到官方认可,那么对于许多大型组织来说,它们就不存在。

不确定为什么区块链的 CVE 和 NVD 覆盖率如此之差,但一个可能的罪魁祸首是缺乏特定区块链漏洞的官方文档。

3. 缺乏安全漏洞知识

传统软件有很好理解的漏洞类型,其中许多在网上的《常见弱点列举》(CWE)字典中都有记载,例如,缓冲区溢出和整数溢出的区别是黑客利用的流行弱点。CWE是一个重要的资源。许多代码扫描工具将它作为它们试图检测的漏洞类型的基础。

然而,截至2021年5月,CWE并没有含有区块链或智能合约的漏洞类型记载。好消息是有两项工作可以记录这些问题,一是SWC注册中心(有30多个关于以太坊和其他公司使用的Solidity智能合约语言的条目),二是云安全联盟的区块链DLT攻击和弱点列举数据库,有200多个条目,涵盖各种智能合约语言、区块链技术和一般概念。

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

目前的区块链和智能合约代码扫描工具还不是很成熟,原因很简单,因为这个领域太新了。雪上加霜的是,许多智能合约的部署没有经过安全审计。但是这种情况正在开始改变,已经有许多安全事件让人们认识到在部署之前审计代码和生成新的秘钥的重要性。

例如,Paid Network是一家为金融交易提供区块链去中心化应用(dApps)的供应商,当它部署了一个它付钱给开发人员创建的智能合约时,它被破坏了,但它从未删除开发人员的秘密密钥。当开发者的密钥后来在Git提交(一个将程序代码保存到存储库的过程)中被公开曝光时,一次攻击耗尽了付费网络合同。

该合同已经通过了安全审计。审计员不能审计生产秘钥,因为这会暴露它,所以他们会认为Paid Network会用一个安全生成的密钥来替换,但它没有这样做。

5. 操作风险

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

6. 加密密钥和HSM

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

而是使用硬件安全模块(HSM)。HSM基本上提供了普通计算机无法提供的两件事。首先,可以设置密钥,使其无法从HSM导出或复制。其次,可以通过HSM更可靠地记录密钥的使用情况。

这很关键,因为如果网络遭到入侵,将能够确定攻击者使用密钥的目的,而不是推测他们可能做了坏事。

7. 网络钓鱼、SIM卡交换和其他恶作剧

企业区块链一般不会使用网络钓鱼或SIM卡交换等技术进行攻击,这些技术通常是为攻击加密货币的客户保留的。

然而,勒索软件和相关攻击正越来越多地转向网络钓鱼和鱼叉式网络钓鱼,原因很简单:它很有效。对这些类型的攻击的一般答案是使用强大的多因素认证,最好是基于硬件令牌,以防止用户向坏人提供信息,即使他们被愚弄。

8. 51%攻击

最后,在大多数企业区块链部署中,使用的共识机制不是工作量证明(PoW)。更常见的是,使用权益证明或更传统的投票机制,例如多数票。

51%的攻击,即一个实体占据了大部分的区块链哈希率或计算资源,试图破坏网络,对基于PoW的系统最有用。即使有一个简单的共识机制,如多数票,攻击者也需要劫持51%的组织——这比简单地调集计算资源要难得多,因为计算资源往往可以租借。

有一个好消息和坏消息。坏消息是区块链和智能合约软件比几乎任何其他东西都要复杂和难以保障。好消息是他们试图解决的问题确实很难。

想建立信息处理系统,知道攻击者正在恶意攻击,但不允许他们破坏系统。解决这个问题将开辟各种新的市场和机会。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK