首页> 中国专利> 一种基于分支行为模型的实时威胁检测方法

一种基于分支行为模型的实时威胁检测方法

摘要

本发明提供一种基于分支行为模型的实时威胁检测方法,在恶意代码运行过程中,程序会触发一系列繁琐的系统行为,但并非所有行为都是恶意属性的,恶意代码与合法程序的区别在于其行为路径中,蕴含着具有恶意企图的关键分支。基于上述思想,本发明通过跟踪系统层面的信息流,形成特定进程与可执行文件对象的依赖性关系图。对关系图中的对象,根据划分规则,进行对象分支的划分。对于每个分支中的各进程对象,方案监控并记录进程所有的基本行为。同时发明预先对行为操作进行敏感程度的权值量化,并构建黑白行为数据库,通过阈值管理与黑白行为数据库样式匹配的多重逻辑,对系统异常情况进行预警,能够高效、准确、实时地检测计算机系统中的未知威胁。

著录项

  • 公开/公告号CN107992751A

    专利类型发明专利

  • 公开/公告日2018-05-04

    原文格式PDF

  • 申请/专利权人 郑州云海信息技术有限公司;

    申请/专利号CN201711392444.4

  • 发明设计人 张尧;

    申请日2017-12-21

  • 分类号G06F21/56(20130101);G06F21/55(20130101);G06F8/41(20180101);

  • 代理机构37100 济南信达专利事务所有限公司;

  • 代理人刘淑风

  • 地址 450000 河南省郑州市郑东新区心怡路278号16层1601室

  • 入库时间 2023-06-19 05:16:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-08

    授权

    授权

  • 2020-05-05

    专利申请权的转移 IPC(主分类):G06F21/56 登记生效日:20200415 变更前: 变更后: 申请日:20171221

    专利申请权、专利权的转移

  • 2018-06-01

    实质审查的生效 IPC(主分类):G06F21/56 申请日:20171221

    实质审查的生效

  • 2018-05-04

    公开

    公开

说明书

技术领域

本发明涉及系统安全技术领域,具体地说是一种基于分支行为模型的实时威胁检测方法。

背景技术

主机安全保护的关键在于对恶意代码攻击的检测与防范能力。在恶意代码防护方面,国内安全厂商的检测原理基本以签名特征码为主。这种检测方式的优点是匹配速度快,误报率低,但前提是恶意代码在其软件生命周期内不发生变化。不幸的是,大多数病毒、木马在短期内会产生大量变异,且变形、加密、多态等代码混淆技术已被普遍应用其中。与此同时,恶意代码规模爆炸式的增长趋势也使得签名特征库的更新和维护变得愈发困难。此外,白名单与强制访问控制技术也被广泛运用于未知威胁的防护。但这种混合防护机制在底层机理上,存在着一定的局限性:(1)一方面,应用程序白名单技术无法准确定义其信任边界。例如,许多重要的系统服务进程通常需要被列入白名单,如Windows系统中的svchost.exe进程等。但这些进程恰恰容易被恶意代码动态注入并劫持,使得恶意代码得以绕过白名单执行。(2)另一方面,在实际应用中,整齐划一式的强制访问控制对资源的调控,又往往显得过于苛刻,容易引起兼容性问题,限制正常业务系统的运行。

可以看出,在缺乏应用程序本身运行行为信息的情况下,未知进程的合法性判断和控制都面临巨大的困难。而现有的基于系统行为分析的检测技术,其本质都是把待测软件置于沙箱中运行,通过将运行过程中整个程序的行为与先验的行为特征信息进行比较,得到合法与否的判断。这种检测模式,更适用于非实时场景下的软件合法性判定(如PaaS中软件应用的离线审核),很难直接用于主机环境的程序实时监测和攻击防护。实际上在恶意代码运行过程中,程序会触发一系列繁琐的系统行为,但并非所有的行为都是具有恶意属性的——恶意代码与合法程序的区别在于其行为路径中,蕴含着具有恶意企图的关键分支。因此,通过检测分支中恶意行为的存在性,便可以从大量行为操作中排除冗余干扰,达到实时、准确地检测恶意代码的目标。

