基于区块链和大数据的安全性检测方法及大数据AI系统与流程

文档序号:26051016发布日期:2021-07-27 15:26阅读:89来源:国知局
基于区块链和大数据的安全性检测方法及大数据AI系统与流程

本公开涉及区块链和大数据技术领域,具体而言,涉及一种基于区块链和大数据的安全性检测方法及大数据ai系统。



背景技术:

区块链技术已经应用于各类场景中,区块链的类型包括公有区块链、私有区块链和联盟链。在相关技术中,存在黑客利用发送的交易请求作为掩饰,实则是对目标区块链进行网络攻击的事件发生,因此不论哪种类型的区块链被应用,均需要保证部署在自身的交易请求是安全的,进而保证整个目标区块链的安全。



技术实现要素:

本公开提供一种基于区块链和大数据的安全性检测方法及大数据ai系统。

第一方面,本公开实施例提供一种基于区块链和大数据的安全性检测方法,包括:

获取待上传至目标区块链的目标交易请求及其请求大数据内容;

对所述目标交易请求进行交易分析与交易特征向量提取处理,以获得从所述目标交易请求中解析并提取出的各个交易特征向量;

对从所述目标交易请求中解析并提取出的各个交易特征向量进行向量元素分析处理以及向量元素构建关系分析处理,以获取并记录所述目标交易请求中各个交易特征向量的参考向量元素构建关系,其中,每个交易特征向量的参考向量元素构建关系包括至少两个向量元素之间的构建关系;

根据所述目标交易请求中各个交易特征向量的参考向量元素构建关系中的至少两个向量元素之间的构建关系生成所述目标交易请求的参考向量元素知识图谱;

根据所述目标交易请求的请求大数据内容获取所述目标交易请求中的目标向量元素标识;

在所述参考向量元素知识图谱中遍历所述目标交易请求中的目标向量元素标识,根据所述目标向量元素标识确定所述参考向量元素知识图谱的参考置信度,以获得所述目标交易请求的安全验证结果。

第二方面,本公开实施例提供一种大数据ai系统,包括:

获取模块,用于获取待上传至目标区块链的目标交易请求及其请求大数据内容;

提取模块,用于对所述目标交易请求进行交易分析与交易特征向量提取处理,以获得从所述目标交易请求中解析并提取出的各个交易特征向量;对从所述目标交易请求中解析并提取出的各个交易特征向量进行向量元素分析处理以及向量元素构建关系分析处理,以获取并记录所述目标交易请求中各个交易特征向量的参考向量元素构建关系,其中,每个交易特征向量的参考向量元素构建关系包括至少两个向量元素之间的构建关系;

处理模块,用于根据所述目标交易请求中各个交易特征向量的参考向量元素构建关系中的至少两个向量元素之间的构建关系生成所述目标交易请求的参考向量元素知识图谱;根据所述目标交易请求的请求大数据内容获取所述目标交易请求中的目标向量元素标识;

验证模块,用于在所述参考向量元素知识图谱中遍历所述目标交易请求中的目标向量元素标识,根据所述目标向量元素标识确定所述参考向量元素知识图谱的参考置信度,以获得所述目标交易请求的安全验证结果。

相比现有技术,本公开获取待上传至目标区块链的目标交易请求及其请求大数据内容,解析并提取出目标交易请求中的各个交易特征向量,对各个交易特征向量进行向量元素分析处理以及向量元素构建关系分析处理,得到各个交易特征向量的参考向量元素构建关系,并基于至少两个向量元素之间的构建关系生成目标交易请求的参考向量元素知识图谱,再获取目标交易请求中的目标向量元素标识,基于目标向量元素标识确定参考向量元素知识图谱的参考置信度,以获得目标交易请求的安全验证结果,如此设计,保证最终部署到目标区块链上的目标交易请求是安全的且不易被攻击,提高了目标区块链的安全性。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本公开实施例提供的基于区块链和大数据的安全性检测方法的步骤流程示意图;

图2为本公开实施例提供用于执行图1中的基于区块链和大数据的安全性检测方法的基于区块链和大数据的安全性检测装置的结构示意框图;

图3为本公开实施例提供用于执行图1中的基于区块链和大数据的安全性检测方法的大数据ai系统的结构示意图。

具体实施方式

为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。

下面结合附图,对本公开的具体实施方式进行详细说明。

为了解决前述背景技术中的技术问题,图1为本公开实施例提供的基于区块链和大数据的安全性检测方法的步骤流程示意图,下面对基于区块链和大数据的安全性检测方法进行详细介绍。

在步骤s110中,获取待上传至目标区块链的目标交易请求及其请求大数据内容。

本公开实施例中,目标区块链可以是基于构建规则或者构建规则二次开发后使用的任意一种类型的区块链,例如可以是公有链、私有链或者联盟链等中的任意一种。可以根据实际应用场景选择相应的区块链作为目标区块链。

其中,公有链中的任何节点都是向任何人开放的,每个人都可以参与到这个区块链中进行计算,而且任何人都可以下载获得完整区块链数据(全部账本)。公有链最大的优点就是去中心化和安全性。但是这么多随意出入的节点是很难达成共识的,因为有些节点可能随时宕机,黑客也可能伪造很多虚假的节点。所以,公有链有一套很严格的共识机制,因此公有链最大的问题就是共识问题,共识问题直接导致了公有链处理数据的速度问题。

有些区块链的应用场景下,并不希望这个系统任何人都可以参与,任何人都可以查看所有数据,只有被许可的节点才可以参与并且查看所有数据,这种区块链结构称为私有链。私有链可以完全自己定制策略,因此速度极快。相比较而言,私有链不具备去中心化。

私有链能够防止机构内单节点故意隐瞒或者篡改数据,即使发生错误,也能够迅速发现来源。因此许多大型金融机构更加倾向于使用私有链技术。例如仅限在一个金融、审计机构内的用户访问和交易。

因为需要保密的行业和应用也不需要公有链公开透明的特性,联盟链应运而生,联盟链仅限于联盟成员,因其只针对成员开放全部或部分功能,所以联盟链上的读写权限、以及记账规则都按联盟规则来“私人定制”。

联盟链只针对特定某个群体的成员和有限的第三方,内部指定多个预选节点为记账人,每个区块的生成由所有的预选节点共同决定,其他第三方的接入节点可以参与交易,但不过问记账过程,其他第三方可以通过该联盟链开放的api(applicationprogramminginterface,应用程序接口)进行限定查询。一般来说,联盟链适用于机构间的交易、结算、或清算等b2b(business-to-business,企业对企业)场景。例如多个金融机构将各自的区块链网络连接在一起,形成一个联盟性质的网络,从而便于相互数据对接和协同。

