一种检测实时威胁的方法与流程

文档序号:14444778阅读:299来源:国知局
一种检测实时威胁的方法与流程

本发明涉及系统安全技术领域,具体地说是一种检测实时威胁的方法。



背景技术:

主机安全保护的关键在于对恶意代码攻击的检测与防范能力。在恶意代码防护方面,国内安全厂商的检测原理基本以签名特征码为主。这种检测方式的优点是匹配速度快,误报率低,但前提是恶意代码在其软件生命周期内不发生变化。不幸的是,大多数病毒、木马在短期内会产生大量变异,且变形、加密、多态等代码混淆技术已被普遍应用其中。与此同时,恶意代码规模爆炸式的增长趋势也使得签名特征库的更新和维护变得愈发困难。

可以看出,在缺乏应用程序本身运行行为信息的情况下,未知进程的合法性判断和控制都面临巨大的困难。而现有的基于系统行为分析的动态检测技术,大多都是把待测软件置于沙箱中运行,通过将运行过程的程序指令与先验的行为特征进行比对,得到合法与否的判断。这种检测模式,更适用于非实时场景下的软件合法性判定;此外,检测所应用的机器学习算法,往往具有较高的误判率,而准确率较高的深度学习算法,所需的检测时间相对较长,上述因素都大大制约威胁检测的实现效果,很难直接用于主机环境的威胁实时监测和防护。



技术实现要素:

本发明实施例中提供了一种检测实时威胁的方法,以解决现有技术中威胁检测误判率高、效果不理想的问题。

为了解决上述技术问题,本发明实施例公开了如下技术方案:

一种检测实时威胁的方法,通过跟踪系统层面的信息流,形成特定进程与可执行文件对象的链式关系图,针对关系图中涉及到的对象进行系统调用监控并对其进行检测,具体包括以下步骤:

监控并记录程序执行过程系统的调用;

对程序进行快速检测;

判断程序威胁是否超过规定值,如果是,则进行下一步操作,否则继续执行监控;

对程序进行深度检测;

识别程序威胁,如果程序进程正常,则威胁排除,继续快速检测,否则,进行威胁响应。

结合第一方面,在第一方面第一种可能的实现方式中,所述监控并记录程序执行过程系统的调用具体包括以下步骤:

对恶意代码的入口进行标记;

过滤链式关系图的对象,得到高危信息流;

对高危信息流的行为进行监控、记录。

结合第一方面,在第一方面第二种可能的实现方式中,所述恶意代码的入口包括网络和可移动存储设备;

高危信息流包括被可疑进程生成或修改的可执行文件、由可疑进程生成的子进程、加载了可疑的可执行文件或脚本文件的进程、从可疑进程接收数据的另一进程;

监控的范围包括系统配置、进程活动行为、文件操作、网络访问。

结合第一方面,在第一方面第三种可能的实现方式中,对高危信息流的行为进行监控的方法包括:

采用hook钩挂,对高危信息流在内核层面拦截系统调用。

结合第一方面,在第一方面第四种可能的实现方式中,快速检测的方式具体包括:

训练常规机器学习算法分类器;

检测基于常规机器学习算法分类器。

结合第一方面,在第一方面第五种可能的实现方式中,训练常规机器学习算法分类器的方法具体包括以下步骤:

预先收集恶意代码和合法程序样本,数量分别记为n和m;

利用cuckoo沙箱分别运行样本,并输出得到样本的行为数据;

对行为数据在不同时间窗口内的系统调用作为行为特征进行特征提取,并使用信息增益或文档频率方式进行特征选取;

结合常规机器学习算法,训练得到多类常规机器学习算法分类器;

检测基于常规机器学习算法分类器的方法具体包括以下步骤:

对实时监控得到的待测程序行为数据通过常规机器学习算法进行分类;

判断分类结果是否合法;如果合法,则继续进行高危信息流的监控;否则,执行下一步操作。

结合第一方面,在第一方面第六种可能的实现方式中,判断程序威胁是否超过规定值的方法具体包括以下步骤:

预设威胁门限值t;

判断常规机器学习算法否超过t个;如果超过,则提示待测程序具有恶意属性;否则,继续监测。

结合第一方面,在第一方面第七种可能的实现方式中,对程序进行深度检测的方式具体包括以下步骤:

训练深度学习算法分类器;

检测基于深度学习算法的分类器。

结合第一方面,在第一方面第八种可能的实现方式中,训练深度学习算法分类器的方法具体包括以下步骤:

收集恶意代码和合法程序样本;

利用cuckoo沙箱分别运行样本,并输出得到样本的行为数据;

对行为数据在不同时间窗口内的系统调用作为特征进行特征提取与特征选取;

利用cnn深度学习框架,训练得到深度学习算法分类器;

检测基于深度学习算法的分类器的方法具体包括以下步骤:

输入具有恶意属性的程序;

使用深度学习算法分类器进行威胁识别。

结合第一方面,在第一方面第九种可能的实现方式中,所述的威胁识别具体包括:

判断深度学习算法分类器返回的结果值,如果结果值为0,则表示具有威胁,进行威胁响应并输出威胁日志,如果结果值为1,则表示威胁排除;

所述的威胁响应包括隔离可执行文件、终止恶意线程;

所述的威胁排除包括将快速检测模块中的监控威胁阈值清零。

由以上技术方案可见,本发明通过快速检测、深度检测构成的多层机器学习分析的实时威胁检测,可以有效、准确地识别在主机中运行的安全威胁,例如,文件病毒、木马、勒索软件。同时,能够减轻未知恶意代码对主机文件的破坏,显著提升终端主机系统的安全性和可用性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一种检测实时威胁的方法的示意图;

图2为本发明实施例一种检测实时威胁的方法的流程示意图;

图3为本发明实施例监控并记录程序执行过程系统调用的流程示意图;

图4为本发明实施例快速检测的方法流程示意图;

图5为本发明实施例深度检测的方法流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

如图1所示,一种检测实时威胁的方法,通过跟踪系统层面的信息流,形成特定进程与可执行文件对象的链式关系图,针对关系图中涉及到的对象进行系统调用监控并对其进行检测。

如图2所示,具体包括以下步骤:

s1、监控并记录程序执行过程系统的调用;

s2、对程序进行快速检测;

s3、判断程序威胁是否超过规定值,如果是,则进行s4操作,否则继续执行监控;

s4、对程序进行深度检测;

s5、识别程序威胁,如果程序进程正常,则威胁排除,继续快速检测,否则,进行威胁响应。

如图3所示,监控并记录程序执行过程系统的调用具体包括以下步骤:

s101、对恶意代码的入口进行标记;

s102、过滤链式关系图的对象,得到高危信息流;

s103、对高危信息流的行为进行监控、记录。

恶意代码的入口包括网络和可移动存储设备;这两个对象是可疑行为的初始点。因此,发明将进行远程通信的进程和可移动存储中的可执行文件标记为具有潜在可疑性,需要进行监控。

高危信息流包括被可疑进程生成或修改的可执行文件、由可疑进程生成的子进程、加载了可疑的可执行文件或脚本文件的进程、从可疑进程接收数据的另一进程;信息流的追踪不针对系统普通文件、目录、注册表键值的读写操作,尽管这些操作很频繁,但很难与恶意代码的传播过程相关。不过在行为分析的过程中,这些操作将作为主要的分析依据。

监控的范围包括但不限于系统配置、进程活动行为、文件操作、网络访问。

对高危信息流的行为进行监控的方法包括:

采用hook钩挂,对高危信息流在内核层面拦截系统调用。

如图4所示,快速检测的方式具体包括:

s201、训练常规机器学习算法分类器;

s2011、预先收集恶意代码和合法程序样本,数量分别记为n和m;

s2012、利用cuckoo沙箱分别运行样本,并输出得到样本的行为数据;

s2013、对行为数据在不同时间窗口内的系统调用作为行为特征进行特征提取,并使用信息增益或文档频率方式进行特征选取;

s2014、结合常规机器学习算法,训练得到多类常规机器学习算法分类器;

s202、检测基于常规机器学习算法分类器,如随机森林、svm、knn;

s2021、对实时监控得到的待测程序行为数据通过常规机器学习算法进行分类;

s2022、判断分类结果是否合法;如果合法,则继续进行高危信息流的监控;否则,执行下一步操作。

判断程序威胁是否超过规定值的方法具体包括以下步骤:

预设威胁门限值t;

判断常规机器学习算法否超过t个;如果超过,则提示待测程序具有恶意属性,继续执行下一步;否则,继续监测。

如图5所示,对程序进行深度检测的方式具体包括以下步骤:

s401、训练深度学习算法分类器;

s4011、收集恶意代码和合法程序样本;

s4012、利用cuckoo沙箱分别运行样本,并输出得到样本的行为数据;

s4013、对行为数据在不同时间窗口内的系统调用作为特征进行特征提取与特征选取;

s4014、利用cnn深度学习框架,训练得到深度学习算法分类器;

s402、检测基于深度学习算法的分类器;

s4021、输入具有恶意属性的程序;

s4022、使用深度学习算法分类器进行威胁识别。

威胁识别具体包括:

判断深度学习算法分类器返回的结果值,如果结果值为0,则表示具有威胁,进行威胁响应并输出威胁日志,如果结果值为1,则表示威胁排除;

所述的威胁响应包括隔离可执行文件、终止恶意线程;

所述的威胁排除包括将快速检测模块中的监控威胁阈值清零,系统继续对程序进行持续性监控。

威胁响应具体为:如果检测发现程序为恶意代码,这时向系统管理员进行告警,并对威胁进行响应。根据相关性规则,可以得到具有恶意属性的一个链式关系图,其中涉及到的所有对象都具有恶意属性。从而,可执行文件会被隔离,相应的进程也会被终止。如果进程注入,如恶意代码注入系统进程(如svchost)的情况下,则仅终止系统进程中的恶意线程。这样一来,可以在保证威胁被清除的同时,保证系统运行不受影响。同时,将监控数据输出为重要日志,威胁日志对分类器训练集的样本增补和重训练优化具有重要作用。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1