CN111931236A - 一种数据通信监控方法、系统及计算机可读存储介质 - Google Patents
一种数据通信监控方法、系统及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111931236A CN111931236A CN202010837963.2A CN202010837963A CN111931236A CN 111931236 A CN111931236 A CN 111931236A CN 202010837963 A CN202010837963 A CN 202010837963A CN 111931236 A CN111931236 A CN 111931236A
- Authority
- CN
- China
- Prior art keywords
- intelligent contract
- data
- return value
- called
- privacy data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004891 communication Methods 0.000 title claims abstract description 33
- 230000008569 process Effects 0.000 claims abstract description 18
- 230000009471 action Effects 0.000 claims abstract description 15
- 230000003993 interaction Effects 0.000 claims abstract description 9
- 230000006399 behavior Effects 0.000 claims description 70
- 238000004422 calculation algorithm Methods 0.000 claims description 41
- 238000005065 mining Methods 0.000 claims description 35
- 238000013507 mapping Methods 0.000 claims description 22
- 238000013475 authorization Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012986 modification Methods 0.000 claims description 4
- 230000004048 modification Effects 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 2
- 239000004744 fabric Substances 0.000 abstract description 9
- 238000005516 engineering process Methods 0.000 description 18
- 238000007689 inspection Methods 0.000 description 7
- 238000012550 audit Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 230000008520 organization Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009191 jumping Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种数据通信监控方法、系统及计算机可读存储介质,其中,所述方法包括:在数据交互过程中,调用被审核智能合约的所有函数接口,用于监控被调用函数的返回值是否存在返回隐私数据的行为,和/或用于监控被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为。本发明通过简单的方式对智能合约的数据通路进行监控,能够非常大程度上监控到通过智能合约层面泄露隐私数据,有效防止私有数据泄露后用户仍不知情的情况出现;本发明由于是通过智能合约代理形式进行审核,因此对fabric联盟链的底层框架依赖性较低,可以兼容现有大部分fabric版本,迁移性强,可插拔行也较强。
Description
技术领域
本发明涉及数据通信监控技术领域,特别是涉及一种数据通信监控、系统及计算机可读存储介质。
背景技术
Hyperledger Fabric的用户智能合约(Chaincode)会被编译成一个独立的应用程序,运行于隔离的docker容器中。由于智能合约的源代码是对各节点不可见的,面向字节码的逆向分析进一步增大了保护卖家数据隐私的难度,这导致了执行上链操作的数据买家窃取卖家隐私数据操作的可行性。卖家通过让数据买家的智能合约在授权节点上执行来隔绝智能合约与隐私数据的接触,可以很大程度地降低智能合约对卖家隐私数据的威胁。但数据买家仍可通过在智能合约运行结果中隐式包含所窃取数据、调用其他智能合约并修改智能合约状态等方式窃取用户隐私。具体窃取方式包括以下两种:
1.智能合约运行结果中直接或隐式包含所窃取数据:在智能合约的正常运行过程中,会在运行结束之后返回交易的结果,且其中可以含有任意字节型数组类型的数据。虽然由数据买家构建的智能合约只在卖家授权节点上执行,但由于智能合约的特殊性质,导致了卖家对智能合约的具体操作并不知情,买家可以将隐私数据隐式加入到返回的数据中。这使得买家可以进行数据窃取并且不会被卖家所察觉。
2.调用其他智能合约并修改智能合约状态:在Fabric中智能合约被编译成一个独立的应用程序,运行于隔离的Docker容器中,所以在智能合约中可以将任意数据以变量的形式存放在容器中。数据买家可以在窃取隐私数据之后将数据存入变量中(即智能合约状态)或通过调用其他智能合约存入买家部署的其余智能合约的状态中,并在之后进行读取访问,从而实现窃取卖家隐私数据的目的。
目前应对智能合约(即智能合约)安全的技术主要有智能合约防火墙和智能合约安全审计技术。智能合约防火墙有国内慢雾科技的FireWall.X和国外SafeBlocks公司的SafeBlocks FireWall。智能合约防火墙为智能合约提供实时保护,通过在智能合约上增加另一层保护来阻止未经授权的交易,并且可根据项目实际需求自定义配置黑白名单,严格过滤攻击者及恶意用户,保障平台公平性与资产安全。智能合约安全审计技术是慢雾科技、派盾科技、零时科技等专业区块链公司的核心业务之一。该技术是在智能合约上链之前对智能合约进行第三方审计,其中存在含特征代码的匹配、基于形态化验证以及基于符号执行和符号抽象的自动化审计技术和人工审计技术。
在上链之前进行的智能合约安全审计主要用于智能合约漏洞的发现和修复,智能合约防火墙通过防火墙代码的部署,实现对智能合约调用的管控并防止未经授权的智能合约访问。这两种技术对智能合约有很大的保护作用,但是无法实现对账本交易和世界状态进行实时监控,进而封堵买家智能合约基于智能合约调用和智能合约状态修改的隐私窃取道路,也无法避免智能合约在运行结果中隐式包含所窃取的数据。
发明内容
本发明提出了一种数据通信监控方法、系统及计算机可读存储介质,解决了现有技术中无法防止对隐私数据的窃取,实现了面向智能合约数据隐私保护的数据通信监控技术。该数据保护体系具备高效性和可插拔性,并通过对智能合约运行结果中隐式包含所窃取数据、调用其他智能合约并修改智能合约状态这两种窃取方式的防范,实现了隐私数据的保护。
本发明一个实施例提供一种数据通信监控方法,包括:
在数据交互过程中,调用被审核智能合约的所有函数接口,用于监控被调用函数的返回值是否存在返回隐私数据的行为,和/或用于监控被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为。
进一步地,所述监控被调用函数的返回值是否存在返回隐私数据的行为,包括:
获取被调用函数的返回值;
根据所述返回值,确定被调用函数是否存在直接返回隐私数据行为或隐式返回隐私数据行为;其中,
若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为;若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
进一步地,所述根据所述返回值,确定被调用函数是否存在直接返回隐私数据行为或隐式返回隐私数据行为,包括:
获取授权节点本地的私有数据库中的预设隐私数据;
通过AC多模式匹配算法匹配所述返回值与所述隐私数据,若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为;
若所述返回值与预设隐私数据集匹配失败,则对所述返回值进行内容检查及关键字匹配,若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
进一步地,所述监控被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为,包括:
获取被审核智能合约调用的智能合约;
采用频繁项挖掘算法,确定被调用的智能合约是否存在于预设账本中,从而确定被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为;其中,所述预设账本中包含被信任的其他智能合约。
进一步地,所述采用频繁项挖掘算法,确定被调用的智能合约是否存在于预设账本中,从而确定被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为,包括:
采用频繁项挖掘算法,频繁改变被审核智能合约的智能合约状态,同时监测被调用的智能合约的智能合约状态是否同时发生改变,从而建立被审核智能合约与被调用的智能合约之间的映射关系,进而判断被审核智能合约是否存在非法调用行为。
本发明一个实施例提供一种数据通信监控系统,包括:
函数接口调用模块,用于在数据交互过程中,调用被审核智能合约的所有函数接口;
监控模块,用于监控被调用函数的返回值是否存在返回隐私数据的行为,和/或用于监控被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为。
进一步地,所述监控模块,包括:
返回值获取子模块,用于获取被调用函数的返回值;
判断返回隐私数据子模块,用于根据所述返回值,确定被调用函数是否存在直接返回隐私数据行为或隐式返回隐私数据行为;其中,若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为;若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
进一步地,所述判断返回隐私数据子模块,包括:
隐私数据获取子子模块,用于获取授权节点本地的私有数据库中的预设隐私数据;
隐私数据匹配子子模块,用于通过AC多模式匹配算法匹配所述返回值与所述隐私数据,若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为;若所述返回值与预设隐私数据集匹配失败,则对所述返回值进行内容检查及关键字匹配,若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
进一步地,所述监控模块,还包括:
智能合约获取子模块,用于获取被审核智能合约调用的智能合约;
判断传递隐私数据子模块,用于采用频繁项挖掘算法,确定被调用的智能合约是否存在于预设账本中,从而确定被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为;其中,所述预设账本中包含被信任的其他智能合约;
判断传递隐私数据子模块,还用于采用频繁项挖掘算法,频繁改变被审核智能合约的智能合约状态,同时监测被调用的智能合约的智能合约状态是否同时发生改变,从而建立被审核智能合约与被调用的智能合约之间的映射关系,进而判断被审核智能合约是否存在非法调用行为。
本发明一个实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行实现任一项所述的一种数据通信监控方法。
与现有技术相比,本发明实施例的有益效果在于:本发明某一实施例提供一种数据通信监控方法,包括:在数据交互过程中,调用被审核智能合约的所有函数接口,用于监控被调用函数的返回值是否存在返回隐私数据的行为,和/或用于监控被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为。本发明提供通过监控被调用函数的返回值是否存在返回隐私数据的行为及监控被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为,能够非常大程度上监控到通过智能合约层面泄露隐私数据的可能,有效防止私有数据泄露后用户仍不知情的情况出现;本发明将两个通信监控模块整合封装在一个智能合约代理中,审核方只需要通过审核智能合约去调用被审核智能合约提供的函数接口就能够对被审核智能合约进行数据回传的监控,并直接得到返回结果,通过简单的方式对智能合约的数据通路进行监控;本发明由于是通过智能合约代理形式进行审核,因此对fabric联盟链的底层框架依赖性较低,可以兼容现有大部分fabric版本,迁移性强,可插拔行也较强。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明某一实施例提供的一种数据通信监控方法的流程图;
图2是本发明另一实施例提供的一种数据通信监控方法的流程图;
图3是本发明另一实施例提供的一种数据通信监控方法的流程图;
图4是本发明又一实施例提供的一种数据通信监控方法的流程图;
图5是本发明某一实施例提供的一种通过函数参数返回窃取隐私数据方法的流程图;
图6是本发明另一实施例提供的一种利用智能合约调用传递隐私数据方法的流程图;
图7是本发明某一实施例提供的一种数据通信监控系统的装置图;
图8是本发明另一实施例提供的一种数据通信监控系统的装置图;
图9是本发明又一实施例提供的一种数据通信监控系统的装置图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
第一方面。
本发明某一实施例提供一种数据通信监控方法,包括:在数据交互过程中,调用被审核智能合约的所有函数接口,用于监控被调用函数的返回值是否存在返回隐私数据的行为,和/或用于监控被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为。
本发明为智能合约隐私数据监控技术,该技术基于fabric联盟链框架,监控智能合约可能存在的多种隐式传输隐私数据的途径,防范智能合约隐式窃取私密数据的可能。本发明技术将通过“内容审查”和“智能合约调用映射挖掘”两个模块对私有数据回传通路进行监控。本发明中的智能合约在fabric里就是链码。
预封锁的第一种传输隐私数据的途径是智能合约通过函数接口访问隐私数据并通过参数直接或隐式返回,具体实现过程如图5所示。隐私数据极有可能为fabric通道上一组组织之间利益相关的不想被通道内其他组织结点知道的数据信息,这些数据一般被保存在隐私数据集合里面。由于隐私数据集合中的数据直接通过Gossip协议点对点传播而不用流经排序结点,所以理论上只有被认可的组织有权限共享隐私数据且相对安全。假设有权限共享某一个隐私数据集合的组织群体中出现了一个组织由于某种原因想要泄露该隐私数据集合中的某些数据,只需从本地读取这些数据,并通过智能合约函数直接或隐式返回这些数据即可,而这就使隐私数据有被泄密的可能。
第二种传输隐私数据的途径是通过智能合约之间的调用来返回隐私数据,具体操作方式如图6所示。即智能合约的函数返回的可以都是正常信息,但是在函数调用的过程中,函数可以通过调用其他的智能合约,通过传递参数的方式,将隐私数据从本地隐私数据集合读取到调用该函数的智能合约,再从调用函数的智能合约读取到其他智能合约的变量中,完成隐私数据的传递。即以智能合约为跳板,将隐私数据读取到第二个智能合约的变量中。举个例子,恶意用户调用智能合约1,而智能合约1中的函数A调用了智能合约2中的函数B,B函数的行为是读取隐私数据并将隐私数据放在智能合约2维护的一个变量b中,然后B通过参数传递,将隐私数据从b传递到智能合约1维护的变量a中,实现了隐私数据的窃取,即完成了一个“隐私数据->2-B-b->1-A-a”传递过程,而在这过程中无论是函数A还是B都没有直接将隐私数据作为函数返回值返回。
在某一具体实施例中,假设目标合约同时能够通过上诉两种方式窃取隐私数据,下面将说明审核合约在监控隐私数据通路时的操作流程,如图1所示。
①、②审核方通过审核智能合约的“内容审查”模块会调用目标合约提供的所有函数接口,即该合约对外公布的函数接口,并且审核合约的“智能合约调用映射挖掘”模块也会频繁调用这些函数接口,为后面的智能合约调用映射的挖掘做准备。
③、④目标合约中与窃取隐私数据有关的函数被调用后,函数继续调用其他合约,并通过读取本地节点隐私数据集里的隐私数据,同时将隐私数据直接作为参数返回给目标合约和将该信息直接传递给目标合约中的某个变量,实际上目标合约也能直接窃取本地节点的隐私数据。
⑤目标合约将函数返回到审核合约中进行“内容审核”模块的审核,内容审核过程中会对直接返回和隐式返回两种情况进行监控,并与隐私数据表进行交互判断;在②时审核合约的“智能合约调用映射挖掘”模块会频繁改变目标合约的智能合约状态,同时监控世界状态(世界状态在这里是用来查看在被审核智能合约的函数被“智能合约调用映射挖掘”模块调用的同时其它智能合约的状态是否也同时发生了变化)中其他智能合约的状态变化,通过APriori算法建立频繁项集发现目标合约存在调用其他合约的情况。
⑥审核合约将结果返回给审核方,审核方得到目标合约存在非法返回隐私数据和非法调用其它智能合约的结论。
在某一实施例中,所述监控被调用函数的返回值是否存在返回隐私数据的行为,包括:
获取被调用函数的返回值;
根据所述返回值,确定被调用函数是否存在直接返回隐私数据行为或隐式返回隐私数据行为;其中,若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为;若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
具体地,所述根据所述返回值,确定被调用函数是否存在直接返回隐私数据行为或隐式返回隐私数据行为,包括:
获取授权节点本地的私有数据库中的预设隐私数据;
通过AC多模式匹配算法匹配所述返回值与所述隐私数据,若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为;
若所述返回值与预设隐私数据集匹配失败,则对所述返回值进行内容检查及关键字匹配,若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
在某一具体实施例中,通过“内容审查”模块监控交易中是否存在上诉问题,“内容审查”流程如图2,其技术核心便是监控智能合约中所有函数的调用返回值,并做两步检查处理。首先是第一步,当我们接收到函数的返回值时,直接从授权节点本地的私有数据库中获取“私有数据集合”的私有数据内容并逐项和函数返回内容进行匹配,若匹配成功,则该函数存在直接返回隐私数据的行为;然后是第二步,倘若函数返回值与“私有数据集合”的私有数据内容匹配不成功,则需要考虑函数是否存在隐式返回隐私数据的可能,对函数返回值进行内容检查和关键字匹配,然后根据匹配和检查的结果不用进行不同的处理。
隐私数据集合由两部分组成:一是,实际的私有数据内容,私有数据保存在被授权的组织的节点上的私有数据库中,可以被授权节点的智能合约访问。二是,该数据的哈希值,该哈希值被背书、排序之后写入通道上每个节点的账本。哈希值作为交易的证明用于状态验证,还可用于审计。
最常见的隐式返回结果有两种,一是将返回结果加密,二是在返回结果中参杂无用信息。如果内容匹配发现函数返回的信息是加密后的字符串,则智能合约代理直接报告该智能合约存在回传加密信息的不安全行为;其次,若发现不是加密后的字符串,则对返回结果进行关键字匹配,检查函数返回值中是否夹杂着“隐私数据表”中的相关信息,如果匹配成功,则认为该函数存在隐式返回隐私数据的行为。对字符串和关键字进行匹配的算法使用的是“AC多模式匹配算法”。
AC算法实现原理大体分为三步:①构建敏感词树形结构,并标注结束结点(即是否是一个敏感词的结束);②为敏感词树的每个结点构建匹配失败时的跳转结点(即匹配失败时,跳转到哪个结点继续匹配);③对提供的待匹配的词进行一次遍历,对于每个字符(字节)都去到敏感词树型结构中,从当前结点位置开始匹配;如果匹配成功,则从当前结点跳转到该结点指向的对应子结点,如果当前结点为“结束结点”,则表示匹配成功;如果匹配失败,则从当前结点跳转到②构建的跳转结点继续匹配,直到匹配完成或当前结点为根结点。+
在某一实施例中,所述监控被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为,包括:
获取被审核智能合约调用的智能合约;
采用频繁项挖掘算法,确定被调用的智能合约是否存在于预设账本中,从而确定被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为;其中,所述预设账本中包含被信任的其他智能合约。
具体地,所述采用频繁项挖掘算法,确定被调用的智能合约是否存在于预设账本中,从而确定被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为,包括:采用频繁项挖掘算法,频繁改变被审核智能合约的智能合约状态,同时监测被调用的智能合约的智能合约状态是否同时发生改变,从而建立被审核智能合约与被调用的智能合约之间的映射关系,进而判断被审核智能合约是否存在非法调用行为。
在某一具体实施例中,通过“智能合约调用映射挖掘”模块监控上诉窃取方式,模块具体流程如图3所示。核心技术是通过“频繁项挖掘”技术,挖掘出智能合约即智能合约之间的调用映射关系,查看被审核的智能合约调用了哪些其它的智能合约,是否存在非法调用智能合约的情况。具体做法可以为,在帐本中维护一张表,表中存放着已经通过多方审核可信任度高的智能合约,如我们可以设置一个策略,当通道内的组织信任一个智能合约时,可以为这个合约背书,而当通道内为这个合约背书的组织超过一定数量,我们即可认定该智能合可信任度高,将他记录在账本维护的表中。而一旦通过“频繁项挖掘”技术发现被审核智能合约调用表格中不存在的智能合约,即返回该情况,认定该智能合约存在不安全的智能合约调用行为。
频繁项挖掘:通过频繁改变智能合约中的智能合约状态,观察世界状态中其他同样频繁发生状态变更的智能合约,建立频繁项集,从而确定智能合约之间的调用映射。这次我们进行频繁项挖掘使用的算法是Apriori算法,Apriori算法是一种基于关联规则挖掘的算法,目的是找出事物之间存在的隐藏关系,在Apriori算法中用支持度作为我们判断频繁项集的标准。Apriori算法的目标是找到最大的K项频繁集。
关联规则:形如X→Y的蕴涵式,其中,X和Y分别称为关联规则的先导(antecedent或left-hand-side,LHS)和后继(consequent或right-hand-side,RHS)。其中,关联规则XY,存在支持度和信任度。
支持度:规则前项LHS和规则后项RHS所包括的商品都同时出现的概率,可以理解为LHS和RHS商品的交易次数/总交易次数。
补充:{频繁项集产生:其目标是发现满足最小支持度阈值的所有项集,这些项集称作频繁项集(frequent itemset)}
算法步骤包括:输入:数据集合D,支持度阈值α;输出:最大的频繁k项集。
①扫描整个数据集,得到所有出现过的数据,作为候选频繁1项集。k=1,频繁0项集为空集。
②挖掘频繁k项集:
a.扫描数据计算候选频繁k项集的支持度
b.去除候选频繁k项集中支持度低于阈值的数据集,得到频繁k项集。如果得到的频繁k项集为空,则直接返回频繁k-1项集的集合作为算法结果,算法结束。如果得到的频繁k项集只有一项,则直接返回频繁k项集的集合作为算法结果,算法结束。
c.基于频繁k项集,连续生成候选频繁k+1项集。
③令k=k+1,跳转至②。
举例说明:我们调用了被检测的智能合约A的一个函数a,改变了a的函数状态,在这期间我们同时监控世界状态中已上链智能合约内函数的状态,假设这时发现智能合约B的一个或多个函数发生状态的变化,则我们则得到一个项集{A,B},即当A发生变化时B有一定的概率同期发生变化,A与B之间有一定概率有联系。而当我们多次改变函数a,发现智能合约B的状态频繁发生改变,我们就能通过Apriori算法建立频繁项集{A,B},且计算出它的支持度,只要该集合的支持度大于我们实现输入的阈值α,我们就认为智能合约A有调用了智能合约B的行为。
请参阅图4,本发明提供一种数据通信监控方法,包括:
S1、在各数据交互过程中,调用被审核智能合约的所有函数接口,用于监控被调用函数的返回值是否存在返回隐私数据的行为,和/或用于监控被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为。
S11、获取被调用函数的返回值。
S12、根据所述返回值,确定被调用函数是否存在直接返回隐私数据行为或隐式返回隐私数据行为;其中,若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为;若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
S121、获取授权节点本地的私有数据库中的预设隐私数据。
S122、通过AC多模式匹配算法匹配所述返回值与所述隐私数据,若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为。
S123、若所述返回值与预设隐私数据集匹配失败,则对所述返回值进行内容检查及关键字匹配,若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
S21、获取被审核智能合约调用的智能合约。
S22、采用频繁项挖掘算法,确定被调用的智能合约是否存在于预设账本中,从而确定被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为;其中,所述预设账本中包含被信任的其他智能合约。
S221、采用频繁项挖掘算法,频繁改变被审核智能合约的智能合约状态,同时监测被调用的智能合约的智能合约状态是否同时发生改变,从而建立被审核智能合约与被调用的智能合约之间的映射关系,进而判断被审核智能合约是否存在非法调用行为。
在某一具体实施例中,“内核审查”和“智能合约调用映射挖掘”模块的核心是监控被审核的智能合约提供的函数接口在被调用时是否存在异常情况。且“内容审查”和“智能合约调用映射挖掘”两个模块会被编写成相应的代码实现被封装在第三方提供的智能合约代理中,以被审核的智能合约提供的函数接口为传入参数,监控被审核的智能合约的函数被调用时的具体情况,判断该智能合约是否存在非法传输隐私数据的行为。在实际审核过程中“内容审查”和“智能合约调用映射挖掘”两个模块是独立分开执行的,即“内容审查”和“智能合约调用映射挖掘”是两个独立判断是否存在窃取隐私数据的行为的模块,但判断的行为不一样,“内容审查”判断的是智能合约是否有直接通过函数返回值返回隐私数据的行为;而“智能合约调用映射挖掘”判断的是智能合约是否存在通过智能合约调用以变量传递隐私数据的行为。对于“内容审查”模块来说,它会以被审核的智能合约提供的函数接口为传入参数,在模块内部调用这个函数,同时监控该函数的返回值进行判断;对于“智能合约调用映射挖掘”模块来说,它同样以被审核的智能合约提供的函数接口为传入参数,在模块内频繁调用这个函数,再通过Apriori算法建立智能合约之间的调用映射,再判断是否存在非法调用行为。
第二方面。
请参阅图7-9,本发明提供一种数据通信监控系统,包括:、函数接口调用模块10用于在数据交互过程中,调用被审核智能合约的所有函数接口。
监控模块20用于监控被调用函数的返回值是否存在返回隐私数据的行为,和/或用于监控被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为。
所述监控模块20,包括:
返回值获取子模块21用于获取被调用函数的返回值;
判断返回隐私数据子模块22用于根据所述返回值,确定被调用函数是否存在直接返回隐私数据行为或隐式返回隐私数据行为;其中,若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为;若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
智能合约获取子模块23用于获取被审核智能合约调用的智能合约;
判断传递隐私数据子模块24用于采用频繁项挖掘算法,确定被调用的智能合约是否存在于预设账本中,从而确定被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为;其中,所述预设账本中包含被信任的其他智能合约;
判断传递隐私数据子模块25还用于采用频繁项挖掘算法,频繁改变被审核智能合约的智能合约状态,同时监测被调用的智能合约的智能合约状态是否同时发生改变,从而建立被审核智能合约与被调用的智能合约之间的映射关系,进而判断被审核智能合约是否存在非法调用行为。
所述判断返回隐私数据子模块22,包括:
隐私数据获取子子模块221用于获取授权节点本地的私有数据库中的预设隐私数据;
隐私数据匹配子子模块221还用于通过AC多模式匹配算法匹配所述返回值与所述隐私数据,若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为;若所述返回值与预设隐私数据集匹配失败,则对所述返回值进行内容检查及关键字匹配,若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (10)
1.一种数据通信监控方法,其特征在于,包括:
在数据交互过程中,调用被审核智能合约的所有函数接口,用于监控被调用函数的返回值是否存在返回隐私数据的行为,和/或用于监控被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为。
2.根据权利要求1所述的数据通信监控方法,其特征在于,所述监控被调用函数的返回值是否存在返回隐私数据的行为,包括:
获取被调用函数的返回值;
根据所述返回值,确定被调用函数是否存在直接返回隐私数据行为或隐式返回隐私数据行为;其中,
若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为;若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
3.根据权利要求2所述的数据通信监控方法,其特征在于,所述根据所述返回值,确定被调用函数是否存在直接返回隐私数据行为或隐式返回隐私数据行为,包括:
获取授权节点本地的私有数据库中的预设隐私数据;
通过AC多模式匹配算法匹配所述返回值与所述隐私数据,若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为;
若所述返回值与预设隐私数据集匹配失败,则对所述返回值进行内容检查及关键字匹配,若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
4.根据权利要求1所述的数据通信监控方法,其特征在于,所述监控被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为,包括:
获取被审核智能合约调用的智能合约;
采用频繁项挖掘算法,确定预设账本中是否存在与被审计智能合约交易频繁同时出现的世界状态修改,从而确定被审计智能合约是否存在通过智能合约调用以修改变量传递隐私数据的行为;其中,所述预设账本中包含被信任的其他智能合约。
5.根据权利要求4所述的数据通信监控方法,其特征在于,所述采用频繁项挖掘算法,确定被调用的智能合约是否存在于预设账本中,从而确定被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为,包括:
采用频繁项挖掘算法,频繁改变被审核智能合约的智能合约状态,同时监测被调用的智能合约的智能合约状态是否同时发生改变,从而建立被审核智能合约与被调用的智能合约之间的映射关系,进而判断被审核智能合约是否存在非法调用行为。
6.一种数据通信监控系统,其特征在于,包括:
函数接口调用模块,用于在数据交互过程中,调用被审核智能合约的所有函数接口;
监控模块,用于监控被调用函数的返回值是否存在返回隐私数据的行为,和/或用于监控被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为。
7.根据权利要求6所述的数据通信监控系统,其特征在于,所述监控模块,包括:
返回值获取子模块,用于获取被调用函数的返回值;
判断返回隐私数据子模块,用于根据所述返回值,确定被调用函数是否存在直接返回隐私数据行为或隐式返回隐私数据行为;其中,若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为;若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
8.根据权利要求7所述的数据通信监控系统,其特征在于,所述判断返回隐私数据子模块,包括:
隐私数据获取子子模块,用于获取授权节点本地的私有数据库中的预设隐私数据;
隐私数据匹配子子模块,用于通过AC多模式匹配算法匹配所述返回值与所述隐私数据,若所述返回值与预设隐私数据集全匹配,则为直接返回隐私数行为;若所述返回值与预设隐私数据集匹配失败,则对所述返回值进行内容检查及关键字匹配,若所述返回值为加密字符串或所述返回值的关键字与所述预设隐私数据集合匹配,则为隐式返回隐私数据行为。
9.根据权利要求6所述的数据通信监控系统,其特征在于,所述监控模块,还包括:
智能合约获取子模块,用于获取被审核智能合约调用的智能合约;
判断传递隐私数据子模块,用于采用频繁项挖掘算法,确定被调用的智能合约是否存在于预设账本中,从而确定被调用函数是否存在通过智能合约调用以变量传递隐私数据的行为;其中,所述预设账本中包含被信任的其他智能合约;
判断传递隐私数据子模块,还用于采用频繁项挖掘算法,频繁改变被审核智能合约的智能合约状态,同时监测被调用的智能合约的智能合约状态是否同时发生改变,从而建立被审核智能合约与被调用的智能合约之间的映射关系,进而判断被审核智能合约是否存在非法调用行为。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行实现如权利要求1至5任一项所述的一种数据通信监控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010837963.2A CN111931236B (zh) | 2020-08-19 | 2020-08-19 | 一种数据通信监控方法、系统及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010837963.2A CN111931236B (zh) | 2020-08-19 | 2020-08-19 | 一种数据通信监控方法、系统及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111931236A true CN111931236A (zh) | 2020-11-13 |
CN111931236B CN111931236B (zh) | 2024-01-16 |
Family
ID=73305393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010837963.2A Active CN111931236B (zh) | 2020-08-19 | 2020-08-19 | 一种数据通信监控方法、系统及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111931236B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112734410A (zh) * | 2021-03-30 | 2021-04-30 | 支付宝(杭州)信息技术有限公司 | 一种在Fabric区块链中预执行链码的方法和装置 |
US20220138848A1 (en) * | 2020-11-05 | 2022-05-05 | Hitachi, Ltd. | Electronic trading system and data concealment method for electronic trading system |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140089334A1 (en) * | 2012-09-24 | 2014-03-27 | Reunify Llc | Methods and systems for transforming multiple data streams into social scoring and intelligence on individuals and groups |
US20170004303A1 (en) * | 2013-12-30 | 2017-01-05 | Nokia Technologies Oy | Method and Apparatus for Malware Detection |
CN110543516A (zh) * | 2019-07-26 | 2019-12-06 | 深圳壹账通智能科技有限公司 | 智能合约处理方法、装置、计算机设备及存储介质 |
AU2018273794A1 (en) * | 2017-05-22 | 2019-12-12 | Richardson, Ric B | System for blockchain based domain name and IP number register |
CN111191286A (zh) * | 2019-12-28 | 2020-05-22 | 南京理工大学 | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 |
-
2020
- 2020-08-19 CN CN202010837963.2A patent/CN111931236B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140089334A1 (en) * | 2012-09-24 | 2014-03-27 | Reunify Llc | Methods and systems for transforming multiple data streams into social scoring and intelligence on individuals and groups |
US20170004303A1 (en) * | 2013-12-30 | 2017-01-05 | Nokia Technologies Oy | Method and Apparatus for Malware Detection |
AU2018273794A1 (en) * | 2017-05-22 | 2019-12-12 | Richardson, Ric B | System for blockchain based domain name and IP number register |
CN110543516A (zh) * | 2019-07-26 | 2019-12-06 | 深圳壹账通智能科技有限公司 | 智能合约处理方法、装置、计算机设备及存储介质 |
CN111191286A (zh) * | 2019-12-28 | 2020-05-22 | 南京理工大学 | Hyperledger Fabric区块链隐私数据存储与访问系统及其方法 |
Non-Patent Citations (2)
Title |
---|
王姝等: "基于区块链的科学数据标识技术创新应用模式", 《数据与计算发展前沿》, no. 06, pages 62 - 74 * |
田志宏等: "基于上下文验证的网络入侵检测模型", 《计算机研究与发展》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220138848A1 (en) * | 2020-11-05 | 2022-05-05 | Hitachi, Ltd. | Electronic trading system and data concealment method for electronic trading system |
CN112734410A (zh) * | 2021-03-30 | 2021-04-30 | 支付宝(杭州)信息技术有限公司 | 一种在Fabric区块链中预执行链码的方法和装置 |
CN112734410B (zh) * | 2021-03-30 | 2021-07-06 | 支付宝(杭州)信息技术有限公司 | 一种在Fabric区块链中预执行链码的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111931236B (zh) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593492B2 (en) | Assessment and analysis of software security flaws | |
Bastys et al. | If this then what? Controlling flows in IoT apps | |
US9268945B2 (en) | Detection of vulnerabilities in computer systems | |
US9158919B2 (en) | Threat level assessment of applications | |
Martin et al. | 2011 CWE/SANS top 25 most dangerous software errors | |
US6684329B1 (en) | System and method for increasing the resiliency of firewall systems | |
CN104620225B (zh) | 用于服务器安全验证的方法和系统 | |
Nirumand et al. | VAnDroid: a framework for vulnerability analysis of Android applications using a model‐driven reverse engineering technique | |
KR20090002140A (ko) | 행위분석에 의한 정보흐름 파악 및 정보유출 탐지 방법 | |
CN111931236B (zh) | 一种数据通信监控方法、系统及计算机可读存储介质 | |
CN109936560A (zh) | 恶意软件防护方法及装置 | |
Shrivastava et al. | Android application behavioural analysis for data leakage | |
US10521613B1 (en) | Adaptive standalone secure software | |
US10827349B2 (en) | SEALANT: security for end-users of android via light-weight analysis techniques | |
Gupta et al. | Evaluation and monitoring of XSS defensive solutions: a survey, open research issues and future directions | |
Granata et al. | Systematic analysis of automated threat modelling techniques: Comparison of open-source tools | |
KR102648653B1 (ko) | 메일 보안 기반의 제로데이 url 공격 방어 서비스 제공 장치 및 그 동작 방법 | |
Dritsas et al. | A knowledge-based approach to security requirements for e-health applications | |
KR102546068B1 (ko) | 위협 요소의 정량 분석 기반 이메일 보안 진단 장치 및 그 동작 방법 | |
Anwer et al. | Security testing | |
Brilingaitė et al. | Detection of premeditated security vulnerabilities in mobile applications | |
Feng et al. | DeFi Auditing: Mechanisms, Effectiveness, and User Perceptions | |
Ureche et al. | Towards an implementation of information flow security using semantic web technologies | |
Rahman et al. | Vulnerability Assessment of Mobile Financial Service Applications In Bangladesh | |
Klepp | Cruel intentions: enhancing androids intent firewall |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |