恶意程序分类方法和装置制造方法及图纸

技术编号:35579272 阅读:19 留言:0更新日期:2022-11-12 16:05
本申请实施例提供一种恶意程序分类方法和装置。通过将恶意程序样本转换为API函数调用序列文档,并将API函数调用序列文档转换成第一数量个空间稠密实量,进而基于循环神经网络模型提取双向动态行为特征向量,再通过卷积神经网络模型对双向动态行为特征向量进行分类。由此,不仅能够捕获系统调用的序列中N

【技术实现步骤摘要】
恶意程序分类方法和装置


[0001]本申请涉及计算机
,特别涉及一种恶意程序分类方法和装置。

技术介绍

[0002]目前大部分金融机构的个人计算机(personal computer,PC)设备使用微软旗下的Windows系统,这一系列系统方便易用,安全机制较薄弱,版本多,使用范围广。
[0003]而银行机构作为金融领域内的核心组织,常年面临严峻的网络攻击挑战,其中恶意软件攻击是最突出的一种攻击技术。恶意软件可以利用电子邮件,网页窗口,第三方软件等方式入侵设备,后续呈现典型功能行为,以达到不同的感染目的。而目前网络黑客论坛有大量的恶意软件制作工具和教程,学习制作恶意软件的门槛低、收益高。攻击者通过修改,混淆,加壳等手段就能批量生成大量相似功能的恶意代码,再运用各种策略使他们看起来像许多不同的文件。这使得研究者会陷入这种指数级别增长的无限分析之中,重复着大量而相似的冗余工作。但属于同一恶意“功能”的恶意文件,往往具有相同形式的恶意行为,近年来,机器学习与深度学习方法在恶意代码分析的领域内受到了一定的关注,这些方法能高效率分析大量相似样本。
[0004]早在2016年,Kolosnjaji将循环神经网络与动态应用程序接口(Application Programming Interface,API)融合应用于恶意软件分类,最终得到了精确度为85.6%的分类器模型;在2019年,Zenkov研究包含九种类型的恶意软件,使用的方法是二进制文本和十六进制命令以及长短期记忆网络(Long Short

Term Memory,LSTM)对软件本身文本进行分类研究;Rafique使用基于深度学习的恶意软件检测方法,依赖于静态方法来预测可以使用系统调用序列执行的行为,结果表明,这种方法有效地检测多态和变形恶意软件,准确率为89%,检出率为96%,在提出的检测技术中,支持向量机(Support Vector Machine,SVM)被用作特征选择器,卷积神经网络(Convolutional Neural Network,CNN)自动编码器被用作特征提取器,多层感知器作为分类器;Lu开发了一个18层的深度残差网络,将文件字节码转换为3通道RGB图像,然后应用深度学习对恶意软件进行分类。为了将恶意软件转换成图像,他首先将恶意软件二进制文件转换成8位向量的字节码,字节码再被转换成为0到255的灰度图像,随后将灰度通道复制三次,然后收集所有三个通道数值以创建三通道RGB图像。实验结果表明,网络残差模型的平均准确率达到86.54%;Oliveira提出了一种基于深度图卷积神经网络的恶意软件检测方法,直接从API调用序列和相关行为图中学习,实验结果表明,该模型的ROC曲线的F1评分达到了96%;2020年,Zhang提出了一种基于敏感系统调用和深度信任网络的恶意软件变体检测方法。采用不同的实验组和不同的数据样本进行分析,实验结果表明,该方法能够检测到包装后的恶意软件,准确率达到92%;He认为基于循环神经网络的深度学习算法容易受到冗余API注入的影响,他继续研究了冗余API注入对卷积神经网络的有效性,最后将恶意软件文件转换成图像表示,并用CNN对图像表征进行分类;Catak构建了八种类型的恶意软件API序列公开数据集,并使用LSTM网络做分类实验;2021年Schofield在公开数据集上使用传统文本处理方法与一维卷积网络的组合方案,进行分
类研究,取得92%左右的平均准确率。
[0005]应该注意,上面对技术背景的介绍只是为了方便对本申请的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本申请的
技术介绍
部分进行了阐述而认为上述技术方案为本领域技术人员所公知。

技术实现思路

