【技术实现步骤摘要】
电力区块链智能合约安全检测方法、装置、设备及介质
[0001]本专利技术属于计算机测试
,特别涉及一种电力区块链智能合约安全检测方法、装置、设备及介质。
技术介绍
[0002]区块链作为一个分布式软件系统,传统软件受到的安全与隐私泄露威胁,在区块链系统中依然存在,例如,越权操作、目录遍历漏洞、身份仿冒、SQL注入攻击、DoS攻击等。因此,一些常见的安全工程手段,例如,妥善的密钥管理,严格的身份校验和权限控制,严格的入参校验与格式化,业务面与控制面隔离,故障隔离以及辅助以防火墙等安全设备,实现安全策略设定和异常流量清洗等,在区块链系统安全防护中,依然非常重要,除去这些传统的安全威胁,区块链系统还面临一些新的威胁,例如,区块链系统通过智能合约承载核心业务逻辑,因此,智能合约安全漏洞不可忽视。
[0003]为了应对智能合约的安全风险,业界在多个层面对智能合约进行安全加固,主要包括智能合约语言、智能合约代码检测和形式化验证工具等。在联盟链中,很多区块链平台直接使用通用编程语言作为智能合约开发语言,比如,Golang、J ...
【技术保护点】
【技术特征摘要】
1.电力区块链智能合约安全检测方法,其特征在于,包括:获取待检测电力区块链智能合约的代码;根据待检测电力区块链智能合约的代码,得到待检测电力区块链智能合约的控制流图CFG和程序依赖图PDG;根据控制流图CFG和程序依赖图PDG,对待检测电力区块链智能合约代码进行切片获得代码片段;将代码片段转化成词向量;将控制流图CFG的特征抽象成图结构向量,并将词向量和图结构向量拼接获得检测向量;将检测向量输入预先训练好的双向LSTM的相似性判断模型,获得检测结果;输出所述检测结果。2.根据权利要求1所述的电力区块链智能合约安全检测方法,其特征在于,所述根据控制流图CFG和程序依赖图PDG,对待检测电力区块链智能合约代码进行切片获得代码片段的步骤中,根据控制流图CFG和程序依赖图PDG,依据敏感函数对智能合约代码进行切片获得代码片段。3.根据权利要求1所述的电力区块链智能合约安全检测方法,其特征在于,所述将代码片段转化成词向量的步骤中,采用词向量模型word2vec将代码片段转化成词向量。4.根据权利要求1所述的电力区块链智能合约安全检测方法,其特征在于,所述将控制流图CFG的特征抽象成图结构向量的步骤中,采用strcture2vec算法将控制流图CFG的特征抽象成图结构向量。5.根据权利要求1所述的电力区块链智能合约安全检测方法,其特征在于,所述预先训练好的双向LSTM的相似性判断模型的训练步骤包括:从公共数据库中搜集漏洞智能合约样本,建立智能合约安全漏洞数据库;通过软件得到智能合约的控制流图CFG和程序依赖图PDG,获取智能合约中功能点及函数调用;根据控制流图CFG和程序依赖图PDG,依据敏感函数对智能合约代码进行切片获得代码片段,代码片段经过数据清洗,形成分类漏洞样本集;针对分类漏洞样本集中的代码片段采用词向量模型word2vec转化成词向量;针对控制流图CFG采用strcture2vec算法抽象成图结构向量;将词向量和图结构向量拼接获得训练数据;采用训练数据对双向LSTM的相似性判断模型进行训练,训练直至损失函数达到设定值,或者到达最大训练次数,获得训练好的双向LSTM的相似性判断模型。6.电力区块链智能合约安全检测装置,其特征在于,包括:获取模块,获取待检测电力区块链智能合约的代码;特征提取模块,用于根据待检测电力区块链智能合约的代码,得到...
【专利技术属性】
技术研发人员:晁竟健,丁慧霞,方帅,王智慧,芮婷,张利宁,梁松,杨阳,周建春,张微,张凌玉,张强,吴美玲,赵旭帅,白潇,马强壮,董方云,李健,滕玲,马军伟,张建亮,薛泓林,
申请(专利权)人:国网山西省电力公司信息通信分公司国家电网有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。