智能城市中许可区块链平台的攻击面分析

 

本文中探索了开源的许可区块链项目Hyperledger Fabric中的攻击面,这些攻击面可以通过密码策略加以利用和破坏。提出并讨论了诸如内部威胁,DNS攻击,私钥攻击和证书颁发机构(CA)攻击之类的问题。讨论了密钥管理系统,并对分层确定性钱包(Hierarchical Deterministic wallet)进行了分析。成员服务提供商(MSP)被认为是分布式系统的集中方面,并被证明是许可的区块链网络的弱点。

 

0x01 Absert

通过预先建立一些证书颁发机构授予的权限,可以控制和管理身份。代替公有区块链中的完全分布式架构,经许可的区块链可最大程度地减少假装与匿名状态正常对峙的对手的可能性。许可的区块链的概念也被认为可以减轻许多众所周知的区块链攻击的威胁。

由于对网络的访问受限以及对那些被授予区块链访问权限的信任,51%的攻击,女巫攻击和自私挖矿都被认为是较小的威胁。在控制行政职责的能力和对区块链一些有害攻击的较小威胁感知之间,许可区块链的概念引起了许多人的关注和青睐。

对于智慧城市,采用许可区块链有助于数据安全和信任的建立。一方面,共识方案可确保数据完整性,从而使网络中的每个对等方都保持一致的视图,从而该体系结构通过保留系统状态的完整性来实现数据安全性。另一方面,如果存在几个负责身份管理的预先建立的证书颁发机构,则可以在节点之间建立信任。

在智慧城市中,仍然存在一些关键的基础设施,这些基础设施要求预先建立的中央主管部门依赖,例如电网或金融机构。在这种情况下,需要获得许可的区块链来构建具有固有信任和必要弹性的分布式网络。

许可区块链的兴起伴随着许多未开发的安全风险和担忧。公共区块链的革命性方面之一是非信任的对等网络的去中心化,许可区块链侵犯了这一点。集中化方面在于成员服务提供商(MSP)和随附的证书颁发机构(CA)系统。在控制和分配对网络的访问权限时,MSP成为每个参与者与网络交互所必须经历的集中化节点,例如医疗保健领域和IoT领域中的应用场景。

城市范围内系统中的每个传感器都由相同的管理人员管理,尽管网络本身仍以对等分布式网络中,但存在一个以读取,写入和通道权限分配为方式的系统。简而言之,传感器网络的安全性完全掌握在通过MSP进行管理的人手中。

作为集中节点,MSP成为攻击的目标。还有一些攻击暴露面很容易被针对,例如智慧城市中的传感器与包括密钥管理部门,数据存储部门和通信部门在内的区块链系统之间的接口。密钥管理安全性依赖于用于身份建立和机密数据处理的加密材料。数据通道安全性取决于分布式传感器对数据对象的正确发送和接收。

本文旨在对许可区块链所伴随的安全风险的理解。

1)提供了MSP暴露攻击面,并探索了可以损害对区块链访问的方法。

2)对MSP攻击面在何处影响事务流和特定弱点进行了分析。

3)提供了关于许可的区块链的密钥存储设备的分析,因为私钥被视为一个定义的方面,并且可能对许可的区块链网络造成不利影响。根据与许可区块链有关的可用性来讨论分层确定性钱包。

目前领先的许可区块链是Hyperledger Fabric,这是Linux基金会托管的一个开源项目。为了这份报告和研究,将使用Hyperledger Fabric对许可的区块链上的加密攻击策略和分析进行建模。请注意,尽管本文并非旨在忽略或掩盖与MSP或CA不相关的许多攻击面,但本文的注意力和范围集中在以密码方式实施的攻击上,因此具体涉及分散系统的集中方面。

Fabric V1引入了执行订单验证架构,它是对传统的订单执行设计和其他区块链平台(包括HLF的预览版本(称为v0.6))进行了根本性的转变。 目标是将交易执行(通过智能合约(SC))与交易订单分开。 与传统的状态机复制方法相比,此体系结构提供了更好的可伸缩性,用于事务验证的新信任假设,对非确定性SC的支持以及模块化共识实现。如下图是Hyperledger Fabric V1网络的SRN模型。

 

0x02 The Membership Service Provider

成员服务提供商是Hyperledger Fabric的定义之一,其作用是许可区块链的定义方面。尽管有许多不同的MSP实现,但以Linux基金会的建议作为最佳实践,组织和MSP一对一运行,每个组织将一个MSP用于其区块链网络。每个MSP都包含在一个文件夹中,该文件夹包含多个子文件夹,这些子文件夹包含管理员证书,根CA证书,节点的私钥,节点的X.509证书和其他可选附件。

