一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于联盟区块链的基础层自动化安全评测系统

2022-11-30 08:42:44 来源:中国专利 TAG:


1.本发明属于计算机技术领域,尤其涉及一种基于联盟区块链的基础层自动化安全评测系统。


背景技术:

2.目前,区块链技术还未发展成熟,由软件漏洞导致的安全事件时有发生,造成了严重的经济损失。区块链在技术架构上的重要组成部分主要包括六个模块,分别为:共识机制、权限管理、加密算法、智能合约、对等网络和数据管理。通过对历史上主要的区块链安全事件总结分析得出,大多数安全漏洞发生在共识机制,权限管理,数据管理和智能合约中。现存的自动化区块链安全分析方法主要集中在智能合约模块,而对于区块链基础层中的共识机制,准入权限机制,加密算法、对等网络和数据管理等模块的自动化安全评测工作还尚未有研究学者提出完善的评测框架。
3.现针对基础层的安全评测手段主要依赖白盒测试和渗透测试。由于每种区块链的基础层设计侧重点不同,在共识机制、准入权限机制、加密算法、对等网络和数据管理等方面的设计存在较大差异。因此,使用白盒测试和渗透测试手段对特定的区块链基础层进行安全评测,需要测试员制定特殊的方案对庞大且复杂的区块链代码进行详细审查。这两种测试方法的主要缺点分别如下:
4.白盒测试的缺点:白盒测试需要大量的人工审查区块链基础层源码,并针对性地设计大量的测试用例,效率低下。
5.渗透测试的缺点:渗透测试除了需要很大程度的人工参与外,并且非常依赖于测试人员的检测经验,这很容易由于人为疏忽或缺乏经验去发现系统潜在的漏洞。


技术实现要素:

6.为了解决上面所提的现有技术问题,针对需要设计大量的测试用例,效率低和需要很大程度的人工参与、非常依赖于测试人员的检测经验下的问题,本发明提供一种基于联盟区块链的基础层自动化安全评测系统,以解决上述问题。
7.一种基于联盟区块链的基础层自动化安全评测系统,包括测试用例生成模块,测试用例执行模块,状态收集模块;
8.所述测试用例生成模块包括安全测评系统单元和系统设置单元,
9.所述安全评测系统单元用于根据用户输入的安全评测机制构造测试用例,
10.所述系统设置单元是对区块链启动一定数量的节点共识通信,生成区块链初始化脚本文件进行节点密钥和证书,执行区块链配置文件生成创世块和创建通道的命令,合法的节点被加入到联盟区块链和接入网络后开启监听线程,等待网络中对等合法的节点广播数据交易信息;
11.所述测试用例执行模块,用于根据安全评测指标对测试用例进行测试;
12.所述状态采集模块,用于生成安全评测的结果。
13.进一步地,所述安全评测机制包括:
14.共识机制,联盟区块链中决定记账权和保证节点数据一致性的核心机制;
15.准入权限机制,联盟区块链是特有的带有准入权限机制的区块链,其运行在一组已知的已确定的参与者中;
16.加密算法机制,用于实现加密算法机制的安全和保障联盟区块链安全;
17.对等网络机制,具有分布式节点的特性,用于各节点之间的高效安全通信;
18.数据管理机制,用于记录区块链节点之间的共识记录和用户交易信息,保障联盟区块链系统安全。
19.进一步地,所述共识机制的评测内容包括:共识可审计性、共识容错性和共识可靠性。
20.进一步地,所述准入权限机制的评测指标包括:身份认证鉴别机制和访问控制策略。
21.进一步地,所述加密算法机制的评测内容包括:密钥算法使用安全和密钥管理安全。
22.进一步地,所述对等网络机制的评测内容包括:节点高效性和节点同步性。
23.进一步地,数据管理机制的评测内容包括:分布式存储机制和账本管理安全机制。
24.进一步地,所述测试用例执行模块和状态收集模块利用rpc接口调用联盟区块链的节点进行数据输入和状态获取。
25.进一步地,所述通道用于实现区块链网络中业务的隔离,且每个通道允许区块链中指定的节点加入进行通信共识机制。
26.进一步地,所述状态收集模块用于转换收集的所述测试执行模块的内容为测试报告,所述测试报告包括:测试系统、测试日期、测试区块链对象、评测指标、测试过程和测试结果。
27.本发明提供的基于联盟区块链的基础层自动化安全评测系统的有益技术效果,至少包括以下几点:
28.(1)本发明重点是针对联盟区块链的基础层安全检测,现有技术方案存在不仅需要大量的人工参与审查区块链基础层源码,而且还需要针对性地设计大量复杂的测试用例等问题。这些问题将导致安全评测结果严重依赖测试人员的检测经验,评测效率低下,进行新的架构和建模。
29.(2)本发明提出的自动化安全评测系统可以全面高效、通用性的评测主流的联盟区块链,对其中基础层模块多个维度的共性基本要素进行建模,构建一个系统性的深度安全分析框架,实现对不同类型区块链进行安全性及性能评估和比较。
30.(3)利用本发明技术,测试人员仅需要在可视化界面选择区块链的测试对象和安全评测指标,评测系统即可自动化针对上述所选择的测试对象进行基础层安全评测,并最终根据状态收集器的内容,快速返回图文并茂的安全评测结果给测试人员。
附图说明
31.利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得
其它的附图。
32.图1为本发明实施例基于联盟区块链的基础层自动化安全评测系统模块组成结构示意图。
33.图2为本发明联盟区块链基础层自动化安全评测系统的测试用例步骤流程示意图。
具体实施方式
34.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
35.实施例
36.如图1所示,本发明实施例提供的联盟区块链基础层自动化安全检测系统可分为三个部分,分别是测试用例生成模块、测试用例执行模块和状态收集模块。其中,测试用例的生成需要安全评测系统根据安全评测指标进行生成,并进行必要的联盟区块链系统预设置。测试用例执行和状态收集器利用rpc接口调用联盟区块链的节点进行数据输入和状态获取,最后根据状态收集日志来生成最后详细的安全评估检测结果。
37.本实施例提供的基于联盟区块链的基础层自动化安全评测系统,其包括测试用例生成模块,测试用例执行模块,状态收集模块;
38.所述测试用例生成模块包括安全测评系统单元和系统设置单元,
39.所述安全评测系统单元用于根据用户输入的安全评测机制构造测试用例,
40.所述系统设置单元是对区块链启动一定数量的节点共识通信,生成区块链初始化脚本文件进行节点密钥和证书,执行区块链配置文件生成创世块和创建通道的命令,合法的节点被加入到联盟区块链和接入网络后开启监听线程,等待网络中对等合法的节点广播数据交易信息;
41.所述测试用例执行模块,用于根据安全评测指标对测试用例进行测试;
42.所述状态采集模块,用于生成安全评测的结果。
43.为了更好理解本发明的测试步骤,下面预先对联盟区块链网络模型的重点组成部分和工作流程进行阐述:
44.1、通道:通道主要用于实现区块链网络中业务的隔离。一个区块链中可以有多个通道,每个通道可代表一项业务,并且对应一套账本。每个通道允许区块链中指定的节点加入进行通信共识。
45.2、智能合约:智能合约是部署到区块链指定节点的程序,主要用于操作该节点所绑定的账本上的数据。智能合约可以接受外部的交易请求和事件,进而触发提前编写好的合约代码,将这些交易信息广播到通道中的所有对等节点进行通信共识。若该交易被共识为有效交易,则将交易记录在对等节点的本地账本和通道账本。
46.3、区块链网络的工作流程:
47.(1)用户向区块链的顶层应用程序发送交易请求,顶层应用会根据该请求构建交易提案,并发送到指定通道中进行交易提案广播;
48.(2)区块链交易提案被发送到对等节点之后,通过验证交易签名进行校验交易是
否合法;
49.(3)待负责打包交易的节点收到足够多的合法消息(由其他节点发送)之后,将该交易打包在区块,并执行交易;
50.(4)在共识出块后,节点需要将区块中的交易及执行结果写入账本永久保存,并更新区块高度与区块哈希的映射表等内容。
51.如图2所示,对联盟区块链的基础层中五个重要模块包括共识机制,准入权限机制,加密算法、对等网络和数据管理,进行详细说明安全评测系统的具体执行流程。
52.步骤1:使用本发明进行区块链安全评测系统的用户,需要在操作界面包括但不限于网页端、命令行终端进行选择需要安全评测的联盟区块链,并且选择上述所详细描述的评测指标。安全评测系统根据用户的选择进行测试用例构造。
53.步骤2:系统设置,在进行测试用例执行前,需要对评测区块链对象进行系统设置,包括但不限于区块链启动一定数量的节点来进行共识通信,执行区块链初始化脚本文件进行节点密钥和证书的生成,执行区块链配置文件生成第一个区块和创建通道,将合法的节点成功加入到该通道中,节点接入通道后开启监听线程,等待通道网络中对等节点广播交易信息。
54.步骤3:本步骤将测试用例所运用的智能合约进行编写和编译成二进制码,使用区块链控制台将上述智能合约部署到区块链指定节点中,等待测试用例执行过程进行调用。
55.步骤4:安全评测系统将上述所构造好的测试用例发往已经正常开启的联盟区块链,进行基础层安全评估测试。
56.步骤5-1:此步骤至5-3主要评测共识机制模块的共识可审计性和共识可靠性。本测试用例对共识机制进行安全评测。测试用例读取被评测联盟区块链的配置文件,读取该通道所配置的组织数和节点数、所采用的共识机制,并与此通过容器接口查询正常开启的组织数和节点数,比较两者数量是否符合。
57.步骤5-2:本测试用例调用部署在区块链的创建账号智能合约,进行创建账户a和账户b。并调用部署在区块链的转账交易智能合约,进行随机数额的账户a和账户b相互转账交易操作。经过一段必要的节点共识耗费时间之后,测试用例调用部署在区块链的查询账户余额智能合约,进行查询并验证账户a和账户b经过多次随机数额的转账交易之后,余额数量是否依然正确。
58.步骤5-3:本测试用例通过联盟区块链的可调用接口进行获取区块链的区块高度、区块内容、区块编号等内容,来评测步骤5-2的多次账户之间的转账交易是否被共识节点详细记录下来。共识内容包括但不限于事件时间、内容、发起者信息和类型等完整内容。
59.步骤5-4:本步骤主要评测共识机制模块的共识容错性。本测试用例将根据步骤5-1读取到的共识机制,进行有针对性的停止一定数量的共识节点,再次执行步骤5-2、步骤5-3来评测在任意不超过理论安全值的节点数出现异常时,区块链是否仍能正常运行。可选的,将上述选择停止的节点设置为恶意节点,恶意节点向区块链各个节点发送前后不一致的共识信息,来评测理论安全值范围内的恶意节点对系统发出伪造、重复请求时,系统是否能够做出正确且一致的响应。其中理论安全值范围的值是根据区块链所支持的共识机制决定。pbft共识机制容忍小于(节点总数/3)的恶意节点或者无效节点。
60.步骤6-1:此步骤主要评测准入权限机制模块的身份认证鉴别机制:本测试用例访
问步骤2所启动的节点本地配置、本地证书文件等内容,读取证书数量个数、证书内容。判断证书数量是否正确、证书是否已密文的形式存储。如果证书采用密文的形式存储,测试用例将进一步使用本发明提供的解码方法进行解码获得明文证书。进一步地通过对比各节点和用户的证书标识码来判断证书是否具备唯一性、进一步,使用本发明提供的检测证书方法去评测各证书的内容是否正确和是否处于有效期内。
61.步骤6-2:此步骤主要评测准入权限机制模块的访问控制策略。本测试用例采用未被正确授权的用户去访问区块链秘密数据和敏感数据的方法,和采用已被授权用户去访问区块链秘密数据和敏感数据但不携带账户证书或携带过期账户证书的方法去评测区块链是否具备访问控制策略。
62.步骤7-1:此步骤主要评测加密算法模块的密钥算法安全。本测试用例读取通道中各节点本地所存储的密钥文件,先判断密钥是否以密文形式存储之后,再将上述密钥文件传输至本发明提供的密钥算法分类器,评测出该密钥所采用的加密算法,并且比较是否采用国际rsa、ecc或国密sm2、sm9等安全级别及以上的加密算法。
63.步骤7-2:此步骤主要评测加密算法模块的密钥管理安全。本测试用例采用在区块链加密的源码处注入一段用于加密的明文和用于加密的特定密钥,并多次调用区块链的加密算法进行加密获得加密结果,比较加密结果的异同评测是否使用安全的随机数发生器、密钥导出函数、标准的密钥协商机制等安全的方式生成密钥。
64.步骤8-1:此步骤主要评测对等网络模块的节点高效性。本测试用例首先读取通道节点的本地配置文件是否开启ssl或tls加密,以及读取节点是否正确配置证书文件路径。随后本测试用例采用在节点进行共识的过程中检测节点之间的延迟,来判断节点之间是否具备高效且安全的通信能力。
65.步骤8-2:此步骤主要评测对等网络模块的节点同步性。本测试用例重启在步骤5-4所关闭的节点,经过一段必要的节点同步耗费时间之后,查看重启节点的本地账本并对比之前未关闭的节点账本,评测重启节点是否自动同步账本信息。
66.步骤9-1:此步骤主要评测数据管理模块的分布式存储机制。经过步骤5-2、5-3的共识步骤之后,本测试用例读取各节点的所最终保存的账本,比较是否与共识记录所一致。
67.步骤9-2:此步骤主要评测数据管理模块的账本管理安全机制。本测试用例首先关闭特定节点,并通过本发明提供的修改方法去篡改特定节点的本地账本信息,最后重启上述关闭的节点,评测其他正确节点是否发现该异常节点的异常账本,以及异常节点是否能从正确的节点中自动同步正确的账本信息。
68.步骤10:此步骤为生成安全评估检测结果。本发明评测系统针对用户所选择的测试区块链对象和评测指标,返回从状态收集器收集到相应的内容并转换成测试报告。其中包括测试系统、测试日期、测试区块链对象、评测指标、测试过程、最终测试结果。用户可根据自身需要选择在线浏览或者将测试报告下载至本地。
69.综上所述,针对联盟区块链的基础层安全检测,现有技术方案存在不仅需要大量的人工参与审查区块链基础层源码,而且还需要针对性地设计大量复杂的测试用例等问题。这些问题将导致安全评测结果严重依赖测试人员的检测经验,评测效率低下。本发明提出的自动化安全评测系统可以全面高效、通用性的评测主流的联盟区块链,对其中基础层模块多个维度的共性基本要素进行建模,构建一个系统性的深度安全分析框架,实现对不
同类型区块链进行安全性及性能评估和比较。测试人员仅需要在可视化界面选择区块链的测试对象和安全评测指标,本发明提出的评测系统即可自动化针对上述所选择的测试对象进行基础层安全评测,并最终根据状态收集器的内容,快速返回图文并茂的安全评测结果给测试人员。
70.尽管已经示出和描述了本发明的实施例,本领域技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变形,本发明的范围由权利要求及其等同物限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献