CN110619211A - 一种基于动态特征的恶意软件识别方法、***及相关装置 - Google Patents

一种基于动态特征的恶意软件识别方法、***及相关装置 Download PDF

Info

Publication number
CN110619211A
CN110619211A CN201810638966.6A CN201810638966A CN110619211A CN 110619211 A CN110619211 A CN 110619211A CN 201810638966 A CN201810638966 A CN 201810638966A CN 110619211 A CN110619211 A CN 110619211A
Authority
CN
China
Prior art keywords
file
malicious
risk
malicious file
modification
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.)
Pending
Application number
CN201810638966.6A
Other languages
English (en)
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201810638966.6A priority Critical patent/CN110619211A/zh
Priority to PCT/CN2019/087560 priority patent/WO2019242441A1/zh
Publication of CN110619211A publication Critical patent/CN110619211A/zh
Pending legal-status Critical Current

Links

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
    • 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
    • G06F21/563Static detection by source code analysis
    • 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
    • G06F21/565Static detection by checking file integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种基于动态特征的恶意软件识别方法,该方法在保留机器学习算法具有的泛化能力对新鲜样本的识别结果的基础上,同时利用HOOK技术获取由机器学习算法判定为初步高风险文件的文件操作,并判断其即将执行的文件操作是否与恶意文件通常执行的文件操作相匹配,本方法不仅保留了泛化能力带来的对新鲜样本的识别能力,还通过监控该初步高风险文件即将执行的文件操作这一动态特征进行恶意文件的二次确定,显著降低了对新鲜样本的误判几率,恶意文件识别更准确。本申请还同时公开了一种基于动态特征的恶意软件识别***、设备及计算机可读存储介质,具有上述有益效果。

Description