为了获得更好的性能,联盟链对于共识或验证节点的配置和网络环境有一定要求。有了准入机制,可以使得交易性能更容易提高,避免由参次不齐的参与者产生的一些问题。联盟链比公有链处理速度要快,因为节点的数量和身份都已经规定好了,所以可以使用相对松散的共识机制,因此数据的处理速度就会比公有链大大提高。

本公开实施例中,均以目标区块链为目标联盟链,且由hyperledgerfabric(一个开源区块链分布式账本)提出的、开源的联盟链应用作为目标联盟链为例进行举例说明,但本公开并不限定于此。目标联盟链例如还可以是fiscobcos(一个金融区块链合作联盟)。

基于上述描述,本公开实施例提供一种基于区块链和大数据的安全性检测方法,该基于区块链和大数据的安全性检测方法可以基于联盟链技术实现,联盟链底层平台可以包括用户管理、基础服务、交易请求以及运营监控等处理模块。其中,用户管理模块负责所有区块链参与者的身份信息管理,包括维护公私钥生成(账户管理)、密钥管理以及用户真实身份和联盟链地址对应关系维护(权限管理)等。

本公开实施例中的目标交易请求是用计算机语言描述合同条款、交易的条件、交易的业务逻辑等,通过调用目标交易请求实现交易的自动执行和对账本数据的操作。可以理解为:用构建框架(例如下述的参考目标构建框架或者更新目标构建框架)将相关交易逻辑进行实现并保存为具体的文件。

当目标区块链为目标联盟链时,目标交易请求也可以称之为目标联盟链合约。在一种场景中,目标联盟链可以包括多个用户的终端,其中,终端可以为手机、电脑、平板电脑等任意的电子设备。每个用户的终端作为目标联盟链中的一个节点,每个用户的终端可以收集联盟链合约,可以将收集的联盟链合约中的任意一个作为目标联盟链合约。在将目标联盟链合约部署至目标联盟链之前,需要对目标联盟链合约的程序源代码进行检查,发现其中是否存在安全隐患或者安全漏洞问题,这也可以称之为代码审计。由于程序源代码中的交易特征向量中的向量元素(例如变量)存在不断变化的过程(例如从变量a变到变量b),因此,可以通过向量元素追踪例如变量追踪把程序源代码中的交易特征向量中的变量的变化过程记录下来,以实现代码审计功能。

在步骤s120中,对所述目标交易请求进行交易分析与交易特征向量提取处理,以获得从所述目标交易请求中解析并提取出的各个交易特征向量。

本公开实施例中,对上述步骤s110获取的待上传部署至目标区块链的目标交易请求进行交易分析处理,识别该目标交易请求中的各个交易特征向量,然后对识别出的该目标交易请求中的各个交易特征向量进行交易特征向量提取处理,从而获得该目标交易请求中的各个交易特征向量。

在步骤s130中,对从所述目标交易请求中解析并提取出的各个交易特征向量进行向量元素分析处理以及向量元素构建关系分析处理,以获取并记录所述目标交易请求中各个交易特征向量的参考向量元素构建关系,其中,每个交易特征向量的参考向量元素构建关系包括至少两个向量元素之间的构建关系。

本公开实施例中,对上述步骤s120解析并提取出的各个交易特征向量进行向量元素分析处理,获得目标交易请求的各个交易特征向量中的向量元素,然后对各个交易特征向量中的向量元素进行向量元素构建关系分析处理,获取并记录该目标交易请求中各个交易特征向量的参考向量元素构建关系,通过记录目标交易请求中各个交易特征向量的参考向量元素构建关系,能够记录该目标交易请求中各个交易特征向量中的至少两个向量元素之间的构建关系,即本公开实施例提供的方法可以针对目标交易请求中的交易特征向量的向量元素变化进行记录,而不是针对交易特征向量变化做记录,因此,相比于交易特征向量而言,可以在细颗粒度的情况下提供目标交易请求的审计信息。

例如,记录目标交易请求中各个交易特征向量的两个向量元素例如两个变量之间的构建关系,可以针对每一步的变量变化进行记录,因此,可以在最细颗粒度的情况下提供目标交易请求的审计信息。

在示例性实施例中,所述参考向量元素构建关系可以包括关联向量元素构建关系。

其中,获取并记录所述目标交易请求中各个交易特征向量的参考向量元素构建关系,可以包括:从所述目标区块链的不同交易规则中确定所述目标区块链的参考交易规则信息;根据所述参考交易规则信息获取与所述参考交易规则信息对应的所述目标区块链的参考目标构建规则;对所述参考目标构建规则进行解析与交易特征向量提取处理,以获得从所述参考目标构建规则中解析并提取出的各个交易特征向量;对从所述参考目标构建规则中解析并提取出的各个交易特征向量进行交易特征向量名与对应的向量元素的解析处理,获取所述参考目标构建规则中各个交易特征向量的交易特征向量名及其各个向量元素;根据所述参考目标构建规则中各个交易特征向量的交易特征向量名与其各个向量元素之间的对应关系,构建并记录所述参考目标构建规则中各个交易特征向量的参考交易特征向量节点集合;比较所述参考交易特征向量节点集合和所述参考向量元素构建关系,确定与所述参考交易特征向量节点集合有关的所述关联向量元素构建关系。本公开实施例中,利用目标联盟链的参考目标构建规则来构建参考交易特征向量节点集合,从而可以用于对目标联盟链合约进行向量元素例如变量追踪。

本公开实施例中,目标区块链例如目标联盟链可以具有多个不同的交易规则,通过获取目标联盟链的参考交易规则信息,可以准确地获取与所述参考交易规则信息对应的目标联盟链的参考目标构建规则,从而可以基于参考目标构建规则构建该参考目标构建规则中各个交易特征向量的参考交易特征向量节点集合。其中,参考交易特征向量节点集合是根据参考目标构建规则中各个交易特征向量的交易特征向量名与其各个向量元素之间的对应关系生成的。若参考向量元素构建关系与参考交易特征向量节点集合有关,则将其称之为关联向量元素构建关系。

在示例性实施例中,所述参考交易特征向量节点集合可以包括目标交易特征向量的目标交易特征向量名及其目标输入向量元素。其中,比较所述参考交易特征向量节点集合和所述参考向量元素构建关系,确定与所述参考交易特征向量节点集合有关的所述关联向量元素构建关系,可以包括:若在所述目标交易特征向量内部,将所述目标输入向量元素变化为初始内部向量元素,则将所述目标输入向量元素变化为所述初始内部向量元素的参考向量元素构建关系确定为与所述参考交易特征向量节点集合有关的所述关联向量元素构建关系。

例如,若参考目标构建规则中存在目标交易特征向量l(a),则目标交易特征向量名为l,且其存在目标输入向量元素a,则可以生成的参考交易特征向量节点集合可以包括该目标交易特征向量名l和该目标输入向量元素a,若在目标交易请求中也出现了目标交易特征向量l(a),且在目标交易特征向量l(a)内部,将目标输入向量元素a变化为了初始内部向量元素b,则可以将目标输入向量元素a变化为初始内部向量元素b的参考向量元素构建关系判定为与参考交易特征向量节点集合有关的关联向量元素构建关系,即该参考向量元素构建关系与参考交易特征向量节点集合中的目标交易特征向量名及其目标输入向量元素有关。

在示例性实施例中,比较所述参考交易特征向量节点集合和所述参考向量元素构建关系,确定与所述参考交易特征向量节点集合有关的所述关联向量元素构建关系,还可以包括:若在所述目标交易特征向量内部,将所述初始内部向量元素变化为变换内部向量元素,则将所述初始内部向量元素变化为所述变换内部向量元素的参考向量元素构建关系确定为与所述参考交易特征向量节点集合有关的所述关联向量元素构建关系。

例如,还是以上述目标交易特征向量l(a)为例,假设在目标交易请求中的目标交易特征向量l(a)内部将目标输入向量元素a变化为了上述初始内部向量元素b后,假设还进一步将初始内部向量元素b变化为变换内部向量元素c,则可以将初始内部向量元素b变化为变换内部向量元素c的参考向量元素构建关系也判定为与参考交易特征向量节点集合有关的关联向量元素构建关系,即该参考向量元素构建关系与参考交易特征向量节点集合中的目标交易特征向量名及其目标输入向量元素有关。

在示例性实施例中,比较所述参考交易特征向量节点集合和所述参考向量元素构建关系,确定与所述参考交易特征向量节点集合有关的所述关联向量元素构建关系,还可以包括:若在所述目标交易特征向量内部新增设定内部向量元素,且根据所述初始内部向量元素和所述设定内部向量元素生成运算内部向量元素,则将所述初始内部向量元素变化为所述运算内部向量元素以及所述设定内部向量元素变化为所述运算内部向量元素的参考向量元素构建关系确定为与所述参考交易特征向量节点集合有关的所述关联向量元素构建关系。

例如,还是以上述目标交易特征向量l(a)为例,假设在目标交易请求中的目标交易特征向量l(a)内部将目标输入向量元素a变化为了上述初始内部向量元素b,并假设还进一步在目标交易特征向量l(a)内部新增了一个设定内部向量元素x,且通过初始内部向量元素b和设定内部向量元素x的运算(例如相加、相减、相乘、相除等任意运算操作中的任意一种或者多种的组合)生成了运算内部向量元素d,则可以将初始内部向量元素b变化为运算内部向量元素d的参考向量元素构建关系、设定内部向量元素x变化为运算内部向量元素d的参考向量元素构建关系均判定为与参考交易特征向量节点集合有关的关联向量元素构建关系。

需要说明的是,判断一个参考向量元素构建关系是否与参考交易特征向量节点集合有关的场景并不限于上述举例说明。

再例如,还是以上述目标交易特征向量l(a)为例,假设在目标交易请求中的目标交易特征向量l(a)内部新增了上述设定内部向量元素x,且通过目标输入向量元素a和设定内部向量元素x的运算(例如相加、相减、相乘、相除等任意运算操作)生成了一个新的向量元素e,则可以将目标输入向量元素a变化为该新的向量元素e的参考向量元素构建关系、设定内部向量元素x变化为该新的向量元素e的参考向量元素构建关系均判定为与参考交易特征向量节点集合有关的关联向量元素构建关系。

在示例性实施例中,所述参考向量元素构建关系可以包括无关向量元素构建关系。若参考向量元素构建关系与参考交易特征向量节点集合无关,则将其称之为无关向量元素构建关系。

其中,所述方法还可以包括:比较所述参考交易特征向量节点集合和所述参考向量元素构建关系,确定与所述参考交易特征向量节点集合无关的所述无关向量元素构建关系;将所述关联向量元素构建关系和所述无关向量元素构建关系分成第一部分和第二部分存储至分部向量元素构建关系数据库或分部向量元素构建关系数据集。

本公开实施例中,分部向量元素构建关系数据库是一种用于同时存储上述关联向量元素构建关系和无关向量元素构建关系的数据库,且在该数据库中将关联向量元素构建关系和无关向量元素构建关系分成了独立的第一部分和第二部分各自存储。类似地,分部向量元素构建关系数据集是一种用于同时存储上述关联向量元素构建关系和无关向量元素构建关系的数据集,且在该数据集中将关联向量元素构建关系和无关向量元素构建关系分成了独立的第一部分和第二部分各自存储。

本公开实施例中,一方面,由于实际的目标交易请求中的参考向量元素构建关系会比较多,因此可以将参考交易特征向量节点集合和参考向量元素构建关系分开在两个不同的交易特征向量名向量元素关系链数据库和向量元素构建关系数据库或者交易特征向量名向量元素关系链数据集和向量元素构建关系数据集进行保存,可以很方便的进行迁移,并能够提高参考交易特征向量节点集合和参考向量元素构建关系的查询速度。另一方面,由于对向量元素进行追踪需要使用到交易特征向量名和向量元素,对向量元素追踪的实质是查看向量元素从哪个交易特征向量到了哪个交易特征向量,其中向量元素又发生了什么变化,因为分析一次目标交易请求的代码时间不短,而分析过程中可能产生错误,可能会影响到关联向量元素构建关系和无关向量元素构建关系的分类。在这种情况下,为了提高效率和准确性,可以选择将参考向量元素构建关系中的无关向量元素构建关系这部分提取出来,以便后续分析时无需重新再耗费时间分析。此外,通过将参考向量元素构建关系中的关联向量元素构建关系和无关向量元素构建关系分成两部分存储,可以便于后续的查询或检索。

类似的,本公开对参考向量元素构建关系的存储方式不做限定。

在示例性实施例中,所述参考交易特征向量节点集合可以包括目标交易特征向量。

其中,比较所述参考交易特征向量节点集合和所述参考向量元素构建关系,确定与所述参考交易特征向量节点集合无关的所述无关向量元素构建关系,可以包括:若在所述目标交易特征向量内部新增添加内部向量元素,且将所述添加内部向量元素变化为内部转换内部向量元素,则将所述添加内部向量元素变化为所述内部转换内部向量元素的参考向量元素构建关系确定为与所述参考交易特征向量节点集合无关的所述无关向量元素构建关系。

