CN113919841A - 一种基于静态特征和动态插桩的区块链交易监测方法及系统 - Google Patents

一种基于静态特征和动态插桩的区块链交易监测方法及系统 Download PDF

Info

Publication number
CN113919841A
CN113919841A CN202111513734.6A CN202111513734A CN113919841A CN 113919841 A CN113919841 A CN 113919841A CN 202111513734 A CN202111513734 A CN 202111513734A CN 113919841 A CN113919841 A CN 113919841A
Authority
CN
China
Prior art keywords
transaction
malicious
dynamic
module
instrumentation
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
Application number
CN202111513734.6A
Other languages
English (en)
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.)
Beijing Yanling Wangwei Intelligent Technology Co ltd
Original Assignee
Beijing Yanling Wangwei Intelligent Technology 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 Beijing Yanling Wangwei Intelligent Technology Co ltd filed Critical Beijing Yanling Wangwei Intelligent Technology Co ltd
Priority to CN202111513734.6A priority Critical patent/CN113919841A/zh
Publication of CN113919841A publication Critical patent/CN113919841A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/405Establishing or using transaction specific rules

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于静态特征和动态插桩的区块链交易监测方法及系统,通过交易数据静态语义分析以及交易重放动态执行检测的方式,最大程度地降低恶意交易的检测误报率,更准确地区分恶意交易和正常交易行为,并通过智能合约虚拟机插桩和动态污点分析的方法,检测交易中敏感数据的传播行为;同时利用了机器学习的方法,分析了恶意交易行为和正常交易行为通过系统动静态的方法检测后的返回结果,并增加了最后的研判阶段,可以有效判断该交易是否为恶意交易。本发明可检测区块链相应智能合约的交易,并辅助了机器学习算法采用静态特征分析和动态执行检测结合分析的方式有效提高检测准确率,对于提升检测准确度有着显著效果。

Description

