CN116541852B - 基于区块链的智能合约虚拟机安全加固方法及其系统 - Google Patents

基于区块链的智能合约虚拟机安全加固方法及其系统 Download PDF

Info

Publication number
CN116541852B
CN116541852B CN202310753476.1A CN202310753476A CN116541852B CN 116541852 B CN116541852 B CN 116541852B CN 202310753476 A CN202310753476 A CN 202310753476A CN 116541852 B CN116541852 B CN 116541852B
Authority
CN
China
Prior art keywords
operator
contract
virtual machine
vulnerability
operators
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.)
Active
Application number
CN202310753476.1A
Other languages
English (en)
Other versions
CN116541852A (zh
Inventor
周晓阳
卫俊俊
孙凯
赵丹怀
包岩
刘渊渊
应葆华
李玉杰
陈鹏飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Zijin Jiangsu Innovation Research Institute Co ltd
Original Assignee
China Mobile Zijin Jiangsu Innovation Research Institute Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Zijin Jiangsu Innovation Research Institute Co ltd filed Critical China Mobile Zijin Jiangsu Innovation Research Institute Co ltd
Priority to CN202310753476.1A priority Critical patent/CN116541852B/zh
Publication of CN116541852A publication Critical patent/CN116541852A/zh
Application granted granted Critical
Publication of CN116541852B publication Critical patent/CN116541852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开基于区块链的智能合约虚拟机安全加固方法及其系统,属于智能合约的技术领域。通过在虚拟机层面对智能合约进行安全加固,实现对交易的安全进行保障,设计了实时监控策略和操作符存储结构,可对多种危险行为进行动态阻断。本发明从虚拟机底层直接阻断漏洞,达到漏洞实时发现,解决了漏洞检测时间长的问题,同时由于虚拟机中存储的是字节码,屏蔽了高层合约语言的差异,解决了智能合约语言多样性的问题。

Description

基于区块链的智能合约虚拟机安全加固方法及其系统
技术领域
本发明属于智能合约的技术领域,特别涉及基于区块链的智能合约虚拟机安全加固方法及其系统。
背景技术
随着区块链技术的广泛发展,智能合约越来越广泛的参与到区块链技术的应用过程之中。智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可跟踪、不可篡改。同时,由区块链自带的共识算法构建出一套状态机系统,使得智能合约能够高效地运行。
然而随着智能合约应用越来越广泛,也面临着诸多方面的安全威胁,智能合约引发的安全问题已经成为区块链技术安全领域的主要问题。常见的合约漏洞有:可重入漏洞、整数溢出漏洞、权限控制漏洞、异常处理漏洞、拒绝服务漏洞、类型混乱漏洞、未知函数调用漏洞、以太冻结漏洞等,常用的合约漏洞检测方法有:
1.静态检测法:主要通过分析合约代码,以手动或者自动的方式,对其代码和文档进行形式化建模,然后通过数学的手段对代码的安全性和功能正确性进行严格的证明,可有效检测出智能合约是否存在安全漏洞和逻辑漏洞。
2.模糊测试法:生成大量正常和异常的测试用例,尝试将生成的用例提供给目标应用程序并监视执行状态中的异常结果以发现安全问题。
3.深度学习法:包括对智能合约solidity源程序进行静态分析得到智能合约solidity源程序的图结构,搭建用于对solidity源程序进行漏洞分类的深度学习模型,利用所述训练数据集对所述深度学习模型进行训练,利用训练好的深度学习模型对输入的智能合约进行漏洞检测。
但是上述检测方法存在以下技术问题:1.漏洞检测时间长:基本是通过手动或自动的方式,由人工/AI去理解合约逻辑,挖掘合约中的漏洞,因此漏洞检测的时间较长。
2.智能合约语言多样性:以HyperLedgerFabric为例,其支持go、js、java等多种合约语言,每一种合约语言对应了不同的检测规则,现有的合约检测方法不具备普适性。
发明内容
本发明为解决背景技术中存在的技术问题,提供了基于区块链的智能合约虚拟机安全加固方法及其系统。
本发明采用以下技术方案:基于区块链的智能合约虚拟机安全加固方法,至少包括以下步骤:
预先制定漏洞监测策略,并创建对应的操作符结构;将漏洞监测策略和操作符结构插入虚拟机层面,并在虚拟机层面生成漏洞阻断机制;
每次合约调试启动之前,将操作符结构进行初始化处理;将合约语句于虚拟机层面上分解为合约操作符组,判断合约操作符组是否符合对应的漏洞监测策略:若符合,将合约操作符组存储于对应的操作符结构内,并更新操作符结构;
基于漏洞监测策略对操作符结构内的合约操作符组进行监测分析,若分析结果为不安全,则存储于对应操作符结构内的合约操作符组将不会被执行,完成动态阻断。
在进一步的实施例中,所述漏洞监测策略至少包括:感兴趣操作符组,以及限定感兴趣操作符组的操作符规则集合;
操作符规则集合中至少包括:感兴趣操作符组的预定执行顺序和感兴趣操作符组的指定传入参数。
在进一步的实施例中,所述漏洞监测策略的制定流程如下:
基于漏洞触发条件,分解为虚拟机层面的感兴趣操作符组,基于操作符规则集合按照以下优先级顺序生成对应的监测条件:
判断感兴趣操作符组是否满足预定执行顺序:若满足,则制定与预定执行顺序相对应的顺序监测条件;若不满足,则判断是否满足指定传入参数:若满足,则制定与指定传入参数相对应的参数监测条件;若不满足,则寻找新的判定规则,并制定对应的监测条件,同时将新的判定规则更新至操作符规则集合中。
在进一步的实施例中,所述操作符结构至少包括:堆栈型结构、队列型结构和树型结构;
将仅涉及预定执行顺序的合约操作符存储于堆栈型结构内,将仅涉及指定传入参数的合约操作存储于队列型结构内,将至少涉及预定执行顺序、指定传入参数的合约操作存储于树型结构内。
在进一步的实施例中,判断合约操作符组是否符合对应的漏洞监测策略的判断流程如下:
首先判断合约操作符组中的操作符与感兴趣的操作符组中的操作符的数量和种类是否一致:若不一致,则表示合约操作符组不符合对应的漏洞监测策略;
反之,则获取合约操作符组中的操作符的排列规则,若排列规则属于操作符规则集合,则表示合约操作符组符合对应的漏洞监测策略;若不属于,则表示合约操作符组不符合对应的漏洞监测策略。
在进一步的实施例中,所述漏洞监测策略至少包括:溢出漏洞监测策略和时间漏洞监测策略;
所述监测条件采用返回boolean值的方法生成。
在进一步的实施例中,所述溢出漏洞监测策略中的感兴趣的操作符组至少包括:ADD、SUB、MUL、ADDMOD、MULMOD和/或EXP;
所述时间漏洞相关的感兴趣操作符至少包括:TIMESTAMP。
在进一步的实施例中,所述寻找新的判定规则的寻找方法如下:
在未限定操作符规则的感兴趣的操作符组中,将排列规则按照出现的频率从高至低的优先级进行排序,并按照上述优先级更新至操作符规则集合中。
基于区块链的智能合约虚拟机安全加固系统,用于实现如上所述的智能合约虚拟机安全加固方法,包括:
第一模块,被设置为预先制定漏洞监测策略,并创建对应的操作符结构;将漏洞监测策略和操作符结构插入虚拟机层面,并在虚拟机层面生成漏洞阻断机制;
第二模块,被设置为每次合约调试启动之前,将操作符结构进行初始化处理;将合约语句于虚拟机层面上分解为合约操作符组,判断合约操作符组是否符合对应的漏洞监测策略:若符合,将合约操作符组存储于对应的操作符结构内,并更新操作符结构;
第三模块,被设置为基于漏洞监测策略对操作符结构内的合约操作符组进行监测分析,若分析结果为不安全,则存储于对应操作符结构内的合约操作符组将不会被执行,完成动态阻断。
本发明的有益效果:本发明为解决智能合约的安全问题,在虚拟机层面对智能合约进行安全加固,研发了合约漏洞实时监控策略和不同的操作符存储结构,用于存储合约漏洞的特征操作符,达到对漏洞判断的目的。
提出了虚拟机插桩的方案,在虚拟机实现逻辑中加入断点,即基于操作符结构的安全监测流程,对合约操作符进行策略遍历和匹配,对匹配成功的流程进行阻断或者报警,表示为漏洞。
通过在虚拟机层面对智能合约进行安全加固,实现对交易的安全进行保障,设计了实时监控策略和操作符存储结构,可对多种危险行为进行动态阻断。通过这种方式,可以从虚拟机底层直接阻断漏洞,达到漏洞实时发现,解决了漏洞检测时间长的问题,同时由于虚拟机中存储的是字节码,屏蔽了高层合约语言的差异,解决了智能合约语言多样性的问题。
附图说明
图1为智能合约虚拟机安全加固方法的流程图。
图2为监测策略的制定流程图。
图3为智能合约虚拟机安全加固系统的连接关系图。
具体实施方式
下面结合说明书附图和实施例对本发明做进一步的描述。
实施例1
预先制定漏洞监测策略,并创建对应的操作符结构;将漏洞监测策略和操作符结构插入虚拟机层面,并在虚拟机层面生成漏洞阻断机制;在本实施例中,所述阻断机制为阻止或者不运行对应的操作符。
每次合约调试启动之前,将操作符结构进行初始化处理;将合约语句于虚拟机层面上分解为合约操作符组,判断合约操作符组是否符合对应的漏洞监测策略:若符合,将合约操作符组存储于对应的操作符结构内,并更新操作符结构;换言之,操作符结构则是用于存储指定的合约操作符组(疑似漏洞),并针对操作符结构中的合约操作符组执行以下步骤:
基于漏洞监测策略对操作符结构内的合约操作符组进行监测分析,若分析结果为不安全,则存储于对应操作符结构内的合约操作符组将不会被执行,完成动态阻断。
其中,漏洞监测策略为自定义的,即预先根据可能出现的漏洞类型定义处判断各类危险操作的内容,因此其包括两个维度上的定义,第一维度则是基于漏洞类型的区分,根据漏洞类型将策略进行划分。以较为常见的溢出漏洞和时间戳漏洞为例,将漏洞监测策略对应划分为溢出漏洞监测策略和时间戳漏洞为监测策略。第二维度则是不管漏洞类型如何,其均包括了以下内容:感兴趣操作符组,以及限定感兴趣操作符组的操作符规则集合。需要说明的是,操作符规则集合中的元素是对感兴趣操作符组的特征表达,一般采用排序或者参数等进行体现。即操作符规则集合中至少包括:感兴趣操作符组的预定执行顺序和感兴趣操作符组的指定传入参数。
结合上述举例,溢出漏洞监测策略中的感兴趣的操作符组至少包括:ADD、SUB、MUL、ADDMOD、MULMOD和/或EXP;时间漏洞相关的感兴趣操作符至少包括:TIMESTAMP。因此,关于感兴趣操作符组的预定执行顺序,操作符规则集合中则包括:ADD、SUB、MUL、ADDMOD、MULMOD和/或EXP的排序规则,如某一感兴趣的操作符组按照排序为:ADD,ADD,MUL;则将对应的操作符的数量以及相互之间的排序作为该操作符的判定规则进行记录,并存储至操作符规则集合中。
关于感兴趣操作符组的指定传入参数,操作符规则集合中还包括:ADD 0或TIMESTAMP操作符传入一个非0的值这样的特征进行记录。表示当前的某一操作符后带有参数为0的语句。
而以上所涉及到的感兴趣操作符组的预定执行顺序和感兴趣操作符组的指定传入参数是属于较为常见的判定规则,因此在制定漏洞监测策略时预先定义进去,但是不排除会出现其他的判定规则,当前的操作符规则集合未出现过的。或者,预定执行顺序预先定义的种类相对有限,并没有且不能将所有会出现的判定规则一一预先定义,因此在漏洞监测策略的制定时采用自学习式的方式,不断的丰富操作符规则集合和对应的监测策略。
具体表现为,漏洞监测策略的制定流程如下:
基于漏洞触发条件,分解为虚拟机层面的感兴趣操作符组,基于操作符规则集合按照以下优先级顺序生成对应的监测条件:
判断感兴趣操作符组是否满足预定执行顺序:若满足,则制定与预定执行顺序相对应的顺序监测条件;若不满足,则判断是否满足指定传入参数:若满足,则制定与指定传入参数相对应的参数监测条件;若不满足,则寻找新的判定规则,并制定对应的监测条件,同时将新的判定规则更新至操作符规则集合中。
基于上述描述,漏洞触发条件为合约语句中的漏洞,以溢出漏洞为例,比如在solidity合约中,uint8所能表示的范围是0 - 255这256个数,即uinit8 a = 255,a = a+1。这两句话就产生了溢出漏洞,造成a+1之后=0。因此将solidity合约转换为虚拟机层面的操作符,转变成了ADD 1语句。即感兴趣操作符组为ADD,后面的入参为1,结果是0。
因此上述感兴趣操作符组首先是不满足预定执行顺序的,因此直接进入下一步:判断是否满足指定传入参数。显然是满足的,故制定与指定传入参数相对应的参数监测条件。参数监测条件举例表示为:若255 ADD 1,这个语句就超出了unit8(最大255)的范围,可能产生溢出漏洞,ADD是操作符,255和1是参数。
即针对ADD操作符后面入参为0的语句通过参数监测条件进一步判断是否为漏洞。综上所述,监测条件采用返回boolean值的方法生成。
假设,当前的合约语句中的漏洞分解为MUL、ADDMOD和MULMOD,且操作符规则集合中也存在MUL、ADDMOD和MULMOD时,则在制定时的第一步便可完成顺序监测条件的指定,因此MUL、ADDMOD和MULMOD满足预定执行顺序的。监测所有的按照这个顺序排序的操作符,顺序监测条件根据操作符的含义可以表示如下:两个正数相加,结果为负数;两个负数相加,结果是正数;正数减去负数,结果是负数;负数减去正数,结果是正数;以上等等,不再赘述。
基于上述描述,判断合约操作符组是否符合对应的漏洞监测策略的判断流程如下:首先判断合约操作符组中的操作符与感兴趣的操作符组中的操作符的数量和种类是否一致:若不一致,则表示合约操作符组不符合对应的漏洞监测策略;
反之,则获取合约操作符组中的操作符的排列规则,若排列规则属于操作符规则集合,则表示合约操作符组符合对应的漏洞监测策略;若不属于,则表示合约操作符组不符合对应的漏洞监测策略。
若感兴趣操作符的判定规则不属于当前的操作符规则集合,即操作符既不是预定执行顺序,又不是指定传入参数,则需要继续寻找操作符的规律,进一步的,寻找操作新的判定规则的方法如下:
在未限定操作符规则的感兴趣的操作符组中,将排列规则按照出现的频率从高至低的优先级进行排序,并按照上述优先级更新至操作符规则集合中。比如10个操作符里面有8个ADD(高比例出现ADD),则将此类的排序规则作为判定规则增加到操作符规则集合,并制定对应的监测条件。又如,可能会同时存在预定执行顺序和指定传入参数的操作符组合规则,则监测条件应兼顾两个对应规则的监测条件。
为了能够对疑似漏洞的操作符做进一步的分析,故本实施例引入了操作符的概念,操作符结构至少包括:堆栈型结构、队列型结构和树型结构;
将仅涉及预定执行顺序的合约操作符存储于堆栈型结构内,将仅涉及指定传入参数的合约操作存储于队列型结构内,将至少涉及预定执行顺序、指定传入参数的合约操作存储于树型结构内。
换言之,操作符结构是一种结构体,用于存储和分析感兴趣(疑似漏洞)的操作符,比如上文提到ADD、ADD、MUL这三个操作符出现了,怀疑可能存在“溢出漏洞”,于是要在虚拟机种创建一个操作符结构体,用于存储和分析操作符,这个操作符结构里面存储的就是ADD、ADD、MUL三条语句。
换言之,当发现一个感兴趣的操作符时,它先被压入操作符结构堆栈,然后各个监测策略都会监测当前的堆栈操作是否安全,如果堆栈被认为是不安全的,操作符将不会被执行,只有堆栈经过所有监测策略的监测并且被认为是安全的情况下,操作符才可以被执行。
综上所述,本发明是对虚拟机的底层改造,对比类似技术需要较长检测时间,可以达到实时阻断漏洞的目的。同时对智能合约语言不敏感,对应到操作符层面是相同的技术路径,有很强的普适性。
实施例2
为实现实施例1所述的智能合约虚拟机安全加固方法,本实施例公开了基于区块链的智能合约虚拟机安全加固系统,包括:
第一模块,被设置为预先制定漏洞监测策略,并创建对应的操作符结构;将漏洞监测策略和操作符结构插入虚拟机层面,并在虚拟机层面生成漏洞阻断机制;
第二模块,被设置为每次合约调试启动之前,将操作符结构进行初始化处理;将合约语句于虚拟机层面上分解为合约操作符组,判断合约操作符组是否符合对应的漏洞监测策略:若符合,将合约操作符组存储于对应的操作符结构内,并更新操作符结构;
第三模块,被设置为基于漏洞监测策略对操作符结构内的合约操作符组进行监测分析,若分析结果为不安全,则对应的合约操作符组将不会被执行,完成动态阻断。

Claims (7)

1.基于区块链的智能合约虚拟机安全加固方法,其特征在于,至少包括以下步骤:
预先制定漏洞监测策略,并创建对应的操作符结构;将漏洞监测策略和操作符结构插入虚拟机层面,并在虚拟机层面生成漏洞阻断机制;
每次合约调试启动之前,将操作符结构进行初始化处理;将合约语句于虚拟机层面上分解为合约操作符组,判断合约操作符组是否符合对应的漏洞监测策略:若符合,将合约操作符组存储于对应的操作符结构内,并更新操作符结构;
基于漏洞监测策略对操作符结构内的合约操作符组进行监测分析,若分析结果为不安全,则存储于对应操作符结构内的合约操作符组将不会被执行,完成动态阻断;
所述漏洞监测策略至少包括:感兴趣操作符组,以及限定感兴趣操作符组的操作符规则集合;
操作符规则集合中至少包括:感兴趣操作符组的预定执行顺序和感兴趣操作符组的指定传入参数;
所述漏洞监测策略的制定流程如下:
基于漏洞触发条件,分解为虚拟机层面的感兴趣操作符组,基于操作符规则集合按照以下优先级顺序生成对应的监测条件:
判断感兴趣操作符组是否满足预定执行顺序:若满足,则制定与预定执行顺序相对应的顺序监测条件;若不满足,则判断是否满足指定传入参数:若满足,则制定与指定传入参数相对应的参数监测条件;若不满足,则寻找新的判定规则,并制定对应的监测条件,同时将新的判定规则更新至操作符规则集合中。
2.根据权利要求1所述的基于区块链的智能合约虚拟机安全加固方法,其特征在于,所述操作符结构至少包括:堆栈型结构、队列型结构和树型结构;
将仅涉及预定执行顺序的合约操作符存储于堆栈型结构内,将仅涉及指定传入参数的合约操作存储于队列型结构内,将至少涉及预定执行顺序、指定传入参数的合约操作存储于树型结构内。
3.根据权利要求1所述的基于区块链的智能合约虚拟机安全加固方法,其特征在于,判断合约操作符组是否符合对应的漏洞监测策略的判断流程如下:
首先判断合约操作符组中的操作符与感兴趣的操作符组中的操作符的数量和种类是否一致:若不一致,则表示合约操作符组不符合对应的漏洞监测策略;
反之,则获取合约操作符组中的操作符的排列规则,若排列规则属于操作符规则集合,则表示合约操作符组符合对应的漏洞监测策略;若不属于,则表示合约操作符组不符合对应的漏洞监测策略。
4.根据权利要求1所述的基于区块链的智能合约虚拟机安全加固方法,其特征在于,所述漏洞监测策略至少包括:溢出漏洞监测策略和时间漏洞监测策略;
所述监测条件采用返回boolean值的方法生成。
5.根据权利要求4所述的基于区块链的智能合约虚拟机安全加固方法,其特征在于,
所述溢出漏洞监测策略中的感兴趣的操作符组至少包括:ADD、SUB、MUL、ADDMOD、MULMOD和/或EXP;
所述时间漏洞相关的感兴趣操作符至少包括:TIMESTAMP。
6.根据权利要求1所述的基于区块链的智能合约虚拟机安全加固方法,其特征在于,所述寻找新的判定规则的寻找方法如下:
在未限定操作符规则的感兴趣的操作符组中,将排列规则按照出现的频率从高至低的优先级进行排序,并按照上述优先级更新至操作符规则集合中。
7.基于区块链的智能合约虚拟机安全加固系统,用于实现如权利要求1至6中任意一项所述的智能合约虚拟机安全加固方法,其特征在于,包括:
第一模块,被设置为预先制定漏洞监测策略,并创建对应的操作符结构;将漏洞监测策略和操作符结构插入虚拟机层面,并在虚拟机层面生成漏洞阻断机制;
第二模块,被设置为每次合约调试启动之前,将操作符结构进行初始化处理;将合约语句于虚拟机层面上分解为合约操作符组,判断合约操作符组是否符合对应的漏洞监测策略:若符合,将合约操作符组存储于对应的操作符结构内,并更新操作符结构;
第三模块,被设置为基于漏洞监测策略对操作符结构内的合约操作符组进行监测分析,若分析结果为不安全,则存储于对应操作符结构内的合约操作符组将不会被执行,完成动态阻断。
CN202310753476.1A 2023-06-26 2023-06-26 基于区块链的智能合约虚拟机安全加固方法及其系统 Active CN116541852B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310753476.1A CN116541852B (zh) 2023-06-26 2023-06-26 基于区块链的智能合约虚拟机安全加固方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310753476.1A CN116541852B (zh) 2023-06-26 2023-06-26 基于区块链的智能合约虚拟机安全加固方法及其系统

Publications (2)

Publication Number Publication Date
CN116541852A CN116541852A (zh) 2023-08-04
CN116541852B true CN116541852B (zh) 2023-09-12

Family

ID=87452715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310753476.1A Active CN116541852B (zh) 2023-06-26 2023-06-26 基于区块链的智能合约虚拟机安全加固方法及其系统

Country Status (1)

Country Link
CN (1) CN116541852B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287002A (zh) * 2019-06-19 2019-09-27 清华大学 一种以太坊虚拟机缺陷检测方法及系统
CN110633567A (zh) * 2019-05-31 2019-12-31 天津理工大学 一种基于rasp的智能合约虚拟机漏洞检测系统及方法
CN113919841A (zh) * 2021-12-13 2022-01-11 北京雁翎网卫智能科技有限公司 一种基于静态特征和动态插桩的区块链交易监测方法及系统
CN115062312A (zh) * 2022-06-27 2022-09-16 中国人民银行数字货币研究所 智能合约漏洞检测方法、装置、设备和存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633567A (zh) * 2019-05-31 2019-12-31 天津理工大学 一种基于rasp的智能合约虚拟机漏洞检测系统及方法
CN110287002A (zh) * 2019-06-19 2019-09-27 清华大学 一种以太坊虚拟机缺陷检测方法及系统
CN113919841A (zh) * 2021-12-13 2022-01-11 北京雁翎网卫智能科技有限公司 一种基于静态特征和动态插桩的区块链交易监测方法及系统
CN115062312A (zh) * 2022-06-27 2022-09-16 中国人民银行数字货币研究所 智能合约漏洞检测方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN116541852A (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
KR20190041912A (ko) 바이너리 기반 보안 취약점 탐색 시스템, 그 방법 및 프로그램
Bernardi et al. Security modelling and formal verification of survivability properties: Application to cyber–physical systems
US20100205651A1 (en) Security operation management system, security operation management method, and security operation management program
CN113419960B (zh) 用于可信操作系统内核模糊测试的种子生成方法及系统
CN108183897B (zh) 一种信息物理融合系统安全风险评估方法
CN115033892A (zh) 一种组件漏洞分析方法、装置、电子设备及存储介质
KR101696694B1 (ko) 역추적을 이용한 소스 코드 취약점 분석 방법 및 장치
CN114866330B (zh) 采用ai和大数据分析的威胁攻击防护决策方法及ai系统
Sadeghi et al. Mining the categorized software repositories to improve the analysis of security vulnerabilities
Zahan et al. Shifting the Lens: Detecting Malware in npm Ecosystem with Large Language Models
CN113849817A (zh) 一种JavaScript原型链污染漏洞的检测方法及装置
CN116541852B (zh) 基于区块链的智能合约虚拟机安全加固方法及其系统
CN116305131B (zh) 脚本静态去混淆方法及系统
CN111091285B (zh) 电力终端设备安全风险本体构建方法
CN111104670B (zh) 一种apt攻击的识别和防护方法
George et al. A preliminary study on common programming mistakes that lead to buffer overflow vulnerability
US10848463B2 (en) Listen mode for machine whitelisting mechanisms
CN113836532A (zh) 一种基于污点分析的php静态代码分析方法
Jiang et al. An exploitability analysis technique for binary vulnerability based on automatic exception suppression
CN115391780B (zh) 应用代码的安全加固方法、系统、设备及存储介质
CN118502732B (zh) 字节码程序的分析方法、装置、设备和介质
CN118487872B (zh) 一种面向核电行业的网络异常行为检测分析方法
CN114201359B (zh) 一种基于普通函数和内核函数混合调用控制流图的智能主动软件防护方法
CN112926058B (zh) 代码处理方法、污点分析方法和装置
CN118337529B (zh) 基于执行路径和堆栈事件的智能合约漏洞检测方法和设备

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