当前位置: 首页 > 专利查询>广州大学专利>正文

一种人工免疫技术的区块链智能合约安全风险评估方法技术

技术编号:35291019 阅读:20 留言:0更新日期:2022-10-22 12:37
本发明专利技术公开了一种人工免疫技术的区块链智能合约安全风险评估方法,包括如下步骤:S1对以太坊客户端Geth源码进行插桩;S2在训练阶段,利用正常交易集产生安全特征路径集,利用攻击交易集产生危险特征路径集;S3将所得的安全特征路径集和危险特征路径集作为输入,根据人工免疫学中阴性选择技术,对危险特征路径集进行自我耐受,生成的成熟抗体被激活能够进化为记忆抗体;S4检测阶段,在以太坊环境,利用已插桩的以太坊客户端,实时收集交易产生的特征路径,上传至审计中心;S5审计中心对上传的特征路径进行安全风险检测,对检测到的危险特征路径,根据人工免疫系统中抗体浓度变化原理,绘制风险曲线,对智能合约安全风险进行评估。对智能合约安全风险进行评估。对智能合约安全风险进行评估。

【技术实现步骤摘要】
一种人工免疫技术的区块链智能合约安全风险评估方法


[0001]本专利技术涉及以太坊智能合约和代码漏洞风险评估领域,特别涉及一种人工免疫技术的区块链智能合约安全风险评估方法。

技术介绍

[0002]自比特币出现以来,区块链作为一种去中心化的分布式账本技术,凭借着不可篡改、不可伪造、不可抵赖、可追溯、无需第三方可信机构等特性而得到了广泛的关注和应用。以太坊作为区块链2.0的开拓者,目前已经成为全球最大的区块链开源平台和社区,但是智能合约因持有大量资金,而一旦上链就无法修改,如果存在安全漏洞势必给用户造成严重的经济损失,因此对黑客利用智能合约漏洞发起的攻击交易进行监控和预警就显得尤为重要。
[0003]目前在智能合约漏洞方面,大部分方法是对智能合约漏洞进行检测,比如:模糊测试、符号执行、形式化验证等,这些方法可以在智能合约发布到链上前,尽可能地消除智能合约漏洞,但是智能合约一旦上链就无法修改,如何让智能合约拥有者更方便直观地关注智能合约运行情况,比如:智能合约是否正在遭受攻击、遭受得是哪种漏洞攻击、攻击时间长短等,就显得非常重要。因此如何设计一套对智能合约的风险评估方法,对黑客攻击进行监控和预警,就成了智能合约安全问题的一个突破点。

技术实现思路