一种基于静态特征和动态插桩的区块链交易监测方法及系统
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种基于静态特征和动态插桩的区块链交易监测方法及系统。
背景技术
随着网络信息化程度的进一步提高以及区块链技术的发展,近年来基于区块链的交易市场规模扩张迅速,同时由于链上的交易和数据缺乏监管,使得区块链上存有大量的恶意交易,威胁着链上智能合约和用户资金的安全,造成不可估量的经济损失。
区块链最重要的技术特色之一就是智能合约。智能合约是存储在区块链上的程序,可以协助和验证合约的谈判和运行。很多区块链平台都支持了智能合约的运行。区块链的智能合约可以用数种图灵完备的编程语言写成。智能合约使得区块链平台的开发者能够定义更多的规则,生成更多去中心化的应用供平台用户进行调用和交互。一方面,因为合约内容公开,合约可以证明其宣称的功能是真实的。另一方面,合约的公开性也表示如果合约中有漏洞,任何人都可以立刻看到,而修正程序可能会需要一些时间。同时由于智能合约要保证充分的公正性,往往无法向其他软件一样进行更新升级,因此一旦出现漏洞难以修复。The DAO 就是一个例子,无法及时阻止,最终通过硬分叉的形式强行挽回了资金损失,但是硬分叉是一种相对来说损害去中心化的方式,因此如何检测这种针对智能合约漏洞的攻击是很有必要的。
目前对于区块链上的智能合约的漏洞检测方案有oyente、securify、mythril等,只能静态地针对合约代码进行审计,检测其是否存在某一类的漏洞或者缺陷。但是由于目前智能合约丰富的可组合性,使得很多潜在的威胁无法被检测到,例如闪电贷攻击就是通过各个合约的组合,借出大量资金,对某一合约的预言机漏洞或者其他漏洞进行攻击利用,套取大量利润。因此有时需要实时监测恶意交易才能确定是否有恶意行为的出现,并且及时采取相关防御措施,并且后续修复和溯源。目前针对智能合约的经典漏洞(整数溢出、重入漏洞、时间戳依赖漏洞等)的恶意交易检测和研究比较丰富,但是无法对于一些代码逻辑上的漏洞进行检测,也无法对闪电贷漏洞进行检测,同时静态分析产生的漏洞误报率比较高。另外目前针对区块链上的交易监测和数据分析,都仅仅是用于追踪资产流向的目的,很少涉及到恶意交易的监测。
发明内容
为了克服上述现有技术的不足,本发明提供一种基于静态特征和动态插桩的区块链交易监测方法及系统,可检测包括造成资金流失结果的各类恶意交易,并通过动态监测和动态执行的方法来提高恶意交易的检测准确率。
本发明提供的基于静态特征和动态插桩的区块链交易监测方法及系统,建立了各种恶意交易模型,通过对目前区块链实时交易数据的分析处理,能够最大程度地检出恶意交易,并且在本地区块链网络进行重放,确认恶意交易是否真正危害到合约和用户安全,最大程度地分辨出正常交易和恶意交易。具体技术方案如下:
一种基于静态特征和动态插桩的区块链交易监测方法,主要包括:交易数据提取与解析阶段、交易数据静态检测阶段、交易数据动态执行测试阶段、交易确认与上报阶段;其中:
交易数据提取与解析阶段执行如下步骤:
步骤1,运行区块链主网络节点客户端,对要监测的智能合约地址进行收集;
步骤2,监测将要验证确认的交易,提取其中from或者to地址为目标智能合约地址的交易;
步骤3,解析交易的Input Data字段,对应相关智能合约获取调用函数和参数;
交易数据静态检测阶段具体执行如下步骤:
步骤4,将步骤3获得的调用函数和参数放入智能合约的恶意交易静态检测规则中进行匹配,如果有恶意交易特征则进行步骤5,如果无恶意交易特征则为正常交易,予以忽略;
交易数据动态执行测试阶段具体执行如下步骤:
步骤5,将静态检测中存有恶意交易特征的交易,放入系统中本地运行的节点网络中进行广播;
步骤6,通过虚拟机动态插桩和动态污点分析的方法,对执行过程中的合约状态进行监测,同时将最后事件日志和交易结果进行提取解析,与既定的正常和恶意的交易特征规则进行匹配;
交易确认与上报阶段执行如下步骤:
步骤7,将步骤4和步骤6中对该交易的分析结果返回,通过机器学习辅助规则匹配分析结果,研判是否存在恶意行为;
步骤8,将研判后确认为恶意交易的交易上报给监测系统的使用者和管理员,进行预警。
利用上述区块链交易监测方法,本发明实现了相应的区块链交易监测系统,包括:交易数据提取与解析子系统、交易数据静态检测子系统、交易数据动态执行测试子系统以及交易确认与上报子系统;其中:
交易数据提取与解析子系统包括交易数据提取模块和交易数据解析模块;交易数据提取模块用于提取与目标智能合约相关的交易的from地址、to地址、Input Data字段以及value值;交易数据解析模块用于解析交易数据Input Data字段为相应的函数以及传入的参数信息;
交易数据静态检测子系统包括全局状态获取模块和静态规则匹配模块;全局状态获取模块用于获取区块链当前合约下的全局状态,包括持有者地址、余额等状态信息;静态规则匹配模块中集成了各种资金流失类恶意交易的行为特征,如异常无符号整型参数、敏感data参数等等,用于匹配恶意交易数据特征,分析是否存在有恶意行为。
交易数据动态执行测试子系统包括交易重放模块、虚拟机动态插桩模块和动态污点分析模块;交易重放模块用于在本地的动态测试区块链环境重放疑似恶意的交易;虚拟机动态插桩模块用于对智能合约中的指令前后进行Hook,生成相应的回调函数,分析所执行的指令行为,同时对智能合约中的事件的生成进行Hook,生成相应的回调函数,分析新生成事件的结果,与指令行为进行比对;动态污点分析模块用于检测污点数据的传播路径,支持不同智能合约相互调用间的污点传播。
交易确认与上报子系统包括恶意交易研判确认模块和恶意交易上报模块;恶意交易研判确认模块用于采集和分析交易数据静态检测子系统与交易数据动态执行测试子系统生成的恶意交易信息,最后通过机器学习辅助规则匹配的方式生成判断结果;恶意交易上报模块用于上报经过系统确认过的恶意交易,并通知到系统的使用者。
本发明的有益效果是:
本发明提供的基于静态特征和动态插桩的区块链交易监测方法及系统,通过交易数据静态语义分析以及交易重放动态执行检测的方式,最大程度地降低恶意交易的检测误报率,更准确地区分恶意交易和正常交易行为,并通过智能合约虚拟机插桩和动态污点分析的方法,检测交易中敏感数据的传播行为。同时利用了机器学习的方法,分析了恶意交易行为和正常交易行为通过系统动静态的方法检测后的返回结果,并增加了最后的研判阶段,可以有效判断该交易是否为恶意交易。本发明可检测区块链相应智能合约的交易,并辅助了机器学习算法采用静态特征分析和动态执行检测结合分析的方式有效提高检测准确率,对于提升检测准确度有着显著效果。
附图说明
图1为本发明的区块链交易检测方法的流程框图。
图2为本发明实施例提供的区块链交易监测系统的结构框图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
如图1所示的区块链交易检测方法的流程,具体实施包括四个阶段:
阶段一、交易数据提取与解析阶段;
阶段二、交易数据静态检测阶段;
阶段三、交易数据动态执行测试阶段;
阶段四、交易确认与上报阶段。
所述阶段一包括如下步骤:
步骤1,运行区块链主网络节点客户端,对要监测的智能合约地址进行收集;
其中,要监测的智能合约地址包括但不限于:
资金量较大的DeFi合约项目地址,例如Aave、Curve、Maker、Compound、WBTC、Uniswap等项目。
NFT合约项目地址,例如CryptoPunks、Bored Ape Yacht Club、CryptoKitties等NFT合约项目。
步骤2,监测将要验证确认的交易,提取其中from或者to地址为目标智能合约地址的交易;
步骤3,解析交易的Input Data字段,对应相关智能合约获取调用函数和参数;
进一步的,解析交易的Input Data字段的代码,以下以对一个Deposit函数交易的解析为例:
type MethodCall struct {
Method abi.Method
Args []interface{}
}
// ExtractInput 解析合约指定接口方法的调用输入input
func ExtractInput(input []byte) (*MethodCall, error) {
// method id与具体方法的map
methodIDmap := make(map[string]abi.Method)
abiContract, _ := abi.JSON(strings.NewReader(util.ABI))
for _, v := range abiContract.Methods {
methodIDmap[hexutil.Encode(v.ID)] = v
}
inputStr := hexutil.Encode(input)
for id, method := range methodIDmap {
if strings.HasPrefix(inputStr, id) {
fmt.Println("0x"+inputStr[10:])
inputData, _ := hexutil.Decode("0x"+inputStr[10:])
args, err := getInputArguments(abiContract, method.Name,inputData)
if err != nil {
return &MethodCall{
Method: method,
Args: nil,
}, fmt.Errorf("ExtractInput error: %v", err)
}
res, err := args.Unpack(inputData)
if err != nil {
return &MethodCall{
Method: method,
Args: nil,
}, fmt.Errorf("ExtractInput error: %v", err)
}
return &MethodCall{
Method: method,
Args: res,
}, nil
}
}
return &MethodCall{}, fmt.Errorf("ExtractInput error: ERC721 do nothave this method")
}
func getInputArguments(abi0 abi.ABI, name string, data []byte)(abi.Arguments, error) {
var args abi.Arguments
if method, ok := abi0.Methods[name]; ok {
if len(data)%32 != 0 {
return nil, fmt.Errorf("getInputArguments error: abi: improperlyformatted input: %s - Bytes: [%+v]", string(data), data)
}
args = method.Inputs
}
if args == nil {
return nil, fmt.Errorf("getInputArguments error: could not locatenamed method")
}
return args, nil
}
Input Data前4个字节为函数选择器,决定了参数为传统给合约中的哪一个函数;后面为所传参数的十六进制表示。
所述阶段二包括如下步骤:
步骤4,将步骤3获得的调用函数和参数放入该智能合约的恶意交易静态检测规则中进行匹配,如果有恶意交易特征则进行步骤5;
其中,恶意交易静态检测规则中的恶性交易特征包括但不限于:
整数溢出交易行为,指的是调用合约交易传入运算后容易产生算术上下溢的参数,例如极大的无符号整数,或者极小的被减数;
超额借贷行为,指的是调用合约交易取出了超过了自身持有数量资金的巨额资产,例如闪电贷行为;
敏感函数调用行为,指的是调用合约交易传入了比较敏感的函数哈希进行call或者delegatecall调用行为;
巨额资金流动行为,指的是调用合约交易后根据传入参数预测可流入或者流出巨额资金的行为;
敏感用户资金流动行为,指的是调用合约交易的地址为标记过的敏感用户地址,同时有资金的频繁流动行为;
所述阶段三包括如下步骤:
步骤5,将静态检测中存有恶意交易特征的交易,放入系统中本地运行的节点网络中进行广播;
进一步的,本地运行的节点网络用于对智能合约进行动态执行测试,在基于节点客户端的基础上进行修改后部署。
步骤6,通过虚拟机动态插桩和动态污点分析的方法,对执行过程中的合约状态进行监测,同时将最后事件日志和交易结果进行提取解析,与既定的正常和恶意的交易特征规则进行匹配;
其中,虚拟机动态插桩包括指令级插桩、函数级插桩、合约级插桩以及交易级插桩,主要功能如下:
指令级插桩,对每一个op指令执行前后进行插桩,分别设置beforeOp和afterOp回调函数供编写实现相应测试规则;
函数级插桩,执行每一个函数前后进行插桩,分别设置beforeFunc和afterFunc回调函数供编写实现相应测试规则;
合约级插桩,执行每一个合约前后进行插桩,分别设置beforeContract和afterContract回调函数供编写实现相应测试规则;
交易级插桩,会对每一个交易执行前后进行插桩,分别设置beforeTX和afterTX回调函数供编写实现相应测试规则。
动态污点分析方法辅助虚拟机动态插桩,在动态污点分析中可以对堆栈、内存、输入参数分配污点标签,通过虚拟机动态插桩的方式,在相应的回调函数中对污点标签进行查看和判断,如果有污染到程序控制流或者敏感重要的全局变量,将返回具体的程序执行点和涉及变量。
所述阶段四如下步骤:
步骤7,将步骤4和步骤6中对该交易的分析结果返回,通过机器学习辅助规则匹配分析结果,研判是否存在恶意行为;
进一步的,机器学习对每个交易的静态检测和动态执行测试结果进行标签,使用SVM算法,实现对正常交易和恶意交易的区分。
步骤8,将研判后确认为恶意交易的交易上报给监测系统的使用者和管理员,进行预警。
通过上述四个阶段的操作,实现对于区块链恶意交易的实时监测。
利用上述区块链交易监测方法,本发明实现了相应的交易监测系统。图2为本实施例提供的交易监测系统的结构框图,所示恶意交易监测系统包括如下子系统:
子系统一、交易数据提取与解析子系统;
子系统二、交易数据静态检测子系统;
子系统三、交易数据动态执行测试子系统;
子系统四、交易确认与上报子系统。
所述子系统一包括如下模块:
模块一、交易数据提取模块,通过对区块链节点客户端的Hook和修改,抓取调用目标智能合约的交易;
模块二、交易数据解析模块,将交易相关数据解析,from地址、to地址、Input Data字段等。
所述子系统二包括如下模块:
模块三、全局状态获取模块,获取目标智能合约的全局状态变量并进行解析存储;
模块四、静态规则匹配模块,将交易解析后,对交易数据与预设的静态恶意交易行为特征进行规则匹配。
所述子系统三包括如下模块:
模块五、交易重放模块,将疑似恶意的交易放入本地测试网络进行重放执行;
模块六、虚拟机动态插桩模块,对本地节点客户端虚拟机进行一定的修改,使得可以在指令级、函数级、合约级和交易级进行插桩,提供查看相应内存、堆栈等资源的api,供动态测试时检测交易的具体行为特征;
模块七、动态污点分析模块,动态污点分析模块植入虚拟机动态插桩,在动态污点分析中可以对堆栈、内存、输入参数等进行分配污点标签,以及访问、清理标签。
所述子系统四包括如下模块:
模块八、恶意交易研判确认模块,内嵌机器学习子模块和规则匹配模块,可以在机器学习以及用户自定义设置的情况下,最终确认交易是否为恶意交易;
模块九、恶意交易上报模块,恶意交易上报模块最终负责将判定为恶意的交易上报到前端,向系统的用户或者管理员发出警报和研判信息。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (7)

