APP下载

异构区块链的多维度安全检测方案*

2023-09-22廖思捷杨春霞邓朝勇安红章郭益汝

信息安全与通信保密 2023年7期
关键词:多维度区块节点

廖思捷,杨春霞,邓朝勇,唐 晋,安红章,郭益汝

(中国电子科技网络信息安全有限公司,四川 成都 610041)

0 引 言

区块链作为一种全新的信息存储、传播和管理机制,通过让用户共同参与数据的计算和存储,并互相验证数据的真实性,以“去中心”和“去信任”的方式实现数据和价值的可靠转移。这些信息存储在不可篡改的账本上,只能由获得许可的网络成员访问,为他们提供即时、共享和完全透明的信息[1]。2020 年,区块链技术被纳入国家新基建范围,引领区块链行业逐渐进入实战阶段,区块链从最初应用于加密数字货币,到如今在政务、医疗、金融等多领域的广泛应用,已成为炙手可热的新兴互联网技术之一。随着区块链技术的广泛应用,安全问题也日益突出,其共识机制、私钥管理、智能合约等存在的技术局限性和面临的安全问题逐渐浮出水面,引发对区块链平台及技术应用的合规性方面的思考。

为了保障区块链行业生态的健康发展,对来自第三方或是恶意节点的攻击进行技术风险防范,对区块链平台的安全检测势在必行。各国政府、行业和标准化组织纷纷聚力区块链基础设施能力及安全建设,发布各项区块链平台安全检测方案及标准。在国际领域,ITU-T Q17/SG13已经启动区块链服务技术标准的研制;ITU-T Q8/SG17 同步推动区块链即服务(Blockchain as a Service,BaaS)相关安全标准研制,覆盖BaaS安全威胁分析和安全保障等领域;Q14/SG17 则聚焦分布式账本技术安全性展开标准研制[2];Lal 等人[3]也在区块链测试技术方面做了探索和研究,Gao[4]、Wu 等人[5]提出了基于区块链的去中心化测试框架。在国内行业领域,中国信息通信研究院发布的《区块链安全白皮书——技术应用篇》中阐明了区块链技术典型应用架构及安全风险,对区块链技术安全应用及监管提出了建议[6]。清华大学技术转移研究院提出了基于区块链的物联网安全检测方法及系统,该系统通过建立一种自动化的激励机制,吸引物联网安全检测设备参与到物联网系统的安全检测中来,解决了物联网中漏洞检测不完整的问题[7]。近期,国内也有多人在区块链平台检测方面进行探索,分别提出了区块链异常交易检测系统方案设计与分析[8]、基于自动化图特征的区块链异常检测研究与系统设计[9]和自动化测试方法在区块链服务平台的实现及应用[10]。

当前,区块链安全检测主要面临以下问题:一是区块链系统组件众多,评测标准缺失,评测方式多样;二是以手动检测为主,检测效率低下,人为因素对检测结果影响较大,测试报告不规范;三是区块链平台底层架构差异性大,对外提供的接口多种多样,统一评测方式比较困难。本文针对以上问题,采用通用性层次化分析法,提取区块链系统模块共性,从组网通信安全、数据存储安全、隐私保护能力、密码及私钥安全、共识机制安全、智能合约安全、权限控制、节点防护8 个维度出发,设计标准化检测准则,并采用组件化模块式设计,统一性接口封装的方式,研制区块链多维度安全检测服务平台,有效填补了区块链安全检测的空白,现已在多地开展示范应用,为建立安全、可信的区块链生态奠定基础。

1 异构区块链的多维度安全检测方案设计

异构区块链的多维度安全检测方案包含对区块链系统的组网通信安全、数据存储安全、隐私保护能力、密码及私钥安全、共识机制安全、智能合约安全、权限控制、节点防护8 个维度的检测,具体设计如下,并附有典型场景的验证流程图。

1.1 组网通信安全检测

方案设计:

(1)验证新节点加入网络需要满足准入机制。