一种基于动态特征的恶意软件识别方法、***及相关装置
算法领域
本申请涉及恶意软件识别领域,特别涉及一种基于动态特征的恶意软件识别方法、***、装置及计算机可读存储介质。
背景算法
随着计算机编程算法的不断发展,基于各式计算机语言编程得到的软件也使得人们能够更加方便的在计算机中完成各式任务和工作,但携带恶意内容的恶意软件也随之出现,恶意的攻击正常数据文件或盗取他人劳动成果。因此,对待测软件进行是否为恶意软件的识别是十分重要的。
现有一种识别恶意软件的方法:利用机器学习算法基于大量恶意文件构建得到恶意文件识别模型,其区别于传统的基于特征码的识别模型,优点在于由机器学习算法构建的恶意文件识别模型具有一定的泛化能力(指机器学习算法对新鲜样本的适应能力,即通过挖掘隐含在数据背后的规律实现对未经过训练的新鲜样本也能给出较为正确的识别),因此可以发现新型的恶意内容。但现阶段的泛化能力也存在缺点:由该泛化能力认定的恶意内容往往实际上并非真正的恶意内容,即出现较高概率的误判现象。而若是抑制泛化能力,机器学习算法也就与传统基于特征码的识别模型基本无差别。
所以,如何克服现阶段泛化能力存在的各项算法缺陷,提供一种既能够保留机器学习的泛化能力、又能够降低其误报率的恶意软件识别方法是本领域算法人员亟待解决的问题。
发明内容
本申请的目的是提供一种基于动态特征的恶意软件识别方法,在保留机器学习算法具有的泛化能力对新鲜样本的识别结果的基础上,同时利用HOOK技术获取由机器学习算法判定为初步高风险文件的文件操作,并判断其即将执行的文件操作是否与恶意文件通常执行的文件操作相匹配,本方法不仅保留了泛化能力带来的对新鲜样本的识别能力,还通过监控该初步高风险文件即将执行的文件操作这一动态特征进行恶意文件的二次确定,显著降低了对新鲜样本的误判几率,恶意文件识别更准确。
本申请的另一目的在于提供了一种基于动态特征的恶意软件识别***、装置及计算机可读存储介质。
为实现上述目的,本申请提供一种基于动态特征的恶意软件识别方法,该方法包括:
利用基于机器学习算法构建的恶意文件识别模型对待测软件进行恶意软件识别,得到初步高风险文件;
利用HOOK技术获取所述初步高风险文件即将执行的文件操作;
判断所述文件操作是否与预设的恶意文件操作集中包含的任一恶意文件操作相匹配;
若匹配,则判定所述初步高风险文件为恶意文件,并隔离所述恶意文件且通过预设路径发送告警信息。
可选的,利用基于机器学习算法构建的恶意文件识别模型对待测软件进行恶意软件识别,得到初步高风险文件,包括:
基于所述机器学习算法构建恶意文件分类模型;
为所述恶意文件分类模型设定预设大小的泛化阈值,得到泛化分类模型;
利用所述泛化分类模型对所述待测软件包含的文件进行恶意文件分类,并将得到的恶意文件认定为所述初步高风险文件。
可选的,判断所述文件操作是否与预设的恶意文件操作集中包含的任一恶意文件操作相匹配,包括:
从所述文件操作中获取对应的初步高风险文件的落盘时间和执行时间;其中,所述落盘时间在时间轴上位于所述执行时间前;
计算所述执行时间与所述落盘时间的时间差值;
判断所述时间差值是否处于预设的恶意文件时间差值范围内;其中,所述恶意文件时间差值范围为所述恶意文件操作集中的一项。
可选的,判断所述文件操作是否与预设的恶意文件操作集中包含的任一恶意文件操作相匹配,包括:
从所述文件操作中获取对应的初步高风险文件对历史文件的修改操作次数;
判断所述修改操作次数是否超过预设的恶意文件修改操作次数;其中,所述恶意文件修改操作次数为所述恶意文件操作集中的一项。
可选的,该方法还包括:
随机散布预设数量的诱饵文件,并根据所述文件操作获取对所述诱饵文件的修改操作次数;其中,所述诱饵文件拥有较低的字典序且正常软件的访问几率较低;
当对所述诱饵文件的修改操作次数超过恶意修改阈值时,将对应的初步高风险文件判定为所述恶意文件。
可选的,判断所述文件操作是否与预设的恶意文件操作集中包含的任一恶意文件操作相匹配,包括:
从所述文件操作中获取对应的初步高风险文件的数据通讯IP;
判断预设的恶意IP地址集中是否包含与所述数据通讯IP相同的IP地址;其中,所述恶意IP地址集为所述恶意文件操作集中的一项。
可选的,在得到初步高风险文件之后,还包括:
为所述初步高风险文件附加监控标记,以根据所述监控标记确定目标监控文件。
为实现上述目的,本申请还提供了一种基于动态特征的恶意软件识别***,该***包括:
机器学习识别单元,用于利用基于机器学习算法构建的恶意文件识别模型对待测软件进行恶意软件识别,得到初步高风险文件;
待执行文件操作获取单元,用于利用HOOK技术获取所述初步高风险文件即将执行的文件操作;
操作匹配单元,用于判断所述文件操作是否与预设的恶意文件操作集中包含的任一恶意文件操作相匹配;
恶意文件判定及处理单元,用于当所述文件操作与所述恶意文件操作相匹配时,判定所述初步高风险文件为恶意文件,并隔离所述恶意文件且通过预设路径发送告警信息。
可选的,所述机器学习识别单元包括:
分类模型构建子单元,用于基于所述机器学习算法构建恶意文件分类模型;
泛化阈值设定子单元,用于为所述恶意文件分类模型设定预设大小的泛化阈值,得到泛化分类模型;
恶意文件分类子及判定单元,用于利用所述泛化分类模型对所述待测软件包含的文件进行恶意文件分类,并将得到的恶意文件认定为所述初步高风险文件。
可选的,所述操作匹配单元包括:
时间特征提取子单元,用于从所述文件操作中获取对应的初步高风险文件的落盘时间和执行时间;其中,所述落盘时间在时间轴上位于所述执行时间前;
差值计算子单元,用于计算所述执行时间与所述落盘时间的时间差值;
时间特征判断子单元,用于判断所述时间差值是否处于预设的恶意文件时间差值范围内;其中,所述恶意文件时间差值范围为所述恶意文件操作集中的一项。
可选的,所述操作匹配单元包括:
历史文件修改特征提取子单元,用于从所述文件操作中获取对应的初步高风险文件对历史文件的修改操作次数;
历史文件修改特征判断子单元,用于判断所述修改操作次数是否超过预设的恶意文件修改操作次数;其中,所述恶意文件修改操作次数为所述恶意文件操作集中的一项。
可选的,该***还包括:
诱饵文件散布及修改次数获取单元,用于随机散布预设数量的诱饵文件,并根据所述文件操作获取对所述诱饵文件的修改操作次数;其中,所述诱饵文件拥有较低的字典序且正常软件的访问几率较低;
基于诱饵文件的恶意文件判定单元,用于当对所述诱饵文件的修改操作次数超过恶意修改阈值时,将对应的初步高风险文件判定为所述恶意文件。
可选的,所述操作匹配单元包括:
数据通讯IP提取子单元,用于从所述文件操作中提取得到对应的初步高风险文件的数据通讯IP;
恶意IP地址判断子单元,用于判断预设的恶意IP地址集中是否包含于所述数据通讯IP相同的IP地址;其中,所述恶意IP地址集为所述恶意文件操作集中的一项。
可选的,所述机器学习识别单元还包括:
监控标记附加子单元,用于为所述初步高风险文件附加监控标记,以根据所述监控标记确定目标监控文件。
为实现上述目的,本申请还提供了一种基于动态特征的恶意软件识别装置,该装置包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述内容所描述的恶意软件识别方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的恶意软件识别方法的步骤。
本申请所提供的一种基于动态特征的恶意软件识别方法:利用基于机器学习算法构建的恶意文件识别模型对待测软件进行恶意软件识别,得到初步高风险文件;利用HOOK技术获取所述初步高风险文件即将执行的文件操作;判断所述文件操作是否与预设的恶意文件操作集中包含的任一恶意文件操作相匹配;若匹配,则判定所述初步高风险文件为恶意文件,并隔离所述恶意文件且通过预设路径发送告警信息。
显然,本申请所提供的算法方案,在保留机器学习算法具有的泛化能力对新鲜样本的识别结果的基础上,同时利用HOOK技术获取由机器学习算法判定为初步高风险文件的文件操作,并判断其即将执行的文件操作是否与恶意文件通常执行的文件操作相匹配,本方法不仅保留了泛化能力带来的对新鲜样本的识别能力,还通过监控该初步高风险文件即将执行的文件操作这一动态特征进行恶意文件的二次确定,显著降低了对新鲜样本的误判几率,恶意文件识别更准确。本申请同时还提供了一种基于Hbase的SQL查询***、装置及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有算法中的算法方案,下面将对实施例或现有算法描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通算法人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种基于动态特征的恶意软件识别方法的流程图;
图2为本申请实施例所提供的基于动态特征的恶意软件识别方法中一种对文件操作的判别的流程图;
图3为本申请实施例所提供的基于动态特征的恶意软件识别方法中另一种对文件操作的判别的流程图;
图4为本申请实施例所提供的基于动态特征的恶意软件识别方法中又一种对文件操作的判别的流程图;
图5为本申请实施例所提供的一种基于动态特征的恶意软件识别***的结构框图。
具体实施方式
本申请的核心是提供一种基于动态特征的恶意软件识别方法、***、装置及计算机可读存储介质,在保留机器学习算法具有的泛化能力对新鲜样本的识别结果的基础上,同时利用HOOK技术获取由机器学习算法判定为初步高风险文件的文件操作,并判断其即将执行的文件操作是否与恶意文件通常执行的文件操作相匹配,本方法不仅保留了泛化能力带来的对新鲜样本的识别能力,还通过监控该初步高风险文件即将执行的文件操作这一动态特征进行恶意文件的二次确定,显著降低了对新鲜样本的误判几率,恶意文件识别更准确。
为使本申请实施例的目的、算法方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的算法方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通算法人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例一
以下结合图1,图1为本申请实施例所提供的一种基于动态特征的恶意软件识别方法的流程图。
其具体包括以下步骤:
S101:利用基于机器学习算法构建的恶意文件识别模型对待测软件进行恶意软件识别,得到初步高风险文件;
本步骤旨在首先基于机器学习算法构建恶意文件识别模型,并将经过该恶意文件识别模型识别出的恶意文件认定为初步高风险文件,以在此基础上结合后续判别步骤进行准确识别,实现降低误判率的目的。
一种具体的实现步骤如下:
基于机器学习算法构建恶意文件分类模型;为恶意文件分类模型设定预设大小的泛化阈值,得到泛化分类模型;利用泛化分类模型对待测软件包含的文件进行恶意文件分类,并将得到的恶意文件认定为初步高风险文件。
其中,机器学习算法包括回归算法(Regression Algorithms)、基于实例的算法(Instance-based Algorithms)、决策树类算法(Decision Tree Algorithms)、聚类算法(Clustering Algorithms)等多类具体的算法,各大类分别拥有自己的特点,且各大类下还拥有更细划分的不同算法。
总体来说,无论基于上述机器学习算法中的哪种具体算法构建起来的恶意文件识别模型,都是旨在通过发现隐藏在数据背后的相同特征,并对其进行关联性分析,以最终从中挖掘出目标内容(恶意内容)的共同特征,并据此可能发现一些拥有同样特征但表现形式较新的新鲜样本,这也就是机器学习算法带来的泛化能力,通常会为该机器学习算法构建的识别模型设定一个较松的阈值,基于较松的阈值会存在较高的误判率,但简单的增大阈值的大小又会使得泛化能力基本无用处,因此为保留机器学习算法带来的泛化能力,已经不能单纯仅依靠调节阈值的方式,有必要在此基础上再增加一套恶意文件的识别机制,以在保留泛化能力的同时降低误判率。
进一步的,还可以为该初步高风险文件附加监控标记,以根据该监控标记确定目标监控文件,便于后续对目标监控文件的监控。
S102:利用HOOK技术获取初步高风险文件即将执行的文件操作;
在S101的基础上,本步骤旨在利用HOOK技术获取被基于机器学习算法搭建的恶意文件识别模型识别为初步高风险文件即将执行的文件操作。
HOOK技术:windows***下的编程,消息message的传递是贯穿其始终的。这个消息我们可以简单理解为一个有特定意义的整数,正如暗号“长江长江,我是黄河”一个含义。windows中定义的消息给初学者的印象似乎是“不计其数”的,常见的一部分消息在winuser.h头文件中定义。hook与消息有着非常密切的联系,它的中文含义是“钩子”,这样理解起来我们不难得出“hook是消息处理中的一个环节,用于监控消息在***中的传递,并在这些消息到达最终的消息处理过程前,处理某些特定的消息”。这也是hook分为不同种类的原因,具体的,包括API hook、IAT hook、Inline hook、ssdt hook等,该技术的具体内容已为本领域技术人员所熟知,在此不再赘述。
在当今常用的***中,普通用户程序的进程空间都是独立的,程序的运行彼此间都不受干扰。而hook的这个本领,使它能够将自身的代码“融入”被hook住的程序的进程中,成为目标进程的一个部分。也就使得能够基于该技术获取目标程序的文件操作。
S103:判断文件操作是否与预设的恶意文件操作集中包含的任一恶意文件操作相匹配;
在S102的基础上,本步骤旨在根据获取的一个待测软件的文件操作与预设的恶意文件操作集中包含的任一恶意文件操作匹配,即该恶意文件操作集合中包含从已经认定为恶意文件中提取得到的恶意文件操作,其中包括可以描述该文件执行各操作的时间关系的时间特征,包括可以该文件执行了何种操作的动作特征,还可以包括诸如是否与恶意IP通讯、是否执行了某些特殊操作、是否调用了某些特殊函数的其它***调用特征,等等。
本步骤的目的是通过对文件操作的分析判别S101中经过恶意文件识别模型判别得到的初步高风险文件是不是被误判为恶意文件,即经过包括上述多种动态特征的文件操作比对、判定,对初步高风险文件进行二次判定,并只将经第二次恶意文件判定后依然判定为恶意文件的文件认定为恶意文件,因此可以极大的降低原先仅由机器学习算法进行判定带来的高误判率,拥有更加准确的恶意文件识别结果。
S104:判定初步高风险文件为恶意文件,并隔离恶意文件且通过预设路径发送告警信息。
本步骤建立在S103的判断结果为该文件操作匹配于恶意文件操作集中包含的恶意文件操作的基础上,因此可以将该初步高风险文件判定为真正的恶意文件,并在此基础上对该恶意文件进行后续处理,以防止该恶意文件给用户带来损害。
其中,可以采用隔离恶意文件的做法,具体的,还可以将其置于沙箱中,以便能够根据其在沙箱中执行的文件操作进一步核实,同时还可以获取恶意文件的文件操作特征,不断将新发现的恶意文件操作补充进预设的恶意文件操作集。而发送告警信息的预设路径则可以包括电子邮件、各式即时通讯软件等渠道,此处并不做具体限定。
基于上述算法方案,本申请实施例提供的一种基于动态特征的恶意软件识别方法,在保留机器学习算法具有的泛化能力对新鲜样本的识别结果的基础上,同时利用HOOK技术获取由机器学习算法判定为初步高风险文件的文件操作,并判断其即将执行的文件操作是否与恶意文件通常执行的文件操作相匹配,本方法不仅保留了泛化能力带来的对新鲜样本的识别能力,还通过监控该初步高风险文件即将执行的文件操作这一动态特征进行恶意文件的二次确定,显著降低了对新鲜样本的误判几率,恶意文件识别更准确。
实施例二
以下结合图2,图2为本申请实施例所提供的基于动态特征的恶意软件识别方法中一种对文件操作的判别的流程图。
某些恶意软件(勒索类软件)会拥有如下时间特征:(1)在落盘后的短时间内就被执行,并且尝试访问一个在它被落盘之前就存在与本地的其它文件;(2)在执行后以较高的频率读写文档文件和进行文件的遍历操作等。因此,本申请实施例旨在以从文件操作中提取到的落盘时间和执行时间为例说明判别执行的具体步骤,即从时间特征入手。
S201:利用HOOK技术获取初步高风险文件即将执行的文件操作;
S202:从文件操作中获取对应的初步高风险文件的落盘时间和执行时间;
其中,该落盘时间指的该文件通过下载或者外设拷贝等手段到达该机器的时间,而该执行时间指的是已经落盘的文件被执行的时间,正常情况下,该执行时间在时间轴上位于该落盘时间后。
S203:计算执行时间与落盘时间的时间差值;
S204:判断时间差值是否处于预设的恶意文件时间差值范围内;
该预设的恶意文件时间差值范围为根据已经被认定为恶意文件的执行时间与落盘时间的差值计算得到,为预设的恶意文件操作集中的一项。
S205:判定初步高风险文件为恶意文件,并隔离恶意文件且通过预设路径发送告警信息。
本步骤建立在S204的判断结果为该时间差值处于预设的恶意文件时间差值范围内的基础上,既可以判定该初步高风险文件为恶意文件。
实施例三
以下结合图3,图3为本申请实施例所提供的基于动态特征的恶意软件识别方法中另一种对文件操作的判别的流程图。
勒索类恶意软件为了对用户造成足够大的危害,会修改或删除足够大量的历史文件,因为勒索类恶意软件通常会采用特定的加密算法加密大量历史文件,而加密后的历史文件无法通过常规手段解密,因此在这一过程中会出现对大量历史文件的修改操作。因此,本实施例通过对访问文件模式的特征(对历史文件的修改操作次数)为例说明判别执行的具体步骤,即从访问文件模式的特征入手。
S301:利用HOOK技术获取初步高风险文件即将执行的文件操作;
S302:从文件操作中获取对应的初步高风险文件对历史文件的修改操作次数;
S303:判断修改操作次数是否超过预设的恶意文件修改操作次数;
该预设的恶意文件修改操作次数为根据已经被认定为恶意文件的访问文件模式的特征计算得到,为预设的恶意文件操作集中的一项。
S304:判定初步高风险文件为恶意文件,并隔离恶意文件且通过预设路径发送告警信息。
本步骤建立在S303的判断结果为该修改操作次数超过预设的恶意文件修改操作次数的基础上,既可以判定该初步高风险文件为恶意文件。
进一步的,为降低勒索类恶意软件对本地中正常的历史文件造成的危害,还可以在本地中散布拥有较低的字典序且正常软件的访问几率较低的诱饵文件,以使该勒索类恶意软件在经过文件遍历操作后首先对这些诱饵文件执行各式修改操作,而当检测到一定数据的诱饵文件出现上述情况时就可以完成恶意文件的判定,能够有效的保护其它正常的历史文件。
其中一种具体的操作步骤如下:
随机散布预设数量的诱饵文件,并根据该文件操作获取对诱饵文件的修改操作次数;当对诱饵文件的修改操作次数超过恶意修改阈值时,将对应的初步高风险文件判定为恶意文件。
实施例四
以下结合图4,图4为本申请实施例所提供的基于动态特征的恶意软件识别方法中又一种对文件操作的判别的流程图。
在S103中描述了区别于时间特征和访问文件模式特征的其它***调用特征,例如数据通讯IP、邮箱、特殊***端口、特殊***函数等等,由于有些恶意软件为掩饰自身执行操作会黑屏等特殊操作,本实施例以其中一种数据通讯IP为例说明判别执行的具体步骤,即从其它***调用特征入手。
S401:利用HOOK技术获取初步高风险文件即将执行的文件操作;
S402:从文件操作中获取对应的初步高风险文件的数据通讯IP;
S403:判断预设的恶意IP地址集中是否包含与数据通讯IP相同的IP地址;
该预设的恶意IP地址集为综合已经被认定为恶意文件进行数据通讯的恶意IP得到,为预设的恶意文件操作集中的一项。
S404:判定初步高风险文件为恶意文件,并隔离恶意文件且通过预设路径发送告警信息。
本步骤建立在S403的判断结果为恶意IP地址集中包含与该数据通讯IP相同的IP地址的基础上,既可以判定该初步高风险文件为恶意文件。
基于上述算法方案,本申请实施例提供的一种基于动态特征的恶意软件识别方法,在保留机器学习算法具有的泛化能力对新鲜样本的识别结果的基础上,同时利用HOOK技术获取由机器学习算法判定为初步高风险文件的文件操作,并判断其即将执行的文件操作是否与恶意文件通常执行的文件操作相匹配,本方法不仅保留了泛化能力带来的对新鲜样本的识别能力,还通过监控该初步高风险文件即将执行的文件操作这一动态特征进行恶意文件的二次确定,显著降低了对新鲜样本的误判几率,恶意文件识别更准确。
实施例二、三、四分别从三中不同种类的文件操作特征入手,通过三个不同的例子说明了对初步高风险文件的判别步骤,当然不限于上述三种,随着计算机技术的发展,会逐渐出现新的恶意文件操作,在实际情况中可以仅使用其中一种来做匹配,当然也可以根据实际情景对匹配结论准确度的要求,同时使用多种进行匹配,具体实现方式可为并行也可以为串行,最终目的为经过多种特征进行多重判定,只要当一个初步高风险文件满足上述各类文件操作特征中的至少一种,就可以将其真正认定为恶意文件,若经过上述各类文件操作特征的判断均得到不匹配的结果,则可以在经过长时间的文件操作监控中逐步排除其为恶意文件的可能性。
因为情况复杂,无法一一列举进行阐述,本领域算法人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
下面请参见图5,图5为本申请实施例所提供的一种基于动态特征的恶意软件识别***的结构框图。
该恶意软件识别***可以包括:
机器学习识别单元100,用于利用基于机器学习算法构建的恶意文件识别模型对待测软件进行恶意软件识别,得到初步高风险文件;
待执行文件操作获取单元200,用于利用HOOK技术获取初步高风险文件即将执行的文件操作;
操作匹配单元300,用于判断文件操作是否与预设的恶意文件操作集中包含的任一恶意文件操作相匹配;
恶意文件判定及处理单元400,用于当文件操作与恶意文件操作相匹配时,判定初步高风险文件为恶意文件,并隔离恶意文件且通过预设路径发送告警信息。
其中,机器学习识别单元100包括:
分类模型构建子单元,用于基于机器学习算法构建恶意文件分类模型;
泛化阈值设定子单元,用于为恶意文件分类模型设定预设大小的泛化阈值,得到泛化分类模型;
恶意文件分类子及判定单元,用于利用泛化分类模型对待测软件包含的文件进行恶意文件分类,并将得到的恶意文件认定为初步高风险文件。
操作匹配单元300的其中一种表现形式包括:
时间特征提取子单元,用于从文件操作中获取对应的初步高风险文件的落盘时间和执行时间;其中,落盘时间在时间轴上位于执行时间前;
差值计算子单元,用于计算执行时间与落盘时间的时间差值;
时间特征判断子单元,用于判断时间差值是否处于预设的恶意文件时间差值范围内;其中,恶意文件时间差值范围为恶意文件操作集中的一项。
操作匹配单元300的另一种表现形式包括:
历史文件修改特征提取子单元,用于从文件操作中获取对应的初步高风险文件对历史文件的修改操作次数;
历史文件修改特征判断子单元,用于判断修改操作次数是否超过预设的恶意文件修改操作次数;其中,恶意文件修改操作次数为恶意文件操作集中的一项。
进一步的,该***还可以包括:
诱饵文件散布及修改次数获取单元,用于随机散布预设数量的诱饵文件,并根据文件操作获取对诱饵文件的修改操作次数;其中,诱饵文件拥有较低的字典序且正常软件的访问几率较低;
基于诱饵文件的恶意文件判定单元,用于当对诱饵文件的修改操作次数超过恶意修改阈值时,将对应的初步高风险文件判定为恶意文件。
操作匹配单元300的又一种表现形式包括:
数据通讯IP提取子单元,用于从文件操作中提取得到对应的初步高风险文件的数据通讯IP;
恶意IP地址判断子单元,用于判断预设的恶意IP地址集中是否包含于数据通讯IP相同的IP地址;其中,恶意IP地址集为恶意文件操作集中的一项。
进一步的,机器学习识别单元100还可以包括:
监控标记附加子单元,用于为初步高风险文件附加监控标记,以根据监控标记确定目标监控文件。
基于上述实施例,本申请还提供了一种基于动态特征的恶意软件识别装置,该恶意软件识别装置可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然,该恶意软件识别装置还可以包括各种必要的网络接口、电源以及其它零部件等。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于算法方案的特定应用和设计约束条件。专业算法人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本算法领域的普通算法人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (16)

1.一种基于动态特征的恶意软件识别方法,其特征在于,包括:
利用基于机器学习算法构建的恶意文件识别模型对待测软件进行恶意软件识别,得到初步高风险文件;
利用HOOK技术获取所述初步高风险文件即将执行的文件操作;
判断所述文件操作是否与预设的恶意文件操作集中包含的任一恶意文件操作相匹配;
若匹配,则判定所述初步高风险文件为恶意文件,并隔离所述恶意文件且通过预设路径发送告警信息。
2.根据权利要求1所述方法,其特征在于,利用基于机器学习算法构建的恶意文件识别模型对待测软件进行恶意软件识别,得到初步高风险文件,包括:
基于所述机器学习算法构建恶意文件分类模型;
为所述恶意文件分类模型设定预设大小的泛化阈值,得到泛化分类模型;
利用所述泛化分类模型对所述待测软件包含的文件进行恶意文件分类,并将得到的恶意文件认定为所述初步高风险文件。
3.根据权利要求1所述方法,其特征在于,判断所述文件操作是否与预设的恶意文件操作集中包含的任一恶意文件操作相匹配,包括:
从所述文件操作中获取对应的初步高风险文件的落盘时间和执行时间;其中,所述落盘时间在时间轴上位于所述执行时间前;
计算所述执行时间与所述落盘时间的时间差值;
判断所述时间差值是否处于预设的恶意文件时间差值范围内;其中,所述恶意文件时间差值范围为所述恶意文件操作集中的一项。
4.根据权利要求1所述方法,其特征在于,判断所述文件操作是否与预设的恶意文件操作集中包含的任一恶意文件操作相匹配,包括:
从所述文件操作中获取对应的初步高风险文件对历史文件的修改操作次数;
判断所述修改操作次数是否超过预设的恶意文件修改操作次数;其中,所述恶意文件修改操作次数为所述恶意文件操作集中的一项。
5.根据权利要求4所述方法,其特征在于,还包括:
随机散布预设数量的诱饵文件,并根据所述文件操作获取对所述诱饵文件的修改操作次数;其中,所述诱饵文件拥有较低的字典序且正常软件的访问几率较低;
当对所述诱饵文件的修改操作次数超过恶意修改阈值时,将对应的初步高风险文件判定为所述恶意文件。
6.根据所述权利要求1所述方法,其特征在于,判断所述文件操作是否与预设的恶意文件操作集中包含的任一恶意文件操作相匹配,包括:
从所述文件操作中获取对应的初步高风险文件的数据通讯IP;
判断预设的恶意IP地址集中是否包含与所述数据通讯IP相同的IP地址;其中,所述恶意IP地址集为所述恶意文件操作集中的一项。
7.根据权利要求1至6任一项所述方法,其特征在于,在得到初步高风险文件之后,还包括:
为所述初步高风险文件附加监控标记,以根据所述监控标记确定目标监控文件。
8.一种基于动态特征的恶意软件识别***,其特征在于,包括:
机器学习识别单元,用于利用基于机器学习算法构建的恶意文件识别模型对待测软件进行恶意软件识别,得到初步高风险文件;
待执行文件操作获取单元,用于利用HOOK技术获取所述初步高风险文件即将执行的文件操作;
操作匹配单元,用于判断所述文件操作是否与预设的恶意文件操作集中包含的任一恶意文件操作相匹配;
恶意文件判定及处理单元,用于当所述文件操作与所述恶意文件操作相匹配时,判定所述初步高风险文件为恶意文件,并隔离所述恶意文件且通过预设路径发送告警信息。
9.根据权利要求8所述***,其特征在于,所述机器学习识别单元包括:
分类模型构建子单元,用于基于所述机器学习算法构建恶意文件分类模型;
泛化阈值设定子单元,用于为所述恶意文件分类模型设定预设大小的泛化阈值,得到泛化分类模型;
恶意文件分类子及判定单元,用于利用所述泛化分类模型对所述待测软件包含的文件进行恶意文件分类,并将得到的恶意文件认定为所述初步高风险文件。
10.根据权利要求8所述***,其特征在于,所述操作匹配单元包括:
时间特征提取子单元,用于从所述文件操作中获取对应的初步高风险文件的落盘时间和执行时间;其中,所述落盘时间在时间轴上位于所述执行时间前;
差值计算子单元,用于计算所述执行时间与所述落盘时间的时间差值;
时间特征判断子单元,用于判断所述时间差值是否处于预设的恶意文件时间差值范围内;其中,所述恶意文件时间差值范围为所述恶意文件操作集中的一项。
11.根据权利要求8所述***,其特征在于,所述操作匹配单元包括:
历史文件修改特征提取子单元,用于从所述文件操作中获取对应的初步高风险文件对历史文件的修改操作次数;
历史文件修改特征判断子单元,用于判断所述修改操作次数是否超过预设的恶意文件修改操作次数;其中,所述恶意文件修改操作次数为所述恶意文件操作集中的一项。
12.根据权利要求11所述***,其特征在于,还包括:
诱饵文件散布及修改次数获取单元,用于随机散布预设数量的诱饵文件,并根据所述文件操作获取对所述诱饵文件的修改操作次数;其中,所述诱饵文件拥有较低的字典序且正常软件的访问几率较低;
基于诱饵文件的恶意文件判定单元,用于当对所述诱饵文件的修改操作次数超过恶意修改阈值时,将对应的初步高风险文件判定为所述恶意文件。
13.根据权利要求8所述***,其特征在于,所述操作匹配单元包括:
数据通讯IP提取子单元,用于从所述文件操作中提取得到对应的初步高风险文件的数据通讯IP;
恶意IP地址判断子单元,用于判断预设的恶意IP地址集中是否包含于所述数据通讯IP相同的IP地址;其中,所述恶意IP地址集为所述恶意文件操作集中的一项。
14.根据权利要求8至13任一项所述***,其特征在于,所述机器学习识别单元还包括:
监控标记附加子单元,用于为所述初步高风险文件附加监控标记,以根据所述监控标记确定目标监控文件。
15.一种基于动态特征的恶意软件识别装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的恶意软件识别方法的步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的恶意软件识别方法的步骤。
CN201810638966.6A 2018-06-20 2018-06-20 一种基于动态特征的恶意软件识别方法、***及相关装置 Pending CN110619211A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810638966.6A CN110619211A (zh) 2018-06-20 2018-06-20 一种基于动态特征的恶意软件识别方法、***及相关装置
PCT/CN2019/087560 WO2019242441A1 (zh) 2018-06-20 2019-05-20 一种基于动态特征的恶意软件识别方法、***及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810638966.6A CN110619211A (zh) 2018-06-20 2018-06-20 一种基于动态特征的恶意软件识别方法、***及相关装置

Publications (1)

Publication Number Publication Date
CN110619211A true CN110619211A (zh) 2019-12-27

Family

ID=68920802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810638966.6A Pending CN110619211A (zh) 2018-06-20 2018-06-20 一种基于动态特征的恶意软件识别方法、***及相关装置

Country Status (2)

Country Link
CN (1) CN110619211A (zh)
WO (1) WO2019242441A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112926054A (zh) * 2021-02-22 2021-06-08 亚信科技(成都)有限公司 一种恶意文件的检测方法、装置、设备及存储介质
CN113282928A (zh) * 2021-06-11 2021-08-20 杭州安恒信息技术股份有限公司 恶意文件的处理方法、装置、***、电子装置和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111523588B (zh) * 2020-04-20 2022-04-29 电子科技大学 基于改进的lstm对apt攻击恶意软件流量进行分类的方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101984450A (zh) * 2010-12-15 2011-03-09 北京安天电子设备有限公司 恶意代码检测方法和***
US20120260342A1 (en) * 2011-04-05 2012-10-11 Government Of The United States, As Represented By The Secretary Of The Air Force Malware Target Recognition
CN103761481A (zh) * 2014-01-23 2014-04-30 北京奇虎科技有限公司 一种恶意代码样本自动处理的方法及装置
CN104598824A (zh) * 2015-01-28 2015-05-06 国家计算机网络与信息安全管理中心 一种恶意程序检测方法及其装置
US20170068816A1 (en) * 2015-09-04 2017-03-09 University Of Delaware Malware analysis and detection using graph-based characterization and machine learning
CN106778241A (zh) * 2016-11-28 2017-05-31 东软集团股份有限公司 恶意文件的识别方法及装置
CN107659570A (zh) * 2017-09-29 2018-02-02 杭州安恒信息技术有限公司 基于机器学习与动静态分析的Webshell检测方法及***
CN107742079A (zh) * 2017-10-18 2018-02-27 杭州安恒信息技术有限公司 恶意软件识别方法及***
CN108009425A (zh) * 2017-11-29 2018-05-08 四川无声信息技术有限公司 文件检测及威胁等级判定方法、装置及***

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101984450A (zh) * 2010-12-15 2011-03-09 北京安天电子设备有限公司 恶意代码检测方法和***
US20120260342A1 (en) * 2011-04-05 2012-10-11 Government Of The United States, As Represented By The Secretary Of The Air Force Malware Target Recognition
CN103761481A (zh) * 2014-01-23 2014-04-30 北京奇虎科技有限公司 一种恶意代码样本自动处理的方法及装置
CN104598824A (zh) * 2015-01-28 2015-05-06 国家计算机网络与信息安全管理中心 一种恶意程序检测方法及其装置
US20170068816A1 (en) * 2015-09-04 2017-03-09 University Of Delaware Malware analysis and detection using graph-based characterization and machine learning
CN106778241A (zh) * 2016-11-28 2017-05-31 东软集团股份有限公司 恶意文件的识别方法及装置
CN107659570A (zh) * 2017-09-29 2018-02-02 杭州安恒信息技术有限公司 基于机器学习与动静态分析的Webshell检测方法及***
CN107742079A (zh) * 2017-10-18 2018-02-27 杭州安恒信息技术有限公司 恶意软件识别方法及***
CN108009425A (zh) * 2017-11-29 2018-05-08 四川无声信息技术有限公司 文件检测及威胁等级判定方法、装置及***

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112926054A (zh) * 2021-02-22 2021-06-08 亚信科技(成都)有限公司 一种恶意文件的检测方法、装置、设备及存储介质
CN112926054B (zh) * 2021-02-22 2023-10-03 亚信科技(成都)有限公司 一种恶意文件的检测方法、装置、设备及存储介质
CN113282928A (zh) * 2021-06-11 2021-08-20 杭州安恒信息技术股份有限公司 恶意文件的处理方法、装置、***、电子装置和存储介质

Also Published As

Publication number Publication date
WO2019242441A1 (zh) 2019-12-26

Similar Documents

Publication Publication Date Title
EP3771168B1 (en) Abnormal user identification method
CN108366045B (zh) 一种风控评分卡的设置方法和装置
CN103679031B (zh) 一种文件病毒免疫的方法和装置
CN104640174B (zh) 无线网络接入点提示方法和装置
EP3068095A2 (en) Monitoring apparatus and method
CN110619211A (zh) 一种基于动态特征的恶意软件识别方法、***及相关装置
CN107016298B (zh) 一种网页篡改监测方法及装置
CN111314285B (zh) 一种路由前缀攻击检测方法及装置
CN108090359B (zh) 一种应用程序监测方法及应用服务器
CN111368289B (zh) 一种恶意软件检测方法和装置
CN112153062B (zh) 基于多维度的可疑终端设备检测方法及***
CN109815702B (zh) 软件行为的安全检测方法、装置及设备
CN109257369B (zh) 一种基于机器学习的扫描ip分类方法及装置
CN111221722A (zh) 行为检测方法、装置、电子设备及存储介质
CN113704328A (zh) 基于人工智能的用户行为大数据挖掘方法及***
KR101605783B1 (ko) 악성 애플리케이션 탐지 방법 및 이 방법을 실행시키는 컴퓨터프로그램
CN110472410B (zh) 识别数据的方法、设备和数据处理方法
CN113378161A (zh) 一种安全检测方法、装置、设备及存储介质
CN108171057B (zh) 基于特征匹配的Android平台恶意软件检测方法
CN112699369A (zh) 一种通过栈回溯检测异常登录的方法及装置
CN113595797A (zh) 告警信息的处理方法、装置、电子设备及存储介质
CN111191234B (zh) 一种病毒信息检测的方法及装置
CN107203718B (zh) 一种sql命令注入的检测方法及***
CN114846767A (zh) 用于解决矛盾的设备分析数据的技术
CN111639280A (zh) 一种信息分享方法及装置

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191227