CN116610326A - 区块链智能合约的安全性检测方法、设备及存储介质 - Google Patents
区块链智能合约的安全性检测方法、设备及存储介质 Download PDFInfo
- Publication number
- CN116610326A CN116610326A CN202310491448.7A CN202310491448A CN116610326A CN 116610326 A CN116610326 A CN 116610326A CN 202310491448 A CN202310491448 A CN 202310491448A CN 116610326 A CN116610326 A CN 116610326A
- Authority
- CN
- China
- Prior art keywords
- code
- source code
- security
- intelligent contract
- blockchain
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 70
- 230000003068 static effect Effects 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims description 19
- 230000015654 memory Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 9
- 230000008014 freezing Effects 0.000 claims description 4
- 238000007710 freezing Methods 0.000 claims description 4
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012038 vulnerability analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种区块链智能合约的安全性检测方法、设备及存储介质,包括:提取区块链上智能合约的源代码;对源代码进行代码分析,确定智能合约的安全漏洞,其中代码分析包括静态代码分析和动态代码分析;通过对安全漏洞进行检测,获得检测结果;对检测结果进行分类与评估,生成检测报告。通过静态代码分析和动态代码分析分别针对区块链智能合约源代码的不同运行情况,对提取的源代码进行分析,确定智能合约中的安全漏洞,为智能合约安全性提供保障。
Description
技术领域
本公开涉及区块链技术领域,尤其涉及一种区块链智能合约的安全性检测方法、设备及存储介质。
背景技术
区块链技术作为一种分布式存储技术,具有数据不可更改、安全性高和公开透明等特点。与传统的分布式存储有所不同,区块链的分布式存储主要体现在两个方面,一是区块链每个节点都按照块链式结构存储完整的数据,二是区块链每个节点存储都是独立的、地位等同是,依靠共识机制保障存储的一致性。
智能合约是基于区块链技术的一种自动执行的代码,具有独立性和可验证性等特点,基于可信的不可篡改的数据,自动执行一些预先定义好的规则和条款,能够应用在金融和物联网领域之中。需要说明的是,伴随着智能合约的广泛应用,其安全性成为了极其重要的问题,因此对于智能合约安全性的检测也尤为重要。
当前对于智能合约的审查一般由人工进行,而人工审核受个体技术水平的影响,审查结果准确性难以保障,且审查时间较长。
发明内容
有鉴于此,本申请提出一种区块链智能合约的安全性检测方法及控制系统,以解决上述问题。
本申请一方面,提出一种区块链智能合约的安全性检测方法,包括如下步骤:
提取区块链上智能合约的源代码;
对所述源代码进行代码分析,确定所述智能合约的安全漏洞,其中所述代码分析包括静态代码分析和动态代码分析;
通过对所述安全漏洞进行检测,获得检测结果;
对所述检测结果进行分类与评估,生成检测报告。
作为本申请的一可选实施方案,可选地,提取区块链上智能合约的源代码,包括:
判断所述智能合约的源代码是否公开;
在所述源代码公开时,通过公开渠道获取已经公开的所述源代码;
在所述源代码未公开时,获取所述智能合约的EVM代码,并利用编译器对所述EVM代码进行反编译,转换为所述源代码,其中所述源代码为Solidity源代码。
作为本申请的一可选实施方案,可选地,所述获取所述智能合约的EVM代码包括:
部署所述区块链的归档节点;
通过所述归档节点获取所述智能合约的EVM代码。
作为本申请的一可选实施方案,可选地,对所述源代码进行分析,确定所述智能合约的安全漏洞,包括:
对所述Solidity源代码和所述EVM代码进行翻译并反编译后,获得F函数语言结果;
验证所述F函数语言结果中,所述Solidity源代码和所述EVM代码是否等价,确定所述智能合约中是否存在安全漏洞。
作为本申请的一可选实施方案,可选地,对所述检测结果进行分类与评估,生成检测报告,包括:
将所述检测结果按照漏洞等级或漏洞类型进行分类,获得漏洞列表;
对所述漏洞列表中的漏洞信息进行显示,获得检测报告。
作为本申请的一可选实施方案,可选地,所述检测结果包括全局变量依赖漏洞、短地址漏洞、主网币冻结漏洞、时间戳依赖漏洞、无GAS漏洞、整数溢出漏洞和重入攻击漏洞。
作为本申请的一可选实施方案,可选地,所述静态代码分析,包括:
在所述源代码未运行时,通过检查所述源代码中的语法和结构识别所述安全漏洞。
作为本申请的一可选实施方案,可选地,所述动态代码分析,包括:
在所述源代码运行时,通过EVM工具监控所述智能合约的执行,识别所述安全漏洞。
本申请另一方面,提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现上述任一项所述的区块链智能合约的安全性检测方法。
本申请再一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述任一项所述的区块链智能合约的安全性检测方法。
本发明的技术效果:
本申请通过对区块链上智能合约的源代码进行混合代码分析,从而确定智能合约的安全漏洞,进而实现对智能合约安全性的检测。具体的,利用静态分析和动态分析识别智能合约中的各种类型的安全漏洞,如高风险漏洞、中风险漏洞或低风险漏洞,提高漏洞检测的准确性和覆盖率,同时快速确定智能合约的执行路径、状态变化以及可能的安全漏洞,避免了人工检测的繁琐和低效。静态代码分析和动态代码分析分别针对区块链智能合约源代码的不同运行情况,对提取的源代码进行分析,确定智能合约中的安全漏洞,为智能合约安全性提供保障。
根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本公开的示例性实施例、特征和方面,并且用于解释本公开的原理。
图1示出为本发明区块链智能合约的安全性检测方法的实施流程示意图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
实施例1
如图1所示,本申请提供一种区块链智能合约的安全性检测方法,包括如下步骤:
S100、提取区块链上智能合约的源代码;
S200、对所述源代码进行代码分析,确定所述智能合约的安全漏洞,其中所述代码分析包括静态代码分析和动态代码分析;
S300、通过对所述安全漏洞进行检测,获得检测结果;
S400、对所述检测结果进行分类与评估,生成检测报告。
本实施例中,通过对区块链上智能合约的源代码进行代码分析,从而确定智能合约的安全漏洞,进而实现对智能合约安全性的检测。首先,通过步骤S100、提取区块链上智能合约的源代码,具体的,通过反编译手段从区块链网络上获取智能合约的源代码,需要说明的是,由于智能合约所运行的区块链平台不同,如ETH或BSC等,通过部署五大主要公链的全节点,实现实时同步查询区块链数据智能合约,提取智能合约的源代码。此处,需要说明的是,针对已经公开的智能合约的源代码,能够通过公开渠道获取,而针对未公开的源代码的智能合约,通过部署的公联全节点获取智能合约的二进制代码,并利用智能合约代码反编译手段进行反编译获取。
提取到区块链智能合约的源代码后,通过步骤S200、对源代码进行代码分析,确定智能合约的安全漏洞,其中代码分析包括静态代码分析和动态代码分析。具体的,静态代码分析主要在不实际运行代码的情况下,对代码进行分析,通过检查代码中的语法以及结构等特征识别潜在的漏洞和安全问题。动态代码分析主要在运行过程中实现对于代码的监控和分析,识别潜在的漏洞和安全问题,需要说明的是,在动态代码分析的过程中,通过离线EVM工具在安全的环境下监控智能合约的执行情况,以便进行后续分析,由此实现快速确定智能合约的执行路径、状态变化以及可能的安全漏洞,避免了人工检测的繁琐和低效。
在确定智能合约的安全漏洞后,由步骤S300、通过对安全漏洞进行检测,获得检测结果,需要说明的是,检测结果包括全局变量依赖漏洞、短地址漏洞、主网币冻结漏洞、时间戳依赖漏洞、无GAS漏洞、重入漏洞、整数溢出漏洞、delegatecall委托调用漏洞、变量依赖漏洞、异常处理漏洞和拒绝服务漏洞,针对区块链的特殊环境,对上述漏洞有针对性地进行检测,获得检测结果。
获得检测结果后,通过步骤S400、对检测结果进行分类与评估,生成检测报告,将检测结果输出至检测报告中,并根据检测结果标识修复措施和修复建议,将检测结果可视化,从而提高智能合约的安全性。具体的,根据所发现的安全漏洞等级或类别中的至少一个进行分类,生成漏洞列表。此处,需要说明的是,安全漏洞等级包括高风险漏洞、中风险漏洞和低风险漏洞,根据安全漏洞的不同等级进行分类,并在漏洞列表中显示漏洞的关键信息,如,合约地址、漏洞类型或漏洞严重程度等,同时查看漏洞列表中的漏洞详细信息,如漏洞触发条件、漏洞描述和复现步骤等,向用户反应安全漏洞的具体详情。进一步的,在漏洞详情中,通过将涉及安全漏洞的源代码高亮显示,以使用户定位漏洞发生的具体位置及确定漏洞发生的原因。
通过本申请的区块链智能合约的安全性检测方法,能够自动对智能合约进行静态分析和动态分析,利用混合式分析识别智能合约中的各种类型的安全漏洞,如高风险漏洞或低风险漏洞,提高漏洞检测的准确性和覆盖率。同时,检测过程自动化执行,有效的减少人工操作的要求和技术储备的要求,提高了检测的效率以及可靠性。
作为本申请的一可选实施方案,可选地,提取区块链上智能合约的源代码,包括:
判断所述智能合约的源代码是否公开;
在所述源代码公开时,通过公开渠道获取已经公开的所述源代码;
在所述源代码未公开时,获取所述智能合约的EVM代码,并利用编译器对所述EVM代码进行反编译,转换为所述源代码,其中所述源代码为Solidity源代码。
进一步的,作为本申请的一可选实施方案,可选地,所述获取所述智能合约的EVM代码包括:
部署所述区块链的归档节点;
通过所述归档节点获取所述智能合约的EVM代码。
更进一步的,作为本申请的一可选实施方案,可选地,对所述源代码进行分析,确定所述智能合约的安全漏洞,包括:
对所述Solidity源代码和所述EVM代码进行翻译并反编译后,获得F函数语言结果;
验证所述F函数语言结果中,所述Solidity源代码和所述EVM代码是否等价,确定所述智能合约中是否存在安全漏洞。
本实施例中,通过判断智能合约源代码是否公开,确定源代码的获取方式。在源代码公开时,经由公开渠道获取已经公开的源代码,具体而言,能够通过以太坊区块链浏览器,如Etherscan上搜索智能合约的地址或名称,找到智能合约的详细信息页面,并在详细信息页面中,查看智能合约的源代码;进一步的,如果智能合约通过公共代码仓库,如Github发布,则可以在该代码仓库中查找智能合约的代码,在Github上搜索智能合约的名称或地址,若找到该智能合约的代码仓库,可以通过访问该仓库查看代码是否开源。更进一步的,通过公开渠道获取已经公开的源代码,也即开源代码后,转化为对应的EVM代码,并进行对应的EVM代码的校验,从而确保区块链上应用的智能合约与开源代码的一致性。而在源代码还未公开时,根据智能合约所运行的区块链平台类型部署区块链的归档节点,也即公链全节点。具体而言,通过在云服务器中部署开源的以太坊归档节点代码,利用归档节点获取智能合约的EVM代码,使用Solidity集成开发环境(IDE)利用编译器的反编译功能,将EVM代码转换为Solidity源代码。为了能够实现高效提取智能合约的源代码,本实施例通过部署五大公链的全节点,实现对于不同公链的归档节点能够随时同步所有区块链数据智能合约,并对智能合约的查询实现毫秒级响应。此处,需要说明的是,在对于源代码的分析过程中,需要对EVM代码和Solidity源代码进行一致性测试,利用一致性测试在漏洞分析中提供更好的精度与误报率。具体的,将Solidity源代码和EVM代码依次翻译并反编译成F函数式编程语言后,通过验证F语言结果中两个代码的等价性,确定智能合约中是否存在安全漏洞。
作为本申请的一可选实施方案,可选地,对所述检测结果进行分类与评估,生成检测报告,包括:
将所述检测结果按照漏洞等级或漏洞类型进行分类,获得漏洞列表;
对所述漏洞列表中的漏洞信息进行显示,获得检测报告。
本实施例中,将检测结果获得的安全漏洞,按照漏洞不同等级或漏洞类别进行分类,并显示出漏洞的关键信息。如,按照高风险漏洞、中风险漏洞或低风险漏洞将检测结果分类,显示漏洞中的合约地址或严重程度等。再如,将检测结果按照整数溢出漏洞和重入攻击漏洞等漏洞具体类型进行分类,生成漏洞列表,并显示漏洞合约地址等关键信息。进一步的,对于漏洞列表中的漏洞,标识出漏洞的具体描述、触发条件或复现步骤,其中可采用易于理解的语言描述漏洞及其影响,提高漏洞检测的效率及可靠性。还需要说明的是,能够通过检测报告查看合约的源代码以及合约的调用关系,更进一步的确定漏洞的背景及上下文。
作为本申请的一可选实施方案,可选地,所述检测结果包括全局变量依赖漏洞、短地址漏洞、主网币冻结漏洞、时间戳依赖漏洞、无GAS漏洞、整数溢出漏洞和重入攻击漏洞。
作为本申请的一可选实施方案,可选地,所述静态代码分析,包括:
在所述源代码未运行时,通过检查所述源代码中的语法和结构识别所述安全漏洞。
作为本申请的一可选实施方案,可选地,所述动态代码分析,包括:
在所述源代码运行时,通过EVM工具监控所述智能合约的执行,识别所述安全漏洞。具体的,基于Github开源的EVM代码在其逻辑上增加关键执行节点及触发事件的数据收集能力来构建安全检测环境的EVM检测工具,利用构建的EVM检测工具监控智能合约的执行。
综上所述,为了改善人工审核过程中,个人技术水平有限性带来的审查问题,本申请通过区块链智能合约的安全性检测方法,对智能合约的代码进行详细分析和检测,确保智能合约的安全性和正确性,同时提高智能合约审查的效率,为区块链应用的开发和运行提供更好的保障。通过混合式代码分析识别潜在的漏洞和安全问题,自动提取智能合约源代码,并能够在智能合约上进行动态分析,实现全面检测安全风险的目的。
需要说明的是,尽管以作为示例介绍了如上,但本领域技术人员能够理解,本公开应不限于此。事实上,用户完全可根据实际应用场景灵活设定,只要可以按照上述技术方法实现本申请的技术功能即可。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各控制方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(RandomAccessMemory,RAM)、快闪存储器(FlashMemory)、硬盘(HardDiskDrive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
实施例2
进一步地,本申请提供一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现上述任一项所述的区块链智能合约的安全性检测方法。
本公开实施例电子设备包括处理器以及用于存储处理器可执行指令的存储器。其中,处理器被配置为执行可执行指令时实现前面任一所述的一种区块链智能合约的安全性检测方法。
此处,应当指出的是,处理器的个数可以为一个或多个。同时,在本公开实施例的电子设备中,还可以包括输入装置和输出装置。其中,处理器、存储器、输入装置和输出装置之间可以通过总线连接,也可以通过其他方式连接,此处不进行具体限定。
存储器作为一计算机可读存储介质,可用于存储软件程序、计算机可执行程序和各种模块,如:本公开实施例的一种区块链智能合约的安全性检测方法所对应的程序或模块。处理器通过运行存储在存储器中的软件程序或模块,从而执行控制系统的各种功能应用及数据处理。
输入装置可用于接收输入的数字或信号。其中,信号可以为产生与设备/终端/服务器的用户设置以及功能控制有关的键信号。输出装置可以包括显示屏等显示设备。
实施例3
本申请再一方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序被包括多个应用程序的电子设备执行时,使得所述电子设备执行上述任一项所述的区块链智能合约的安全性检测方法。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种区块链智能合约的安全性检测方法,其特征在于,包括如下步骤:
提取区块链上智能合约的源代码;
对所述源代码进行代码分析,确定所述智能合约的安全漏洞,其中所述代码分析包括静态代码分析和动态代码分析;
通过对所述安全漏洞进行检测,获得检测结果;
对所述检测结果进行分类与评估,生成检测报告。
2.根据权利要求1所述的区块链智能合约的安全性检测方法,其特征在于,提取区块链上智能合约的源代码,包括:
判断所述智能合约的源代码是否公开;
在所述源代码公开时,通过公开渠道获取已经公开的所述源代码;
在所述源代码未公开时,获取所述智能合约的EVM代码,并利用编译器对所述EVM代码进行反编译,转换为所述源代码,其中所述源代码为Solidity源代码。
3.根据权利要求2所述的区块链智能合约的安全性检测方法,其特征在于,所述获取所述智能合约的EVM代码包括:
部署所述区块链的归档节点;
通过所述归档节点获取所述智能合约的EVM代码。
4.根据权利要求2所述的区块链智能合约的安全性检测方法,其特征在于,对所述源代码进行分析,确定所述智能合约的安全漏洞,包括:
对所述Solidity源代码和所述EVM代码进行翻译并反编译后,获得F函数语言结果;
验证所述F函数语言结果中,所述Solidity源代码和所述EVM代码是否等价,确定所述智能合约中是否存在安全漏洞。
5.根据权利要求1所述的区块链智能合约的安全性检测方法,其特征在于,对所述检测结果进行分类与评估,生成检测报告,包括:
将所述检测结果按照漏洞等级或漏洞类型进行分类,获得漏洞列表;
对所述漏洞列表中的漏洞信息进行显示,获得检测报告。
6.根据权利要求5所述的区块链智能合约的安全性检测方法,其特征在于,所述检测结果包括全局变量依赖漏洞、短地址漏洞、主网币冻结漏洞、时间戳依赖漏洞、无GAS漏洞、整数溢出漏洞和重入攻击漏洞。
7.根据权利要求1所述的区块链智能合约的安全性检测方法,其特征在于,所述静态代码分析,包括:
在所述源代码未运行时,通过检查所述源代码中的语法和结构识别所述安全漏洞。
8.根据权利要求1所述的区块链智能合约的安全性检测方法,其特征在于,所述动态代码分析,包括:
在所述源代码运行时,通过EVM工具监控所述智能合约的执行,识别所述安全漏洞。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述可执行指令时实现权利要求1至8中任一项所述的区块链智能合约的安全性检测方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求1至8中任一项所述的区块链智能合约的安全性检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310491448.7A CN116610326A (zh) | 2023-05-04 | 2023-05-04 | 区块链智能合约的安全性检测方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310491448.7A CN116610326A (zh) | 2023-05-04 | 2023-05-04 | 区块链智能合约的安全性检测方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116610326A true CN116610326A (zh) | 2023-08-18 |
Family
ID=87679189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310491448.7A Pending CN116610326A (zh) | 2023-05-04 | 2023-05-04 | 区块链智能合约的安全性检测方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116610326A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117034299A (zh) * | 2023-10-09 | 2023-11-10 | 广东时汇信息科技有限公司 | 一种基于区块链的智能合约安全检测系统 |
-
2023
- 2023-05-04 CN CN202310491448.7A patent/CN116610326A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117034299A (zh) * | 2023-10-09 | 2023-11-10 | 广东时汇信息科技有限公司 | 一种基于区块链的智能合约安全检测系统 |
CN117034299B (zh) * | 2023-10-09 | 2024-01-26 | 广东时汇信息科技有限公司 | 一种基于区块链的智能合约安全检测系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763928B (zh) | 一种开源软件漏洞分析方法、装置和存储介质 | |
CN107577947B (zh) | 信息系统的漏洞检测方法、系统、存储介质和电子设备 | |
CN110929264B (zh) | 漏洞检测方法、装置、电子设备及可读存储介质 | |
CN101017458A (zh) | 基于源代码静态分析的软件安全代码分析器及其检测方法 | |
KR20090051956A (ko) | 악성 코드에 의해 삽입된 동적 연결 라이브러리 검출 장치 및 방법 | |
US8572747B2 (en) | Policy-driven detection and verification of methods such as sanitizers and validators | |
KR101972825B1 (ko) | 하이브리드 분석 기술을 이용한 임베디드 기기 취약점 자동 분석 방법, 장치 및 그 방법을 실행하는 컴퓨터 프로그램 | |
CN113114680B (zh) | 用于文件上传漏洞的检测方法和检测装置 | |
CN114598504B (zh) | 一种风险评估方法、装置、电子设备及可读存储介质 | |
CN114386032A (zh) | 电力物联网设备的固件检测系统及方法 | |
CN115146282A (zh) | 基于ast的源代码异常检测方法及其装置 | |
CN116610326A (zh) | 区块链智能合约的安全性检测方法、设备及存储介质 | |
CN110851352A (zh) | 一种模糊测试系统及终端设备 | |
CN110032505A (zh) | 软件质量确定装置、软件质量确定方法和软件质量确定程序 | |
CN109815697A (zh) | 误报行为处理方法及装置 | |
CN112738094A (zh) | 可扩展的网络安全漏洞监测方法、系统、终端及存储介质 | |
CN115391230A (zh) | 一种测试脚本生成、渗透测试方法、装置、设备及介质 | |
CN109657462B (zh) | 数据检测方法、系统、电子设备和存储介质 | |
EP3945441A1 (en) | Detecting exploitable paths in application software that uses third-party libraries | |
CN115982713A (zh) | 漏洞修复方法、装置、电子设备和计算机可读存储介质 | |
CN115643044A (zh) | 数据处理方法、装置、服务器及存储介质 | |
CN114553551A (zh) | 对入侵防御系统进行测试的方法及装置 | |
Tatarinova | Avia: Automatic vulnerability impact assessment on the target system | |
EP3964987A1 (en) | Learning device, determination device, learning method, determination method, learning program, and determination program | |
CN110795338A (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 |