[0006]目前,综合上述的研究工作,当前恶意软件的分类问题主要体现在以下三个方面:
[0007](1)特征选择:主要是根据专家的经验,结合数据挖掘、机器学习等技术提取特征。这种方法不仅依赖于专家的经验,而且依赖于数据,这使得恶意软件代码分析过程变得复杂。
[0008](2)分析难度:目前许多静态分析研究并未洞察到软件操作的整体行为轨迹,且反编译后的二进制恶意程序,数据结构或变量大小等信息容易发生丢失或错误,从而使分类准确性受到影响。同时为了逃避检测,在反分析手段的包裹下新一代恶意软件的行为往往更加复杂,变种恶意软件往往将自己真正的恶意行为隐藏在中底层,同时呈现出多种功能行为特征。现有的静态研究很少针对新一代恶意软件的变种性和多态性提出有效的解决方案,这种多标签类型的变种恶意软件在分类上也更难被定义和分析。
[0009](3)特征维度:恶意代码多维度特征混合分析有很多指标可供选择,为了避免遗漏重要特征,尽可能多地选取特征进行分类模型构建,造成高维性和计算复杂度的增加。
[0010]网络攻击者在入侵靶机后从服务器下载真正的二进制恶意代码,这是一张可执行程序文件,又称“恶意软件”,恶意软件一旦启动,会呈现典型恶意行为。为了抵抗逆向工程,恶意软件作者往往利用混淆打包技术将程序转换为某种形式的压缩版本,从而使静态分析变得不可靠且耗费资源。静态分析在二进制混淆技术的影响下不足以检测或分类恶意软件,动态分析能够全面捕获到恶意软件在实际执行中的行为特征,较少地受到代码混淆转换的影响,从而提高分析准确度与检测覆盖率。
[0011]恶意软件作者采用的现代模糊处理技术意味着恶意软件的一个变体可能有着多个实例,这些实例不具有相同的信息摘要算法(Message

Digest Algorithm,MD5)或安全散列算法(Secure Hash Algorithm,SHA),但具有基本相同的功能。因此,需要自动确定新检测到的恶意软件是否属于先前已知的功能类型以便能够更加有效的确定软件类型归属,做好相关设备安全防护,减少分析人员的工作量。
[0012]为了解决上述问题中的至少一个,本申请实施例提供一种恶意程序分类方法以及装置。通过将恶意程序样本转换为API函数调用序列文档以及将API函数调用序列文档转换成第一数量个空间稠密实量,作为恶意软件的功能基因序列,进而基于循环神经网络模型提取双向动态行为特征向量,再通过卷积神经网络模型对双向动态行为特征向量进行分类。由此,不仅能够捕获系统调用的序列中N

Gram词组间的联系,还能保留恶意程序动态行为在时序上的前后依赖关系,能够捕获恶意软件的动态行为信息,并且能够全面捕获到恶意软件在实际执行中的行为特征,较少地受到代码混淆转换的影响,从而提高分析准确度与检测覆盖率;并且,能够建立具备更强分类能力的恶意程序功能分类模型,更有效的获取功能级别的本质恶意行为。
[0013]此外,经验证本申请技术上述方法在公开数据集上有良好分类表现,与其他组合
方案相比,平均准确率提高了5.49%至7.03%,分类性能更出色。
[0014]根据本申请实施例的一方面,提供了一种恶意程序分类方法,所述分类方本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种恶意程序分类方法,其特征在于,所述分类方法包括:将恶意程序样本集中的各个恶意程序样本转换为API函数调用序列文档;并将所述API函数调用序列文档转换成第一数量个空间稠密实量;将所述第一数量个空间稠密实量输入至循环神经网络模型中提取双向动态行为特征向量;将所述双向动态行为特征输入至卷积神经网络模型中进行分类,得到所述恶意程序样本的分类结果。2.根据权利要求1所述的方法,其特征在于,将恶意程序样本集中的各个恶意程序样本转换为API函数调用序列文档的步骤包括:将所述各个恶意程序样本分别通过沙箱环境进行运行分析,针对所述各个恶意程序样本生成对应的样本报告,对样本报告分别解析,以得到所述API函数调用序列文档。3.根据权利要求2所述的方法,其特征在于,所述样本报告包括:不同时刻调用的API函数类型和API函数名称。4.根据权利要求1所述的方法,其特征在于,所述第一数量与所述恶意程序样本集对应的API函数调用序列文档中调用的API函数的数量相关。5.根据权利要求1所述的方法,其特征在于,所述双向动态行为特征向量用于表征API调用时序特...

【专利技术属性】
技术研发人员:黎星宇
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:

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

1