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

一种基于参数敏感性的DApp函数调用的标记方法及装置制造方法及图纸

技术编号:38810928 阅读:9 留言:0更新日期:2023-09-15 19:49
本说明书实施例提供了一种基于参数敏感性的DApp函数调用的标记方法及装置,其中,方法包括:根据预设的专家系统分析方法对DApp函数调用的参数类型进行判断,将参数分类为良性参数和恶意参数;对未完成分类的参数根据函数类型进行聚类,生成多个文件,根据所述多个文件中是否含有相同或者相似的参数将所述文件分为K个集群;对所述K个集群赋不同的敏感度,分别计算K个集群与恶意参数的距离并进行排序,根据排序结果确定相关参数的类别并进行标记。与现有技术相比具有计算相率高、鲁棒性高、能够有效缓解数据稀疏、易于实现异质信息融合等优点。等优点。等优点。

【技术实现步骤摘要】
一种基于参数敏感性的DApp函数调用的标记方法及装置


[0001]本文件涉及网络安全
,尤其涉及一种基于参数敏感性的DApp函数调用的标记方法及装置。

技术介绍

[0002]目前,随着经济社会全面数字化转型的加速,区块链技术正逐渐渗透到金融经济、政务治理、社会民生等各方各领域,面向去中心化应用(Decentralized Application,简称DApp)的服务百花齐放。然而,由于区块链安全漏洞和攻击事件层出不穷,区块链的安全问题备受关注。区块链应用层的风险主要来源于DApp本身的漏洞,软件漏洞检测方法分为静态分析和动态分析两类。静态分析方法通过对软件源代码进行分析,在一定程度上解决了软件上存在的已知漏洞问题,然而其检测性能受代码混淆的影响极大;动态分析方法通过提取软件运行时所调用的信息(例如API函数调用)极大地提高了目标识别的精度。然而,API函数的属性信息(例如函数名)所包含的特征极其有限,适合于规则较为明显的软件漏洞检测,其忽略了函数之间的语义关系,导致检测的性能不理想。
[0003]现有技术中提出的函数调用序列标记方法,存在一些共同的缺陷,包括:数据量不足:如果训练数据量不足,则可能导致模型过拟合或欠拟合,从而影响恶意软件检测和分类的准确性;标记的不确定性:标记错误可能导致误报或漏报,影响检测和分类的准确性;动态行为的限制:恶意软件通常使用动态技术来规避静态分析,这些技术可能无法被基于静态分析的函数调用序列方法所捕捉;鲁棒性的问题。

技术实现思路