(2)验证新用户或账户授权访问网络需要满足准入机制。

(3)验证区块链系统的报文满足密文传输要求。

验证流程:

(1)通过HTTP 接口将新节点加入网络,符合准入规范的新节点加入网络成功,不符合准入规范的新节点加入网络失败,符合以上预期认为检测通过。节点入网准入管理检测如图1所示。

图1 节点入网准入管理检测

(2)通过HTTP 接口对新用户或账号授权访问网络,符合准入规范的新用户或账号分别演示其权限内的功能和权限外的功能,不符合准入规范的新用户或账号不能访问网络,符合以上预期认为检测通过。

(3)通过抓包工具对区块链系统的通信报文进行抓取,并对抓包数据进行报文分析,根据分析结果判断消息是否加密传输。

1.2 数据存储安全检测

方案设计:

(1)验证系统具备防止账本数据被人为篡改的能力。

(2)验证系统具备防止状态数据被人为篡改的能力。

(3)验证系统具备数据防泄漏功能,且具有不能被非法获取的能力。

(4)验证系统具备丢失数据的恢复能力,保证系统数据的完整性。

验证流程:

(1)通过工具修改某个区块链节点的账本数据,如历史交易、全局数据等,然后用户通过HTTP 接口发起交易,查看交易结果和各个节点的账本数据。如果交易成功,且结果信息正确,则各个节点的账本数据同步正确。账本数据防篡改如图2 所示。

图2 账本数据防篡改

(2)通过工具修改某个区块链节点的状态数据,如账户余额、合约状态数据等,然后用户通过HTTP 接口发起交易,查看交易结果和各个节点的状态数据。如果交易成功,且结果信息正确,则各个节点的状态数据同步正确,被篡改数据节点的状态数据恢复正常。

(3)通过已授权用户和非授权用户获取指定数据,区块链平台通过验证账户接入密钥对,确定账户是否具有权限获取私有数据,已授权用户获取成功,非授权用户获取失败。

(4)通过攻击模拟对区块链节点上的区块数据进行损坏或者造成丢失,比如删除某一节点上的账本数据,用户通过HTTP 接口发起交易,查看交易结果和各个节点的区块数据。交易成功且各个节点的区块数据一致,说明系统具备数据恢复能力。

1.3 隐私保护能力检测

方案设计:

(1)验证交易的完整流程具有隐私保护的能力。

(2)验证系统具有数据加密存储的能力,以及链上隐私数据授权访问的能力。

(3)验证系统具有对隐私数据进行数据隔离的能力,验证系统具备对隐私数据的隔离方案。

验证流程:

(1)通过抓包工具对区块链系统中交易方的数据、交易内容数据、合约数据进行抓取,并对抓包数据进行报文分析,判断传输内容是否包含交易方、交易内容、交易金额、合约内容等隐私信息,是否对隐私信息做了相应保护。

(2)通过HTTP 接口访问链上隐私数据。授权用户可以查询到此部分隐私数据,并以明文的形式显示出来。未授权用户不能查询到此部分隐私数据,或查询到的数据以密文显示。

(3)通道或子链以内的用户通过HTTP 接口对该通道或子链内的数据进行查询,并返回查询结果。通道或子链以外的用户不能查询该通道或子链内的数据。

1.4 密码及私钥安全检测

方案设计:

(1)验证系统是否支持国密加密算法,加密算法是否符合国密加密要求,对算法的正确性、合规性进行评测。

(2)验证系统具备基于软件的私钥管理的能力。

验证流程:

(1)利用区块链密码检测工具对区块链系统的密码算法进行检测,通过对区块信息的提取,以及对区块信息中的证书进行解析,提取系统中密码算法的相关信息;判断是否使用国密算法,获取加密后的区块数据内容,调用相应加密算法进行本地验证,判断是否符合国密算法应用标准。

(2)注册用户通过HTTP 接口进行密钥管理。用户使用申请成功的私钥发起交易,交易签名验签成功,交易正常执行。

1.5 共识机制安全检测