1.一种区块链交易监测方法,包括交易数据提取与解析阶段、交易数据静态检测阶段、交易数据动态执行测试阶段、交易确认与上报阶段,具体执行步骤如下:
1) 运行区块链主网络节点客户端,对要监测的智能合约地址进行收集;
2) 监测将要验证确认的交易,提取其中from或者to地址为目标智能合约地址的交易;
3) 解析交易的Input Data字段,对应相关智能合约获取调用函数和参数;
4) 将步骤3)获得的调用函数和参数放入智能合约的恶意交易静态检测规则中进行匹配,如果有恶意交易特征则进行步骤5;
5) 将静态检测中存有恶意交易特征的交易放入系统中本地运行的节点网络中进行广播;
6) 通过虚拟机动态插桩和动态污点分析的方法,对执行过程中的合约状态进行监测,同时将最后事件日志和交易结果进行提取解析,与既定的正常和恶意的交易特征规则进行匹配;
7) 将步骤4)和步骤6)中对该交易的分析结果返回,通过机器学习辅助规则匹配分析结果,研判是否存在恶意行为;
8) 将研判后确认为恶意交易的交易上报给监测系统的使用者和管理员,进行预警。
2.如权利要求1所述的区块链交易监测方法,其特征在于,步骤1)中要监测的智能合约地址包括资金量较大的DeFi合约项目地址和NFT合约项目地址。
3.如权利要求1所述的区块链交易监测方法,其特征在于,步骤4)中所述恶意交易静态检测规则中的恶性交易特征包括:整数溢出交易行为、超额借贷行为、敏感函数调用行为、巨额资金流动行为和敏感用户资金流动行为。
4.如权利要求1所述的区块链交易监测方法,其特征在于,步骤6)中所述虚拟机动态插桩包括指令级插桩、函数级插桩、合约级插桩以及交易级插桩,其中:
指令级插桩,对每一个op指令执行前后进行插桩,分别设置beforeOp和afterOp回调函数供编写实现相应测试规则;
函数级插桩,执行每一个函数前后进行插桩,分别设置beforeFunc和afterFunc回调函数供编写实现相应测试规则;
合约级插桩,执行每一个合约前后进行插桩,分别设置beforeContract和afterContract回调函数供编写实现相应测试规则;
交易级插桩,对每一个交易执行前后进行插桩,分别设置beforeTX和afterTX回调函数供编写实现相应测试规则。
5.如权利要求1所述的区块链交易监测方法,其特征在于,在步骤6)中,动态污点分析方法辅助虚拟机动态插桩,在动态污点分析中对堆栈、内存、输入参数分配污点标签,通过虚拟机动态插桩的方式,在相应的回调函数中对污点标签进行查看和判断,如果有污染到程序控制流或者敏感重要的全局变量,将返回具体的程序执行点和涉及变量。
6.如权利要求1所述的区块链交易监测方法,其特征在于,在步骤7)中,机器学习对每个交易的静态检测和动态执行测试结果进行标签,使用SVM算法实现对正常交易和恶意交易的区分。
7.一种区块链交易监测系统,包括交易数据提取与解析子系统、交易数据静态检测子系统、交易数据动态执行测试子系统以及交易确认与上报子系统,其中:
交易数据提取与解析子系统包括交易数据提取模块和交易数据解析模块,其中,交易数据提取模块用于提取与目标智能合约相关的交易的from地址、to地址、Input Data字段以及value值;交易数据解析模块用于解析交易数据Input Data字段为相应的函数以及传入的参数信息;
交易数据静态检测子系统包括全局状态获取模块和静态规则匹配模块,其中,全局状态获取模块用于获取区块链当前合约下的全局状态,包括持有者地址、余额;静态规则匹配模块中集成了各种资金流失类恶意交易的行为特征,用于匹配恶意交易数据特征,分析是否存在有恶意行为;
交易数据动态执行测试子系统包括交易重放模块、虚拟机动态插桩模块和动态污点分析模块,其中,交易重放模块用于在本地的动态测试区块链环境重放疑似恶意的交易;虚拟机动态插桩模块用于对智能合约中的指令前后进行Hook,生成相应的回调函数,分析所执行的指令行为,同时对智能合约中的事件的生成进行Hook,生成相应的回调函数,分析新生成事件的结果,与指令行为进行比对;动态污点分析模块用于检测污点数据的传播路径,支持不同智能合约相互调用间的污点传播;
交易确认与上报子系统包括恶意交易研判确认模块和恶意交易上报模块,其中,恶意交易研判确认模块用于采集和分析交易数据静态检测子系统与交易数据动态执行测试子系统生成的恶意交易信息,最后通过机器学习辅助规则匹配的方式生成判断结果;恶意交易上报模块用于上报经过系统确认过的恶意交易,并通知到系统的使用者。
CN202111513734.6A 2021-12-13 2021-12-13 一种基于静态特征和动态插桩的区块链交易监测方法及系统 Pending CN113919841A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111513734.6A CN113919841A (zh) 2021-12-13 2021-12-13 一种基于静态特征和动态插桩的区块链交易监测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111513734.6A CN113919841A (zh) 2021-12-13 2021-12-13 一种基于静态特征和动态插桩的区块链交易监测方法及系统