[0004]为了更智能的对利用智能合约漏洞发起攻击情况进行监视和预警,保证智能合约的安全,本专利技术提供一种人工免疫技术的区块链智能合约安全风险评估方法,以解决上述问题。
[0005]本专利技术提供如下的技术方案:
[0006]一种人工免疫技术的区块链智能合约安全风险评估方法,具体包括:
[0007]S1,对以太坊客户端Geth源码进行插桩;
[0008]S2,在训练阶段,利用正常交易集,对智能合约发起交易,产生安全特征路径集,利用攻击交易集,对智能合约发起交易,产生危险特征路径集;
[0009]S3,将所得的安全特征路径集和危险特征路径集作为输入,根据人工免疫学中阴性选择技术,对危险特征路径集进行自我耐受,生成成熟抗体,成熟抗体被激活能够进化为记忆抗体;
[0010]S4,检测阶段,在以太坊环境,利用已插桩的以太坊客户端,实时收集交易产生的特征路径,上传至审计中心;
[0011]S5,审计中心利用成熟抗体和记忆抗体对上传的特征路径进行安全风险检测,对检测到的危险特征路径,根据人工免疫系统中抗体浓度变化原理,绘制风险曲线,进而对智能合约安全风险进行评估。
[0012]进一步地,步骤S1中,所述的插桩是指在以太坊客户端Geth源码中EVM虚拟机部位
插入收集特征信息的代码,但不影响程序的正常执行,其中主要收集的特征信息包括:
[0013]插桩后的客户端要收集的区块信息,包括ParentHash即父块哈希、UncleHash即叔块哈希、Number即块高、Time即时间戳、GasLimit即Gas限制、GasUsed即已使用Gas数量、Difficult即挖矿难度等;
[0014]插桩后的客户端要收集的交易信息,包括From即交易的发送方地址、To即交易的接收方地址、Value即交易转移的以太币数量、TxHash即交易哈希、InputData即交易的输入数据等;
[0015]插桩后的客户端要收集的交易指令信息,包括ADD、CALL、SSTORE、MLOAD、CALLDATALOAD等;
[0016]插桩后的客户端要收集的堆栈信息,包括数据压入堆栈、数据弹出堆栈等;
[0017]插桩后的客户端要收集的内存、存储信息,包括读写内存或存储的位置、此位置读写前的值、此位置读写后的值等;
[0018]插桩后的客户端要收集的余额变化信息,包括账户地址、原始余额数量、现余额数量等。
[0019]进一步地,步骤S2中,所述的智能合约是由Solidity编写的,运行在以太坊虚拟机中的二进制文件。
[0020]进一步地,步骤S2中,所述正常交易是指遵守智能合约交易规则,发起的交易;所述攻击交易是指利用智能合约存在的漏洞发起的交易,以盗取以太币或代币为目的。
[0021]进一步地,步骤S2中,所述产生安全特征路径集和危险特征路径集包括:
[0022]S200,从以太坊环境上获取大量的交易数据和交易数据对应的智能合约作为测试数据,把交易数据分为两类:正常交易集和攻击交易集;
[0023]S201,在训练阶段,利用正常交易集,对相应的智能合约发起交易,插桩后的以太坊客户端实时收集交易产生的区块信息、交易信息、账户余额变化信息、堆栈信息、内存、存储信息,从收集的信息中提取特征值,依据一定的规则编码为一个长度L的二进制字符串作为安全特征路径集合;
[0024]S202,在训练阶段,利用攻击交易集,对相应的智能合约发起交易,插桩后的以太坊客户端,实时收集交易产生的区块信息、交易信息、账户余额变化信息、堆栈信息、内存、存储信息等,从收集的信息中提取特征值,依据一定的规则编码为一个长度L的二进制字符串作为危险特征路径集合。
[0025]进一步地,步骤S3中,对危险特征路径集进行自我耐受的过程包括:
[0026]S301,将S2中获取的安全特征路径集作为自我特征集合;
[0027]S302,将S2中获取的危险特征路径集作为未成熟抗体集合;
[0028]S303,利用r位连续匹配算法,对自我特征和未成熟抗体进行匹配;
[0029]S304,如果匹配成功,则将未成熟抗体直接丢弃,如果匹配失败,则将未成熟抗体转化为成熟抗体;
[0030]S305,对危险特征路径拥有高亲和度的成熟抗体还能够经过克隆变异生成未成熟抗体加入步骤S302产生的未成熟抗体集合中;
[0031]S306,成熟抗体如果检测到足够多的危险特征路径,能够被激活成为记忆抗体,记忆抗体有无限的生命周期。
[0032]进一步地,步骤S303中,所述的r位连续匹配算法为:
[0033][0034]对于任意字符串x和y,如果字符串x,y相应位置上至少有连续r位相同,那么字符串x和y是r连续匹配的。
[0035]进一步地,步骤S4中,所述的审计中心指云服务器,云服务器存放了大量前期训练好的成熟抗体和记忆抗体,并能够利用r位连续匹配算法,对上传的特征路径进行安全风险检测。
[0036]进一步地,步骤S4中,所述的实时收集交易产生的特征路径为对交易产生的区块信息、交易信息、账户余额变化信息、堆栈信息、内存、存储信息进行监控,从收集的信息中提取特征值,依据一定的规则将特征值编码为一个长度L的二进制字符串。
[0037]进一步地,步骤S5中,所述的人工免疫系统中抗体浓度变化原理包括:
[0038]S501,当以太坊智能合约没遭受攻击时,智能合约上成熟抗体和记忆抗体的数目保持相对不变;
[0039]S502,当智能合约遭受攻击时,由于记忆抗体和被激活的成熟抗体的克隆,智能合约的抗体数目就会急剧增加;
[0040]S50本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种人工免疫技术的区块链智能合约安全风险评估方法,其特征在于,包括如下步骤:S1,对以太坊客户端Geth源码进行插桩;S2,在训练阶段,利用正常交易集,对智能合约发起交易,产生安全特征路径集,利用攻击交易集,对智能合约发起交易,产生危险特征路径集;S3,将所得的安全特征路径集和危险特征路径集作为输入,根据人工免疫学中阴性选择技术,对危险特征路径集进行自我耐受,生成成熟抗体,成熟抗体被激活能够进化为记忆抗体;S4,检测阶段,在以太坊环境,利用已插桩的以太坊客户端,实时收集交易产生的特征路径,上传至审计中心;S5,审计中心利用成熟抗体和记忆抗体对上传的特征路径进行安全风险检测,对检测到的危险特征路径,根据人工免疫系统中抗体浓度变化原理,绘制风险曲线,进而对智能合约安全风险进行评估。2.根据权利要求1所述的人工免疫技术的区块链智能合约安全风险评估方法,其特征在于,步骤S1中,所述的插桩是指在以太坊客户端Geth源码中EVM虚拟机部位插入收集特征信息的代码,但不影响程序的正常执行,其中主要收集的特征信息包括:插桩后的客户端要收集的区块信息,包括ParentHash即父块哈希、UncleHash即叔块哈希、Number即块高、Time即时间戳、GasLimit即Gas限制、GasUsed即已使用Gas数量、Difficult即挖矿难度;插桩后的客户端要收集的交易信息,包括From即交易的发送方地址、To即交易的接收方地址、Value即交易转移的以太币数量、TxHash即交易哈希、InputData即交易的输入数据;插桩后的客户端要收集的交易指令信息,包括ADD、CALL、SSTORE、MLOAD、CALLDATALOAD;插桩后的客户端要收集的堆栈信息,包括数据压入堆栈、数据弹出堆栈等;插桩后的客户端要收集的内存、存储信息,包括读写内存或存储的位置、此位置读写前的值、此位置读写后的值;插桩后的客户端要收集的余额变化信息,包括账户地址、原始余额数量、现余额数量等。3.根据权利要求1所述的人工免疫技术的区块链智能合约安全风险评估方法,其特征在于,步骤S2中,所述的智能合约是由Solidity编写的,运行在以太坊虚拟机中的二进制文件。4.根据权利要求1所述的人工免疫技术的区块链智能合约安全风险评估方法,其特征在于,步骤S2中,所述正常交易是指遵守智能合约交易规则,发起的交易;所述攻击交易是指利用智能合约存在的漏洞发起的交易,以盗取以太币或代币为目的。5.根据权利要求1所述的人工免疫技术的区块链智能合约安全风险评估方法,其特征在于,步骤S2中,所述产生安全特征路径集和危险特征路径集包括:S200,从以太坊环境上获取大量的交易数据和交易数据对应的智能合约作为测试数据,把交易数据分为两类:正常交易集和攻击交易集;
S201,在训练阶段,利用正常交易集,对相应的智能合约发起交易,插桩...

【专利技术属性】
技术研发人员:李培强王国军彭滔邢萧飞陈淑红顾婉仪翟广鑫
申请(专利权)人:广州大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1