System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及恶意软件家族分类领域,具体涉及基于动态特征和集成学习的恶意软件家族分类方法和系统。
技术介绍
1、近年来,随着信息与网络技术的不断进步,恶意软件的数量和种类增速惊人。其攻击目标从早期的个人用户逐步发展至企业甚至国家,影响范围也从传统的个人计算机逐渐扩展至包括智能手机在内的各种联网智能终端。尽管现有的一些针对恶意代码检测和分类的研究工作已经取得了积极的进展,但恶意软件变种数量的迅猛增长还是使传统方法的分类效果受到了较大的影响。基于人工智能技术的恶意代码分类研究成为了新的热点,研究高效的恶意软件分类方法成为当前非常重要且具有挑战的任务。
2、在新增恶意代码中,大部分是已知恶意代码的变种而非完全重新生成的恶意代码文件,在这些变种中,又有很大一部分是已知恶意代码的家族变种,即经过功能或反检测技术的进化后生成的新型恶意软件。现有针对恶意软件家族分类工作一般都是通过提取其特征数据及代码片段,分析它们与已知样本的同源关系,进而推测可疑恶意样本的家族。现有研究中借助人工智能技术实现的智能分类工作中对特征的提取主要分为两类,一类是通过静态分析方法获取的静态特征,如专利名为一种基于静态特征的恶意代码检测方法(cn115859290a),该专利通过对静态特征数组进行第一可分离卷积和第二可分离卷积交替处理后通过全连接层和softmax层完成分类。但是随着代码混淆等技术的发展和应用,静态特征的作用受到了极大的限制,也使得基于静态特征的分类器泛化能力急剧下降。另一类是通过动态分析方法获取的程序运行时的动态特征,动态分析提取的特征更
3、除了特征方面的区别之外,现有工作在模型构建方面大多还是采用单一模型,重点研究其性能和效果的提升。但由于不同特征在不同分类器上的表现有所差异,采用单一机器学习分类模型很难全面地学习特征的内在信息,这使得分类效果存在一定的局限性。
技术实现思路
1、为解决现有的恶意软件家族分类模型是单一模型,难以全面地学习特征的内在信息,存在一定局限性的问题,本专利技术提出了基于动态特征和集成学习的恶意软件家族分类方法和系统,先提取恶意代码的动态api调用序列这一动态特征,再通过设置双向长短期记忆神经网络模型、文本卷积神经网络模型和卷积神经网络+长短期记忆神经网络模型三个基分类器对提取的动态特征进行特征学习,之后使用极端梯度提升算法完成集成学习模型构建,实现对恶意软件家族的分类。
2、为了实现上述目的,本专利技术的技术方案是:
3、本专利技术第一方面提出了基于动态特征和集成学习的恶意软件家族分类方法,包括以下步骤:
4、步骤一:提取训练用恶意软件中的每个恶意代码的动态应用程序编程接口api调用序列,对动态api调用序列汇总作为原始特征;
5、具体地,通过sandbox沙箱和bsa沙箱分析工具提取动态api调用序列,便于接下来学习动态api调用序列中的隐含信息。
6、步骤二:构建一个双向长短期记忆神经网络bi-lstm模型作为第一个基分类器,便于充分利用上下文信息;
7、步骤三:构建一个文本卷积神经网络textcnn模型作为第二个基分类器,便于通过卷积和池化操作来更加高效地自学习并提取文本中的局部特征;
8、步骤四:构建一个卷积神经网络cnn+长短期记忆神经网络lstm模型作为第三个基分类器,便于通过卷积块提取动态api序列中包含的空间特征,并通过lstm层捕获动态api调用序列中的长期依赖信息;
9、步骤五:将原始特征分别作为三个基分类器的输入,通过极端梯度提升算法迭代地训练三个基分类器,训练完成后得到一个集成学习分类模型作为恶意软件家族分类模型;
10、具体地,本步骤依次建立k棵分类回归树,将每次迭代学习中新的决策树添加到集成模型中,并进行加权平均,以提高整体的预测性能,达到更高的预测准确率,便于实现对恶意代码的家族分类;
11、步骤六:通过所述恶意软件家族分类模型对目标恶意软件中的所有恶意代码进行恶意软件家族分类,用于对目标恶意软件的控制和清除提供重要依据。
12、进一步地,所述步骤二中,在bi-lstm模型中引入注意力层,构建一个bi-lstm和注意力机制的神经网络模型作为第一个基分类器;
13、具体地,在bi-lstm模型中引入注意力attention层,将bi-lstm模型中bi-lstm层的输出作为注意力层的输入,构建一个bi-lstm和注意力机制的神经网络模型作为第一个基分类器,便于充分利用上下文信息,进一步聚焦重要信息。
14、进一步地,所述步骤三中,textcnn模型中的卷积层包括四个不同大小的卷积核,在全连接层后添加归一化指数函数softmax层;
15、具体地,textcnn模型中的卷积层包括四个不同大小的卷积核,便于充分抽象序列内在不同视野的局部特征,在全连接层后添加softmax层,用于将池化层的输出向量转换为所需的预测结果。
16、进一步地,所述步骤四中,第三个基分类器依次包括嵌入层、两组卷积块、长短期记忆神经网络lstm层和全连接层,其中,每组卷积块均包括卷积层和池化层,所述卷积层选择一维卷积,池化层采用最大池化操作,全连接层后添加softmax进行分类;
17、具体地,嵌入层将输入的恶意软件样本的动态api调用序列进行词嵌入处理,转换为向量表示,用于学习样本文件中的家族特征;
18、两组卷积块,用于对所提取空间特征的降维;
19、lstm层用于保持长期依赖信息,并捕获序列中的语义关系;
20、全连接层将前面各层的输出进行转化。
21、进一步地,所述步骤五中,在训练时,选择多元分类交叉熵作为损失函数,便于计算且可以使集成学习分类模型具有更好的分类能力。
22、进一步地,所述步骤五中,通过优化算法对集成学习分类模型进行优化,所述优化算法采用随机梯度下降优化算法、动量优化算法和自适应学习率优化算法中的任意一种,便于提高分类的准确性。
23、本专利技术第二方面提出了基于动态特征和集成学习的恶意软件家族分类系统,包括:
24、特征提取模块,用于提取恶意软件中的每个恶意代码的动态应用程序编程接口api调用序列,对动态api调用序列汇总作为原始特征;
25、具体地,通过sandbox沙箱和bsa沙箱分析工具提取动态api调用序列,便于接下来学习动态api调用序列中的隐含信息。
26、第一个基分类器模块,用于构建一个双向长短期记忆神经网络bi-lstm模型作为第一个基分类器,便于充分利用上下文信息;
27、第二个基分类器模块,用于构建一个文本卷积神经网络textcnn模型作为第二个基分类器,便于通过卷积和池化操作来更加高效地自学习并提取文本中的局部特征;
28、第三个基分类器模块,用于构建一个卷积神经网络cnn+长短期记忆神经网络lstm模型作为第三个基本文档来自技高网...
【技术保护点】
1.基于动态特征和集成学习的恶意软件家族分类方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于动态特征和集成学习的恶意软件家族分类方法和系统,其特征在于:所述步骤二中,在Bi-LSTM模型中引入注意力层,构建一个Bi-LSTM和注意力机制的神经网络模型作为第一个基分类器。
3.根据权利要求1所述的基于动态特征和集成学习的恶意软件家族分类方法,其特征在于,所述步骤三中,TextCNN模型中的卷积层包括四个不同大小的卷积核,在全连接层后添加归一化指数函数softmax层。
4.根据权利要求1所述的基于动态特征和集成学习的恶意软件家族分类方法,其特征在于,所述步骤四中,第三个基分类器依次包括嵌入层、两组卷积块、长短期记忆神经网络LSTM层和全连接层,其中,每组卷积块均包括卷积层和池化层,所述卷积层选择一维卷积,池化层采用最大池化操作,全连接层后添加归一化指数函数softmax层进行分类。
5.根据权利要求1所述的基于动态特征和集成学习的恶意软件家族分类方法,其特征在于,所述步骤五中,在训练时,选择多元分类交叉熵作为损失函数。<
...【技术特征摘要】
1.基于动态特征和集成学习的恶意软件家族分类方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于动态特征和集成学习的恶意软件家族分类方法和系统,其特征在于:所述步骤二中,在bi-lstm模型中引入注意力层,构建一个bi-lstm和注意力机制的神经网络模型作为第一个基分类器。
3.根据权利要求1所述的基于动态特征和集成学习的恶意软件家族分类方法,其特征在于,所述步骤三中,textcnn模型中的卷积层包括四个不同大小的卷积核,在全连接层后添加归一化指数函数softmax层。
4.根据权利要求1所述的基于动态特征和集成学习的恶意软件家族分类方法,其特征在于,所述步骤四中,第三个基分类器依次包括嵌入层、两组卷积块、长短期记忆神经网络lstm层和全连接层,其中,每组卷积块均包括卷积层和池化层,所述卷积层选择一维卷积,池化层采用最大池化操作,全连接层后添加归一化指数函数softmax层进行分类。
5.根据权利要求1所述的基于动态特征和集成学习的恶意软件家族分类方法,其特征在于,所述步骤五中,在训练时,选择多元分类交叉熵作为损失函数。
6.根据权利要求1所述的基于动态特征和...
【专利技术属性】
技术研发人员:戚旭衍,刘铁铭,娄睿,井靖,王焕伟,林键,刘春玲,陈建森,吕平,李飞,
申请(专利权)人:中国人民解放军网络空间部队信息工程大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。