方案设计:

(1)验证产品在故障数少于理论值的情况下达成共识的能力。

(2)验证产品在故障数多于理论值的情况下不能达成共识。

(3)验证产品处理“双花攻击”的能力。

验证流程:

(1)在区块链系统中,构造节点故障,确保故障数少于理论值。节点故障后,通过HTTP接口进行合约调用,发起一次合法转账请求,再发起一次非法转账请求,查看二者调用结果,请求是否达成共识。合法转账请求共识成功,非法转账请求共识失败。

(2)在区块链系统中,构造节点故障,确保故障数多于理论值。节点故障后,通过HTTP接口进行合约调用,发起一次合法转账请求,再发起一次非法转账请求,查看二者调用结果,请求是否达成共识。合法转账请求无法共识,非法转账请求无法共识,交易均失败。

(3)在区块链系统中,通过HTTP 接口基于同一账户同时发起两次转账请求,且两次金额总和大于账户余额,再通过同一账户连续发起两次相同交易,两次金额总和小于账户余额,查看交易请求结果,均为其中一次记账成功,另一次作为“双花”交易记账失败。“双花”攻击防范如图3 所示。

图3 “双花”攻击防范

1.6 智能合约安全检测

方案设计:

验证合约访问的安全性。

验证流程:

使用具有合约访问权限的用户,通过HTTP接口对合约进行操作,查看操作结果;使用没有合约访问权限的用户通过HTTP 接口对合约进行操作,查看操作结果。结果显示:具有合约访问权限的用户进行合约访问,合约正常访问,记链查链成功;没有合约访问权限的用户进行合约访问,不可访问合约,记链查链失败,显示权限不足。

1.7 权限控制检测

方案设计:

(1)验证区块链系统具有数据访问的权限控制的能力。

(2)验证区块链系统具有接口访问的权限控制的能力。

(3)验证系统具有子链通道操作的权限控制的能力。

验证流程:

(1)已授权用户通过HTTP 接口访问节点上的其他用户的非公开数据,查看操作结果;未授权用户通过HTTP 接口访问节点上的其他用户的非公开数据,查看操作结果。已授权用户可以访问授权数据,未授权用户不可访问未授权数据。

(2)已授权用户通过HTTP 接口访问特定接口,查看操作结果;未授权用户通过HTTP 接口访问特定接口,查看操作结果。已授权用户可以访问特定接口,未授权用户不可访问特定接口。

(3)已授权用户通过HTTP 接口新建子链通道,删除子链通道,修改子链通道,查看操作结果;未授权用户通过HTTP 接口新建子链通道,删除子链通道,修改子链通道,验证子链通道的操作,查看操作结果。结果显示:已授权用户操作成功,未授权用户操作失败。

1.8 节点防护检测

方案设计:

(1)验证系统具有节点程序防护的能力。

(2)验证系统具有容灾防护的能力。

验证流程:

(1)在区块链系统中部署非法代码失败,或篡改指定路径下的代码,代码不能被篡改且不影响当前节点运行。

(2)构建系统节点故障,比如停用一个节点,进行业务操作,之后重启或修复故障节点,业务数据正常同步,查看故障节点是否具备恢复数据、恢复交易和恢复共识出块的能力。

2 异构区块链的多维度安全检测系统

2.1 系统架构

异构区块链的多维度安全检测系统由用户界面模块、安全检测模块和结果数据管理模块3 大模块组成,如图4 所示。

用户界面模块基于H5 和FLASK 技术开发,实现区块链安全测试平台快速构建,提供用户登录/登出、检测项选择、检测参数填写以及检测执行等功能,实现测试工具与用户的友好交互。

安全检测模块为该系统的核心模块,通过数据抓取、权限校验、数据加解密、数据校验等技术实现对区块链系统的多维度安全检测,其中需要与被测系统交互的步骤均使用标准化HTTP 接口进行数据传输。系统部署时可以通过对后台控制模块的配置,达到灵活增加或者减少测试子模块在界面呈现的效果。

结果数据管理模块通过与数据库的信息交互实现对检测结果的存储、分析、管理,支持测试结果的汇总和展示,实时呈现测试过程数据,并且支持检测结果的在线查看和下载。

2.2 业务流程

从业务流程角度来看,区块链多维度安全检测系统可以分为用户管理系统和检测系统,业务流程如图5 所示,具体步骤如下:

图5 区块链多维度安全检测系统业务流程

(1)用户登录管理系统,勾选测试项,填写相应参数,发起执行检测;

(2)用户管理系统收到执行检测信号后,推送检测信息至检测系统;

(3)检测系统收到来自用户管理系统的检测信息后,解析检测信息,生成即将执行的检测内容,检测内容包含各检测项和相应参数内容;

(4)检测系统根据检测内容对被测系统执行相应检测;

(5)检测结束后,被测系统返回检测结果至检测系统;

(6)检测系统根据检测结果生成检测报告;

(7)检测系统推送检测结果至用户管理系统,检测结果包含检测报告、检测过程、入参出参等信息;

(8)用户管理系统接收到来自检测系统的检测报告,实现对检测报告的管理;

(9)用户管理系统将检测报告展示给用户,供用户在线查看或下载。

2.3 系统测试

异构区块链的多维度安全检测系统测试环境拓扑图如图6 所示,检测系统部署在一台服务器上,被测系统部署在n台服务器上,分别部署共识排序节点和共识决策节点,协同构成整个区块链平台系统。

图6 区块链安全检测系统测试环境拓扑结构

通过区块链多维度安全检测系统对区块链服务平台进行组网通信安全检测、共识机制安全检测、数据存储安全检测、智能合约安全检测、隐私保护能力检测、权限控制检测、密码及私钥安全检测、节点防护检测,检测结果如图7所示。

图7 区块链多维度安全检测服务系统测试结果

3 异构区块链的多维度安全检测优势

异构区块链的多维度安全检测方案及系统具备以下4 点优势。

3.1 接口统一,集成性强

为了灵活适配各种差异化区块链系统的检测需求,区块链多维度安全检测系统采用统一接口封装、同义化入参处理、输出逐一校验的方法,解决了多样化区块链平台测试难以标准化的问题。为了实现可信区块链计划定制系统安全测试项的自动化,平台内置了HTTP 接口处理模块、抓包模块、文件修改模块等各种检测工具,可以根据用户配置快速集成使用。

3.2 系统架构解耦,扩展性强

区块链多维度安全检测系统采用标准化参数处理和日志输出模块,集成行业主流测试框架,可根据用户需求增加、删除测试项,快速集成各类测试工具,实现了检测系统的灵活适配和强扩展性。

3.3 系统容器化部署,维护性强

区块链多维度安全检测系统采用容器化部署,部署运行方式简洁,对部署系统的配置要求不高,科学的架构设计便于后期维护。

3.4 系统界面可视化,操作性强

区块链多维度安全检测系统具备可视化检测界面、测试报告查询界面和可读性强的步骤及结果显示,支持在线查询测试报告和详细错误信息输出,方便操作人员对被测系统进行调测。

4 结 语

异构区块链多维度安全检测系统已经在政务系统及相关行业落地应用,测评项设计基本满足行业的安全检测需求,系统当前可以适配Fabric 和BCOS 两种区块链平台,检测结果可以辅助相关部门进行有效监管,为区块链行业的安全性和合规性检测提供技术支撑。后续将加强对区块链核心模块测评关键技术的研究,以及系统对多样性区块链平台的适配性,助力区块链生态的健康有序发展。

猜你喜欢

多维度区块节点
CM节点控制在船舶上的应用
Analysis of the characteristics of electronic equipment usage distance for common users
基于AutoCAD的门窗节点图快速构建
区块链:一个改变未来的幽灵
“多维度评改”方法初探
区块链:主要角色和衍生应用
区块链+媒体业的N种可能
读懂区块链
多维度市南
抓住人才培养的关键节点