例如,还是以上述目标交易特征向量l(a)为例,假设在目标交易请求中的目标交易特征向量l(a)内部新增了一个添加内部向量元素x’,且将添加内部向量元素x’变化为了内部转换内部向量元素y,则可以将添加内部向量元素x’变化为内部转换内部向量元素y的参考向量元素构建关系确定为与参考交易特征向量节点集合无关的无关向量元素构建关系。

本公开实施例中,确定参考向量元素构建关系中的关联向量元素构建关系和无关向量元素构建关系的情况并不限于上述例举的几种情况,这里仅用于举例说明。

在示例性实施例中,所述目标区块链可以包括已封装的、提供给至少一种构建框架使用的接口。

以目标联盟链为例,本公开实施例中的目标联盟链中不仅可以包括控制自身的代码,同时还可以包括已经封装好的、用于提供给不同构建框架使用的接口。在该目标联盟链中,同一份目标联盟链合约可以用不同的构建框架(如java(一门面向对象构建框架)、js(javascript的缩写,一种具有交易特征向量优先的轻量级、解释型或即时编译型的高级构建框架)、python(一种跨平台的计算机程序设计语言)、go(又称golang,一种静态强类型、编译型语言)等)编写(实际是调用目标联盟链已经封装好的对应构建框架的api)。而目标联盟链也可以有不同的版本,导致目标联盟链合约的运行环境也有不同版本之分,称之为目标联盟链合约的运行环境版本信息,其与目标联盟链所采用的版本对应。

本公开实施例提供的方法,由于目标联盟链中包括已经封装好的、用于提供给不同构建框架使用的接口,使得同一份目标联盟链合约可以采用多种不同的构建框架编写,如java、js、python、go等,因此本公开实施例提供的方法能够支持对不同类型的构建框架开发的目标联盟链合约进行检测和代码审计,即本公开实施例提供的方法适用性较好,且移植性较强。

其中,根据所述参考目标构建规则中各个交易特征向量的交易特征向量名与其各个向量元素之间的对应关系,构建并记录所述参考目标构建规则中各个交易特征向量的参考交易特征向量节点集合,可以包括:从所述目标区块链支持的所述至少一种构建框架中确定所述目标交易请求所采用的参考目标构建框架及其参考目标框架版本,所述至少一种构建框架可以包括所述参考目标构建框架;根据所述参考目标构建规则中各个交易特征向量的交易特征向量名与其各个向量元素之间的对应关系和所述参考目标框架版本,构建所述参考交易特征向量节点集合;其中每个参考交易特征向量节点集合中包括所述参考目标构建规则中的一个交易特征向量的交易特征向量名及其一个向量元素和所述参考目标框架版本;将所述参考交易特征向量节点集合存储至交易特征向量名向量元素关系链数据库或交易特征向量名向量元素关系链数据集。

本公开实施例中,交易特征向量名向量元素关系链数据库是一种用于存储上述参考交易特征向量节点集合的数据库。类似地,交易特征向量名向量元素关系链数据集是一种用于存储上述参考交易特征向量节点集合的数据集。

在示例性实施例中,从所述目标区块链支持的所述至少一种构建框架中确定所述目标交易请求所采用的参考目标构建框架及其参考目标框架版本,可以包括:根据每种构建框架的特征字段和编程语法特性,从所述目标区块链支持的所述至少一种构建框架中确定所述目标交易请求所采用的所述参考目标构建框架;根据所述目标交易请求中的交易特征向量和所述参考目标构建框架各个版本中的交易特征向量,从所述参考目标构建框架的不同版本中确定所述参考目标构建框架的参考目标框架版本。

本公开实施例中,从目标联盟链支持的至少一种构建框架中确定目标联盟链合约所采用的参考目标构建框架。参考目标构建框架也可能包括不同的版本,因此,可以再进一步确定目标交易请求所采用的参考目标构建框架的参考目标框架版本。在生成参考交易特征向量节点集合时,不仅可以在每个参考交易特征向量节点集合中添加参考目标构建规则中的各个交易特征向量的交易特征向量名及其各个向量元素,还可以进一步添加其对应的参考目标框架版本,通过在参考交易特征向量节点集合中添加参考目标框架版本,将目标联盟链合约所采用的参考目标构建框架的参考目标框架版本与运行环境版本信息强关联,因此不会因为参考目标框架版本、运行环境版本信息变化而无法获取到参考交易特征向量节点集合,或者无法获取到准确的参考交易特征向量节点集合。

本公开实施例中,还通过将生成的参考交易特征向量节点集合存储起来,则不需要在每一次的分析中都重新进行参考目标构建规则的参考交易特征向量节点集合的关系分析和生成,提高了分析速度以及复用性。

本公开实施例中,可以将参考交易特征向量节点集合存储至交易特征向量名向量元素关系链数据库中,也可以存储至交易特征向量名向量元素关系链数据集中,本公开对参考交易特征向量节点集合的存储方式不做限定。

其中,本公开实施例中采用的数据库(包括交易特征向量名向量元素关系链数据库、向量元素构建关系数据库和分布向量元素构建关系数据库)均是指采用数据库技术形成的数据库,数据库是按照数据结构来组织、存储和管理数据的仓库,数据库中的数据的存放是有一定的规则的,数据库的相关结构和方法是公开的,用户确定数据库类型后即可使用。

本公开实施例中采用的数据集(包括交易特征向量名向量元素关系链数据集、向量元素构建关系数据集和分布向量元素构建关系数据集)均是指按照约定确定保存数据的格式以及保存位置。例如将数据保存在excel(一种办公软件)这种行列形式的数据结构中,预先定义好每一列对应字段的含义,并标明对应的横坐标、纵坐标的坐标值的含义,然后一行一行的导入即可,就是一个最为简单的数据集。

由于实际中可能各种各样的原因导致无法连接到数据库,这是可以采用数据集来实现在无数据库的环境下进行数据的保存。

在步骤s140中,根据所述目标交易请求中各个交易特征向量的参考向量元素构建关系中的至少两个向量元素之间的构建关系生成所述目标交易请求的参考向量元素知识图谱。

其中每个参考向量元素知识图谱可以包括至少三个向量元素之间的构建关系。

在步骤s150中,根据所述目标交易请求的请求大数据内容获取所述目标交易请求中的目标向量元素标识。