发明内容

本发明的技术任务是针对现有技术的不足,提供一种新型的、基于分支行为模型的实时威胁检测方法,方案首先通过跟踪系统层面的信息流,形成特定进程与可执行文件对象的依赖性关系图,并通过划分规则得到对象分支,最终将分支监控到的行为与黑白两种行为数据库中的模板进行动态比对,得到程序实时行为的判定结果。

本发明解决其技术问题所采用的技术方案是:

一种基于分支行为模型的实时威胁检测方法,具体实现过程如下:

S1、依赖性关系图的建立

通过跟踪系统层面的信息流,即监控系统中特定的进程与可执行文件,构建特定进程与可执行文件对象的依赖性关系图;

S2、对象分支的划分与提取

根据划分规则,将依赖性关系图划分为多个子图,即多个对象分支,对于依赖性关系图中的某一对象即进程或可执行文件,一旦所属分支确定后,将被赋予一个分支标签,标签由一个分支标识符和时间戳构成;

S3、基本行为的监控、记录

采用Hook钩挂技术,对于划分得到的各分支中的进程对象,在内核层面拦截系统调用,以及用户空间拦截API函数调用,监控并记录所有的基本行为;

S4、行为的敏感程度量化和记录

预先对所有的基本行为进行危险程度的估计,将基本行为操作分为敏感程度低、中、高三类,并分别赋予危险权值;

在此基础上,对于所监控程序的各个分支,根据记录得到的各分支的基本行为操作,计算危险权值加和S;

S5、黑白行为数据库的建立与动态匹配

构建轻量级的分支恶意行为数据库(黑)和已知程序行为数据库(白),通过阈值管理与黑白行为数据库样式匹配的多重逻辑,对系统异常情况进行预警。

作为本发明进一步改进的,步骤S1具体包括如下步骤:

1.1)恶意代码的入口标记,将进行远程通信的进程和可移动存储中的可执行文件设置为具有潜在可疑性,进行监控,以实现系统层面信息流的跟踪;

1.2)依赖性关系图的剪枝,在跟踪系统层面的信息流时,根据可疑性传播规则,提取出可能传播恶意代码的高危信息流,一些低危险的信息流将在依赖性关系图中被省略,即实现“剪枝”。

作为本发明进一步改进的,步骤S1可执行文件相应的后缀名包括:

.EXE, .COM, .DLL, .SYS, .VBS, .JS, .BAT等,也包括:可能存在宏病毒代码的数据文件,如.DOC, .PPT, .XLS等。

作为本发明进一步改进的,步骤1.1)可疑性传播规则包括如下:

传播规则一:被可疑进程生成或修改的可执行文件,也具有可疑性;

传播规则二:由可疑进程生成的子进程,也具有可疑性;

传播规则三:加载了可疑的可执行文件或脚本文件的进程,也具有可疑性;

传播规则四:从可疑进程接收数据(如通过进程间通信)的另一进程,也具有可疑性。

作为本发明进一步改进的,步骤S2划分规则包括如下:

分支规则一:如果某一进程是直接由一个面向网络的进程创建的,则为该进程及子进程添加一类分支标签;

分支规则二:如果某一可执行文件是通过网络下载得到的,则为该可执行文件及其后续对象添加一类分支标签;

分支规则三:如果某一可执行文件位于一个可移动存储中,则为该可执行文件及其后续对象添加一类分支标签;

对于某一后继对象,如果其具有多个父对象,此时,分支标签的继承优先级为:可执行文件、父进程、其他对象,如果位于同一优先级的父对象不止一个,则按照反向时序关系进行继承(即尽可能的继承最近出现的父对象标签)。

标签的继承方式确定了各个对象所隶属的分支,从而分支的划分得以完成。

作为本发明进一步改进的,步骤S3中,选择单一的、具有任务性的重要函数进行基本行为的监控、记录。

作为本发明进一步改进的,步骤S3中,基本行为的监控、记录范围,包括如下方面:

(1)系统配置行为类别,如修改系统配置文件、注册表操作、增加系统启动项等;

(2)进程活动行为类别,如创建进程、增加系统服务、进程注入、提升调试权限等;

(3)文件操作行为类别,如创建或替换PE文件、删除文件、文件遍历等;

(4)网络访问行为类别,如访问特定URL、使用特殊网络接口、使用网络远程共享等;

(5)系统组成行为类别,如创建或删除用户、添加或删除硬盘、安装或删除驱动等。

作为本发明进一步改进的,步骤S4中,权值的选择范围在MIN于MAX之间,具体包括如下步骤:

4.1)默认告警阈值,管理员用户自行定义,设为MAX;

4.2)每个基本行为操作的权值在MIN与MAX之间,根据敏感程度的高低进行设定,MIN的设置方法如下:选定监控时间期望,搜集多个合法程序样本在监控时间期望内正常运行过程中的可被操作的操作数的平均值,记作A,则MIN=MAX/A。

作为本发明进一步改进的,步骤S5具体包括如下步骤:

5.1)已知程序行为数据库的建立,对于有明确来源的、合法的程序,通过ID索引的方式,为这些程序预先定义(a)所允许的合法行为操作,以及(b)不会出现的违规行为,从而当分支中有进程属于已知程序时,可以判断其执行过程是否符合要求;

5.2)分支恶意行为数据库的建立,预定义一系列恶意的分支行为模板,每个恶意分支行为模板中包括至少一个基本行为,并对所有恶意分支行为的危险权值均设为MAX;

5.3)已知程序行为数据库的动态匹配,当分支行为中存在合法程序时,通过匹配已知程序行为数据库,检查该程序的运行过程是否满足设定,此时往往会出现双重匹配——即作为已知程序匹配一次,并在分支恶意行为数据库中检测一次,这时候,前一个匹配具有更高的优先级;

5.4)分支恶意行为数据库的动态匹配,将整个分支呈现的行为与分支恶意行为数据库中的模板比对,检测异常情形;出现匹配时,该分支的权值加和S突变为MAX,同时检测系统将告警;

5.5)未匹配情形处理,在没有出现匹配的情况下,相应分支的危险权值之和会自然累加,当危险权值因为自然累加增至MAX时,如果此时监控时长接近监控的期望时间,则将分支列为正常,解除监控并输出监控日志;否则将监控数据输出为重要日志,并向管理员用户告警。

作为本发明进一步改进的,步骤S5中,当且仅当分支中存在合法程序,且其被允许的行为(通过查询已知程序行为数据库)包括了所匹配的恶意行为模板中的各基本行为操作,这时,该分支会被豁免,视作正常情况,继续进行监控过程;在其他情况下,均会视作异常,向管理员用户告警。

本发明的一种基于分支行为模型的实时威胁检测方法,与现有技术相比所产生的有益效果是:

发明设计了一种基于分支行为模型的实时威胁检测方法。在恶意代码运行过程中,程序会触发一系列繁琐的系统行为,但并非所有的行为都是具有恶意属性的——恶意代码与合法程序的区别在于其行为路径中,蕴含着具有恶意企图的关键分支。基于上述思想,方案首先通过跟踪系统层面的信息流,形成特定进程与可执行文件对象的依赖性关系图,并通过划分规则得到对象分支,最终将分支监控到的行为与黑白两种行为数据库中的模板进行动态比对,得到程序实时行为的判定结果。方案拆分并简化了原本错综复杂的程序依赖性关系图,提取得到关键的对象分支,从而大幅提高行为检测的准确率;同时,敏感权值的引入与告警阈值的设计可以增加方案判断的精度和灵活性;黑白两类行为数据库样式匹配的逻辑则规避了可能出现的误判情形。通过基于分支行为模型的实时威胁检测,可以有效、快速地识别在主机中运行的恶意代码,显著提升系统的安全性与可用性。

通过基于分支行为模型的实时威胁检测,可以有效、快速地识别在主机中运行的安全威胁,例如,蠕虫、木马、勒索病毒等。同时,极小化未知恶意代码对于主机文件的破坏,显著提升服务器主机系统的安全性和可用性。

附图说明

附图1是本发明的一种基于分支行为模型的实时威胁检测方法示意图。

具体实施方式

下面结合附图1,对本发明的一种基于分支行为模型的实时威胁检测方法作以下详细说明。

如附图1所示,本发明的一种基于分支行为模型的实时威胁检测方法,在实施上,主要包括S1、依赖性关系图的建立,S2、对象分支的划分与提取,S3、基本行为的监控、记录;S4、行为敏感的程度量化和记录;S5、黑、白行为数据库的建立与动态匹配过程(如附图1所示),最终实现对系统威胁的实时检测与响应。具体实现过程如下:

S1、依赖性关系图的建立

方案通过跟踪系统层面的信息流,即监控系统中特定的进程与可执行文件,形成特定进程与可执行文件对象的依赖性关系图。进一步包括如下步骤:

1.1)恶意代码的入口标记,考虑恶意代码的两个传入入口:网络与可移动存储(驱动),这两个对象是可疑行为的初始点。因此,发明将进行远程通信的进程和可移动存储中的可执行文件设置为具有潜在可疑性,需要进行监控。

可执行文件相应的后缀名包括:.EXE, .COM, .DLL, .SYS, .VBS, .JS, .BAT等;也同时也包括可能存在宏病毒代码的数据文件,如.DOC, .PPT, .XLS等。

1.2)依赖性关系图的剪枝,在跟踪系统层面的信息流时,不需要对所有的进程和可执行文件进行监控,也就是说,根据可疑性传播规则,方案着重考虑可能传播恶意代码的高危信息流,一些低危险的信息流将在依赖性关系图中被省略,即实现“剪枝”。在可疑性传播过程中,有如下4条传播规则:

传播规则一:被可疑进程生成或修改的可执行文件,也具有可疑性;

传播规则二:由可疑进程生成的子进程,也具有可疑性;

传播规则三:加载了可疑的可执行文件或脚本文件的进程,也具有可疑性;

传播规则四:从可疑进程接收数据(如通过进程间通信)的另一进程,也具有可疑性。

需要注意的是,信息流的追踪不针对系统普通文件、目录、注册表键值的读写操作,尽管这些操作很频繁,但很难与恶意代码的传播过程相关。不过在行为分析的过程中,这些操作将作为主要的分析依据。

S2、对象分支的划分与提取

在构建依赖性关系图的同时,进行对象分支的划分与提取。发明根据如下3条划分规则,将依赖性关系图划分为多个子图,即多个对象分支。对于某一对象(进程或可执行文件),一旦其所属分支确定后,将被赋予一个分支标签,标签由一个分支标识符和时间戳构成。

分支规则一:如果某一进程是直接由一个面向网络的进程创建的,则为该进程及其子进程添加一类分支标签。

分支规则二:如果某一可执行文件是通过网络下载得到的,则为该可执行文件及其后续对象添加一类分支标签。

分支规则三:如果一个可执行文件位于一个可移动存储中,则为该可执行文件及其后续对象添加一类分支标签。

需要注明的是,对于某一后继对象,如果其具有多个父对象,这时,分支标签的继承优先级为:(1)可执行文件,(2)父进程,(3)其他对象。如果位于同一优先级的父对象不止一个,则按照反向时序关系进行继承(即尽可能的继承最近出现的父对象标签)。

标签的继承方式确定了各个对象所隶属的分支,从而分支的划分得以完成。

S3、基本行为的监控、记录

采用Hook钩挂技术,对于划分得到的各分支中的进程对象,在内核层面拦截系统调用,以及用户空间拦截API函数调用,监控并记录所有的基本行为;

基本行为的监控范围,具体来说包括五个方面:

(1)系统配置行为类别,如修改系统配置文件、注册表操作、增加系统启动项等;

(2)进程活动行为类别,如创建进程、增加系统服务、进程注入、提升调试权限等;

(3)文件操作行为类别,如创建或替换PE文件、删除文件、文件遍历等;

(4)网络访问行为类别,如访问特定URL、使用特殊网络接口、使用网络远程共享等;

(5)系统组成行为类别,如创建或删除用户、添加或删除硬盘、安装或删除驱动等。

进行监控时,应尽可能地选择单一的、具有任务性的重要函数进行基本行为的检测。例如,可以监控NtSetValueKey()来检查是否存在“修改安全设置”这一行为。某些恶意行为,可能包含了多于一个系统调用或Win32 API函数。例如“进程注入”就可能包含了NtOpenProcess()、NtAllocateVirtualMemory()、NtWriteVirtualMemory()、NtCreateThread()等调用。这时,可以选择拦截具有任务性的关键函数NtCreateThread(),来发现该行为。

S4、行为敏感程度量化和记录

发明预先对所有的基本行为进行危险程度的估计,如可以分为敏感程度低、中、高三类,并分别赋予危险权值。权值的选择范围为MIN与MAX之间。进一步分为如下步骤:

4.1)默认告警阈值,管理员用户自行定义,设为MAX;

4.2)每个基本行为操作的权值在MIN与MAX之间,根据敏感程度的高低进行设定。MIN的设置方法如下:选定监控时间期望,例如10分钟;搜集多个合法程序样本在监控时间期望内正常运行过程中的可被操作的操作数的平均值,记作A,则MIN=MAX/A。

在此基础上,对于所监控程序的各个分支,根据记录得到的各分支基本行为操作,计算权值加和S,S随运行时间单调递增。

S5、黑、白行为数据库的建立与动态匹配过程。进一步分为如下步骤:

5.1)已知程序行为数据库的建立。对于有明确来源的、合法的程序,通过ID索引的方式,为这些程序预先定义(a)所允许的合法行为操作,以及(b)不会出现的违规行为,从而当分支中有进程属于已知程序时,可以判断其执行过程是否符合要求。

5.2)分支恶意行为数据库的建立。发明预定义一系列恶意的分支行为模板,每个行为模板中包括至少一个基本行为。特别地,所有恶意分支行为的危险权值均设为MAX。

需要注明的是,上述黑、白行为数据库可以分别采用数字编码的方式表征具体行为,如使用二进制码,每个比特位代表一个基本行为,1代表包含或允许此行为,0则相反。这样能够节约空间占用,也可以加快行为数据库查询时的匹配速度。

5.3)已知程序行为数据库的动态匹配。当分支行为中存在合法程序时,通过匹配已知程序行为数据库,检查该程序的运行过程是否满足设定。

需要注意的是,此时往往会出现双重匹配——即作为已知程序匹配一次,并在分支恶意行为数据库中检测一次,这时候,前一个匹配具有更高的优先级。也就是说,如果已知程序的行为描述中允许该操作,则分支行为匹配遵从前一匹配的判断结果,跳过相应的权值累加步骤;但如果程序行为超出所允许范围,则继续进行权值的累加。此外,当程序不符合已知程序的行为描述时,检测系统将会进行告警,因为此时已知程序可能被恶意注入或被病毒感染。

5.4)分支恶意行为数据库的动态匹配。同时,将整个分支呈现的行为与分支恶意行为数据库中的模板比对,检测异常情形。出现匹配时,该分支的权值加和S突变为MAX,同时检测系统将告警。

需要说明的是,当且仅当分支中存在合法程序,且其被允许的行为(通过查询已知程序行为数据库)包括了所匹配的恶意行为模板中的各基本行为操作,这时该分支会被豁免,视作正常情况,继续进行监控过程;在其他情况下,均会视作异常,向管理员用户告警。

5.5)未匹配情形处理。在没有出现匹配的情况下,相应分支的危险权值之和会自然累加。当权值因为自然累加增至MAX时,如果此时监控时长接近监控的期望时间,则将分支列为正常,解除监控并输出监控日志;否则将监控数据输出为重要日志,并向管理员用户告警。重要日志对行为数据库的增补和优化具有重要作用。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

除说明书所述的技术特征外,均为本专业技术人员的已知技术。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号