Linux基金会并没有为组织范围的MSP限制或推荐理想的管理员数量,但是所有本地通道,对等方和订购者的MSP仅限一名管理员。管理职责包括为整个区块链网络提供访问和许可,因此是集中节点。

通过使用包装在X.509证书中的身份和由公钥加密启用的数字签名来启用MSP。网络上的每个参与者都被分配了一个数字证书,以确保他们是自己所说的身份,并定义了他们拥有的访问和权限级别。这些权限由上述管理员设置。除了数字证书,还为每个参与者分配了Fabric标记数字签名的内容,或者是公钥/私钥对的私钥的一半。这用于签署交易和背书以确保和保留区块链的完整性。

Hyperledger Fabric不需要任何CA系统,组织可以自行决定如何设置和运行CA系统。 Fabric确实提供了Fabric CA,这是Linux 基金会和Hyperledger Fabric的CA系统,但是它是完全可选的,组织可以选择使用自己喜欢的任何CA 。

Linux 基金会的另一项建议是使用Cryptogen工具。 CA选择的唯一限制是,无论选择哪种实施方式,都必须利用ECDSA加密技术,因为Hyperledger Fabric目前不支持RSA加密技术。Hyperledger Fabric实现根CA和中间CA。为了减轻在身份创建过程中不备份根CA的使用,根CA可以将中间CA“验证”为可信和可用的CA。中间CA的证书由根CA签名,然后允许中间CA在身份创建中签名。对于所有中间CA,都存在追溯到其根CA的痕迹。

 

0x03 The Attack Surface of The MSP

A.内部威胁

组织范围内的MSP的当前设计对管理员数量没有任何书面限制,并且所有本地MSP都允许单个管理证书,这意味着MSP由单个管理员控制。对于内部威胁,不信任管理员证书的持有者可以在区块链上自由支配,诸如添加或撤消访问权限,向CRL添加身份(本质上是列入黑名单的身份),确定MSP接受哪个CA以及控制给定身份对区块链网络的访问量和访问类型等管理控制措施均由管理员单独管理。

在传感器的物联网网络中,传感器本身可能是内部威胁。如果传感器行为不佳或行为不正确,应该将假信息传播到网络。虽然不是恶意攻击,但这仍然是系统的弱点。恶意的内部攻击可能会导致进一步的攻击,例如51%攻击或女巫攻击,因为管理员可以根据需要在区块链上给自己尽可能多的参与者和节点。这只是内部威胁可能引发的后续攻击的一个示例。在智慧城市的应用场景中,可能存在导致漏洞的物理限制。

上图为Hyperledger Fabric V1网络设置。在某些情况下,由于安全配置薄弱以及没有足够的资源用于复杂安全技术的情况,攻击者可以轻松地绕过加密机制。第三方供应链造成的内部威胁也正在成为对作为不同系统组件共同发挥作用的信息基础设施的重大威胁。与隐私问题有关的内部威胁无法忽略,但仍很难发现。、

这些内部人员使用合法的权利和特权来访问某些敏感的个人信息,但出于未经授权的目的,因此很难预防,检测和缓解。这些恶意内部人员可能存在于体系结构的不同级别中的任何位置,例如网络层,协议层甚至应用程序层。

B.私钥泄露

证书和身份通过非对称密码在Hyperledger Fabric中得到验证和保护。每个参与者如何选择存储和保护其私钥取决于他们。 Hyperledger Fabric不需要内聚的管理方案,因此可以使用多种钱包和管理方法。外部攻击者获取私钥可能导致任何数量的攻击。通过获取管理员的私钥,

通过为非管理参与者获取多个私钥,可以使诸如女巫或51%攻击之类的二次攻击变得可行。由于私钥泄露攻击提供了对区块链的潜在无限访问权限,并为任何数量的二次攻击打开了可能性,它们被视为对MSP的最大威胁之一。此外,在智慧城市和传感器网络的背景下,密钥管理方案的成本非常高,并且在此时无法实施。

然后,这将使被许可区块链成为一个风险极高的协议,因为缺乏对网络最大威胁的安全性。私钥的泄漏可能进一步导致更严重的攻击,例如中间人攻击,重播攻击,消息篡改攻击和身份泄露攻击,使数据和隐私处于高风险中。一旦出现系统漏洞,对手将获得更高的特权来进行进一步的入侵。云中间人攻击(Man-in-the-Cloud attack)也是一种外部攻击,它是由个人凭证泄露或凭证使用的操纵引起的,这可能会影响云存储应用程序。

C. DNS攻击

当创建新参与者的身份并将其添加到MSP时,在任何情况下都可能发生DNS攻击。向区块链成员创建证书的过程在许多地方都可能发生攻击,例如中间人攻击,缓存中毒,DDOS。

例如,DNS欺骗攻击(也称为DNS缓存中毒攻击),攻击者破坏DNS解析器的缓存并迫使服务器返回错误值,从而使某些网络位置不可用。此外,DNS放大攻击是一种基于反射的分布式拒绝服务(DDos)攻击。攻击者欺骗对域名系统(DNS)服务器的查找请求,以隐藏漏洞利用源并将响应定向到目标网络。

攻击者可以将简单的DNS查询转换为更大的有效载荷,从而引起DDoS攻击。与CA攻击类似,这种攻击导致证书篡改和/或窃取,例如某些区块链成员将拥有的权限和访问权限。传感器网络特别容易受到DDOS攻击。智慧城市不仅面临着实施针对DDOS攻击的弱点的传感器网络,而且面临着弱点的伴随的区块链系统的挑战。

D. CA攻击

数字证书和身份对于MSP的运行至关重要。Hyperledger Fabric允许用户选择如何运行证书颁发机构并生成加密材料。选项包括Fabric CA,由Hyperledger Fabric,Cryptogen的贡献者构建的过程,以及自己的/第三方CA。这些CA本身的实现都有其自身的缺陷。 Cryptogen在一个集中的位置生成所有私钥,然后由用户将其充分安全地复制到适当的主机和容器中。通过在一个地方提供所有私钥,这有助于私钥泄露攻击。

除了实现方面的弱点之外,MSP的整体以及因此区块链的成员资格都在CA上运行,并且具有信任证书有效的能力,并且证书所有者就是他们所说的身份。对知名第三方CA的攻击如果成功执行,则可能会损害MSP的安全性,从而导致伪造的身份。

Hyperledger Fabric中CA的另一个弱点是它们在MSP中的实现方式。 MSP至少需要一个根CA,并且可以根据需要支持作为根CA和中间CA。如果要攻击根CA证书或实施,则会破坏所有导致根证书的证书。

 

0x04 Transaction Flow of Hyperledger Fabric

交易流在按任务分配的区块链中提供了许多攻击点。从传感器激活和信息收集到成为区块链的一部分,上图展示了交易流如何在Hyperledger Fabric中执行的细分,每个步骤说明如下:

•1:请求者向他们自己和另一个交易方发送建议,并向参与的同行发送请求以得到认可。

•2:认可对等方验证请求者和交易者的签名有效,并且请求者被授权执行提议的操作。

•3:执行提案,并生成一组读取和写入值以及响应值,然后将其发送到SDK。

•4:SDK验证背书的对等签名,并确定提案响应是否匹配。

•5:SDK将已验证的响应提交给订购服务。

•6:订购服务按时间顺序对交易进行订购,并向每个对等方发送一组订购的交易。

•7:区块由同级验证,以确保自从产生读/写集和建议响应以来,未对分类帐进行任何更改,如果满足要求则将其标记为有效,否则将其标记为无效。验证此时不涉及验证签名。

•8:如果标记为有效,则所有对等方将块附加到链上。

•9:发出一个事件,通知客户其交易已添加到区块链。

以红色突出显示的块表示由于第三部分概述的攻击而导致的漏洞,如下所示:

•1:容易受到内部威胁或私钥泄漏的影响。由于内部威胁和/或私钥泄漏,网络上受侵害或不信任的行为者可能会执行未发生或不应提交的新交易提交行为。

•2:易受CA攻击。 Hyperledger Fabric中使用的签名是唯一的,并且取决于那些签名的身份,而签名又取决于有效的数字证书。由于任何类型的证书颁发机构操纵而造成的身份泄露(签名时使用CA)会导致伪造签名和区块链受损。

•4:易受CA攻击。由于与2相同的原因,正在验证认可的对等签名并且容易受到CA攻击。

•7:容易受到内部威胁和私钥泄漏攻击。由于上述威胁,网络上不可信任的行为者可能会根据其目的错误地将块标记为有效或无效。

