CN108959922A - 一种基于贝叶斯网的恶意文档检测方法及装置 - Google Patents
一种基于贝叶斯网的恶意文档检测方法及装置 Download PDFInfo
- Publication number
- CN108959922A CN108959922A CN201810546778.0A CN201810546778A CN108959922A CN 108959922 A CN108959922 A CN 108959922A CN 201810546778 A CN201810546778 A CN 201810546778A CN 108959922 A CN108959922 A CN 108959922A
- Authority
- CN
- China
- Prior art keywords
- document
- malice
- behavior
- bayesian network
- feature
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic 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)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公布了一种基于贝叶斯网的恶意文档检测方法及系统,通过将文档抽象为特征矩阵表示;采用贝叶斯网络结构表示各种特征与是否为恶意文档间的因果概率关系;利用贝叶斯网络结构对文档的特征矩阵进行后验概率计算;从而有效判断该文档是否为恶意文档。包括:确定模型基础特征指标、构建贝叶斯网络结构、根据贝叶斯网络结构计算文档为恶意文档和正常文档的后验概率。采用本发明技术方案,通过基于贝叶斯网采用静态特征和动态特征结合分析的方式检测各种格式文档,并有效提高检测准确率。
Description
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种基于贝叶斯网的恶意文档检测方法及装置。
背景技术
随着网络信息化程度的进一步提高,近年来高级持续性攻击APT(AdvancedPersistent Threat)事件增多,给国家和企业安全和发展造成了严重威胁,同时也造成不可估量的经济损失。而APT攻击中往往使用恶意文档进行单点突破,恶意文档特指在网络攻击中特别是在APT攻击中利用的文档类漏洞利用工具植入恶意程序。恶意文档根据文档格式的不同,解析程序漏洞的不同变种有很多,绝大多数都会利用shellcode作为载体来进行攻击。
目前对于已知恶意文档的检测方法主要基于特征码匹配,其基本思想是提取恶意文档中能唯一标识该恶意文档的二进制字符串作为特征码,并将此特征码添加到恶意文档特征库中,在恶意文档检测时,先提取待检测文档的特征字符串构成的特征码,然后通过对待检测文档在特征库中进行特征码匹配,来判断该文档是否为恶意文档。这种方法能快速、准确检测已知恶意文档,但是对未知恶意文档无法识别。
发明内容
为了克服上述现有技术的不足,本发明提供一种基于贝叶斯网的恶意文档检测方法及装置,可检测各种格式文档,并基于贝叶斯网采用静态特征和动态特征结合分析的方式有效提高检测准确率。
本发明提供的技术方案是:一种基于贝叶斯网的恶意文档检测方法和装置。其中,基于贝叶斯网的恶意文档检测方法通过将文档抽象为特征矩阵表示,最大程度保留文档能用于进行恶意检测的相关信息,剔除无用冗余信息,并通过贝叶斯网络结构表示各种特征与是否为恶意文档间的因果概率关系,进一步利用贝叶斯网络结构,对文档的特征矩阵进行后验概率计算,从而有效判断该文档是否为恶意文档;主要包括:确定模型基础特征指标阶段、构建贝叶斯网络结构阶段、根据贝叶斯网络结构计算文档为恶意文档和为正常文档的后验概率阶段;其中:
确定模型基础特征指标阶段执行如下步骤:
步骤1,确定恶意文档的静态特征,即分析恶意文档的可执行代码中经常出现的特殊字符串、特殊函数、特殊关键字等潜在恶意特征;
步骤2,确定恶意文档的动态特征,动态特征为文档执行过程中的行为特点,包括但不限于触发的相关网络行为、触发的相关文件行为、触发的相关内存行为、触发的相关线程行为、触发的相关进程行为、触发的相关注册表行为、触发的相关系统行为等;
构建贝叶斯网络结构阶段具体执行如下步骤:
步骤3,根据步骤1和步骤2中得到的恶意文档静态和动态特征构造贝叶斯网络结构,所述贝叶斯网络结构的节点由文档的动态特征和静态特征组成;
步骤4,收集正常文档和恶意文档数据对贝叶斯网络进行参数学习,获得各个特征节点的条件概率,将贝叶网络结构与各特征节点的条件概率组合成为恶意文档检测贝叶斯网络模型;
根据贝叶斯网络结构计算文档为恶意文档和为正常文档的后验概率阶段具体执行如下步骤:
步骤5,获取文档中可执行代码的方式为对文档代码进行逐字节查找,以获取文档中的可执行代码;
步骤6,根据步骤1提取的文档静态特征,及步骤5中获取的可执行代码,分析文档中可执行代码的方式统计静态特征相关信息,将文档表示成静态特征矩阵;
步骤7,通过将文档在虚拟沙箱中的运行,监控并采集文档在运行过程中产生的动态行为;
步骤8,根据步骤2提取的文档动态特征,及步骤7中获取的动态行为数据,统计各个动态特征相关信息,将文档表示成动态特征矩阵,生成动态特征矩阵;
步骤9,将动态特征矩阵和静态特征矩阵合并为文档特征矩阵,输入文档检测贝叶斯网络模型中计算该文档为恶意文档的后验概率,和该文档为正常文档的后验概率;
步骤10,通过比较该文档为恶意文档和正常文档的后验概率大小,和比较该文档为恶意文档的后验概率与后验概率阈值的大小来将文档识别为正常文档或恶意文档。识别方法为:一,若该文档为恶意文档的后验概率大于该文档为正常文档的后验概率,则判定该文档为恶意文档;二,设置后验概率阈值,当文档为恶意文档的后验概率大小超过阈值则其判定为恶意文档,阈值大小根据实际情况进行动态调整。
利用上述基于贝叶斯网的恶意文档检测方法,本发明实现了相应的基于贝叶斯网的恶意文档检测装置,包括:文档静态代码特征提取子系统、文档动态行为特征提取子系统、贝叶斯恶意文档判别子系统;其中,
文档静态代码特征提取子系统包括文档可执行代码检测模块和静态代码特征提取模块;文档可执行代码检测模块用于通过逐字节检查提取文档中可执行代码;静态代码特征提取模块用于提取文档中可执行代码所包含的特征字符串、函数、关键字等静态特征相关信息,并将其表示为静态特征矩阵;
文档动态行为特征提取子系统包括基于沙箱的行为捕获模块和动态特征提取模块;基于沙箱的行为捕获模块,用于监控和采集待检测文档在运行过程中产生的行为,为了实现对可疑样本的全面检测,主要采集触发网络行为、文件行为、内存行为、线程行为、进程行为、注册表行为、系统行为等。动态特征提取模块用于统计待检测文档在沙箱运行过程中产生的动态行为特征,并将其表示为动态行为特征矩阵;
贝叶斯恶意文档判别子系统包括贝叶斯检测引擎和分类处理模块;其中,贝叶斯检测引擎用于将静态特征矩阵和动态特征矩阵组合为文档特征矩阵输入贝叶斯检测引擎,通过各特征节点计算待检测文档为恶意文档和为正常文档的后验概率;分类处理模块用于在得到检测文档为恶意文档和为正常文档的后验概率后,根据设置恶意文档判定规则将文档进行检测区分;判断方法为:方法一,若该文档为恶意文档的后验概率大于该文档为正常文档的后验概率,则判定该文档为恶意文档;方法二,设置后验概率阈值,当文档为恶意文档的后验概率大小超过阈值则其判定为恶意文档,阈值大小根据实际情况随时进行动态调整。
本发明的有益效果是:
本发明提供一种基于贝叶斯网的恶意文档检测方法及装置,通过将文档抽象为特征矩阵表示,可最大程度保留文档能用于进行恶意检测的相关信息,剔除无用冗余信息,并通过贝叶斯网络结构表示各种特征与是否为恶意文档间的因果概率关系,进一步利用贝叶斯网络结构,对文档的特征矩阵进行后验概率计算,从而有效判断该文档是否为恶意文档。本发明可检测各种格式文档,并基于贝叶斯网采用静态特征和动态特征结合分析的方式有效提高检测准确率,对于提升检测准确度有着显著效果。
附图说明
图1为本发明检测方法的流程框图。
图2为本发明检测装置实施例提供的系统结构框图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供一种基于贝叶斯网的恶意文档检测方法及装置,通过将文档抽象为特征矩阵表示,可最大程度保留文档能用于进行恶意检测的相关信息,剔除无用冗余信息,并通过贝叶斯网络结构表示各种特征与是否为恶意文档间的因果概率关系,进一步利用贝叶斯网络结构,对文档的特征矩阵进行后验概率计算,从而有效判断该文档是否为恶意文档。
图1为本发明检测方法的流程框图。本发明具体实施包括三个阶段,可采用如下具体实施方式:
阶段一、确定模型基础特征指标;
阶段二、构建贝叶斯网络结构;
阶段三、根据贝叶斯网络结构计算文档为恶意文档的后验概率。
其中阶段一包括如下步骤:
步骤1,通过专业相关经验确定恶意文档的静态特征及特征间的依赖关系,即恶意文档的可执行代码中经常出现的特殊字符串、特殊函数、特殊关键字等潜在恶意特征;
进一步的,静态特征包括但不限于:
含参字符串数量,所述含参字符串数量为恶意文档中会包含的含有参数的字符串个数;
可疑字符串数量,所述可疑字符串数量为恶意文档中会包含的异常字符串个数;
十六进制字符串数量,所述十六进制字符串数量为恶意文档中会包含的十六进制字符串个数;
eval数量,所述eval数量为恶意文档中会包含的eval函数的个数;
escape数量,所述escape数量为文档中会包含的escape()函数的个数;
CreateObject数量,所述CreateObject数量为恶意文档中会包含的CreateObject()函数个数;
for数量,所述for数量为恶意文档中会包含的for关键字个数;
if数量等,所述if数量为恶意文档中会包含的if关键字个数;
步骤2,通过专业相关经验确定恶意文档的动态特征及特征间的依赖关系,动态特征为文档执行过程中的行为特点,包括但不限于触发的相关网络行为、触发的相关文件行为、触发的相关内存行为、触发的相关线程行为、触发的相关进程行为、触发的相关注册表行为、触发的相关系统行为等。
进一步的,动态特征包括但不限于:
触发的相关网络行为,指恶意文档在打开执行过程中会产生的网络连接、监听、数据发送、数据接收等操作;
触发的相关文件行为,指恶意文档在打开执行过程中会产生的文件创建、修改、删除、重命名等操作;
触发的相关内存行为,指恶意文档在打开执行过程中会产生的远程内存分配、释放、修改行为;
触发的相关线程行为,指恶意文档在打开执行过程中会产生的远程线程行为;
触发的相关进程行为,指恶意文档在打开执行过程中会产生的创建、销毁进程行为;
触发的相关注册表行为,指恶意文档在打开执行过程中会产生的注册表创建、删除、修改等操作;
触发的相关系统行为,指恶意文档在打开执行过程中会产生的系统事件行为,包括修改系统用户名、系统密码、更改系统权限设置等;
其中阶段二包括如下步骤:
步骤3,根据步骤1和步骤2中得到的恶意文档静态和动态特征及特征间依赖关系构造贝叶斯网络结构,所述贝叶斯网络结构由文档的动态特征和静态特征组成为一个有向无环图G=<X,E>,其中X={x1,x2,x3,…,xn}表示有向无环图G中所有特征变量节点的集合,特征节点集合X中的每一个元素xi为一种静态或动态恶意特征所对应的特征变量节点。E={eij|i∈[1,n],j∈[1,n],i≠j}表示图中有向边的集合,集合E中每一个有向边eij代表特征变量节点xi和xj间的条件依赖;
步骤4,收集正常文档和恶意文档数据对贝叶斯网络进行参数学习,学习的参数为各特征节点xi在恶意文档前提下对于该特征的条件概率P(xi|Parents(xi),y),和在正常文档前提下的条件概率P(xi|Parents(xi),n)。
特征节点xi在恶意文档前提下对于该特征的条件概率为P(xi|Parents(xi),y)。其中Parents(xi)为特征变量节点xi的所有前驱节点,即与特征xi有条件依赖关系其他特征;y表示该文档为恶意文档;P(xi|Parents(xi),y)代表当一个文档符合Parents(xi)所代表的所有前驱特征且为恶意文档的前提下,该文档符合特征xi的概率。求取恶意文档前提下各节点的条件概率计算公式为式1:
其中为训练样本集中同时符合Parents(xi)所代表的所有前驱特征且为恶意文档的样本数量;Ni为特征xi的取值数量;为训练样本集中同时符合特征xi、Parents(xi)所代表的所有前驱特征且为恶意文档的样本数量。
特征节点xi在正常文档前提下对于该特征的条件概率为P(xi|Parents(xi),n)。其中n表示该文档为正常文档;P(xi|Parents(xi),n)代表当一个文档符合Parents(xi)所代表的所有前驱特征且为正常文档的前提下,该文档符合特征xi的概率。求取正常文档前提下各节点的条件概率计算公式为式2:
其中为训练样本集中同时符合Parents(xi)所代表的所有前驱特征且为正常文档的样本数量;为训练样本集中同时符合特征xi、Parents(xi)所代表的所有前驱特征且为正常文档的样本数量;
其中第三阶段包括如下步骤:
步骤5,提取文档中可执行代码,方式为对文档代码进行逐字节查找以获取文档中的可执行代码;
步骤6,根据步骤1提取文档静态特征,及步骤5中获取的可执行代码,通过分析文档中可执行代码的方式,统计可执行代码中包含的静态特征的数目等相关信息,将文档表示成静态特征矩阵,表示为[静态特征1,静态特征2,…,静态特征n]=[静态特征1数目,静态特征2数目,…,静态特征n数目]。
比如,一段可执行代码中包含2个“eval”字符串、1个CreateObject()函数、4个“for”关键字、0个“if”关键字等特征,则可转化为静态特征矩阵[eval,CreateObject,for,if,…]=[2,1,4,0,…];
步骤7,将文档在轻量级虚拟沙箱中的运行,通过虚拟动态模拟执行被检测的文档,监控并采集文档在运行过程中产生的动态行为;
Sandbox沙箱是一种虚拟系统程序,创造了一个独立作业环境,允许在该虚拟环境中运行程序,且运行所产生的变化可以随后删除。在其内部运行的程序并不能对硬盘产生永久性的影响,因此实施方案中将被检测文档在沙箱环境动态运行,使其对注册表、系统、文件等关键部分的修改并不会影响真实的系统,并记录被检测文件运行时的各种动态行为数据。
步骤8,根据步骤2提取文档动态特征,及步骤7中获取的动态行为数据,统计各个动态特征相关信息,将文档表示成动态特征矩阵,生成形如静态特征矩阵的动态特征矩阵;
步骤9,将动态特征矩阵和静态特征矩阵合并为文档特征矩阵,输入文档检测贝叶斯网络模型中计算该文档为恶意文档的后验概率,和该文档为正常文档的后验概率。
其中,求取文档为恶意文档的后验概率计算公式为式3:
其中P(y|x1,x2,…,xn)为在文档符合特征x1,x2,x3,…,xn的前提下为恶意文档的概率;P(y)为一篇文档为恶意文档的概率;为待检测文档符合的所有特征的条件概率积,也即该文档符合的所有特征的联合条件概率;
其中,求取文档为正常文档的后验概率计算公式为式4:
其中P(n|x1,x2,…,xn)为在文档符合特征x1,x2,x3,…,xn的前提下为正常文档的概率;P(n)为一篇文档为正常文档的概率;为待检测文档符合的所有特征的条件概率积,也即该文档符合的所有特征的联合条件概率;
步骤10,通过比较该文档为恶意文档或正常文档的后验概率大小,和比较该文档为恶意文档的后验概率与后验概率阈值的大小来将文档区分为正常文档和恶意文档。判断规则为:规则一,若该文档为恶意文档的后验概率大于该文档为正常文档的后验概率,则判定该文档为恶意文档;规则二,设置后验概率阈值,当文档为恶意文档的后验概率大小超过阈值则其判定为恶意文档,阈值大小根据实际情况随时进行动态调整。
通过上述三个阶段的操作,实现基于贝叶斯网的恶意文档检测。
利用上述基于贝叶斯网的恶意文档检测方法,本发明实现了相应的基于贝叶斯网的恶意文档检测装置,图2为本发明检测装置实施例提供的系统结构框图;恶意文档检测装置包括如下子系统:
子系统一、文档静态代码特征提取子系统;
子系统二、文档动态行为特征提取子系统;
子系统三、贝叶斯恶意文档判别子系统;
其中子系统一包括如下模块:
模块一、文档可执行代码检测模块,通过逐字节检查,提取文档中可执行代码;
模块二、静态代码特征提取模块,提取文档中可执行代码所包含的特征字符串、函数、关键字,并将其表示为静态特征矩阵;
其中子系统二包括如下模块:
模块三、基于沙箱的行为捕获模块,用于监控和采集待检测文档在运行过程中产生的行为,为了实现对可疑样本的全面检测,主要采集触发网络行为、文件行为、内存行为、线程行为、进程行为、注册表行为、系统行为等。
模块四、动态特征提取模块,统计待检测文档在沙箱运行过程中产生的动态行为特征,并将其表示为动态行为特征矩阵;
其中子系统三包括如下模块:
模块五、贝叶斯检测引擎,将静态特征矩阵和动态特征矩阵组合为文档特征矩阵输入贝叶斯检测引擎,通过各特征节点计算待检测文档为恶意文档和为正常文档的后验概率;
模块六、分类处理模块,得到该文档为恶意文档或正常文档的后验概率后根据“若该文档为恶意文档的后验概率大于该文档为正常文档的后验概率,则判定该文档为恶意文档;设置后验概率阈值(如65%),当文档为恶意文档的后验概率大小超过阈值则其判定为恶意文档,阈值大小根据实际情况进行动态调整”的方法将文档进行区分。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
Claims (8)
1.一种基于贝叶斯网的恶意文档检测方法,通过将文档抽象为特征矩阵表示;采用贝叶斯网络结构表示各种特征与是否为恶意文档间的因果概率关系;利用贝叶斯网络结构对文档的特征矩阵进行后验概率计算;从而有效判断该文档是否为恶意文档;包括:确定模型基础特征指标阶段、构建贝叶斯网络结构阶段、根据贝叶斯网络结构计算文档为恶意文档和正常文档的后验概率阶段;其中:
(一)确定模型基础特征指标阶段执行如下步骤1-2:
步骤1,确定恶意文档的静态特征,即通过分析得到恶意文档的可执行代码中经常出现的潜在恶意特征;
步骤2,确定恶意文档的动态特征;动态特征为文档执行过程中的行为特点,包括但不限于触发的相关网络行为、触发的相关文件行为、触发的相关内存行为、触发的相关线程行为、触发的相关进程行为、触发的相关注册表行为、触发的相关系统行为;
(二)构建贝叶斯网络结构阶段具体执行如下步骤3-4:
步骤3,根据步骤1得到的恶意文档静态特征和步骤2得到的恶意文档动态特征,构造贝叶斯网络结构;所述贝叶斯网络结构为有向无环图,节点为恶意文档的动态特征和静态特征,图中的有向边代表各个特征变量节点间的条件依赖;
步骤4,收集正常文档和恶意文档数据对贝叶斯网络进行参数学习,获得各个特征变量节点在恶意文档前提下和在正常文档前提下对于其所有前驱节点的条件概率,将贝叶网络结构与各特征节点的条件概率表组合成为恶意文档检测贝叶斯网络模型;
其中,通过式1求取恶意文档前提下各节点的条件概率:
其中,P(xi|Parents(xi),y)代表特征节点xi在恶意文档前提下对于该特征的条件概率;Parents(xi)为特征变量节点xi的所有前驱节点;y表示该文档为恶意文档;为训练样本集中同时符合Parents(xi)所代表的所有前驱特征且为恶意文档的样本数量;Ni为特征xi的取值数量;为训练样本集中同时符合特征xi、Parents(xi)所代表的所有前驱特征且为恶意文档的样本数量;
通过式2求取正常文档前提各个节点的条件概率:
其中,P(xi|Parents(xi),n)代表特征节点xi在正常文档前提下对于该特征的条件概率;n表示该文档为正常文档;为训练样本集中同时符合Parents(xi)所代表的所有前驱特征且为正常文档的样本数量;为训练样本集中同时符合特征xi、Parents(xi)所代表的所有前驱特征且为正常文档的样本数量;
(三)根据贝叶斯网络结构计算文档为恶意文档的后验概率阶段,具体执行如下步骤5-10:
步骤5,获取文档中可执行代码;
步骤6,根据步骤1提取的文档静态特征、步骤5中获取的可执行代码,通过分析文档中可执行代码,统计静态特征相关信息,将文档表示成静态特征矩阵;具体统计可执行代码中包含的静态特征的数目,生成的静态特征矩阵表示为:[静态特征1,静态特征2,…,静态特征n]=[静态特征1数目,静态特征2数目,…,静态特征n数目];
步骤7,将文档在虚拟沙箱中的运行,通过监控并采集该文档在虚拟沙箱运行过程中产生的动态行为;
步骤8,根据步骤2提取的文档动态特征、步骤7中获取的动态行为数据,统计各个动态特征相关信息,将文档表示成动态特征矩阵,生成动态特征矩阵;动态特征矩阵表示形式与步骤6生成的静态特征矩阵表示形式相同;
步骤9,将动态特征矩阵和静态特征矩阵合并为文档特征矩阵,输入文档检测贝叶斯网络模型中计算该文档为恶意文档的后验概率和为正常文档的后验概率;
其中,通过式3求取文档为恶意文档的后验概率:
其中,P(y|x1,x2,…,xn)为在文档符合特征x1,x2,x3,…,xn的前提下为恶意文档的概率;P(y)为一篇文档为恶意文档的概率;为待检测文档符合的所有特征的条件概率积,也即该文档符合的所有特征的联合条件概率;
其中,通过式4求取文档为正常文档的后验概率:
其中P(n|x1,x2,…,xn)为在文档符合特征x1,x2,x3,…,xn的前提下为正常文档的概率;P(n)为一篇文档为正常文档的概率;为待检测文档符合的所有特征的条件概率积,也即该文档符合的所有特征的联合条件概率;
步骤10,通过比较该文档为恶意文档或正常文档的后验概率大小,和/或比较该文档为恶意文档的后验概率与后验概率阈值的大小来将文档识别为正常文档和恶意文档;
通过上述步骤实现基于贝叶斯网的恶意文档检测。
2.如权利要求1所述的基于贝叶斯网的恶意文档检测方法,其特征是,恶意文档的静态特征包括特殊字符串、特殊函数、特殊关键字。
3.如权利要求1所述的基于贝叶斯网的恶意文档检测方法,其特征是,恶意文档的静态特征包括但不限于:
A1.含参字符串数量,即恶意文档中包含的含有参数的字符串个数;
A2.可疑字符串数量,即恶意文档中包含的异常字符串个数;
A3.十六进制字符串数量,即恶意文档中包含的十六进制字符串个数;
A4.eval数量,即恶意文档中包含的eval函数的个数;
A5.escape数量,即文档中包含的escape()函数的个数;
A6.CreateObject数量,即恶意文档中包含的CreateObject()函数个数;
A7.for数量,即恶意文档中包含的for关键字个数;
A8.if数量,即恶意文档中包含的if关键字个数。
4.如权利要求1所述的基于贝叶斯网的恶意文档检测方法,其特征是,恶意文档的动态特征中,触发的相关网络行为指恶意文档在打开执行过程中产生的网络连接、监听、数据发送、数据接收操作;触发的相关文件行为指恶意文档在打开执行过程中产生的文件创建、修改、删除、重命名操作;触发的相关内存行为指恶意文档在打开执行过程中产生的远程内存分配、释放、修改行为;触发的相关线程行为指恶意文档在打开执行过程中产生的远程线程行为;触发的相关进程行为指恶意文档在打开执行过程中产生的创建、销毁进程行为;触发的相关注册表行为指恶意文档在打开执行过程中产生的注册表创建、删除、修改操作;触发的相关系统行为指恶意文档在打开执行过程中产生的系统事件行为,包括修改系统用户名、系统密码、更改系统权限设置等。
5.如权利要求1所述的基于贝叶斯网的恶意文档检测方法,其特征是,步骤5具体通过对文档代码进行逐字节查找,获取文档中的可执行代码。
6.如权利要求1所述的基于贝叶斯网的恶意文档检测方法,其特征是,步骤10中,识别方法包括:
第一种:若该文档为恶意文档的后验概率大于该文档为正常文档的后验概率,则判定该文档为恶意文档;
第二种:设置后验概率阈值,当文档为恶意文档的后验概率大小超过阈值则其判定为恶意文档,阈值大小根据实际情况随时进行动态调整。
7.一种基于贝叶斯网的恶意文档检测装置,包括:文档静态代码特征提取子系统、文档动态行为特征提取子系统、贝叶斯恶意文档判别子系统;其中,
文档静态代码特征提取子系统包括文档可执行代码检测模块和静态代码特征提取模块;文档可执行代码检测模块用于通过逐字节检查提取文档中可执行代码;静态代码特征提取模块用于提取文档中可执行代码所包含的特征字符串、函数、关键字,并将其表示为静态特征矩阵;
文档动态行为特征提取子系统包括基于沙箱的行为捕获模块和动态特征提取模块;基于沙箱的行为捕获模块用于监控和采集待检测文档在运行过程中产生的动态行为;动态特征提取模块用于统计待检测文档在沙箱运行过程中产生的动态行为特征,并表示为动态行为特征矩阵;
贝叶斯恶意文档判别子系统包括贝叶斯检测引擎和分类处理模块;其中,贝叶斯检测引擎用于将静态特征矩阵和动态特征矩阵组合为文档特征矩阵,输入贝叶斯检测引擎,通过各特征节点计算待检测文档为恶意文档的后验概率;分类处理模块用于在得到检测文档为恶意文档的后验概率后,根据设置的后验概率阈值将文档进行检测区分。
8.如权利要求7所述的基于贝叶斯网的恶意文档检测装置,其特征是,所述基于沙箱的行为捕获模块捕获待检测文档在沙箱运行过程中产生的行为包括:触发网络行为、文件行为、内存行为、线程行为、进程行为、注册表行为、系统行为。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810546778.0A CN108959922B (zh) | 2018-05-31 | 2018-05-31 | 一种基于贝叶斯网的恶意文档检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810546778.0A CN108959922B (zh) | 2018-05-31 | 2018-05-31 | 一种基于贝叶斯网的恶意文档检测方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108959922A true CN108959922A (zh) | 2018-12-07 |
CN108959922B CN108959922B (zh) | 2021-11-02 |
Family
ID=64492761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810546778.0A Active CN108959922B (zh) | 2018-05-31 | 2018-05-31 | 一种基于贝叶斯网的恶意文档检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108959922B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110147671A (zh) * | 2019-05-29 | 2019-08-20 | 北京奇安信科技有限公司 | 一种程序内字符串提取方法及装置 |
WO2020191722A1 (zh) * | 2019-03-28 | 2020-10-01 | 日本电气株式会社 | 用于确定因果关系的方法、系统和计算机程序产品 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11818172B1 (en) * | 2021-08-24 | 2023-11-14 | Amdocs Development Limited | System, method, and computer program for a computer attack response service |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908019A (zh) * | 2010-07-30 | 2010-12-08 | 南开大学 | 一种基于贝叶斯网络的网构软件可信性评估模型 |
CN103679030A (zh) * | 2013-12-12 | 2014-03-26 | 中国科学院信息工程研究所 | 一种基于动态语义特征的恶意代码分析检测方法 |
US8881288B1 (en) * | 2008-10-28 | 2014-11-04 | Intelligent Automation, Inc. | Graphical models for cyber security analysis in enterprise networks |
CN105426762A (zh) * | 2015-12-28 | 2016-03-23 | 重庆邮电大学 | 一种android应用程序恶意性的静态检测方法 |
US20160154960A1 (en) * | 2014-10-02 | 2016-06-02 | Massachusetts Institute Of Technology | Systems and methods for risk rating framework for mobile applications |
CN105740712A (zh) * | 2016-03-09 | 2016-07-06 | 哈尔滨工程大学 | 基于贝叶斯网络的Android恶意行为检测方法 |
-
2018
- 2018-05-31 CN CN201810546778.0A patent/CN108959922B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8881288B1 (en) * | 2008-10-28 | 2014-11-04 | Intelligent Automation, Inc. | Graphical models for cyber security analysis in enterprise networks |
CN101908019A (zh) * | 2010-07-30 | 2010-12-08 | 南开大学 | 一种基于贝叶斯网络的网构软件可信性评估模型 |
CN103679030A (zh) * | 2013-12-12 | 2014-03-26 | 中国科学院信息工程研究所 | 一种基于动态语义特征的恶意代码分析检测方法 |
US20160154960A1 (en) * | 2014-10-02 | 2016-06-02 | Massachusetts Institute Of Technology | Systems and methods for risk rating framework for mobile applications |
CN105426762A (zh) * | 2015-12-28 | 2016-03-23 | 重庆邮电大学 | 一种android应用程序恶意性的静态检测方法 |
CN105740712A (zh) * | 2016-03-09 | 2016-07-06 | 哈尔滨工程大学 | 基于贝叶斯网络的Android恶意行为检测方法 |
Non-Patent Citations (8)
Title |
---|
DAIPING LIU, ET AL.: "Detecting Malicious Javascript in PDF through Document Instrumentation", 《2014 44TH ANNUAL IEEE/IFIP INTERNATIONAL CONFERENCE ON DEPENDABLE SYSTEMS AND NETWORKS》 * |
SHANCANG LI, ET AL.: "Risk Assessment for Mobile Systems Through a Multilayered Hierarchical Bayesian Network", 《IEEE TRANSACTIONS ON CYBERNETICS》 * |
SULEIMAN Y. YERIMA, ET AL.: "Analysis of Bayesian Classification based Approaches for Android Malware Detection", 《IET INFORMATION SECURITY》 * |
孙本阳: "PDF文档的安全性检测技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
徐建平: "基于SVM模型的恶意PDF文档检测方法", 《电脑知识与技术》 * |
李江华,等: "Android恶意软件检测方法研究综述", 《计算机应用研究》 * |
胡江 等: "针对JavaScript攻击的恶意PDF文档检测技术研究", 《现代计算机(专业版)》 * |
郝增帅 等: "基于特征分析和行为监控的未知木马检测系统研究与实现", 《信息网络安全》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020191722A1 (zh) * | 2019-03-28 | 2020-10-01 | 日本电气株式会社 | 用于确定因果关系的方法、系统和计算机程序产品 |
US11537910B2 (en) | 2019-03-28 | 2022-12-27 | Nec Corporation | Method, system, and computer program product for determining causality |
CN110147671A (zh) * | 2019-05-29 | 2019-08-20 | 北京奇安信科技有限公司 | 一种程序内字符串提取方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108959922B (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aljawarneh et al. | Anomaly-based intrusion detection system through feature selection analysis and building hybrid efficient model | |
Sahu et al. | Network intrusion detection system using J48 Decision Tree | |
Sun et al. | Detecting anomalous user behavior using an extended isolation forest algorithm: an enterprise case study | |
Gogoi et al. | MLH-IDS: a multi-level hybrid intrusion detection method | |
Jiang et al. | A clustering-based method for unsupervised intrusion detections | |
Jianliang et al. | The application on intrusion detection based on k-means cluster algorithm | |
CN107517216B (zh) | 一种网络安全事件关联方法 | |
Muhammad et al. | Stacked autoencoder-based intrusion detection system to combat financial fraudulent | |
CN105827594A (zh) | 一种基于域名可读性及域名解析行为的可疑性检测方法 | |
CN109784056A (zh) | 一种基于深度学习的恶意软件检测方法 | |
CN107273752B (zh) | 基于词频统计和朴素贝叶斯融合模型的漏洞自动分类方法 | |
Krishnaveni et al. | Ensemble approach for network threat detection and classification on cloud computing | |
CN110134876B (zh) | 一种基于群智传感器的网络空间群体性事件感知与检测方法 | |
CN112333195B (zh) | 基于多源日志关联分析的apt攻击场景还原检测方法及系统 | |
CN108959922A (zh) | 一种基于贝叶斯网的恶意文档检测方法及装置 | |
CN112073551B (zh) | 基于字符级滑动窗口和深度残差网络的dga域名检测系统 | |
Pattawaro et al. | Anomaly-based network intrusion detection system through feature selection and hybrid machine learning technique | |
Elekar | Combination of data mining techniques for intrusion detection system | |
CN110351303A (zh) | 一种DDoS特征提取方法及装置 | |
Petersen | Data mining for network intrusion detection: A comparison of data mining algorithms and an analysis of relevant features for detecting cyber-attacks | |
Dash et al. | Episode based masquerade detection | |
Eljialy et al. | Novel framework for an intrusion detection system using multiple feature selection methods based on deep learning | |
CN112073362B (zh) | 一种基于流量特征的apt组织流量识别方法 | |
Hao et al. | AutoMal: automatic clustering and signature generation for malwares based on the network flow | |
Liu et al. | An integrated intrusion detection system by using multiple neural networks |
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 |