System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 面向智能合约漏洞数据集的不平衡数据集处理系统及方法技术方案_技高网

面向智能合约漏洞数据集的不平衡数据集处理系统及方法技术方案

技术编号:39963173 阅读:5 留言:0更新日期:2024-01-09 00:12
本发明专利技术公开了面向智能合约漏洞数据集的不平衡数据集处理系统及方法,系统包括:数据读取模块:用于依次读取不同类别的漏洞样本集,将所述不同类别的漏洞样本集输入子集划分模块中;子集划分模块:用于对所述不同类别的漏洞数据集中的少数类样本进行划分,获取若干样本子集,并将所述样本子集发送至数据生成模块;数据生成模块:用于分别对不同类别的所述样本子集进行处理,生成新数据;数据读取模块、子集划分模块、数据生成模块依次连接。本发明专利技术减小了边界模糊的问题,在一定程度上提升了样本的质量,同时对于多种样本进行了扩充,适用于多类数据的样本集。

【技术实现步骤摘要】

本专利技术涉及区块链,尤其涉及面向智能合约漏洞数据集的不平衡数据集处理系统及方法


技术介绍

1、智能合约数据集往往具有高度的不平衡性,因为大多数智能合约不会涉及到漏洞,只有极少数智能合约存在漏洞。这就导致了数据集中存在极大的类别不平衡,其中正样本(即不存在漏洞的智能合约)数量占据了大部分,而负样本(即存在漏洞的智能合约)数量较少。这种不平衡性使得机器学习模型在训练过程中偏向于预测正样本,从而导致模型的性能下降。

2、针对数据不平衡问题,smote(synthetic minority over-sampling technique)算法是目前被广泛使用的一种数据扩充方法。smote算法通过在少数类样本之间进行插值,生成新的少数类样本,达到增加少数类的样本数量的目的,使训练集变得平衡。smote算法的优点在于可以有效地缓解数据不平衡问题,但是也存在一些问题,例如可能会生成过多的相似样本,导致分类器的泛化能力降低;同时,smote算法仅仅只能对二分类问题进行处理,无法同时处理多类样本不平衡的问题。

3、为了解决smote算法存在的问题,研究者们提出了各种改进方法。其中包括borderline-smote算法,k-means-smote算法,enn算法等数据集扩充方法。在智能合约数据集的处理上,也存在一些应用实例,例如采用smote+enn算法对特征数据集进行混合采样,先对少数类使用smote生成新样本,再通过enn进行欠采样,解决数据重叠问题。但是目前存在的智能合约数据集处理方法没有解决少数类样本不止一种的情况,且存在边界模糊的情况。


技术实现思路

1、针对现有技术中对于智能合约数据集不平衡的问题,本专利技术提出了面向智能合约漏洞数据集的不平衡数据集处理系统及方法,通过对少数类样本进行子集划分,采取不同的采样策略,解决数据边界模糊,少数类样本数量少的问题。

2、为实现上述目的,一方面,本专利技术提供了面向智能合约漏洞数据集的不平衡数据集处理系统,包括:

3、数据读取模块:用于依次读取不同类别的漏洞样本集,将所述不同类别的漏洞样本集输入子集划分模块中;

4、子集划分模块:用于对所述不同类别的漏洞数据集中的少数类样本进行划分,获取若干样本子集,并将所述样本子集发送至数据生成模块;

5、数据生成模块:用于分别对不同类别的所述样本子集进行处理,生成增强后的新数据;

6、所述数据读取模块、所述子集划分模块、所述数据生成模块依次连接。

7、优选地,所述样本子集包括内部样本、边界样本与孤立样本。

8、优选地,所述子集划分模块包括:

9、主样本划分单元:用于基于少数类样本进行样本生成过程中,选定主样本a;

10、邻域样本划分单元:用于对所述主样本a,使用欧式距离计算得到所述主样本周围的k个邻近样本,将所述主样本与k个邻近样本所形成的范围为主样本的邻域,记作u(a);

11、安全样本划分单元:用于判断邻域u(a)中所有的样本若属于同一类型,则主样本a为安全样本;

12、孤立样本划分单元:用于判断所述邻域u(a)中所有的样本若都与主样本类型不一致,则a为孤立样本;

13、边界样本:用于判断所述邻域u(a)中若既存在与主样本类型相同的样本,同时存在与主样本类型不同的样本,则a为边界样本;

14、其中,所述内部样本为所述安全样本。

15、另一方面,为了实现上述目的,本专利技术还提供了面向智能合约漏洞数据集的不平衡数据集处理方法,包括:

16、通过数据读取模块依次读取不同类别的漏洞数据集,并将所述不同类别的漏洞数据集输入至子集划分模块中进行数据集的划分;