在示例性实施例中,根据所述目标交易请求的请求大数据内容获取所述目标交易请求中的目标向量元素标识,可以包括:若所述目标交易请求的请求大数据内容小于预设阈值,则对所述目标交易请求进行向量元素标识的全量提取,以将所述目标交易请求中出现的向量元素标识作为所述目标向量元素标识;若所述目标交易请求的请求大数据内容大于或等于所述预设阈值,则对所述目标交易请求进行向量元素标识的抽样提取,以提取所述目标交易请求中的敏感交易特征向量的向量元素标识作为所述目标向量元素标识。

本公开实施例中,可以根据目标交易请求的请求大数据内容,来确定采用全量方式还是抽样方式来检测目标交易请求中交易特征向量的向量元素的向量元素标识。

其中,全量方式是指将目标交易请求中出现的所有向量元素标识作为目标向量元素标识进行追踪,可以保证向量元素追踪的完整性和全面性,提高向量元素追踪的准确度。抽样方式是指提取目标交易请求中出现的全部向量元素标识中的部分向量元素标识作为目标向量元素标识,例如抽取目标交易请求中重要的敏感交易特征向量的向量元素标识作为目标向量元素标识。在代码安全审计中,追踪敏感交易特征向量中的向量元素标识,可以快速定位敏感交易特征向量,有助于帮助更快地发现漏洞。

其中,敏感交易特征向量是指目标交易请求中较为重要的交易特征向量,若该交易特征向量出现问题,容易导致安全漏洞。

在步骤s160中,在所述参考向量元素知识图谱中遍历所述目标交易请求中的目标向量元素标识,根据所述目标向量元素标识确定所述参考向量元素知识图谱的参考置信度,以获得所述目标交易请求的安全验证结果。

在示例性实施例中,在所述参考向量元素知识图谱中遍历所述目标交易请求中的目标向量元素标识,根据所述目标向量元素标识确定所述参考向量元素知识图谱的参考置信度,以获得所述目标交易请求的安全验证结果,可以包括:遍历所述目标交易请求中的目标向量元素标识,判断每个目标向量元素标识是否存在于所述参考向量元素知识图谱中;若每个目标向量元素标识存在于所述参考向量元素知识图谱中,则获取所述目标交易请求中每个目标向量元素标识对应的参考向量元素知识图谱;对比所述参考向量元素知识图谱与对应的所述参考向量元素知识图谱;若所述参考向量元素知识图谱与对应的所述参考向量元素知识图谱一致,则确定所述参考向量元素知识图谱的参考置信度,以获得检测通过的所述安全验证结果;当所述安全验证结果为检测通过时,将所述参考交易特征向量节点集合和所述参考向量元素构建关系存储至向量元素构建关系数据库或向量元素构建关系数据集;若所述参考向量元素知识图谱与对应的所述参考向量元素知识图谱不一致,则获得检测未通过的所述安全验证结果;当所述安全验证结果为检测未通过时,获取修正向量元素构建关系,其中所述修正向量元素构建关系是根据对应的所述参考向量元素知识图谱修改所述参考向量元素构建关系生成的。

本公开实施例中,若目标交易请求中的每个目标向量元素标识存在于一条或者多条参考向量元素知识图谱中,则判定可以对该目标交易请求中的所有目标向量元素标识进行追踪。此时,可以进一步核查上述确定的参考向量元素知识图谱是否追踪正确。

具体地,可以采用不同于上述的工具或者方式生成目标交易请求中每个目标向量元素标识对应的参考向量元素知识图谱,若参考向量元素知识图谱与对应的参考向量元素知识图谱是一致的,则可以确定参考向量元素知识图谱追踪是正确的。如果参考向量元素知识图谱追踪正确,则可以将参考交易特征向量节点集合和参考向量元素构建关系统一存储至向量元素构建关系数据库或向量元素构建关系数据集中,通过统一存储的方式,可以便于后续统一输出目标交易请求中所用向量元素的使用细节信息。类似的,本公开对参考交易特征向量节点集合和参考向量元素构建关系的统一存储方式不做限定。

若参考向量元素知识图谱与对应的参考向量元素知识图谱不一致,则可以确定参考向量元素知识图谱追踪错误,此时可以向提交该目标交易请求的用户发出提示信息,用户可以修改对应的参考向量元素构建关系以生成修正向量元素构建关系,以使参考向量元素知识图谱与对应的参考向量元素知识图谱保持一致。

本公开实施例中,在核查参考向量元素知识图谱追踪有误时,可以用修正向量元素构建关系更新向量元素构建关系数据库或者向量元素构建关系数据集中的参考向量元素构建关系。更新方式可以有多种,其中一种方式是直接利用修改后的修正向量元素构建关系替换掉向量元素构建关系数据库或者向量元素构建关系数据集中对应的参考向量元素构建关系。另一种方式可以称之为新增补丁的方式,即在更新过程中,利用修改后的修正向量元素构建关系替换掉向量元素构建关系数据库或者向量元素构建关系数据集中对应的参考向量元素构建关系,并另外新建对应的字段来保留原来的参考向量元素构建关系,这样方便后续查看更新过程,便于定位问题。

在示例性实施例中,在所述参考向量元素知识图谱中遍历所述目标交易请求中的目标向量元素标识,根据所述目标向量元素标识确定所述参考向量元素知识图谱的参考置信度,以获得所述目标交易请求的安全验证结果,还可以包括:若有至少一个目标向量元素标识不存在于所述参考向量元素知识图谱中,则根据每种构建框架的特征字段和编程语法特性,从所述目标区块链支持的所述至少一种构建框架中重新确定所述目标交易请求所采用的更新目标构建框架,所述至少一种构建框架包括所述更新目标构建框架;根据所述目标交易请求中的交易特征向量和所述更新目标构建框架各个版本中的交易特征向量,从所述更新目标构建框架的不同版本中确定所述更新目标构建框架的更新目标框架版本;从所述目标区块链的不同交易规则中确定与所述参考交易规则信息不同的所述目标区块链的更新交易规则信息;根据所述更新交易规则信息拉取与所述更新交易规则信息对应的所述目标区块链的更新目标构建规则;采用不同于解析所述参考目标构建规则的解释器对所述更新目标构建规则进行解析处理,根据所述更新目标框架版本和解析后的所述更新目标构建规则,构建所述更新目标构建规则中各个交易特征向量的不同于所述参考交易特征向量节点集合的更新交易特征向量名向量元素关系链;利用所述更新交易特征向量名向量元素关系链更新所述交易特征向量名向量元素关系链数据库或交易特征向量名向量元素关系链数据集中的所述参考交易特征向量节点集合。

本公开实施例中,若有一个或者多个(两个以上)的目标向量元素标识没有出现在任意一条参考向量元素知识图谱中,则可以判定无法对目标交易请求中的所有目标向量元素标识进行追踪。此时,可以重新确认目标交易请求所采用的构建框架为更新目标构建框架,且重新确认更新目标构建框架所用的更新目标框架版本,并重新确认目标区块链所采用的版本信息,称之为更新交易规则信息。根据该更新交易规则信息拉取最新的更新目标构建规则,并用不同于用于解析参考目标构建规则的解释器对更新目标构建规则进行解析,从而可以获取和原来的参考交易特征向量节点集合不同的更新交易特征向量名向量元素关系链,将更新交易特征向量名向量元素关系链更新至上述交易特征向量名向量元素关系链数据库或交易特征向量名向量元素关系链数据集中。

本公开实施例中,可以直接利用更新交易特征向量名向量元素关系链替换掉交易特征向量名向量元素关系链数据库或者交易特征向量名向量元素关系链数据集中对应的参考交易特征向量节点集合,也可以利用修改后的更新交易特征向量名向量元素关系链替换掉交易特征向量名向量元素关系链数据库或者交易特征向量名向量元素关系链数据集中对应的参考交易特征向量节点集合,并另外新建对应的字段来保留原来的参考交易特征向量节点集合,这样方便后续查看更新过程,便于定位问题。

若目标交易请求的安全验证结果为检测通过,则提交该目标交易请求的终端对该目标交易请求进行广播,打包成区块,并将区块链接至目标区块链中。

本公开实施方式提供的基于区块链和大数据的安全性检测方法,一方面,在将目标交易请求部署至目标区块链之前,获取该目标交易请求及该目标交易请求的请求大数据内容,然后对该目标交易请求进行交易分析与交易特征向量提取处理,以获得从该目标交易请求中解析并提取出的各个交易特征向量;再对从该目标交易请求中解析并提取出的各个交易特征向量进行向量元素分析处理和向量元素构建关系分析处理,获取并记录该目标交易请求中各个交易特征向量的参考向量元素构建关系,其中每个参考向量元素构建关系中包括至少两个向量元素之间的构建关系,从而在追踪目标交易请求中的向量元素时,可以提供细颗粒度的数据变化过程(向量元素层面),通过记录目标交易请求中的交易特征向量的向量元素变化信息(这里的参考向量元素构建关系),方便以后查询使用;另一方面,还可以根据该目标交易请求中各个交易特征向量的参考向量元素构建关系中的至少两个向量元素之间的构建关系生成该目标交易请求的参考向量元素知识图谱,并进一步可以通过该目标交易请求的请求大数据内容获取该目标交易请求中的目标向量元素标识,从而可以通过在该参考向量元素知识图谱中遍历该目标向量元素标识,并根据该目标向量元素标识来确定该参考向量元素知识图谱的参考置信度,最终获得该目标交易请求的安全验证结果,实现了验证该目标交易请求的安全性的目的,保证最终部署到目标区块链上的目标交易请求是安全的,不易于被攻击,提高了使用该目标区块链的应用的安全性。

本公开实施例涉及的系统可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的区块链系统。

在前述基础上,由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(p2p,peertopeer)网络,p2p协议是一个运行在传输控制协议(tcp,transmissioncontrolprotocol)协议之上的应用层协议。在交易请求检测系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。

上述的区块链系统中各节点的功能,涉及的功能包括:

1)路由,节点具有的基本功能,用于支持节点之间的通信。

节点除具有路由功能外,还可以具有以下功能:

2)应用,用于部署在目标区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。

例如,应用实现的业务包括:

2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;

2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。

2.3)目标交易请求,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,目标交易请求不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。

3)目标区块链,包括一系列按照产生的先后时间顺序相互接续的区块(block),新区块一旦加入到目标区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。

在本公开实施例提供的区块结构(blockstructure)的一种可选的结构中,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。目标区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

下面以目标区块链为目标联盟链、目标交易请求为目标联盟链为例对上述实施例提供的方法进行举例说明。

基于此,本公开实施例提供的方法可以包括以下步骤。

在步骤s401中,获取目标联盟链的目标联盟链合约。

用户可以通过其终端上安装的客户端将目标联盟链合约上传,以获取到需要进行审计的目标联盟链合约的代码,可以是单个文件,也可以是包含多个文件在内的文件夹。

在步骤s402中,抽取目标联盟链合约的sdk版本信息。

在该步骤中确定当前待审计的目标联盟链合约中所用sdk(softwaredevelopmentkit,软件开发工具包)的版本信息,称之为sdk版本信息,包括sdk对应的参考目标构建框架,以及使用该参考目标构建框架的sdk的参考目标框架版本。

这里假设提供四种构建框架的sdk,包括但不限于:go、java、js中的node.js和python,而每种构建框架对应的sdk也会有不同版本之分。

以参考目标构建框架为java语言为例,其对应的sdk包括6个版本,分别为:v2.1、v2.0、v1.4、v1.3、v1.2和v1.1。其他构建框架与之类似。

确定目标联盟链合约的sdk版本信息可通过页面由用户配置相关信息的方式获取,也可以通过对目标联盟链合约进行版本信息扫描的方式获取。以版本信息扫描方式为例,可以首先确定目标联盟链合约所用的参考目标构建框架,然后再确定该参考目标构建框架的sdk的参考目标框架版本。

在确定目标联盟链合约所用的参考目标构建框架时,可以针对每种构建框架自身的特征字段、编程语法特性等进行判断。

例如以上述支持的java、go和js语言为例,首先,各构建框架的文件名后缀不一样,例如java一般以class为后缀,go以go为后缀,js以js为后缀。再例如,一些交易特征向量是某种构建框架所特有的,其他构建框架中没有,例如system.print.outxxx交易特征向量是java特有的;console.log交易特征向量是js特有的;fmt.printxxx交易特征向量是go特有的。这里的“xxx”是指以其开头、后缀名不一样的交易特征向量。

在确定该参考目标构建框架的sdk的参考目标框架版本时,可以针对目标联盟链合约中的所用的sdk交易特征向量进行判断,然后根据不同版本之间的区别进行判断(如1.1版本可能有交易特征向量a,而1.2版本没有该交易特征向量)。

在步骤s403中,抽取目标联盟链合约的运行环境版本信息。

当前步骤用于确定目标联盟链合约的运行环境版本信息,实际上就是确定目标联盟链所采用的版本例如假设为参考交易规则信息。

