本发明专利技术公开了一种VBA脚本混淆检测方法、装置、设备及可读存储介质,该方法包括以下步骤:对待进行检测的Office文件进行解析,获取VBA脚本;在各个指定维度上提取VBA脚本的特征信息;利用各个特征信息,生成特征向量组;将特征向量组输入至分类器中进行分类处理,得到Office文件中是否具有混淆VBA脚本的检测结果;其中,分类器为利用原始有标签样本和无标签样本迭代训练获得的。在本方法考虑到实际应用环境,并针对VBA语言精细化特征提取,能够检测出Office文件中是否具有混淆VBA脚本,能够为进一步进行病毒检测提供重要参考依据。为进一步进行病毒检测提供重要参考依据。为进一步进行病毒检测提供重要参考依据。
【技术实现步骤摘要】
VBA脚本混淆检测方法、装置、设备及可读存储介质
[0001]本专利技术涉及计算机应用
,特别是涉及一种VBA脚本混淆检测方法、装置、设备及可读存储介质。
技术介绍
[0002]对于Office宏病毒,一般通过静态扫描文件并匹配病毒的广谱特征码的方式查杀病毒。随着反病毒软件的发展,病毒文件也演进出代码混淆这种逃逸技术,对抗和绕过反病毒软件的查杀。由于混淆后的代码c
’
在功能上和混淆前的代码c相同,而反病毒软件的病毒特征库中能够匹配c的广谱特征码无法匹配c
’
。因此,通过混淆能够对抗传统反病毒软件。另外,Office文件中VBA脚本的混淆成本较低,因而非常流行。
[0003]因而识别Office文件中的VBA脚本是否为混淆代码是准确判定该Office文件是否为病毒的重要环节。即,如何准确检测出Office文件中的VBA脚本是否为混淆代码等问题,是目前本领域技术人员急需解决的技术问题。
技术实现思路
[0004]本专利技术的目的是提供一种VBA脚本混淆检测方法、装置、设备及可读存储介质,准确检测出Office文件中的VBA脚本是否为混淆代码,为进一步判断Office文件是否为病毒提供了重要依据。
[0005]为解决上述技术问题,本专利技术提供如下技术方案:
[0006]一种VBA混淆检测方法,包括:
[0007]对待进行检测的Office文件进行解析,获取VBA脚本;
[0008]在各个指定维度上提取所述VBA脚本的特征信息;
[0009]利用各个所述特征信息,生成特征向量组;
[0010]将所述特征向量组输入至分类器中进行分类处理,得到所述Office文件中是否具有混淆VBA脚本的检测结果;
[0011]其中,所述分类器为利用原始有标签样本和无标签样本迭代训练获得的。
[0012]优选地,训练所述分类器的过程,包括:
[0013]利用所述原始有标签样本训练机器学习分类器,获得初始分类器;
[0014]利用所述初始分类器确定所述无标签样本是否具有混淆VBA脚本;
[0015]如果是,则利用第一强规则分类器筛选出具有混淆VBA脚本的无标签样本,并添加混淆标签,以获得有混淆样本;
[0016]如果否,则利用第二强规则分类器筛选出非混淆VBA脚本的无标签样本,并添加非混淆标签,以获得非混淆样本;
[0017]利用所述非混淆样本和所述混淆样本对所述初始分类器进行下一轮迭代训练,直到测试集对应的分类结果收敛后,结束训练。
[0018]优选地,训练所述分类器的过程,包括:
[0019]利用所述原始有标签样本训练机器学习分类器,获得初始分类器;
[0020]利用所述初始分类器对所述无标签样本是否具有混淆VBA脚本进行分类判断,获得第一分类结果;
[0021]利用强规则三分类器对所述无标签样本进行分类,获得第二分类结果;
[0022]利用所述第二分类结果和所述第一分类结果对所述无标签样本添加标签,以生成新的有标签样本;所述有标签样本包括有混淆样本和非混淆样本;
[0023]利用所述有标签样本对所述初始分类器进行下一轮迭代训练,直到测试集对应的分类结果收敛后,结束训练。
[0024]优选地,利用所述第二分类结果和所述第一分类结果对所述无标签样本添加标签,以生成新的有标签样本,包括:
[0025]判断所述无标签样本对应的所述第一分类结果和所述第二分类结果是否一致;
[0026]如果是,为所述无标签样本添加对应标签,获得所述有标签样本。
[0027]优选地,还包括:
[0028]从非混淆Office文件中抽取VBA函数,并作为种子函数;
[0029]对所述种子函数进行随机组合,生成变异后的非混淆Office文件并作为所述非混淆样本。
[0030]优选地,所述在各个指定维度上提取所述VBA脚本的特征信息,包括:
[0031]在词法元素维度、敏感字符串维度、敏感函数维度、整数常量维度、超长字符串维度、标识符维度、元数据维度和信息熵维度上提取所述VBA脚本的特征信息。
[0032]优选地,每个所述指定维度的特征信息与所述特征向量组中一个或多个元素对应。
[0033]优选地,还包括:
[0034]利用所述检测结果确定所述Office文件是否为病毒文件;
[0035]如果是,则输出报警提示。
[0036]一种VBA脚本混淆检测装置,包括:
[0037]VBA脚本获取模块,用于对待进行检测的Office文件进行解析,获取VBA脚本;
[0038]特征信息提取模块,用于在各个指定维度上提取所述VBA脚本的特征信息;
[0039]特征向量组生成模块,用于利用各个所述特征信息,生成特征向量组;
[0040]混淆检测模块,用于将所述特征向量组输入至分类器中进行分类处理,得到所述Office文件中是否具有混淆VBA脚本的检测结果;其中,所述分类器为利用原始有标签样本和无标签样本迭代训练获得的。
[0041]一种VBA脚本混淆检测设备,包括:
[0042]存储器,用于存储计算机程序;
[0043]处理器,用于执行所述计算机程序时实现上述VBA脚本混淆检测方法的步骤。
[0044]一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述VBA脚本混淆检测方法的步骤。
[0045]应用本专利技术实施例所提供的方法,对待进行检测的Office文件进行解析,获取VBA脚本;在各个指定维度上提取VBA脚本的特征信息;利用各个特征信息,生成特征向量组;将特征向量组输入至分类器中进行分类处理,得到Office文件中是否具有混淆VBA脚本的检
测结果;其中,分类器为利用原始有标签样本和无标签样本迭代训练获得的。
[0046]在本方法中,首先对待进行检测的Office文件进行解析,得到其中的VBA脚本。然后从各个指定维度上对VBA脚本进行特征提取,得到特征信息。生成所提取的特征信息对应的特征向量组。将特征向量组输入至分类器中,进行分类处理,基于分类结果便可确定出该Office文件中是否具有混淆VBA脚本。特别的,在提取特征时,从多个维度进行特征提取,即在特征工程方面做了精细化的调优,能够使得特征向量组更加的精准、全面。由于分类器的分类训练所用样本包括有标签样本和无标签样本,降低了对有标签样本数量的需求,能够降低训练难度,能够适应工业级生产环境中不具备大量有标签样本的情况。也就是说,在本方法考虑到实际应用环境,并针对VBA语言精细化特征提取,能够检测出Office文件中是否具有混淆VBA脚本,能够为进一步进行病毒检测提供重要参考依据。
[0047]相应地,本专利技术实施例还提供了与上述VBA脚本混淆检测方法相对应的VBA脚本混淆检测装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。...
【技术保护点】
【技术特征摘要】
1.一种VBA脚本混淆检测方法,其特征在于,包括:对待进行检测的Office文件进行解析,获取VBA脚本;在各个指定维度上提取所述VBA脚本的特征信息;利用各个所述特征信息,生成特征向量组;将所述特征向量组输入至分类器中进行分类处理,得到所述Office文件中是否具有混淆VBA脚本的检测结果;其中,所述分类器为利用原始有标签样本和无标签样本迭代训练获得的。2.根据权利要求1所述的VBA脚本混淆检测方法,其特征在于,训练所述分类器的过程,包括:利用所述原始有标签样本训练机器学习分类器,获得初始分类器;利用所述初始分类器确定所述无标签样本是否具有混淆VBA脚本;如果是,则利用第一强规则分类器筛选出具有混淆VBA脚本的无标签样本,并添加混淆标签,以获得有混淆样本;如果否,则利用第二强规则分类器筛选出非混淆VBA脚本的无标签样本,并添加非混淆标签,以获得非混淆样本;利用所述非混淆样本和所述混淆样本对所述初始分类器进行下一轮迭代训练,直到测试集对应的分类结果收敛后,结束训练。3.根据权利要求1所述的VBA脚本混淆检测方法,其特征在于,训练所述分类器的过程,包括:利用所述原始有标签样本训练机器学习分类器,获得初始分类器;利用所述初始分类器对所述无标签样本是否具有混淆VBA脚本进行分类判断,获得第一分类结果;利用强规则三分类器对所述无标签样本进行分类,获得第二分类结果;利用所述第二分类结果和所述第一分类结果对所述无标签样本添加标签,以生成新的有标签样本;所述有标签样本包括有混淆样本和非混淆样本;利用所述有标签样本对所述初始分类器进行下一轮迭代训练,直到测试集对应的分类结果收敛后,结束训练。4.根据权利要求3所述的VBA脚本混淆检测方法,其特征在于,利用所述第二分类结果和所述第一分类结果对所述无标签样本添加标签,以生成新的有标签样本,包括:判断所述无标签样本对应的所述第一分类结果和所述第二分类结果是否一致...
【专利技术属性】
技术研发人员:闫华,位凯志,
申请(专利权)人:深信服科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。