•8:容易受到内部威胁和私钥泄漏攻击。由于上述威胁,网络上不值得信任的参与者可能无法将区块添加到区块链上。

对于上面概述的许多威胁,单点故障可以通过本质上是对等网络的区块链来恢复。单个发送虚假信息的传感器不会破坏整个网络。但是,随着受攻击者人数的增加,概述的攻击的成功率也会提高。请务必注意,DNS攻击不会出现在交易流中。 DNS攻击在身份创建的特定点上对交易流之外的安全构成威胁。尽管由于攻击的特殊性质,它看起来风险较低,但这并不是为了减轻攻击所带来的威胁,因此不应忽视。下图为Hyperledger Fabric V1上的交易生命周期以及相关的度量详细信息。

 

0x05 Key Management and HD Wallet Analysis

在区块链中使用非对称密码学是允许网络许可的原因。自信,安全地存储私钥变得至关重要,找到适合于许可的区块链需求和细微差别的密钥管理系统对于区块链网络的安全性和完整性至关重要。由于时间和资源的限制,在本研究中,将时间精简并集中在一个管理系统上,即分层确定性(HD)钱包 们对创建,发布,存储,撤销和重新撤销进行了深入的分析。

A.创建

hD钱包具有独特的创建过程。预先确定了所有可使用的私有密钥,这些密钥在理论上是无限的,并且扎根于Master Seed。通过使用哈希函数,Master Seed产生主私钥(MPrK),然后将其用于产生所有子私钥。

B.发布

子密钥的发出按创建的时间顺序进行。由于每个后续密钥都取决于前一个密钥的哈希值,因此要使HD钱包的层次结构存在,必须按创建的时间顺序发布密钥。

C.存储

Master Seed拥有独特的重新创建所有后续子密钥的功能,可轻松传输和存储。只需保留Master Seed,因为不需要单独安全地存储所有子私钥即可使用钱包。只需存储或记住Master Seed的助记符,然后MPrK就足以存储和传输钱包创建的每个密钥。

D.撤销和重新撤销

尽管HD钱包具有吸引力,但仍存在一些缺点和可用性问题。由于它是一个非对称系统,因此对于MPrK和任何子密钥都存在相应的公共密钥。通过同时获得MPrK的公共部分,主公钥(MPuK)和任何子私钥,可以将HD钱包完全再生回Master Seed,并且整个钱包受到损害。其次,生成的助记符对用户不友好或不容易记住。由任意和随机的单词组成,许多人经常求助于在计算机上写下或存储助记符,然后这些助记符本身就成为了密钥,从而破坏了HD钱包的目的。

在考虑按任务分配的区块链中HD钱包的可用性时,会出现许多问题和担忧。如果管理员保留Master Seed,并向每个新成员分配一个子私钥,那么如果破坏的钱包系统,整个区块链网络将变得不可靠。不必为每个成员发放自己的HD钱包,因为拥有多个私钥并不是网络的组成部分。对于传感器网络,首先为每个传感器提供一个完整的HD钱包实际上会减弱钱包的用途,因为各个传感器都无法“记住”助记符。Master Seed生成短语必须存储在传感器上,在这种情况下,这与存储私钥没有什么不同,这是HD钱包试图规避的。

 

0x05 Conclution

需要特别注意的是,许可的区块链系统和Hyperledger Fabric仍处于开发阶段。话虽如此,Fabric的最新版本确实发布了其源代码的1.0版本,因此,必须对成员资格服务提供者作为网络集中方面的安全性和完整性进行测试。如前所述,这种许可的区块链网络存在优缺点。本文旨在强调其弊端,以期阐明许可区块链网络(在本例中为Hyperledger Fabric)带来的实际风险。

虽然网络本身是点对点且分散的,但由于MSP本身是一个集中节点,因此不能将许可区块链作为一个整体进行归类。按任务分配的区块链提供专有性,但以关键组件的集中化为代价。此外,MSP具有可在任何集中式数据库或网络中找到的漏洞。使用授权的区块链无法解决当前伴随集中式数据库的问题。

许可区块链的想法为智慧城市的发展和整合提出了许多希望的解决方案。然而在实践中,在许可区块链成为现实的实现之前,需要对安全性进行更多的努力。

将来,无论是分析还是实验分析,都将继续采用更深入的方法来处理许可区块链安全性。需要对MSP的攻击面进行比较分析,并且需要建立严格的证据以数字化量化许可区块链所伴随的威胁,以找到最适合许可区块链的系统。

(完)