CN109492395B - 一种检测恶意程序的方法、装置及存储介质 - Google Patents

一种检测恶意程序的方法、装置及存储介质 Download PDF

Info

Publication number
CN109492395B
CN109492395B CN201811291951.3A CN201811291951A CN109492395B CN 109492395 B CN109492395 B CN 109492395B CN 201811291951 A CN201811291951 A CN 201811291951A CN 109492395 B CN109492395 B CN 109492395B
Authority
CN
China
Prior art keywords
sample
information
sample file
file
threat
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811291951.3A
Other languages
English (en)
Other versions
CN109492395A (zh
Inventor
林思明
陈腾跃
王锦江
吴陈炜
梁煜麓
杨心恩
罗佳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Anscen Network Technology Co ltd
Original Assignee
Xiamen Anscen Network Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Anscen Network Technology Co ltd filed Critical Xiamen Anscen Network Technology Co ltd
Priority to CN201811291951.3A priority Critical patent/CN109492395B/zh
Publication of CN109492395A publication Critical patent/CN109492395A/zh
Application granted granted Critical
Publication of CN109492395B publication Critical patent/CN109492395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种检测恶意程序的方法、装置及存储介质,该方法通过先对待检测的样本文件进行静态分析,如果不能确定样本文件是否恶意,则对样本文件进行动态分析识别,如果仍不能确定样本文件是否恶意,则使用深度学习检测模型进行检测,且在深度学习模型检测时使用了动态分析的行为及静态分析的静态信息转换为适于深度学习模型识别的图像进行分类,本发明通过三级检测,提高了恶意程序的检出率,对广泛传播的变形恶意程序、多态恶意程序的识别率大大的提高,并且降低了误报率,且也提高了检测速度,提高了用户体验。

Description

一种检测恶意程序的方法、装置及存储介质
技术领域
本发明涉及数据库处理技术领域,特别是一种检测恶意程序的方法、装置及存储介质。
背景技术
传统的恶意程序检测技术有特征码检测、行为检测、启发式扫描、机器学习等。这些检测的原理不同,实现时所需的开销及检测的范围各不相同,都有一些局限性,无法应对新技术下的恶意程序。现常用的是基于统计与特征规则分析并且采用虚拟技术来检测恶意程序。但对比于恶意程序的发展速度和趋势,以及恶意程序的数量,传统的恶意程序检测技术已经进入了技术瓶颈,无法满足恶意程序的检测需求。美国CIA的间谍软件Hive是一个典型的例子,其从2010年开始使用至2017年被维基解密曝光的这段时间中在各大在线检测网站中均未被检测出样本。
现有技术之一的特征码检测技术是通过采集恶意程序样本,提取其特征码,在检测时与检验样本进行比较;判断是否有样本与特征码吻合,从而判定是否为恶意程序。该检测方法只能针对已知的恶意程序,对广泛传播的变形恶意程序、多态恶意程序等基本上不起作用。
现有技术中的行为检测法利用恶意程序在运行时产生特有的行特征检测恶意程序。在检测时,当程序运行时出现恶意程序运行时所拥有的特征时,判定该程序为恶意程序。行为检测法可发现未知的恶意程序,但其存在误报率高,实现困难的缺陷。除此之外,当前恶意程序大量使用了行为收集对抗技术,以干扰行为检测技术,使得传统行为检测方案效果进一步减弱。
随着互联网的发展,恶意程序出现的速度也越来越快,据统计,新出现的恶意程序大部分是变形恶意程序、多态恶意程序。新生成的程序通常是设计者为了绕过反病毒软件的查杀,而在原有基础上修改而成。随着恶意程序以指数级的速度的增加,传统的检测方式已经不足以保障运行环境的安全。
发明内容
本发明针对上述现有技术中的缺陷,提出了如下技术方案。
一种检测恶意程序的方法,该方法包括:
静态分析步骤,对需要的检测的样本文件进行静态分析,如果静态分析结果为样本文件包含恶意程序,则生成威胁信息,如果静态分析结果为可信的样本文件,则退出检测,如果静态分析结果为未确定的样本文件,则进行动态分析检测;
动态分析检测步骤,在沙箱中运行未确定的样本文件,收集所述未确定的样本文件在运行过程中产生的行为,通过所述行为对所述未确定的样本文件进行识别,如果识别结果为样本文件包含恶意程序,则生成威胁信息,如果识别分析结果仍为未确定的样本文件,则使用深度学习检测对其进行检测;
深度学习检测步骤,使用所述深度学习检测模型对仍未确定的样本文件进行检测,如果检测结果为样本文件包含恶意程序,则生成威胁信息;
预警步骤,对所述威胁信息进行分析,获取威胁级别,根据所述威胁级别发出预警信息。
更进一步地,所述静态分析采用的方式为:基于全文hash的可信文件识别方式、基于数字签名识别方式、基于模糊hash的家族识别方式和/或通过静态扫描引擎进行扫描。
更进一步地,所述动态分析通过行为模式匹配或者启发式算法进行未确定的样本文件的识别。
更进一步地,训练深度学习检测模型的操作为:获取训练样本文件,准备文件类型相同并且分类成威胁样本文件和可信样本文件的样本文件集,且威胁样本文件和可信样本文件数量一致;对训练样本文件进行动态分析,将所述威胁样本文件和可信样本文件分别在沙箱中运行,收集运行过程中产生的行为生成动态运行记录,对所述威胁样本文件和可信样本进行静态分析提取静态信息生成静态信息记录,将所述动态运行记录和静态信息记录合并为训练样本信息行为集;生成训练样本文件的样本图像,对所述训练样本信息行为集进行预处理,去除行为集中的冗余、干扰信息,把处理过的训练样本信息行为集转化训练样本文件的样本图像,包括威胁样本图像和可信样本图像;训练深度学习检测模型,对所述威胁样本图像和可信样本图像进行上下翻转、左右翻转、二值化和/或ZCA白化数据增强处理得到扩展的威胁样本图像和可信样本图像,把扩展的威胁样本图像和可信样本图像利用卷积神经网络的方式进行卷积训练生成用于检测恶意程序的深度学习检测模型。
更进一步地,动态分析时运行过程中产生的行为包括:API调用信息、进程链信息和/或网络行为数据;静态信息包括:字符串信息、导入导出信息和/或资源信息。
更进一步地,使用所述深度学习检测模型对仍未确定的样本文件进行检测的操作为:收集仍未确定的样本文件运行过程中产生的行为生成动态运行记录,对所述仍未确定的样本文件进行静态分析提取静态信息生成静态信息记录,将所述动态运行记录和静态信息记录合并为仍未确定的样本文件的信息行为集,对所述仍未确定的样本文件的信息行为集进行预处理,去除行为集中的冗余、干扰信息,把处理过的仍未确定的样本文件的信息行为集转化为仍未确定的样本文件的样本图像,使用深度学习检测模型对仍未确定的样本文件的样本图像进行检测得到检测结果。
本发明还提出了一种检测恶意程序的装置,该装置包括:
静态分析单元,用于对需要的检测的样本文件进行静态分析,如果静态分析结果为样本文件包含恶意程序,则生成威胁信息,如果静态分析结果为可信的样本文件,则退出检测,如果静态分析结果为未确定的样本文件,则进行动态分析检测;
动态分析检测单元,用于在沙箱中运行未确定的样本文件,收集所述未确定的样本文件在运行过程中产生的行为,通过所述行为对所述未确定的样本文件进行识别,如果识别结果为样本文件包含恶意程序,则生成威胁信息,如果识别分析结果仍为未确定的样本文件,则使用深度学习检测对其进行检测;
深度学习检测单元,用于使用所述深度学习检测模型对仍未确定的样本文件进行检测,如果检测结果为样本文件包含恶意程序,则生成威胁信息;
预警单元,用于对所述威胁信息进行分析,获取威胁级别,根据所述威胁级别发出预警信息。
更进一步地,所述静态分析采用的方式为:基于全文hash的可信文件识别方式、基于数字签名识别方式、基于模糊hash的家族识别方式和/或通过静态扫描引擎进行扫描。
更进一步地,所述动态分析通过行为模式匹配或者启发式算法进行未确定的样本文件的识别。
更进一步地,训练深度学习检测模型的操作为:获取训练样本文件,准备文件类型相同并且分类成威胁样本文件和可信样本文件的样本文件集,且威胁样本文件和可信样本文件数量一致;对训练样本文件进行动态分析,将所述威胁样本文件和可信样本文件分别在沙箱中运行,收集运行过程中产生的行为生成动态运行记录,对所述威胁样本文件和可信样本进行静态分析提取静态信息生成静态信息记录,将所述动态运行记录和静态信息记录合并为训练样本信息行为集;生成训练样本文件的样本图像,对所述训练样本信息行为集进行预处理,去除行为集中的冗余、干扰信息,把处理过的训练样本信息行为集转化训练样本文件的样本图像,包括威胁样本图像和可信样本图像;训练深度学习检测模型,对所述威胁样本图像和可信样本图像进行上下翻转、左右翻转、二值化和/或ZCA白化数据增强处理得到扩展的威胁样本图像和可信样本图像,把扩展的威胁样本图像和可信样本图像利用卷积神经网络的方式进行卷积训练生成用于检测恶意程序的深度学习检测模型。
更进一步地,动态分析时运行过程中产生的行为包括:API调用信息、进程链信息和/或网络行为数据;静态信息包括:字符串信息、导入导出信息和/或资源信息。
更进一步地,使用所述深度学习检测模型对仍未确定的样本文件进行检测的操作为:收集仍未确定的样本文件运行过程中产生的行为生成动态运行记录,对所述仍未确定的样本文件进行静态分析提取静态信息生成静态信息记录,将所述动态运行记录和静态信息记录合并为仍未确定的样本文件的信息行为集,对所述仍未确定的样本文件的信息行为集进行预处理,去除行为集中的冗余、干扰信息,把处理过的仍未确定的样本文件的信息行为集转化为仍未确定的样本文件的样本图像,使用深度学习检测模型对仍未确定的样本文件的样本图像进行检测得到检测结果。
本发明的技术效果为:本发明通过先对待检测的样本文件进行静态分析,如果不能确定样本文件是否恶意,则对样本文件进行动态分析识别,如果仍不能确定样本文件是否恶意,则使用深度学习检测模型进行检测,且在深度学习模型检测时使用了动态分析的行为及静态分析的静态信息转换为适于深度学习模型识别的图像进行分类,本发明通过三级检测,提高了恶意程序的检出率,对广泛传播的变形恶意程序、多态恶意程序的识别率大大的提高,并且降低了误报率,且也提高了检测速度,提高了用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显。
图1是根据本发明的实施例的一种检测恶意程序的方法的流程图。
图2是根据本发明的实施例的一种检测恶意程序的装置的结构图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了本发明的一种检测恶意程序的方法,该方法包括:
静态分析步骤S101,对需要的检测的样本文件进行静态分析,如果静态分析结果为样本文件包含恶意程序,则生成威胁信息,如果静态分析结果为可信的样本文件,则退出检测,如果静态分析结果为未确定的样本文件,则进行动态分析检测。
动态分析检测步骤S102,在沙箱中运行未确定的样本文件,收集所述未确定的样本文件在运行过程中产生的行为,通过所述行为对所述未确定的样本文件进行识别,如果识别结果为样本文件包含恶意程序,则生成威胁信息,如果识别分析结果仍为未确定的样本文件,则使用深度学习检测对其进行检测。
深度学习检测步骤S103,使用所述深度学习检测模型对仍未确定的样本文件进行检测,如果检测结果为样本文件包含恶意程序,则生成威胁信息。
预警步骤S104,对所述威胁信息进行分析,获取威胁级别,根据所述威胁级别发出预警信息。
在一个实施例中,在静态分析步骤S101中,根据样本文件的分类选择不同的处理流程:对可信样本结束检测流程;对有威胁的样本,根据样本的威胁情况产生威胁信息;针对未知样本进一步进行动态分析和深度学习检测。静态分析包含多项可增减、可调整顺序的传统识别技术,所述静态分析采用的方式为:基于全文hash的可信文件识别方式、基于数字签名识别方式、基于模糊hash的家族识别方式和/或通过静态扫描引擎进行扫描(可以是第三方提供的静态扫描引擎),在静态分析时可以综合使用上述多种分析方式进行。
在一个实施例中,在动态分析检测步骤S102中,所述动态分析通过行为模式匹配或者启发式算法进行未确定的样本文件的识别,将收集所述未确定的样本文件在运行过程中产生的行为进行记录,如果动态分析结构仍不能确定的样本文件,则在使用深度学习检测需要使用该记录的未确定的样本文件在运行过程中产生的行为。
为了准确的进行检测,在深度学习检测模型使用前,需要进行先训练,本发明是将动态运行记录和静态信息记录合并为训练样本信息行为集生成训练样本文件的样本图像进行深度学习检测模型的训练,这是本发明的重要发明点之一,训练深度学习检测模型的操作为:获取训练样本文件,准备文件类型相同并且分类成威胁样本文件和可信样本文件的样本文件集,且威胁样本文件和可信样本文件数量一致;对训练样本文件进行动态分析,将所述威胁样本文件和可信样本文件分别在沙箱中运行,收集运行过程中产生的行为生成动态运行记录,对所述威胁样本文件和可信样本进行静态分析提取静态信息生成静态信息记录,将所述动态运行记录和静态信息记录合并为训练样本信息行为集;生成训练样本文件的样本图像,对所述训练样本信息行为集进行预处理,去除行为集中的冗余、干扰信息,把处理过的训练样本信息行为集转化训练样本文件的样本图像,包括威胁样本图像和可信样本图像;训练深度学习检测模型,对所述威胁样本图像和可信样本图像进行上下翻转、左右翻转、二值化和/或ZCA白化数据增强处理得到扩展的威胁样本图像和可信样本图像,把扩展的威胁样本图像和可信样本图像利用卷积神经网络的方式进行卷积训练生成用于检测恶意程序的深度学习检测模型。
在本发明的实施例中,将动态运行记录和静态信息记录采用JSON格式保存,便于模型的训练。JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。正是JSON有上述优点,本发明中才将数据封装为JSON格式。
本方法所使用的卷积神经网络包含多个卷积池化单元,其中包括了应用卷积核的卷积层,进一步降维的池化层。做完特征检测后,接入全连接层,观察输出特征与哪一分类最为接近,最后通过一个分类器得到分类的结果。基于此,将威胁样本与可信样本转换后通过卷积神经网络在GPU集群上进行训练,生成可以用来检测恶意程序的模型。在深度学习检测模型训练过程中,随时根据训练的效果调整模型的参数或训练样本,直到得到最优的深度学习检测模型。为了进一步提高检测的精度,可将训练样本文件按类型训练对应的深度学习模型,比如文件类型分为PE文件、ELF文件、Office文档、PDF等,训练得到对应文件类型的深度学习模型。
在一个实施例中,动态分析时运行过程中产生的行为包括:API调用信息、进程链信息和/或网络行为数据;静态信息包括:字符串信息、导入导出信息和/或资源信息。
在一个实施例中,使用所述深度学习检测模型对仍未确定的样本文件进行检测的操作为:收集仍未确定的样本文件运行过程中产生的行为生成动态运行记录,对所述仍未确定的样本文件进行静态分析提取静态信息生成静态信息记录,将所述动态运行记录和静态信息记录合并为仍未确定的样本文件的信息行为集,对所述仍未确定的样本文件的信息行为集进行预处理,去除行为集中的冗余、干扰信息,把处理过的仍未确定的样本文件的信息行为集转化为仍未确定的样本文件的样本图像,获取仍未确定的样本文件的样本图像的方式与模型训练时所生成的方式相同,然后,使用深度学习检测模型对仍未确定的样本文件的样本图像进行检测得到检测结果。在深度学习检测时,可以根据仍未确定的样本文件的类型选择对应的深度学习检测模型,如为ELF文件,则选择训练好的ELF文件类型的深度学习模型,以进一步提高检测精度。
在预警步骤S104中,对所述威胁信息进行分析,获取威胁级别,根据所述威胁级别发出预警信息,比如威胁级别分为非常严重、严重、一般等等,可以使用声音或颜色表示预警信息,比如红色表示威胁级别为非常严重,橙色表示威胁级别为严重,绿色表示威胁级别为一般等等。
本方法通过先对待检测的样本文件进行静态分析、动态分析识别和使用深度学习检测模型进行检测三级检测,且在深度学习模型检测时使用了动态分析的行为及静态分析的静态信息转换为适于深度学习模型识别的图像进行分类,提高了恶意程序的检出率,对广泛传播的变形恶意程序、多态恶意程序的识别率大大的提高,并且降低了误报率,且也提高了检测速度。
进一步参考图2,作为对上述图1所示方法的实现,本申请提供了一种检测恶意程序的装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以包含于各种电子设备中。
图2示出了本发明的一种检测恶意程序的装置,该装置包括:
静态分析单元201,用于对需要的检测的样本文件进行静态分析,如果静态分析结果为样本文件包含恶意程序,则生成威胁信息,如果静态分析结果为可信的样本文件,则退出检测,如果静态分析结果为未确定的样本文件,则进行动态分析检测。
动态分析检测单元202,用于在沙箱中运行未确定的样本文件,收集所述未确定的样本文件在运行过程中产生的行为,通过所述行为对所述未确定的样本文件进行识别,如果识别结果为样本文件包含恶意程序,则生成威胁信息,如果识别分析结果仍为未确定的样本文件,则使用深度学习检测对其进行检测。
深度学习检测单元203,用于使用所述深度学习检测模型对仍未确定的样本文件进行检测,如果检测结果为样本文件包含恶意程序,则生成威胁信息。
预警单元204,用于对所述威胁信息进行分析,获取威胁级别,根据所述威胁级别发出预警信息。
在一个实施例中,在静态分析单元201中,根据样本文件的分类选择不同的处理流程:对可信样本结束检测流程;对有威胁的样本,根据样本的威胁情况产生威胁信息;针对未知样本进一步进行动态分析和深度学习检测。静态分析包含多项可增减、可调整顺序的传统识别技术,所述静态分析采用的方式为:基于全文hash的可信文件识别方式、基于数字签名识别方式、基于模糊hash的家族识别方式和/或通过静态扫描引擎进行扫描(可以是第三方提供的静态扫描引擎),在静态分析时可以综合使用上述多种分析方式进行。
在一个实施例中,在动态分析检测单元202中,所述动态分析通过行为模式匹配或者启发式算法进行未确定的样本文件的识别,将收集所述未确定的样本文件在运行过程中产生的行为进行记录,如果动态分析结构仍不能确定的样本文件,则在使用深度学习检测需要使用该记录的未确定的样本文件在运行过程中产生的行为。
为了准确的进行检测,在深度学习检测模型使用前,需要进行先训练,本发明是将动态运行记录和静态信息记录合并为训练样本信息行为集生成训练样本文件的样本图像进行深度学习检测模型的训练,这是本发明的重要发明点之一,训练深度学习检测模型的操作为:获取训练样本文件,准备文件类型相同并且分类成威胁样本文件和可信样本文件的样本文件集,且威胁样本文件和可信样本文件数量一致;对训练样本文件进行动态分析,将所述威胁样本文件和可信样本文件分别在沙箱中运行,收集运行过程中产生的行为生成动态运行记录,对所述威胁样本文件和可信样本进行静态分析提取静态信息生成静态信息记录,将所述动态运行记录和静态信息记录合并为训练样本信息行为集;生成训练样本文件的样本图像,对所述训练样本信息行为集进行预处理,去除行为集中的冗余、干扰信息,把处理过的训练样本信息行为集转化训练样本文件的样本图像,包括威胁样本图像和可信样本图像;训练深度学习检测模型,对所述威胁样本图像和可信样本图像进行上下翻转、左右翻转、二值化和/或ZCA白化数据增强处理得到扩展的威胁样本图像和可信样本图像,把扩展的威胁样本图像和可信样本图像利用卷积神经网络的方式进行卷积训练生成用于检测恶意程序的深度学习检测模型。为了进一步提高检测的精度,可将训练样本文件按类型训练对应的深度学习模型,比如文件类型分为PE文件、ELF文件、Office文档、PDF等,训练得到对应文件类型的深度学习模型。
在本发明的实施例中,将动态运行记录和静态信息记录采用JSON格式保存,便于模型的训练。JSON(JavaScript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。正是JSON有上述优点,本发明中才将数据封装为JSON格式。
本装置所使用的卷积神经网络包含多个卷积池化单元,其中包括了应用卷积核的卷积层,进一步降维的池化层。做完特征检测后,接入全连接层,观察输出特征与哪一分类最为接近,最后通过一个分类器得到分类的结果。基于此,将威胁样本与可信样本转换后通过卷积神经网络在GPU集群上进行训练,生成可以用来检测恶意程序的模型。在深度学习检测模型训练过程中,随时根据训练的效果调整模型的参数或训练样本,直到得到最优的深度学习检测模型。
在一个实施例中,动态分析时运行过程中产生的行为包括:API调用信息、进程链信息和/或网络行为数据;静态信息包括:字符串信息、导入导出信息和/或资源信息。
在一个实施例中,使用所述深度学习检测模型对仍未确定的样本文件进行检测的操作为:收集仍未确定的样本文件运行过程中产生的行为生成动态运行记录,对所述仍未确定的样本文件进行静态分析提取静态信息生成静态信息记录,将所述动态运行记录和静态信息记录合并为仍未确定的样本文件的信息行为集,对所述仍未确定的样本文件的信息行为集进行预处理,去除行为集中的冗余、干扰信息,把处理过的仍未确定的样本文件的信息行为集转化为仍未确定的样本文件的样本图像,获取仍未确定的样本文件的样本图像的方式与模型训练时所生成的方式相同,然后,使用深度学习检测模型对仍未确定的样本文件的样本图像进行检测得到检测结果。在深度学习检测时,可以根据仍未确定的样本文件的类型选择对应的深度学习检测模型,如为ELF文件,则选择训练好的ELF文件类型的深度学习模型,以进一步提高检测精度。
在预警单元204中,对所述威胁信息进行分析,获取威胁级别,根据所述威胁级别发出预警信息,比如威胁级别分为非常严重、严重、一般等等,可以使用声音或颜色表示预警信息,比如红色表示威胁级别为非常严重,橙色表示威胁级别为严重,绿色表示威胁级别为一般等等。
本装置通过先对待检测的样本文件进行静态分析、动态分析识别和使用深度学习检测模型进行检测三级检测,且在深度学习模型检测时使用了动态分析的行为及静态分析的静态信息转换为适于深度学习模型识别的图像进行分类,提高了恶意程序的检出率,对广泛传播的变形恶意程序、多态恶意程序的识别率大大的提高,并且降低了误报率,且也提高了检测速度。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
最后所应说明的是:以上实施例仅以说明而非限制本发明的技术方案,尽管参照上述实施例对本发明进行了详细说明,本领域的普通技术人员应当理解:依然可以对本发明进行修改或者等同替换,而不脱离本发明的精神和范围的任何修改或局部替换,其均应涵盖在本发明的权利要求范围当中。

Claims (9)

1.一种检测恶意程序的方法,其特征在于,该方法包括:
静态分析步骤,对需要的检测的样本文件进行静态分析,如果静态分析结果为样本文件包含恶意程序,则生成威胁信息,如果静态分析结果为可信的样本文件,则退出检测,如果静态分析结果为未确定的样本文件,则进行动态分析检测;
动态分析检测步骤,在沙箱中运行未确定的样本文件,收集所述未确定的样本文件在运行过程中产生的行为,通过所述行为对所述未确定的样本文件进行识别,如果识别结果为样本文件包含恶意程序,则生成威胁信息,如果识别分析结果仍为未确定的样本文件,则使用深度学习检测模型对其进行检测;
深度学习检测步骤,使用所述深度学习检测模型对仍未确定的样本文件进行检测,如果检测结果为样本文件包含恶意程序,则生成威胁信息;
预警步骤,对所述威胁信息进行分析,获取威胁级别,根据所述威胁级别发出预警信息;
其中,训练深度学习检测模型的操作为:获取训练样本文件,准备文件类型相同并且分类成威胁样本文件和可信样本文件的样本文件集,且威胁样本文件和可信样本文件数量一致;对训练样本文件进行动态分析,将所述威胁样本文件和可信样本文件分别在沙箱中运行,收集运行过程中产生的行为生成动态运行记录,对所述威胁样本文件和可信样本进行静态分析提取静态信息生成静态信息记录,将所述动态运行记录和静态信息记录合并为训练样本信息行为集;生成训练样本文件的样本图像,对所述训练样本信息行为集进行预处理,去除行为集中的冗余、干扰信息,把处理过的训练样本信息行为集转化训练样本文件的样本图像,包括威胁样本图像和可信样本图像;训练深度学习检测模型,对所述威胁样本图像和可信样本图像进行上下翻转、左右翻转、二值化和/或ZCA白化数据增强处理得到扩展的威胁样本图像和可信样本图像,把扩展的威胁样本图像和可信样本图像利用卷积神经网络的方式进行卷积训练生成用于检测恶意程序的深度学习检测模型;
其中,使用所述深度学习检测模型对仍未确定的样本文件进行检测的操作为:收集仍未确定的样本文件运行过程中产生的行为生成动态运行记录,对所述仍未确定的样本文件进行静态分析提取静态信息生成静态信息记录,将所述动态运行记录和静态信息记录合并为仍未确定的样本文件的信息行为集,对所述仍未确定的样本文件的信息行为集进行预处理,去除行为集中的冗余、干扰信息,把处理过的仍未确定的样本文件的信息行为集转化为仍未确定的样本文件的样本图像,根据仍未确定的样本文件的类型选择对应的深度学习检测模型,使用选择的深度学习检测模型对仍未确定的样本文件的样本图像进行检测得到检测结果。
2.根据权利要求1所述的方法,其特征在于,所述静态分析采用的方式为:基于全文hash的可信文件识别方式、基于数字签名识别方式、基于模糊hash的家族识别方式和/或通过静态扫描引擎进行扫描。
3.根据权利要求2所述的方法,其特征在于,所述动态分析通过行为模式匹配或者启发式算法进行未确定的样本文件的识别。
4.根据权利要求3所述的方法,其特征在于,动态分析时运行过程中产生的行为包括:API调用信息、进程链信息和/或网络行为数据;静态信息包括:字符串信息、导入导出信息和/或资源信息。
5.一种检测恶意程序的装置,其特征在于,该装置包括:
静态分析单元,用于对需要的检测的样本文件进行静态分析,如果静态分析结果为样本文件包含恶意程序,则生成威胁信息,如果静态分析结果为可信的样本文件,则退出检测,如果静态分析结果为未确定的样本文件,则进行动态分析检测;
动态分析检测单元,用于在沙箱中运行未确定的样本文件,收集所述未确定的样本文件在运行过程中产生的行为,通过所述行为对所述未确定的样本文件进行识别,如果识别结果为样本文件包含恶意程序,则生成威胁信息,如果识别分析结果仍为未确定的样本文件,则使用深度学习检测模型对其进行检测;
深度学习检测单元,用于使用所述深度学习检测模型对仍未确定的样本文件进行检测,如果检测结果为样本文件包含恶意程序,则生成威胁信息;
预警单元,用于对所述威胁信息进行分析,获取威胁级别,根据所述威胁级别发出预警信息;
其中,训练深度学习检测模型的操作为:获取训练样本文件,准备文件类型相同并且分类成威胁样本文件和可信样本文件的样本文件集,且威胁样本文件和可信样本文件数量一致;对训练样本文件进行动态分析,将所述威胁样本文件和可信样本文件分别在沙箱中运行,收集运行过程中产生的行为生成动态运行记录,对所述威胁样本文件和可信样本进行静态分析提取静态信息生成静态信息记录,将所述动态运行记录和静态信息记录合并为训练样本信息行为集;生成训练样本文件的样本图像,对所述训练样本信息行为集进行预处理,去除行为集中的冗余、干扰信息,把处理过的训练样本信息行为集转化训练样本文件的样本图像,包括威胁样本图像和可信样本图像;训练深度学习检测模型,对所述威胁样本图像和可信样本图像进行上下翻转、左右翻转、二值化和/或ZCA白化数据增强处理得到扩展的威胁样本图像和可信样本图像,把扩展的威胁样本图像和可信样本图像利用卷积神经网络的方式进行卷积训练生成用于检测恶意程序的深度学习检测模型;
其中,使用所述深度学习检测模型对仍未确定的样本文件进行检测的操作为:收集仍未确定的样本文件运行过程中产生的行为生成动态运行记录,对所述仍未确定的样本文件进行静态分析提取静态信息生成静态信息记录,将所述动态运行记录和静态信息记录合并为仍未确定的样本文件的信息行为集,对所述仍未确定的样本文件的信息行为集进行预处理,去除行为集中的冗余、干扰信息,把处理过的仍未确定的样本文件的信息行为集转化为仍未确定的样本文件的样本图像,根据仍未确定的样本文件的类型选择对应的深度学习检测模型,使用选择的深度学习检测模型对仍未确定的样本文件的样本图像进行检测得到检测结果。
6.根据权利要求5所述的装置,其特征在于,所述静态分析采用的方式为:基于全文hash的可信文件识别方式、基于数字签名识别方式、基于模糊hash的家族识别方式和/或通过静态扫描引擎进行扫描。
7.根据权利要求6所述的装置,其特征在于,所述动态分析通过行为模式匹配或者启发式算法进行未确定的样本文件的识别。
8.根据权利要求7所述的装置,其特征在于,动态分析时运行过程中产生的行为包括:API调用信息、进程链信息和/或网络行为数据;静态信息包括:字符串信息、导入导出信息和/或资源信息。
9.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序代码,当所述计算机程序代码被计算机执行时执行权利要求1-4之任一的方法。
CN201811291951.3A 2018-10-31 2018-10-31 一种检测恶意程序的方法、装置及存储介质 Active CN109492395B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811291951.3A CN109492395B (zh) 2018-10-31 2018-10-31 一种检测恶意程序的方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811291951.3A CN109492395B (zh) 2018-10-31 2018-10-31 一种检测恶意程序的方法、装置及存储介质

Publications (2)

Publication Number Publication Date
CN109492395A CN109492395A (zh) 2019-03-19
CN109492395B true CN109492395B (zh) 2021-01-12

Family

ID=65692061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811291951.3A Active CN109492395B (zh) 2018-10-31 2018-10-31 一种检测恶意程序的方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN109492395B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112149121A (zh) * 2019-06-27 2020-12-29 深信服科技股份有限公司 一种恶意文件识别方法、装置、设备及存储介质
CN110414234A (zh) * 2019-06-28 2019-11-05 奇安信科技集团股份有限公司 恶意代码家族识别方法及装置
CN110363003B (zh) * 2019-07-25 2022-08-02 哈尔滨工业大学 一种基于深度学习的Android病毒静态检测方法
CN110839042B (zh) * 2019-11-22 2021-08-03 上海交通大学 一种基于流量的自反馈恶意软件监测***和方法
CN111444144B (zh) * 2020-03-04 2023-07-25 奇安信科技集团股份有限公司 文件特征提取方法及装置
CN113537262B (zh) * 2020-04-20 2024-05-28 深信服科技股份有限公司 数据分析方法、装置、设备和可读存储介质
CN114679331B (zh) * 2022-04-11 2024-02-02 北京国联天成信息技术有限公司 一种基于ai技术的恶意代码被动检测方法及***
CN117155612A (zh) * 2023-08-09 2023-12-01 华能信息技术有限公司 一种网络文件内容恶意行为分析方法
CN116738427B (zh) * 2023-08-14 2024-02-23 深信服科技股份有限公司 终端安全防护方法、装置、设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9171160B2 (en) * 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
CN107103235A (zh) * 2017-02-27 2017-08-29 广东工业大学 一种基于卷积神经网络的Android恶意软件检测方法
CN107392025B (zh) * 2017-08-28 2020-06-26 刘龙 基于深度学习的恶意安卓应用程序检测方法

Also Published As

Publication number Publication date
CN109492395A (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
CN109492395B (zh) 一种检测恶意程序的方法、装置及存储介质
CN106778241B (zh) 恶意文件的识别方法及装置
CN112866023B (zh) 网络检测、模型训练方法、装置、设备及存储介质
US11580222B2 (en) Automated malware analysis that automatically clusters sandbox reports of similar malware samples
CN111753290B (zh) 软件类型的检测方法及相关设备
CN111368289B (zh) 一种恶意软件检测方法和装置
CN111460446A (zh) 基于模型的恶意文件检测方法及装置
CN113360912A (zh) 恶意软件检测方法、装置、设备及存储介质
CN111931179A (zh) 基于深度学习的云端恶意程序检测***及方法
CN113904861B (zh) 一种加密流量安全检测方法及装置
CN113254935A (zh) 恶意文件识别方法、装置及存储介质
Lovanshi et al. Comparative study of digital forensic tools
CN112884121A (zh) 基于生成对抗深度卷积网络的流量识别方法
CN117409419A (zh) 图像检测方法、设备及存储介质
CN114024761B (zh) 网络威胁数据的检测方法、装置、存储介质及电子设备
Assefa et al. Intelligent phishing website detection using deep learning
CN113468524B (zh) 基于rasp的机器学习模型安全检测方法
WO2024139862A1 (zh) 一种基于聚类分析的域名滥用检测方法及***
CN117857088A (zh) 一种网络流量异常检测方法、***、设备及介质
WO2019223637A1 (zh) 恶意文件检测方法、装置、设备及计算机可读存储介质
CN115766090A (zh) 一种多特征融合神经网络网络安全检测方法
Wang et al. Malware detection using cnn via word embedding in cloud computing infrastructure
CN107239704A (zh) 恶意网页发现方法及装置
CN112597498A (zh) 一种webshell的检测方法、***、装置及可读存储介质
Chen et al. A hybrid domain degradation feature extraction method for motor bearing based on distance evaluation technique

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant