System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 代码同源分析方法、电子设备和存储介质技术_技高网
当前位置: 首页 > 专利查询>寇竞专利>正文

代码同源分析方法、电子设备和存储介质技术

技术编号:40148757 阅读:2 留言:0更新日期:2024-01-24 00:56
本申请提供代码同源分析方法、电子设备和存储介质。该方法包括:通过对待分析代码进行解析,以生成待分析代码的灰度值矩阵;利用自适应掩膜矩阵对灰度值矩阵进行处理;利用非线性激活函数对处理后的灰度值矩阵中的各个元素进行激活,并将激活后的各个元素映射至预设像素空间,以得到元素映射后的灰度值矩阵;将元素映射后的灰度值矩阵转化为灰度图像;通过对灰度图像进行图像识别,以确定待分析代码所属的代码家族。该方法由于利用自适应掩膜矩阵对灰度值矩阵进行了处理,然后利用非线性激活函数对处理后的灰度值矩阵中的各个元素进行激活和元素映射,因此能够对待分析代码中不相关特征所生成的数据进行筛除,从而提高对分析结果的准确率。

【技术实现步骤摘要】

本申请涉及计算机安全,具体而言,涉及代码同源分析方法、电子设备和存储介质


技术介绍

1、研究发现,同一代码家族的代码通常具有诸多相似的特征,比如同一代码家族的代码之间,在系统调用、关键字符串、代码结构、符号、操作码等特征通常较为相似,因此可以通过分析这些相似的特征,来检测代码所属的代码家族,该代码检测方法通常称之为代码同源分析(homology analysis)。

2、目前的代码同源分析方法中,通常先将代码转化为灰度值矩阵,然后直接将该灰度值矩阵转化为灰度图像,进而通过对该灰度图像进行图像识别,来确定该代码所属的代码家族。但由于代码中除了有与代码家族相似的特征之外,往往还存在大量不相关的特征,因此目前这种转化为灰度值矩阵之后,直接转化为灰度图像并进行图像识别的代码同源分析方法,由于这些不相关特征的大量存在,会对分析结果的准确性造成影响。


技术实现思路

1、本申请实施例的目的在于提供代码同源分析方法、电子设备和存储介质,用于解决现有技术中的问题。

2、本申请实施例第一方面提供了一种代码同源分析方法,所述方法包括:

3、通过对待分析代码进行解析,以生成所述待分析代码的灰度值矩阵;

4、利用自适应掩膜矩阵对所述灰度值矩阵进行处理;

5、利用非线性激活函数对处理后的灰度值矩阵中的各个元素进行激活,并将激活后的各个元素映射至预设像素空间,以得到元素映射后的灰度值矩阵;

6、将元素映射后的灰度值矩阵转化为灰度图像;p>

7、通过对所述灰度图像进行图像识别,以确定所述待分析代码所属的代码家族。

8、优选的,通过对所述灰度图像进行图像识别,以确定所述待分析代码所属的代码家族,具体包括:

9、通过图像识别模型对所述灰度图像进行图像识别,以确定所述待分析代码所属的代码家族。

10、优选的,所述方法还包括:

11、从训练集中获取代码样本;

12、通过对所述代码样本进行解析,以生成所述代码样本的第二灰度值矩阵;

13、利用待训练掩膜矩阵对所述第二灰度值矩阵进行处理;

14、利用非线性激活函数对处理后的第二灰度值矩阵中的各个元素进行激活,并将激活后的各个元素映射至预设像素空间,以得到元素映射后的第二灰度值矩阵;

15、将元素映射后的第二灰度值矩阵转化为第二灰度图像;

16、通过待训练图像识别模型对所述第二灰度图像进行图像识别,以得到识别结果;

17、根据所述识别结果和所述代码样本中的标签确定损失函数值,并通过执行反向传播算法,以调整所述待训练图像识别模型的参数值以及所述待训练掩膜矩阵中各个元素的值,直至所述待训练图像识别模型的识别结果收敛时,将所述待训练图像识别模型作为所述图像识别模型,并将所述待训练掩膜矩阵作为所述自适应掩膜矩阵。

18、优选的,利用非线性激活函数对处理后的灰度值矩阵中的各个元素进行激活,具体包括:利用relu函数对处理后的灰度值矩阵中的各个元素进行激活。

19、优选的,所述预设像素空间具体为上限像素值和下限像素值所构成的像素空间;以及