Publications (1)

Publication Number Publication Date
CN113919841A true CN113919841A (zh) 2022-01-11

Family

ID=79248592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111513734.6A Pending CN113919841A (zh) 2021-12-13 2021-12-13 一种基于静态特征和动态插桩的区块链交易监测方法及系统

Country Status (1)

Country Link
CN (1) CN113919841A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116541852A (zh) * 2023-06-26 2023-08-04 中国移动紫金(江苏)创新研究院有限公司 基于区块链的智能合约虚拟机安全加固方法及其系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108345794A (zh) * 2017-12-29 2018-07-31 北京物资学院 恶意软件的检测方法及装置
CN109933991A (zh) * 2019-03-20 2019-06-25 杭州拜思科技有限公司 一种智能合约漏洞检测的方法、装置
CN111680290A (zh) * 2020-06-02 2020-09-18 浙江大学 一种基于以太坊虚拟机的代码插桩框架系统
CN112015628A (zh) * 2020-09-01 2020-12-01 北京物资学院 一种智能合约函数级动态监测分析系统及实现方法
US20210110047A1 (en) * 2019-10-15 2021-04-15 Anchain.ai Inc. Continuous vulnerability management system for blockchain smart contract based digital asset using sandbox and artificial intelligence

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108345794A (zh) * 2017-12-29 2018-07-31 北京物资学院 恶意软件的检测方法及装置
CN109933991A (zh) * 2019-03-20 2019-06-25 杭州拜思科技有限公司 一种智能合约漏洞检测的方法、装置
US20210110047A1 (en) * 2019-10-15 2021-04-15 Anchain.ai Inc. Continuous vulnerability management system for blockchain smart contract based digital asset using sandbox and artificial intelligence
CN111680290A (zh) * 2020-06-02 2020-09-18 浙江大学 一种基于以太坊虚拟机的代码插桩框架系统
CN112015628A (zh) * 2020-09-01 2020-12-01 北京物资学院 一种智能合约函数级动态监测分析系统及实现方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116541852A (zh) * 2023-06-26 2023-08-04 中国移动紫金(江苏)创新研究院有限公司 基于区块链的智能合约虚拟机安全加固方法及其系统
CN116541852B (zh) * 2023-06-26 2023-09-12 中国移动紫金(江苏)创新研究院有限公司 基于区块链的智能合约虚拟机安全加固方法及其系统