17、基于所述子集划分模块对所述不同类别的漏洞数据集中的少数类样本进行划分,获取若干样本子集,并将所述样本子集发送至数据生成模块进行处理,生成新数据;其中,所述样本子集包括内部样本、边界样本和孤立样本。

18、优选地,将所述样本子集发送至数据生成模块进行处理,包括:

19、对于所述内部样本,采用p-smote数据扩充方法,生成增强后的新数据;

20、对于所述边界样本,通过tb-smote数据扩充方法,进行三角采样和插值采样,生成所述增强后的新数据。

21、优选地,采用p-smote数据扩充方法,生成所述增强后的新数据,包括:

22、在安全样本集中计算所有少数类样本之间的欧式距离,并选择与其他样本平均距离最小的样本作为中心点,并计算每一个样本的价值,计算出样本价值后,对各样本的权重进行求解,然后使用smote算法结合样本的权重统计生成样本的数量,对所述样本的数量进行新样本的生成;

23、其中,所述样本的价值以距离中心点或边界点的远近为标准进行判断。

24、优选地,计算所有少数类样本之间的欧式距离的方法为:

25、

26、其中,di为样本i到样本k的距离,n为总样本数,j为欧式空间第j维,xij-xkj为i和k在第j维上的差;

27、计算所述样本的价值的方法为:

28、

29、其中,vi代表样本i的价值,di、dj为归一化后的样本di;

30、对所述各样本的权重进行求解的方法为:

31、

32、其中,wi为样本的权重值,vj代表样本j的价值。

33、优选地,通过tb-smote数据扩充方法,进行三角采样和插值采样,生成所述增强后的新数据,包括:

34、若所取样本点周围的点为同类型时,则确定主样本,获得所述主样本的k个近邻样本,在所述k个近邻样本中任取两个同类型的样本,在所述两个类型相同的样本连线上任选一点xt,作为临时样本点,在原样本x与xt上随机生成样本,获取所述增强后的新数据;

35、若所取样本点周围的点为不同类型的样本点时,则寻找少数类样本点中k个近邻样本中的多数类样本点q,通过计算获取所述增强后的新数据:

36、xnew=x+ran(0,1)|x-q|

37、其中,x为原样本,q为多数类样本点,ran(0,1)为0-1之间取的随机数。

38、与现有技术相比,本专利技术具有如下优点和技术效果:

39、(1)本专利技术通过对智能合约的数据集进行样本扩充,降低了样本集内数据分布的不平衡程度,提升了智能合约漏洞检测准确性;

40、(2)本专利技术减小了边界模糊的问题,提升了样本的质量,同时对于多种样本进行了扩充,适用于多类数据的样本集。

本文档来自技高网...

【技术保护点】

1.面向智能合约漏洞数据集的不平衡数据集处理系统,其特征在于,包括:

2.根据权利要求1所述的面向智能合约漏洞数据集的不平衡数据集处理系统,其特征在于,所述样本子集包括内部样本、边界样本与孤立样本。

3.根据权利要求2所述的面向智能合约漏洞数据集的不平衡数据集处理系统,其特征在于,所述子集划分模块包括:

4.面向智能合约漏洞数据集的不平衡数据集处理方法,其特征在于,包括:

5.根据权利要求4所述的面向智能合约漏洞数据集的不平衡数据集处理方法,其特征在于,将所述样本子集发送至数据生成模块进行处理,包括:

6.根据权利要求5所述的面向智能合约漏洞数据集的不平衡数据集处理方法,其特征在于,采用P-SMOTE数据扩充方法,生成所述增强后的新数据,包括:

7.根据权利要求6所述的面向智能合约漏洞数据集的不平衡数据集处理方法,其特征在于,计算所有少数类样本之间的欧式距离的方法为:

8.根据权利要求7所述的面向智能合约漏洞数据集的不平衡数据集处理方法,其特征在于,通过TB-SMOTE数据扩充方法,进行三角采样和插值采样,生成所述增强后的新数据,包括:

...

【技术特征摘要】

1.面向智能合约漏洞数据集的不平衡数据集处理系统,其特征在于,包括:

2.根据权利要求1所述的面向智能合约漏洞数据集的不平衡数据集处理系统,其特征在于,所述样本子集包括内部样本、边界样本与孤立样本。

3.根据权利要求2所述的面向智能合约漏洞数据集的不平衡数据集处理系统,其特征在于,所述子集划分模块包括:

4.面向智能合约漏洞数据集的不平衡数据集处理方法,其特征在于,包括:

5.根据权利要求4所述的面向智能合约漏洞数据集的不平衡数据集处理方法,其特征在于,将所述样本子...

【专利技术属性】
技术研发人员:冯光升李冰洋张熠哲蔡成涛王巍陆蓓婷蒋文创王小芳王一杨玉东董宇欣郎大鹏李思照刘泽超马志强申林山宋洪涛王兴梅王也
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:

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

1