20、将激活后的各个元素映射至预设像素空间,具体包括:

21、针对激活后的各个元素,在所述元素的值小于所述下限像素值的情况下,将所述元素的值映射为所述下限像素值;或,在所述元素的值大于所述上限像素值的情况下,将所述元素的值映射为所述上限像素值。

22、优选的,利用自适应掩膜矩阵对所述灰度值矩阵进行处理,具体包括:将所述灰度值矩阵与所述自适应掩膜矩阵进行哈达玛积运算处理。

23、优选的,通过对待分析代码进行解析,以生成所述待分析代码的灰度值矩阵,具体包括:

24、将所述待分析代码读取为二进制流;

25、将所述二进制流切分为多个字节,以生成所述待分析代码的字节流;

26、按照预先设定的矩阵宽度,将所述字节流中的各个字节作为矩阵中的元素,以重排生成字节矩阵;

27、将所述字节矩阵中的各个元素转化为十进制的灰度值,以生成所述灰度值矩阵。

28、优选的,在利用自适应掩膜矩阵对所述灰度值矩阵进行处理之前,所述方法还包括:

29、根据预先设定的矩阵长度,利用预设值对所述灰度值矩阵中的缺省行进行填充;以及,

30、利用自适应掩膜矩阵对所述灰度值矩阵进行处理,具体包括:

31、利用自适应掩膜矩阵对缺省行填充后的灰度值矩阵进行处理。

32、本申请实施例第二方面提供了一种电子设备,包括:

33、处理器;

34、用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行本申请实施例第一方面任意一项所述的方法。

35、本申请实施例第三方面提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行,以完成本申请实施例第一方面任意一项所述的方法。

36、采用本申请实施例所提供的代码同源分析方法,包括先通过对待分析代码进行解析,以生成该待分析代码的灰度值矩阵,然后利用自适应掩膜矩阵对该灰度值矩阵进行处理,然后利用非线性激活函数对处理后的灰度值矩阵中的各个元素进行激活,并将激活后的各个元素映射至预设像素空间,以得到元素映射后的灰度值矩阵,然后将元素映射后的灰度值矩阵转化为灰度图像,然后通过对该灰度图像进行图像识别,以确定该待分析代码所属的代码家族。该方法在生成灰度图像之前,由于利用自适应掩膜矩阵对灰度值矩阵进行了处理,然后利用非线性激活函数对处理后的灰度值矩阵中的各个元素进行激活和元素映射,因此能够对待分析代码中不相关特征所生成的数据进行筛除,从而提高后续对灰度图像进行图像识别的准确率,进而提高对分析结果的准确率。

本文档来自技高网...

【技术保护点】

1.一种代码同源分析方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,通过对所述灰度图像进行图像识别,以确定所述待分析代码所属的代码家族,具体包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,利用非线性激活函数对处理后的灰度值矩阵中的各个元素进行激活,具体包括:利用RELU函数对处理后的灰度值矩阵中的各个元素进行激活。

5.根据权利要求4所述的方法,其特征在于,所述预设像素空间具体为上限像素值和下限像素值所构成的像素空间;以及

6.根据权利要求1所述的方法,其特征在于,利用自适应掩膜矩阵对所述灰度值矩阵进行处理,具体包括:将所述灰度值矩阵与所述自适应掩膜矩阵进行哈达玛积运算处理。

7.根据权利要求1所述的方法,其特征在于,通过对待分析代码进行解析,以生成所述待分析代码的灰度值矩阵,具体包括:

8.根据权利要求1所述的方法,其特征在于,在利用自适应掩膜矩阵对所述灰度值矩阵进行处理之前,所述方法还包括:

9.一种电子设备,其特征在于,包括:

10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成权利要求1-8任意一项所述的方法。

...

【技术特征摘要】

1.一种代码同源分析方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,通过对所述灰度图像进行图像识别,以确定所述待分析代码所属的代码家族,具体包括:

3.根据权利要求2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1所述的方法,其特征在于,利用非线性激活函数对处理后的灰度值矩阵中的各个元素进行激活,具体包括:利用relu函数对处理后的灰度值矩阵中的各个元素进行激活。

5.根据权利要求4所述的方法,其特征在于,所述预设像素空间具体为上限像素值和下限像素值所构成的像素空间;以及

6.根据权...

【专利技术属性】
技术研发人员:寇竞安晓宁王娜
申请(专利权)人:寇竞
类型:发明
国别省市:

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

1