一种恶意软件检测方法及装置制造方法及图纸

技术编号:35081839 阅读:21 留言:0更新日期:2022-09-28 11:50
本申请提供一种恶意软件检测方法及装置,该方法包括:采集恶意软件在沙箱中运行时产生的行为数据,并基于行为数据构建训练数据集;通过随机游走算法对训练数据集进行扩充,得到扩充数据集;基于扩充数据集,获取向量化的API调用序列;基于API调用序列,构建恶意软件动态检测模型;基于恶意软件动态检测模型,对实时运行的待检测软件进行检测,得到恶意软件检测结果。可见,实施这种实施方式,能够基于随机游走算法突破目前的检测困境,从而能够对恶意软件进行更有效地检测,并提高整体的检测效率。并提高整体的检测效率。并提高整体的检测效率。

【技术实现步骤摘要】
一种恶意软件检测方法及装置


[0001]本申请涉及网络安全领域,具体而言,涉及一种恶意软件检测方法及装置。

技术介绍

[0002]随着大数据和人工智能技术的快速发展,网络攻击呈现出大量、快速、持续等特性,从而对各大企业的信息安全带来了巨大的挑战。其中,恶意软件作为一种最容易被利用的恶意攻击方法,攻击者为了使其发挥最大的危害,现在已经使其搭载了多线程混淆等多种技术。而这直接导致了已有的恶意软件检测系统无法有效的进行检测,并且还大幅拉低了恶意软件的检测效率。

技术实现思路

[0003]本申请实施例的目的在于提供一种恶意软件检测方法及装置,能够基于随机游走算法突破目前的检测困境,从而能够对恶意软件进行更有效地检测,并提高整体的检测效率。
[0004]本申请实施例第一方面提供了一种恶意软件检测方法,包括:采集恶意软件在沙箱中运行时产生的行为数据,并基于所述行为数据构建训练数据集;通过随机游走算法对所述训练数据集进行扩充,得到扩充数据集;基于所述扩充数据集,获取向量化的API调用序列;基于所述API调用序列,构建恶意软件动态检测模型;基于所述恶意软件动态检测模型,对实时运行的待检测软件进行检测,得到恶意软件检测结果。
[0005]在上述实现过程中,该方法可以优先采集恶意软件在沙箱中运行时产生的行为数据,并基于行为数据构建训练数据集;并通过随机游走算法对训练数据集进行扩充,得到扩充数据集;然后,再基于扩充数据集,获取向量化的API调用序列;再然后,基于API调用序列,构建恶意软件动态检测模型;最后,再基于恶意软件动态检测模型,对实时运行的待检测软件进行检测,得到恶意软件检测结果。可见,实施这种实施方式,能够基于随机游走算法突破目前的检测困境,从而能够对恶意软件进行更有效地检测,并提高整体的检测效率。
[0006]进一步地,所述行为数据至少包括进程信息、线程信息以及API调用函数名。
[0007]进一步地,所述通过随机游走算法对所述训练数据集进行扩充,得到扩充数据集的步骤包括:提取所述训练数据集中行为数据的API调用函数名;基于所述API调用函数名,记录所述行为数据所在的多个线程;在所述多个线程间调用随机游走算法,得到游走数据;基于所述游走数据对所述训练数据集进行扩充,得到扩充数据集。
[0008]进一步地,所述基于所述扩充数据集,获取向量化的API调用序列的步骤包括:
提取所述扩充数据集中的所有API调用函数名;对所述API调用函数名进行编码处理,得到API调用函数表;基于所述API调用函数表进行向量化处理,得到向量化的API调用序列。
[0009]进一步地,所述基于所述恶意软件动态检测模型,对实时运行的待检测软件进行检测,得到恶意软件检测结果的步骤包括:记录实时运行的待检测软件的API调用行为;基于所述恶意软件动态检测模型对所述API调用行为进行分析,得到恶意软件检测结果。
[0010]本申请实施例第二方面提供了一种恶意软件检测装置,所述恶意软件检测装置包括:构建单元,用于采集恶意软件在沙箱中运行时产生的行为数据,并基于所述行为数据构建训练数据集;扩充单元,用于通过随机游走算法对所述训练数据集进行扩充,得到扩充数据集;获取单元,用于基于所述扩充数据集,获取向量化的API调用序列;建模单元,用于基于所述API调用序列,构建恶意软件动态检测模型;检测单元,用于基于所述恶意软件动态检测模型,对实时运行的待检测软件进行检测,得到恶意软件检测结果。
[0011]在上述实现过程中,该恶意软件检测装置构建单元采集恶意软件在沙箱中运行时产生的行为数据,并基于所述行为数据构建训练数据集;通过扩充单元通过随机游走算法对所述训练数据集进行扩充,得到扩充数据集;通过获取单元基于所述扩充数据集,获取向量化的API调用序列;通过建模单元基于所述API调用序列,构建恶意软件动态检测模型;通过检测单元基于所述恶意软件动态检测模型,对实时运行的待检测软件进行检测,得到恶意软件检测结果。可见,实施这种实施方式,能够基于随机游走算法突破目前的检测困境,从而能够对恶意软件进行更有效地检测,并提高整体的检测效率。
[0012]进一步地,所述行为数据至少包括进程信息、线程信息以及API调用函数名。
[0013]进一步地,所述扩充单元包括:第一提取子单元,用于提取所述训练数据集中行为数据的API调用函数名;记录子单元,用于基于所述API调用函数名,记录所述行为数据所在的多个线程;调用子单元,用于在所述多个线程间调用随机游走算法,得到游走数据;扩充子单元,用于基于所述游走数据对所述训练数据集进行扩充,得到扩充数据集。
[0014]进一步地,所述获取单元包括:第二提取子单元,用于提取所述扩充数据集中的所有API调用函数名;处理子单元,用于对所述API调用函数名进行编码处理,得到API调用函数表;所述处理子单元,还用于基于所述API调用函数表进行向量化处理,得到向量化的API调用序列。
[0015]进一步地,所述检测单元包括:第二记录子单元,用于记录实时运行的待检测软件的API调用行为;分析子单元,用于基于所述恶意软件动态检测模型对所述API调用行为进行分析,
得到恶意软件检测结果。
[0016]本申请实施例第三方面提供了一种电子设备,包括存储器以及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行本申请实施例第一方面中任一项所述的恶意软件检测方法。
[0017]本申请实施例第四方面提供了一种计算机可读存储介质,其存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行本申请实施例第一方面中任一项所述的恶意软件检测方法。
附图说明
[0018]为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0019]图1为本申请实施例提供的一种恶意软件检测方法的流程示意图;图2为本申请实施例提供的一种恶意软件检测装置的结构示意图;图3为本申请实施例提供的一种线程间随机游走过程图;图4为本申请实施例提供的一种向量训练与检索结构示意图。
具体实施方式
[0020]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0021]应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0022]实施例1请参看图1,图1为本实施例提供了一种恶意软件检测方法的流程示意图。其中,该恶意软件检测方法包括:S101、采集恶意软件在沙箱中运行时产生的行为数据,并基于行为数据构建训练数据集。<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种恶意软件检测方法,其特征在于,所述方法包括:采集恶意软件在沙箱中运行时产生的行为数据,并基于所述行为数据构建训练数据集;通过随机游走算法对所述训练数据集进行扩充,得到扩充数据集;基于所述扩充数据集,获取向量化的API调用序列;基于所述API调用序列,构建恶意软件动态检测模型;基于所述恶意软件动态检测模型,对实时运行的待检测软件进行检测,得到恶意软件检测结果。2.根据权利要求1所述的恶意软件检测方法,其特征在于,所述行为数据至少包括进程信息、线程信息以及API调用函数名。3.根据权利要求1所述的恶意软件检测方法,其特征在于,所述通过随机游走算法对所述训练数据集进行扩充,得到扩充数据集的步骤包括:提取所述训练数据集中行为数据的API调用函数名;基于所述API调用函数名,记录所述行为数据所在的多个线程;在所述多个线程间调用随机游走算法,得到游走数据;基于所述游走数据对所述训练数据集进行扩充,得到扩充数据集。4.根据权利要求1所述的恶意软件检测方法,其特征在于,所述基于所述扩充数据集,获取向量化的API调用序列的步骤包括:提取所述扩充数据集中的所有API调用函数名;对所述API调用函数名进行编码处理,得到API调用函数表;基于所述API调用函数表进行向量化处理,得到向量化的API调用序列。5.根据权利要求1所述的恶意软件检测方法,其特征在于,所述基于所述恶意软件动态检测模型,对实时运行的待检测软件进行检测,得到恶意软件检测结果的步骤包括:记录实时运行的待检测软件的API调用行为;基于所述恶意软件动态检测模型对所述AP...

【专利技术属性】
技术研发人员:周公延陈杰赵林林薛锋童兆丰
申请(专利权)人:北京微步在线科技有限公司
类型:发明
国别省市:

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

1