技术新讯 > 计算推算,计数设备的制造及其应用技术 > 恶意文件检测方法及装置、电子设备与流程  >  正文

恶意文件检测方法及装置、电子设备与流程

  • 国知局
  • 2024-11-06 14:29:14

本技术涉及网络安全领域,具体而言,涉及一种恶意文件检测方法及装置、电子设备。

背景技术:

1、恶意文件是指那些被设计用于破坏计算机系统、窃取敏感信息或干扰正常操作的文件。在现有的安全防护机制中,黑名单方法被广泛应用于检测已知的恶意文件。为了提升检测效率和准确性,哈希算法被结合使用以构建和维护黑名单数据库。

2、然而,基于黑名单的检测机制虽能有效识别已知恶意文件,但对于未被记录在库的新型恶意文件则缺乏辨识能力。因此,为了保持防护的实时性和有效性,黑名单数据库需要不断地进行更新和维护,以纳入新发现的恶意文件特征。

3、很明显地,上述过程需要投入大量的人力和物力资源,且难以应对快速演变的网络威胁环境。

技术实现思路

1、本技术实施例的目的在于提供一种恶意文件检测方法及装置、电子设备,能够在识别恶意文件时,基于局部敏感哈希算法构建的恶意文件家族的恶意文件信息库进行文件检测,从而以此来提高恶意文件的检测能力,实现对疑似恶意文件的快速检测,使其能够应对快速演变的网络威胁环境;同时还能够降低对人力、物力资源的消耗。

2、本技术第一方面提供了一种恶意文件检测方法,包括:

3、从待检测文件中提取多个类型的文件内容,并获取多个类型的文件内容分别对应的局部敏感哈希值;

4、对多个类型所述文件内容分别对应的局部敏感哈希值进行拼接,得到所述待检测文件的目标哈希值;

5、对所述目标哈希值分别与多个恶意文件信息库中的哈希值进行相似度计算,得到多个相似度,其中,不同所述恶意文件信息库是基于属于不同恶意文件家族的恶意文件的哈希值构建得到;任一所述恶意文件的哈希值是对基于所述恶意文件中多个类型的文件内容对应的局部敏感哈希值拼接得到;

6、根据各个所述相似度,从多个所述恶意文件家族中确定所述待检测文件所属的恶意文件家族。

7、在上述实现过程中,该方法可以先从待检测文件中提取多个类型的文件内容,并获取多个类型的文件内容分别对应的局部敏感哈希值,并对多个类型文件内容分别对应的局部敏感哈希值进行拼接,得到待检测文件的目标哈希值,可以基于恶意文件的不同部分内容计算相应的局部敏感哈希值,从而将各内容部分的相似性记录下来,以便于后续判断未知文件是否为恶意文件,进而解决传统黑名单检测机制的定向检测问题,提高恶意文件的检测能力。接着,对目标哈希值分别与多个恶意文件信息库中的哈希值进行相似度计算,得到多个相似度,其中,不同恶意文件信息库是基于属于不同恶意文件家族的恶意文件的哈希值构建得到;任一恶意文件的哈希值是对基于恶意文件中多个类型的文件内容对应的局部敏感哈希值拼接得到,最后,该方法可以根据各个相似度,从多个恶意文件家族中确定待检测文件所属的恶意文件家族,从而以此来实现文件层面的相似性检测,提高恶意文件信息库对恶意文件的检出率。

8、进一步地,所述获取目标恶意文件家族的恶意文件集合;其中,所述目标恶意文件家族为多个恶意文件家族中的任一个恶意文件家族;

9、将所述恶意文件集合中的恶意文件分别映射到创建好的缓存区中,得到与所述恶意文件集合相对应的映射文件集合;

10、提取所述映射文件集合中每个映射文件包括的多个类型的文件内容,并获取各类型的所述文件内容对应的局部敏感哈希值;

11、针对每一个所述映射文件,对所述映射文件的各类型的所述文件内容对应的局部敏感哈希值进行拼接,得到所述映射文件的哈希值;

12、根据所述映射文件集合中每个映射文件的哈希值,构建所述目标恶意文件家族对应的恶意文件信息库。

13、在上述实现过程中,该方法能够基于局部敏感哈希算法构建恶意文件家族的恶意文件信息库,从而以此来提高恶意文件的检测能力,实现对疑似恶意文件的快速检测。

14、进一步地,所述将所述恶意文件集合中的恶意文件分别映射到创建好的缓存区中,得到与所述恶意文件集合相对应的映射文件集合,包括:

15、提取所述恶意文件集合包括的疑似加壳恶意文件和无壳恶意文件;

16、对所述疑似加壳恶意文件进行脱壳处理,得到脱壳恶意文件;

17、将所述无壳恶意文件和所述脱壳恶意文件中的恶意文件分别映射到创建好的缓存区中,得到与所述恶意文件集合相对应的映射文件集合。

18、在上述实现过程中,该方法可以对疑似加壳恶意文件进行识别与脱壳处理,得到无壳恶意文件,从而使得恶意文件信息库的构建不会受到恶意文件外层结构的影响,进而提高构建出的恶意文件信息库的有效性。

19、进一步地,所述方法还包括:

20、针对构建得到的多个恶意文件家族的恶意文件信息库,确定所述多个恶意文件家族的恶意文件信息库中是否存在满足预设条件的多个哈希值;其中,多个哈希值之间的相似度大于第一相似度阈值时,所述多个哈希值满足所述预设条件;

21、将满足所述预设条件的多个哈希值从所述多个恶意文件家族的恶意文件信息库中转移到通用信息库中,其中,所述通用信息库不同于所述多个恶意文件家族的恶意文件信息库中的任意一个恶意文件信息库。

22、进一步地,多个类型的文件内容包括代码段和数据段;所述获取多个类型的文件内容分别对应的局部敏感哈希值,包括:

23、获取根据各所述代码段对应的操作码序列提取的第一分布特征,并根据提取的各所述第一分布特征,获取第一局部敏感哈希值;

24、获取根据各所述数据段对应的文件字符串提取的第二分布特征,并根据提取的各所述第二分布特征,获取第二局部敏感哈希值。

25、进一步地,多个类型的文件内容包括代码段和不同于所述代码段的文件内容;获取所述代码段对应的局部敏感哈希值,包括:

26、针对从所述待检测文件中提取的每一个代码段,执行以下操作:

27、在所述代码段中提取可执行函数;

28、判断是否检测到所述可执行函数的执行入口点;

29、若是,则将所述执行入口点记录为指针变量;若否,则将所述代码段的起始位置的地址记录为指针变量;

30、基于所述指针变量遍历所述代码段,并在遍历的过程中提取所述可执行函数中所有指令包括的操作码,得到各所述可执行函数对应的操作码序列;

31、分别对各所述操作码序列进行哈希计算,得到多个第一哈希值;

32、基于所述多个第一哈希值提取第一分布特征,并基于所述第一分布特征生成所述代码段的第一特征字典;

33、对所有所述代码段的所述第一特征字典进行合并,得到第一目标特征字典;

34、根据所述第一目标特征字典中的第一分布特征,计算第一局部敏感哈希值。

35、进一步地,多个类型的文件内容包括数据段和不同于所述数据段的文件内容;获取所述数据段对应的局部敏感哈希值,包括:

36、针对从所述待检测文件中提取的每一个数据段,执行以下操作:

37、在所述数据段中提取文件字符串;

38、对所述文件字符串进行去噪处理,得到去噪后的文件字符串;

39、对所述去噪后的文件字符串进行切分,得到多个切分字符串;

40、基于所述多个切分字符串提取第二分布特征,并基于所述第二分布特征生成所述数据段的第二特征字典;

41、对所有所述数据段的第二特征字典进行合并,获得第二目标特征字典;

42、基于所述第二目标特征字典中的第二分布特征,计算第二局部敏感哈希值。

43、进一步地,所述方法还包括:

44、在所述待检测文件的检测结果指示存在所述待检测文件所属的恶意文件家族的情况下,接收针对所述待检测文件的检测结果的验证结果;

45、在所述验证结果表示所述检测结果正确的情况下,将所述待检测文件的目标哈希值存储至所述检测结果指示的恶意文件家族的恶意文件信息库中;

46、在所述验证结果表示所述检测结果错误的情况下,将所述待检测文件的目标哈希值存储至所述验证结果指示的恶意文件家族的恶意文件信息库中。

47、本技术第二方面提供了一种恶意文件检测装置,所述恶意文件检测装置包括:

48、提取单元,用于从待检测文件中提取多个类型的文件内容;

49、第一获取单元,用于获取多个类型的文件内容分别对应的局部敏感哈希值;

50、第一拼接单元,用于对多个类型所述文件内容分别对应的局部敏感哈希值进行拼接,得到所述待检测文件的目标哈希值;

51、第一计算单元,用于对所述目标哈希值分别与多个恶意文件信息库中的哈希值进行相似度计算,得到多个相似度,其中,不同所述恶意文件信息库是基于属于不同恶意文件家族的恶意文件的哈希值构建得到;任一所述恶意文件的哈希值是对基于所述恶意文件中多个类型的文件内容对应的局部敏感哈希值拼接得到;

52、第一确定单元,用于根据各个所述相似度,从多个所述恶意文件家族中确定所述待检测文件所属的恶意文件家族。

53、进一步地,所述恶意文件检测装置还包括:

54、第二获取单元,用于获取目标恶意文件家族的恶意文件集合;其中,所述目标恶意文件家族为多个恶意文件家族中的任一个恶意文件家族;

55、映射单元,用于将所述恶意文件集合中的恶意文件分别映射到创建好的缓存区中,得到与所述恶意文件集合相对应的映射文件集合;