[0004]本说明书一个或多个实施例提供了一种基于参数敏感性的DApp函数调用的标记方法,包括:
[0005]根据预设的参数分类规则对DApp函数调用的参数类型进行判断,将参数分类为良性参数和恶意参数;
[0006]对未完成分类的参数根据函数类型进行聚类,生成多个文件,根据所述多个文件中是否含有相同或者相似的参数将所述文件分为K个集群;
[0007]对所述K个集群赋不同的敏感度,分别计算K个集群与恶意参数的距离并进行排序,根据排序结果确定相关参数的类别并进行标记。
[0008]本说明书一个或多个实施例提供了一种基于参数敏感性的DApp函数调用的标记装置,包括:
[0009]第一分类模块:用于根据预设的参数分类规则对DApp函数调用的参数类型进行判断,将参数分类为良性参数和恶意参数;
[0010]第二分类模块:用于对未完成分类的参数根据函数类型进行聚类,生成多个文件,根据所述多个文件中是否含有相同或者相似的参数将所述文件分为K个集群;
[0011]标记模块:用于对所述K个集群赋不同的敏感度,分别计算K个集群与恶意参数的
距离并进行排序,确定相关参数的类别对其函数进行标记。
[0012]本说明书一个或多个实施例提供了一种电子设备,包括:
[0013]处理器;以及,
[0014]被安排成存储计算机可执行指令的存储器,所述计算机可执行指令在被执行时使所述处理器实现上述基于参数敏感性的DApp函数调用的标记方。
[0015]本说明书一个或多个实施例提供了一种存储介质,用于存储计算机可执行指令,所述计算机可执行指令在被执行时实现上述基于参数敏感性的DApp函数调用的标记方法。
[0016]本专利技术的有益效果如下:
[0017]本专利技术先用基于启发式规则和统计分析来确定参数是否有恶意,然后使用这些预先确定的标签,采用聚类的方法来评估其他参数对DApp恶意行为的敏感性,维护了未知恶意DApp与已知恶意DApp的之间的特征相似性,具有计算相率高、鲁棒性高、有效缓解数据稀疏、易于实现异质信息融合等优点。
[0018]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0019]为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本说明书一个或多个实施例提供的一种基于参数敏感性的DApp函数调用的标记方法的流程图;
[0021]图2为本说明书一个或多个实施例提供的一种基于参数敏感性的DApp函数调用的标记方法的具体流程图;
[0022]图3为本说明书一个或多个实施例提供的一种基于参数敏感性的DApp函数调用的标记装置的组成示意图;
[0023]图4为本说明书一个或多个实施例提供的一种电子设备的结构示意图。
具体实施方式
[0024]为了使本
的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
[0025]方法实施例
[0026]根据本专利技术实施例,提供了一种基于参数敏感性的DApp函数调用的标记方法,图1为本说明书一个或多个实施例提供的一种基于参数敏感性的DApp函数调用的标记方法的流程图,如图1所示,根据本专利技术实施例的基于参数敏感性的DApp函数调用的标记方法具体
包括:
[0027]S1.根据预设的参数分类规则对DApp函数调用的参数类型进行判断,将参数分类为良性参数和恶意参数。
[0028]为特定的参数生成基于专家系统分析方法的参数分类规则,以高置信度区分恶意和良性参数,专家系统分析方法包括启发式规则和统计分析,首先利用现有的专业知识,准确判断准备启发式规则,然后对参数数据集进行统计分析,参数数据集是由Etherscan访问以太网里涉及到的DApp函数调用交易获取的,当中包括实参及对应的形参,将统计分析形式化,进而作出判断。具体的:
[0029]根据启发式规则判断参数类型具体包括:
[0030]判断参数是否来自一个已知的合法源,若来自已知的合法源,则为良性参数;例如DApp钱包对智能钱包对智能合约进行调用时,传入的参数是钱包地址(字符串类型)和调用的函数名(字符串类型)则为良性参数:如果是通过伪造的函数请求来调用合约,传入参数为恶意的;
[0031]判断参数是否符合数据类型、格式和长度的要求,若符合,则为良性参数;例如DApp需要传入整数类型的参数,参数为amount,则为良性;如果将amount参数传入字符串类型的值,则可能是黑客通过非整数类型的函数对参数来攻击智能合约,为恶意;
[0032]判断参数是否符合业务规则和逻辑,若符合,则为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于参数敏感性的DApp函数调用的标记方法,其特征在于,包括:根据预设的专家系统分析方法对DApp函数调用的参数类型进行判断,将参数分类为良性参数和恶意参数;对未完成分类的参数根据函数类型进行聚类,生成多个文件,根据所述多个文件中是否含有相同或者相似的参数将所述文件分为K个集群;对所述K个集群赋不同的敏感度,分别计算K个集群与恶意参数的距离并进行排序,根据排序结果确定相关参数的类别并进行标记。2.根据权利要求1所述的方法,其特征在于,所述专家系统分析方法包括启发式规则和统计分析;通过启发式规则判断参数类型具体包括:判断DApp函数调用的参数是否来自一个已知的合法源;判断参数是否符合数据类型、格式和长度的要求;判断参数是否符合业务规则和逻辑;判断参数是否包含恶意代码、恶意字符;判断参数是否频繁变化、过于异常或超出了预期范围;通过统计分析判断参数类型具体包括:分别计算每个参数在恶意轨迹和良性轨迹中出现的频率,通过比较同一个参数在恶意轨迹和良性轨迹中出现的频率,判断该参数的参数类型。3.根据权利要求2所述的方法,其特征在于,所述通过比较同一个参数在恶意轨迹和良性轨迹中出现的频率,判断该参数的参数类型具体方法为:对于每个参数,TF
m
表示它在恶意轨迹中出现的频率,而DF
m
表示包含该参数的轨迹的频率;在恶意轨迹中出现的频率TD
m
计算方法如下:TD
m
=TF
m
*DF
m
;TD
m
值越大,此参数在恶意轨迹中出现的频率越高;同样,TF
b
、DF
b
、TD
b
则表示在良性轨迹中的对应参数;如果一个参数的TD
m
较高而TD
b
较低,则此参数可能是恶意的;相反,如果一个参数的TD
m
较低而TD
b
较高,则可能是良性的;如果一个参数的TD
m
不为0而TD
b
为0,则可以将其标记为恶意参数,反之则为良性参数。4.根据权利要求1所述的方法,其特征在于,所述对未完成分类的参数根据函数类型进行聚类,生成多个文件,根据所述多个文件中是否含有相同或者相似的参数将所述文件分为K个集群具体包括:对每个函数的运行时的参数进行分组,让传递的参数组成一个文件ArguDoc,其中每个参数是一个词ArguWord,将参数的聚类形式化为短文聚类;采用GSDMM算法,令D和W分别表示一个函数调用的ArguDocs和ArguWords的集合,K表示集群的数量,将D、W和K作为GSDMM算法输入,利用Word2vec将W集合中的词参数转化为词向量并将每个ArguDoc输出集群标签用k
d
表示,计算聚类k中ArguDocs、ArguWords和的总数;不断地更新被标记的群组,对所有ArguDocs进行若干次迭代,直到收敛;最后,对于每个函数而言,ArguDocs被分为K类。5.根据权利要求4所述的方法,其特征在于,所述对所述K个集群赋不同的敏感度,分别
计算K个集群与恶意参数的距离并进行排序,根据排序结果确定相关参数的类别并进行标记具体方法为:以恶意的ArguDocs M和良性的ArguDocs B当作两个端点;根据聚类算法,将恶意的ArguDocs和良性的ArguDocs放入K个聚类;对于每个集群K,计算恶意ArguDocs的数量n
k,m
,良性ArguDocs的数量n
k,b
和ArguDocs的总数量n
k
;计算恶意程度d
k
,具体方法如...

【专利技术属性】
技术研发人员:王国军张雨恒刘湘勇李旭彬陈厚积刘雪蕾朱津瑶
申请(专利权)人:广州大学
类型:发明
国别省市:

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

1