Similar Documents

Publication Publication Date Title
CN110443045B (zh) 一种基于机器学习方法的模糊测试用例生成方法
CN109101815B (zh) 一种恶意软件检测方法及相关设备
CN114095273A (zh) 基于深度学习的互联网漏洞挖掘方法及大数据挖掘系统
CN112527674B (zh) Ai框架的安全评测方法、装置、设备及存储介质
CN112749389B (zh) 一种检测智能合约破坏敏感数据漏洞的检测方法及装置
KR101640479B1 (ko) 소스코드기반 소프트웨어 취약점 공격행위 분석시스템
CN102868699A (zh) 一种提供数据交互服务的服务器的漏洞检测方法及工具
CN111177731A (zh) 一种基于人工神经网络的软件源代码漏洞检测方法
CN115098863A (zh) 一种基于静态与动态分析的智能合约重入漏洞检测方法
CN110851352A (zh) 一种模糊测试系统及终端设备
CN111125697B (zh) 基于缺陷摘要的智能合约缺陷可触发性检测方法及系统
CN113919841A (zh) 一种基于静态特征和动态插桩的区块链交易监测方法及系统
CN111291377A (zh) 一种应用漏洞的检测方法及系统
CN117081818A (zh) 基于智能合约防火墙的攻击交易识别与拦截方法及系统
CN112632547A (zh) 一种数据处理方法和相关装置
CN114741700B (zh) 基于符号化污点分析的公共组件库漏洞可利用性分析方法及装置
CN116028495A (zh) 智能合约的检测方法及装置
CN113849817B (zh) 一种JavaScript原型链污染漏洞的检测方法及装置
CN114637988A (zh) 一种面向二进制的函数级软件随机化方法
CN111190813B (zh) 基于自动化测试的安卓应用网络行为信息提取系统及方法
CN115357902A (zh) 一种面向区块链系统的模糊测试方法
Kim et al. Source code analysis for static prediction of dynamic memory usage
US20240104191A1 (en) Method for identifying potential data exfiltration attacks in at least one software package
US11989296B2 (en) Program execution anomaly detection for cybersecurity
Ding et al. Identifying buffer overflow vulnerabilities based on binary code

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20220111

RJ01 Rejection of invention patent application after publication