多时间序列的样本特征提取方法以应用其的软件检测方法技术

技术编号:30551278 阅读:19 留言:0更新日期:2021-10-30 13:31
本申请提出了一种多时间序列的样本特征提取方法以应用其的软件检测方法,其中,样本特征提取方法包括以下步骤:运行软件样本,获取软件样本在操作系统中调用指令生成的多条指令调用记录;根据所属线程对每条指令调用记录分组,对分组内所有指令调用记录按照调用顺序正序排列,并提取每组前连续多条指令调用记录生成指令序列;计算每一线程调用的指令序列的特征值总和,按照特征值总和的大小正序排列,提取每组前连续多列指令序列且合并生成特征矩阵。通过本发明专利技术,确保同一软件样本在训练时的传入时间序列顺序与检测时的传入时间序列一致,从而提高检测结果的可靠性。从而提高检测结果的可靠性。从而提高检测结果的可靠性。

【技术实现步骤摘要】
多时间序列的样本特征提取方法以应用其的软件检测方法


[0001]本申请涉及模式识别领域,特别是涉及多时间序列的样本特征提取方法以应用其的软件检测方法。

技术介绍

[0002]在模式识别领域,对机器的行为进行记录分析并根据分析结果将其分类是一种常见的需求,所谓机器行为通常指计算机软件运行后产生的一系列对操作系统指令的调用。
[0003]在各类分析方法中,通过神经网络对机器产生的行为样本进行训练生成模型,使用模型预测产生该行为的机器的类型是目前主流的做法。在各种神经网络中最常用的两种分别是循环神经网络和卷积神经网络,其中循环神经网络适合处理和时间维度无关的样本,卷积神经网络更适合处理和时间维度相关的样本。
[0004]在对机器行为特征的提取中,基于时间维度的采样提取其特征是重要的一个环节,早期通常认为机器产生的行为都是顺序执行的,即同一个机器产生的多个行为之间有严格的时间现后顺序,即使软件支持多线程执行也被认为不存在真正的并行而被当成单线程处理。但随着多CPU以及多核CPU的流行,机器产生的行为已经存在真正的并发及并行,也就是同一台机器会出现真正的多个行为同时运作的情况。
[0005]处理训练具有时间相关性的样本最合适的是卷积神经网络,但卷积神经网络在设计之初并没有考虑处理存在多个时间线的样本,即用卷积神经网络训练的样本如果存在多条时间线,那训练后模型预测的准确性必然会下降。
[0006]而现在大多数机器产生的行为都是并发或并行的,例如一个软件运行后可以有数个线程同时运行,每个线程产生数十次或数百次不同的指令调用,同一线程上执行的指令有严格的时间现后顺序,但不同线程间的指令并没有时间现后顺序,意味着对于同一个软件每次执行后各个线程间的指令集执行顺序是随机的,这种情况下单纯采用卷积神经网络训练模型是不合适的。
[0007]通常处理这种情况的方法是,根据一定的规则将多条时间序列的指令串行拼接后再传入卷积神经网络,例如按每条时间序列上指令的数量倒序排列,这样就将多条时间序列拼接成了一条序列,可以适用于卷积神经网络处理。
[0008]还有一种做法是,将每条时间序列均分配一条卷积神经网络来处理,处理后的结果传入全连接密度层或循环神经网络再进行融合处理。
[0009]针对上述第一种按规则拼接多条时间序列的方法存在问题在于,大多数软件运行后执行指令的数量会非常庞大,例如单线程指令次数会数以万计,针对这种情况的惯用做法是将指令序列截断只取前N个指令参与训练,这种做法会使多条时间序列长度变的相同从而无法按指令数量大小排序,那么多条时间序列的顺序无法按固定,这种情况下训练的卷积神经网络模型的精度会大幅下降。
[0010]针对上述第二种用多个卷积神经网络来处理多条时间序列的方法,同样存在着在卷积神经网络处理后融合时顺序无法确定的情况,那么当使用模型时如果传入的待检测样
本中时间序列的顺序和训练时传入的顺序不一致,那么预测结果显然是不可信的。
[0011]综上,针对目前无论是上述哪种方式在处理多条时间序列样本时都无法保证其固定顺序,导致训练样本的顺序与检测时的顺序不一致,降低预测结果的可信度的问题,目前尚未得到有效的解决方案。

技术实现思路

[0012]本申请实施例提供了一种多时间序列的样本特征提取方法以应用其的软件检测方法,能够解决目前多条时间序列传入顺序不一致的问题,确保同一软件样本在训练时的传入时间序列顺序与检测时的传入时间序列一致,从而提高检测结果的可靠性。
[0013]第一方面,本申请实施例提供了一种多时间序列的样本特征提取方法,所述方法包括:运行软件样本,获取软件样本在操作系统中调用指令生成的多条指令调用记录;根据所属线程对每条指令调用记录分组,对分组内所有指令调用记录按照调用顺序正序排列,并提取每组前连续多条指令调用记录生成指令序列;计算每一线程调用的指令序列的特征值总和,按照特征值总和的大小正序排列,提取每组前连续多列指令序列且合并生成特征矩阵。
[0014]在其中一些实施例中,“获取软件样本在操作系统中调用指令生成的多条指令调用记录”包括:将软件样本在虚拟终端上运行,捕获预设时段内软件样本对虚拟终端上的操作系统指令调用的调用列表,其中,每一软件样本运行时对应生成一调用列表,调用列表中包括多条指令调用记录。
[0015]在其中一些实施例中,调用列表中每一指令调用记录包括以下属性:软件名、软件分类标签、指令名称,指令所属线程编号,调用顺序,基于指令所属线程编号确定指令所属线程。
[0016]在其中一些实施例中,设定每列指令序列的目标指令数;在每个分组内的指令调用记录的个数小于目标记录的情况下,采用随机字符串补齐分组记录,否则,丢弃分组内目标指令数以外的指令调用记录;生成指令序列,将指令序列中的每行指令调用记录的指令名称数值化。
[0017]在其中一些实施例中,设定目标线程数;在分组的个数小于目标线程数的情况下,采用随机数值补齐分组个数,否则,丢弃目标线程数以外的分组。
[0018]在其中一些实施例中,所述方法应用于训练预测模型中,其中,所述预测模型的训练方法包括:获取多个特征矩阵以构造训练数据集,其中,每个特征矩阵以线程编号为列,以指令编号为行,指令编号由用数值化后的指令名称表示;根据训练数据集对预测模型进行训练,得到已训练的预测模型,其中,预测模型包括卷积神经网络或全连接层的其中一种以及多个循环神经网络,将每个特征矩阵作为循环神经网络的输入,将软件分类标签作为卷积神经网络或者全连接层的输出,训练预测网络。
[0019]在其中一些实施例中,“将每个特征矩阵作为循环神经网络的输入”包括:对特征矩阵中的每列指令序列进行词嵌入运算,将词嵌入运算后特征矩阵作为循环神经网络的输入。
[0020]第二方面,本申请实施例提供了一种多时间序列的软件检测方法,所述方法包括:获取待分类软件,将待分类软件输入已训练的预测模型中,得到已训练的预测模型输出的
软件分类标签,其中,已训练的预测模型由权利要求6至7任一所述的预测模型的训练方法训练得到。
[0021]第三方面,本申请实施例提供了一种多时间序列的样本特征提取装置,包括:软件运行模块,用于运行软件样本,获取软件样本在操作系统中调用指令生成的多条指令调用记录;序列生成模块,用于根据所属线程对每条指令调用记录分组,对分组内所有指令调用记录按照调用顺序正序排列,并提取每组前连续多条指令调用记录生成指令序列;计算模块,用于计算每一线程调用的指令序列的特征值总和,按照特征值总和的大小正序排列,提取每组前连续多列指令序列且合并生成特征矩阵。
[0022]第四方面,本申请实施例提供了一种计算机程序产品,包括软件代码部分,当所述计算机程序产品在计算机上被运行时,所述代码软件部分用于执行根据第一方面所述的多时间序列的样本特征提取方法或者根据权利要求8所述的多时间序列的软件检测方法。
[0023]本专利技术的主要贡献和创新点如下:
[0024]本申请实施例通本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种多时间序列的样本特征提取方法,其特征在于,包括以下步骤:运行软件样本,获取软件样本在操作系统中调用指令生成的多条指令调用记录;根据所属线程对每条指令调用记录分组,对分组内所有指令调用记录按照调用顺序正序排列,并提取每组前连续多条指令调用记录生成指令序列;计算每一线程调用的指令序列的特征值总和,按照特征值总和的大小正序排列,提取每组前连续多列指令序列且合并生成特征矩阵。2.根据权利要求1所述的多时间序列的样本特征提取方法,其特征在于,“获取软件样本在操作系统中调用指令生成的多条指令调用记录”包括:将软件样本在虚拟终端上运行,捕获预设时段内软件样本对虚拟终端上的操作系统指令调用的调用列表,其中,每一软件样本运行时对应生成一调用列表,调用列表中包括多条指令调用记录。3.根据权利要求2所述的多时间序列的样本特征提取方法,其特征在于,调用列表中每一指令调用记录包括以下属性:软件名、软件分类标签、指令名称,指令所属线程编号,调用顺序,基于指令所属线程编号确定指令所属线程。4.根据权利要求1所述的多时间序列的样本特征提取方法,其特征在于,包括:设定每列指令序列的目标指令数;在每个分组内的指令调用记录的个数小于目标记录的情况下,采用随机字符串补齐分组记录,否则,丢弃分组内目标指令数以外的指令调用记录;生成指令序列,将指令序列中的每行指令调用记录的指令名称数值化。5.根据权利要求4所述的多时间序列的样本特征提取方法,其特征在于,包括:设定目标线程数;在分组的个数小于目标线程数的情况下,采用随机数值补齐分组个数,否则,丢弃目标线程数以外的分组。6.根据权利要求1所述的多时间序列的样本特征提取方法,其特征在于,应用于训练预测模型中,其中,所述预测模型的训练方法包括:获...

【专利技术属性】
技术研发人员:翟欣虎秦益飞杨正权
申请(专利权)人:江苏易安联网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1