类似的,目标联盟链也可以具有不同的版本,具有不同的版本号。例如,目标联盟链假设包括v2.1,v2.0,v1.4,v1.3,v1.2,v1.1和v1.0版本。

类似地,目标联盟链合约的运行环境版本信息可以由用户通过页面进行配置,也可以通过对目标联盟链合约进行扫描来进行版本确定。以扫描方式为例,可以获取目标联盟链合约中的sdk交易特征向量进行判断,然后根据不同版本之间的区别进行判断(如1.1版本可能有交易特征向量a,而1.2版本没有该交易特征向量)。

在步骤s404中,根据上述步骤获取的sdk版本信息和运行环境版本信息初始化代码-变量关系数据库。

这里以将生成的参考交易特征向量节点集合存储至交易特征向量名向量元素关系链数据库、且向量元素以变量为例进行举例说明,因此,也可以将交易特征向量名向量元素关系链数据库称之为代码-变量关系数据库。

在该步骤中初始化代码-变量关系数据库:如果代码-变量关系数据库中存在某条参考交易特征向量节点集合则跳过,不存在则插入。

具体地,首先获取根据参考交易规则信息拉取的目标联盟链的参考目标构建规则中所提供的所有交易特征向量,参考目标构建规则中已经封装好了常用的操作交易特征向量。

然后,明确上述获取的每个交易特征向量的交易特征向量名和向量元素关系,生成交易特征向量名和其所用的每个输入向量元素的关系链,称之为参考交易特征向量节点集合。

例如,交易特征向量ltion(value1,value2),其中交易特征向量名为liton,输入向量元素有两个,分别为value1和value2,此时可以生成两条关系链,分别是交易特征向量名和输入向量元素1的“ltion-value1”,以及交易特征向量名和输入向量元素2的“ltion-value2”。

之后,可以将sdk版本信息中的参考目标框架版本添加到上述参考交易特征向量节点集合中,如参考目标框架版本为1.1,添加到上述两条参考交易特征向量节点集合后生成的两条参考交易特征向量节点集合分别为“ltion-value1-1.1”和“ltion-value2-1.1”

在步骤s405中,根据代码-变量关系数据库及目标联盟链合约对目标联盟链合约中的变量进行追踪。

该步骤把代码-变量关系数据库和实际的目标联盟链合约中的数据进行结合,具体可以进一步包括如下步骤:

1、对实际的目标联盟链合约进行代码分析,获取其中交易特征向量名和向量元素的关系链,和上述步骤中的参考交易特征向量节点集合的概念是一样的。

2、获取目标联盟链合约中各个交易特征向量内部向量元素的构建关系,如交易特征向量l1传入向量元素x,y,同时内部定义了向量元素z,在该交易特征向量中通过内部操作将向量元素x变为向量元素m,向量元素y变为向量元素n,此时可以生成参考向量元素构建关系“x->m”以及“y-n”,因为向量元素z没有发生变化,因此没有产生参考向量元素构建关系。

本公开实施例中,一次仅记录一个向量元素到另外一个向量元素的构建关系,不记录多个构建关系,如假设上述交易特征向量中向量元素x先变成向量元素y再变为向量元素z,则记录两条参考向量元素构建关系,一个是“x->y”,另一个是“y->z”,而不是“x->y->z”。因为“x->y”,“y->z”的形式是最小维度的数据形式,能够方便用户根据自身实际需要做更为详细的分析。

3、将参考交易特征向量节点集合以及参考向量元素构建关系进行比较,获取其中和参考交易特征向量节点集合有关的关联向量元素构建关系。

一种情况是,存在和参考交易特征向量节点集合无关的参考向量元素构建关系。

例如,假设存在目标交易特征向量l(a),在目标交易特征向量内部,目标输入向量元素a变化为初始内部向量元素b,然后,初始内部向量元素b再变化为变换内部向量元素c,另外在目标交易特征向量内部新增设定内部向量元素x,且设定内部向量元素x变化为内部转换内部向量元素y,则这里的“a->b”和“b->c”均为关联向量元素构建关系,而x和a、b或c均没有关联,所以将“x->y”称之为无关向量元素构建关系。

另一种情况是,均为和参考交易特征向量节点集合有关的参考向量元素构建关系。

例如,还是以目标交易特征向量l(a)为例,在目标交易特征向量内部,目标输入向量元素a变化为初始内部向量元素b,在目标交易特征向量内部新增设定内部向量元素x,且假设b+x生成了向量元素c,则“a->b”、“b->c”和“x->c”均与参考交易特征向量节点集合有关,这里的b和x共同运算生成c。

上述例举的x可以用于指代一些已经固定或能够直接获取到的数据,例如代码中已经固定的变量,或者通过调用已有的交易特征向量就能获取到的变量,如获取主机名/当前时间,这些一定是有结果的,最多是结果为空。在实际中,经常会将交易特征向量中传入的输入交易特征向量(例如第一输入交易特征向量)与这些直接获取到的数据进行运算。

本公开实施例中,可以将上述参考向量元素构建关系保存到分部向量元素构建关系数据库中,分为两部分,其中第一部分是和参考交易特征向量节点集合有关的关联向量元素构建关系,第二部分是和参考交易特征向量节点集合无关的无关向量元素构建关系。

在步骤s406中,判断能否对目标联盟链合约中的所有变量进行追踪,如果不能,则进入步骤s407;如果能,则执行步骤s409。

在该步骤中可以对目标交易请求中已有的变量进行检查,判断是否有遗漏的变量。

具体地,这里以全量方式为例进行举例说明,可以将上述多个参考向量元素构建关系变为链状形态,称之为参考向量元素知识图谱,如“a->b”,“b->c”的两个参考向量元素构建关系变为“a->b->c”的参考向量元素知识图谱,类似根据“a->b”和“b->c”获得“a->b->c”可以称之为参考向量元素构建关系中的至少两个向量元素的传递性。然后获取目标联盟链合约中所有出现的向量元素标识例如变量名,并判断是否所有的变量名都已经是否出现在某条或多条参考向量元素知识图谱中,若所有的变量名已经出现在某条或多条参考向量元素知识图谱中,则判定能够对目标联盟链合约中的所有变量进行追踪。若至少有一个变量名未出现在至少一条参考向量元素知识图谱中,则判定不能够对目标联盟链合约中的所有变量进行追踪。

在步骤s407中,在确定不能够进行全部追踪的情况下,可以重新确认sdk版本信息和运行环境版本信息,例如确定为更新目标框架版本和更新交易规则信息,拉取最新的更新目标构建规则进行学习,获得学习结果例如更新交易特征向量名向量元素关系链。

在步骤s408中,学习结果入库,例如可以将更新交易特征向量名向量元素关系链更新至步骤s404中的代码-变量关系数据库中,然后可以基于该更新交易特征向量名向量元素关系链对目标联盟链合约中的变量进行追踪。

在步骤s409中,在确定能够进行全部追踪的情况下,进一步复查追踪的参考向量元素知识图谱的结果是否正确,如果复查追踪的结果正确,则执行步骤s411;如果复查追踪的结果不正确,则执行步骤s410。

在该步骤中可以根据目标联盟链合约的请求大数据内容进行全量方式或者抽样方式的对比。这里可以以目标联盟链合约整体的请求大数据内容进行判断,当小于预设阈值例如100mb(兆字节)时进行全量方式的对比,大于或等于100mb时进行抽样方式的对比。预设阈值是可以根据实际需求进行设定的,本公开对此不做限定。

采用全量方式对比时,如前所述,判断目标联盟链合约中的每一个变量是否出现在参考向量元素知识图谱中(例如上述例举的“a->b->c”),并判断目标联盟链合约中的变量构建关系是否和参考向量元素知识图谱中的结果一致。这里可以使用不同的工具来生成参考向量元素知识图谱,因为如果前后两个步骤都使用同一个工具生成,就无法有效区分是否有遗漏的向量元素例如变量。

生成参考向量元素知识图谱的工具例如可以采用获取代码中的语法树工具,主要分为两类,一类是构建框架中自带的语法树生成工具,还有一类是第三方写的语法树生成工具,如ast(抽象语法树)explorer等,本公开对此不做限定。

如果该步骤生成的参考向量元素知识图谱为“a->b->c”,之前步骤生成的参考向量元素知识图谱为“a->b->d”,则认为不一致,判定为追踪不正确。

如果该步骤生成的参考向量元素知识图谱为“a->b->c”,之前步骤生成的参考向量元素知识图谱为“a->b->c”,则认为一致,判定为追踪正确。

采用抽样方式对比时,对较为重要的敏感交易特征向量的变量进行检查,判断其变量构建关系是否和参考向量元素知识图谱中的结果一致。

在步骤s410中,若复查关系不正确,则可以获取纠正结果,例如修正向量元素构建关系,然后重新执行步骤s405。

在步骤s411中,如果追踪结果正确,则把确认正确的参考向量元素构建关系及其参考交易特征向量节点集合保存到向量元素构建关系数据库中,可以以格式化方式输出目标联盟链合约中使用的变量的使用细节信息。

该步骤是确认能够对所有目标向量元素标识进行追踪以及向量元素构建关系正确的情况下执行的,使用细节信息统一保存在向量元素构建关系数据库,可以包括以下信息:

1、参考交易特征向量节点集合,如“ltion-value1-1.1”。

2、参考向量元素构建关系,包括和参考交易特征向量节点集合有关和无关的参考向量元素构建关系,如“a->b”和“b->c”。

本公开实施方式提供的基于区块链和大数据的安全性检测方法,一方面,可以提供细颗粒度的数据变化过程(变量层面),记录每个变量的变化信息,因此在追踪变量时可以提供最细颗粒度的信息,方便以后查询使用,用户只需要根据要追踪的交易特征向量名以及向量元素标识即可从相应数据库中查询到对应的变量的变化过程信息。另一方面,还把变量的变化信息和构建框架的sdk以及交易请求的运行环境版本信息进行强关联,因此可以快速判断出不同版本之间对代码所造成的影响,不会因为sdk、交易请求的运行环境版本信息发生变化而无法获取到相关信息或者获取到错误的结果。此外,还将实际的交易请求的变量关系以及分析中出错的信息进行保存,方便日后为了提升分析质量以及减少安全漏洞时,提供相关的原始信息。

图2为本公开实施例提供的基于区块链和大数据的安全性检测装置300的功能模块示意图,下面分别对该基于区块链和大数据的安全性检测装置300的各个功能模块的功能进行详细阐述。

获取模块310,用于获取待上传至目标区块链的目标交易请求及其请求大数据内容。

提取模块320,用于对目标交易请求进行交易分析与交易特征向量提取处理,以获得从目标交易请求中解析并提取出的各个交易特征向量。

分析模块330,用于对从目标交易请求中解析并提取出的各个交易特征向量进行向量元素分析处理以及向量元素构建关系分析处理,以获取并记录目标交易请求中各个交易特征向量的参考向量元素构建关系,其中,每个交易特征向量的参考向量元素构建关系包括至少两个向量元素之间的构建关系。

生成模块340,用于根据目标交易请求中各个交易特征向量的参考向量元素构建关系中的至少两个向量元素之间的构建关系生成目标交易请求的参考向量元素知识图谱。

获取模块350,用于根据目标交易请求的请求大数据内容获取目标交易请求中的目标向量元素标识。

验证模块360,用于在参考向量元素知识图谱中遍历目标交易请求中的目标向量元素标识,根据目标向量元素标识确定参考向量元素知识图谱的参考置信度,以获得目标交易请求的安全验证结果。

图3示出了本公开实施例提供的用于实现上述的基于云计算的大数据挖掘任务处理方法的大数据ai系统100的硬件结构示意图,如图3所示,大数据ai系统100可包括处理器110、机器可读存储介质120、总线130以及通信单元140。

在具体实现过程中,至少一个处理器110执行机器可读存储介质120存储的大数据ai系统执行指令,使得处理器110可以执行如上方法实施例的任意方法,处理器110、机器可读存储介质120以及通信单元140通过总线130连接,处理器110可以用于控制通信单元140的收发动作。

处理器110的具体实现过程可参见上述大数据ai系统100执行的各个方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。

此外,本公开实施例还提供一种可读存储介质,所述可读存储介质中预设有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上方法实施例的任意方法。

出于说明目的,前面的描述是参考具体实施例而进行的。但是,上述说明性论述并不打算穷举或将本公开局限于所公开的精确形式。根据上述教导,众多修改和变化都是可行的。选择并描述这些实施例是为了最佳地说明本公开的原理及其实际应用,从而使本领域技术人员最佳地利用本公开,并利用具有不同修改的各种实施例以适于预期的特定应用。出于说明目的,前面的描述是参考具体实施例而进行的。但是,上述说明性论述并不打算穷举或将本公开局限于所公开的精确形式。根据上述教导,众多修改和变化都是可行的。选择并描述这些实施例是为了最佳地说明本公开的原理及其实际应用,从而使本领域技术人员最佳地利用本公开,并利用具有不同修改的各种实施例以适于预期的特定应用。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1