56、提取单元,用于提取所述映射文件集合中每个映射文件包括的多个类型的文件内容;

57、第三获取单元,用于获取各类型的所述文件内容对应的局部敏感哈希值;

58、第二拼接单元,用于针对每一个所述映射文件,对所述映射文件的各类型的所述文件内容对应的局部敏感哈希值进行拼接,得到所述映射文件的哈希值;

59、信息库构建单元,用于根据所述映射文件集合中每个映射文件的哈希值,构建所述目标恶意文件家族对应的恶意文件信息库。

60、进一步地,所述映射单元包括:

61、提取子单元,用于提取所述恶意文件集合包括的疑似加壳恶意文件和无壳恶意文件;

62、脱壳子单元,用于对所述疑似加壳恶意文件进行脱壳处理,得到脱壳恶意文件;

63、映射子单元,用于将所述无壳恶意文件和所述脱壳恶意文件中的恶意文件分别映射到创建好的缓存区中,得到与所述恶意文件集合相对应的映射文件集合。

64、进一步地,所述脱壳子单元,具体用于获取所述疑似加壳恶意文件;以及对所述疑似加壳恶意文件进行沙箱模拟,并在沙箱模拟过程中识别文件运行行为和疑似加壳特征;以及基于所述文件运行行为和所述疑似加壳特征,通过逆向工程工具对所述疑似加壳恶意文件进行脱壳处理,得到脱壳恶意文件。

65、进一步地,所述恶意文件检测装置还包括:

66、第二确定单元,用于针对构建得到的多个恶意文件家族的恶意文件信息库,确定所述多个恶意文件家族的恶意文件信息库中是否存在满足预设条件的多个哈希值;其中,多个哈希值之间的相似度大于第一相似度阈值时,所述多个哈希值满足所述预设条件;

67、转移单元,用于将满足所述预设条件的多个哈希值从所述多个恶意文件家族的恶意文件信息库中转移到通用信息库中,其中,所述通用信息库不同于所述多个恶意文件家族的恶意文件信息库中的任意一个恶意文件信息库。

68、进一步地,多个类型的文件内容包括代码段和数据段;所述第一获取单元,包括:

69、第一获取子单元,用于获取根据各所述代码段对应的操作码序列提取的第一分布特征,并根据提取的各所述第一分布特征,获取第一局部敏感哈希值;

70、第二获取子单元,用于获取根据各所述数据段对应的文件字符串提取的第二分布特征,并根据提取的各所述第二分布特征,获取第二局部敏感哈希值。

71、进一步地,多个类型的文件内容包括代码段和不同于所述代码段的文件内容;

72、所述第一获取单元,具体用于针对从所述待检测文件中提取的每一个代码段,执行以下操作:在所述代码段中提取可执行函数;判断是否检测到所述可执行函数的执行入口点;若是,则将所述执行入口点记录为指针变量;若否,则将所述代码段的起始位置的地址记录为指针变量;基于所述指针变量遍历所述代码段,并在遍历的过程中提取所述可执行函数中所有指令包括的操作码,得到各所述可执行函数对应的操作码序列;分别对各所述操作码序列进行哈希计算,得到多个第一哈希值;基于所述多个第一哈希值提取第一分布特征,并基于所述第一分布特征生成所述代码段的第一特征字典;对所有所述代码段的所述第一特征字典进行合并,得到第一目标特征字典;根据所述第一目标特征字典中的第一分布特征,计算第一局部敏感哈希值。

73、进一步地,多个类型的文件内容包括数据段和不同于所述数据段的文件内容;

74、所述第一获取单元,具体用于针对从所述待检测文件中提取的每一个数据段,执行以下操作:在所述数据段中提取文件字符串;对所述文件字符串进行去噪处理,得到去噪后的文件字符串;对所述去噪后的文件字符串进行切分,得到多个切分字符串;基于所述多个切分字符串提取第二分布特征,并基于所述第二分布特征生成所述数据段的第二特征字典;对所有所述数据段的第二特征字典进行合并,获得第二目标特征字典;基于所述第二目标特征字典中的第二分布特征,计算第二局部敏感哈希值。

75、进一步的,所述恶意文件检测装置还包括:

76、接收单元,用于在所述待检测文件的检测结果指示存在所述待检测文件所属的恶意文件家族的情况下,接收针对所述待检测文件的检测结果的验证结果;

77、存储单元,用于在所述验证结果表示所述检测结果正确的情况下,将所述待检测文件的目标哈希值存储至所述检测结果指示的恶意文件家族的恶意文件信息库中;

78、所述存储单元,还用于在所述验证结果表示所述检测结果错误的情况下,将所述待检测文件的目标哈希值存储至所述验证结果指示的恶意文件家族的恶意文件信息库中。

79、本技术第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本技术第一方面中任一项所述的恶意文件检测方法。

80、本技术第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本技术第一方面中任一项所述的恶意文件检测方法。

本文地址:https://www.jishuxx.com/zhuanli/20241106/322362.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。