本发明专利技术公开了基于多特征的恶意软件自动化检测方法,包括以下步骤,步骤S1:预处理数据;步骤S2:将数据进行特征提取得到特征向量;步骤S3:有效地对齐和融合上述步骤S2得出的二进制特征向量和三角注意力机制生成的操作码特征向量,生成最终的融合向量;步骤S4:负责恶意软件的检测和分类;本发明专利技术能够更有效地检测恶意软件的变体,具备较高的准确率,在实际生产环境中,本发明专利技术通过增加恶意软件变体的识别效率来增强了自动恶意软件分析工具的性能,减少了人工成本。少了人工成本。少了人工成本。
【技术实现步骤摘要】
基于多特征的恶意软件自动化检测方法
[0001]本专利技术属于软件领域,具体涉及基于多特征的恶意软件自动化检测方法。
技术介绍
[0002]互联网正在逐渐渗透到人类生活和工作的各个领域,不断大量涌现的新颖的互联网应用也正在深刻的改变着信息时代的社会生活。COVID
‑
19在全球的爆发使得各领域的办公模式逐步转向线上,网络办公谷的激增也给恶意软件的开发者提供了商机,网络犯罪分子开发出各种恶意软件,如恶意广告、勒索软件和挖矿病毒等。根据Kaspersky SecurityNetwork(KSN)统计的2019年11月至2021年10月的数据表示,仅在一年中,全球15.45%的互联网用户计算机至少遭受过一次恶意软件攻击,其中勒索软件和矿工病毒尤其猖獗。这些恶意软件在目标网络上收集私人信息,滥用服务器资源,甚至会通过僵尸应用程序感染整个互联网上的主机,这些行为对个人及各领域的安全都造成了巨大威胁,及时检测并响应出现的恶意软件成为保证网络办公安全的基础建设。
[0003]恶意软件的检测方法主要分为静态检测和动态检测。静态检测方法一般通过反编译等静态分析工具提取出恶意软件的特征如:二进制序列、汇编代码、操作码序列等来判断是否为恶意代码,这种方法将提取出的关键特征生成特征签名,在检测时通常使用基于规则匹配的方法。动态检测通常分为动态监控和动态分析,动态监控是指通过虚拟运行目标软件,使用即时调试等方式观察软件的行为,而动态分析是指在沙箱等环境中运行目标软件后得到相关的API调用序列,系统资源使用等信息,再进一步进行分析。
技术实现思路
[0004]针对现有技术的不足或改进需求,本专利技术提出了基于多特征的恶意软件自动化检测方法。
[0005]具体技术方案如下:
[0006]基于多特征的恶意软件自动化检测方法,包括以下步骤,
[0007]步骤S1:预处理数据;
[0008]步骤S2:将数据进行特征提取得到特征向量;
[0009]步骤S3:有效地对齐和融合上述步骤S2得出的二进制特征向量和三角注意力机制生成的操作码特征向量,生成最终的融合向量;
[0010]步骤S4:负责恶意软件的检测和分类。
[0011]优选地,步骤S1包括以下子步骤:
[0012]子步骤S11:在拿到原始的恶意软件文件后,使用IDApro工具对文件进行静态反编译,以获得恶意软件的二进制文件和汇编文件;
[0013]子步骤S12:从汇编文件中统计得到关键操作码频次。
[0014]优选地,子步骤S12包括以下子步骤:
[0015]子步骤S121:将每个程序划分为多个子程序块,并计算出每个子程序块个的关键
操作码所出现的频次;
[0016]子步骤S122:这些关键操作码包括基本操作码,变量名和寄存器名称。
[0017]优选地,步骤2包括以下子步骤:
[0018]子步骤S21:由二进制表示的恶意软件序列信息中包含着核心函数和资源调用等关键信息,通常会随编译分散到序列的不同位置,使用堆叠的双层一维卷积神经网络模型对二进制文件进行特征编码,能够克服二进制文本远距离信息依赖的问题;
[0019]子步骤S22:提取操作码信息,使用目前先进的三角注意力算法来计算操作码块的内部关联以及不同操作码块之间的长距离关系;
[0020]子步骤S23:计算出不同子程序块中的操作码与其他操作码之间的关联度分数,从而得到一个描述恶意软件汇编文件的矩阵向量。
[0021]优选地,步骤S3包括以下子步骤:
[0022]子步骤S31:使用门控自注意力机制模块来进一步过滤出关键信息;
[0023]子步骤S32:使用交叉注意力模块,利用自注意力计算方法,将操作码矩阵向量作为二进制特征向量的计算条件,使得计算得到的输出向量融合了两个特征向量的信息;
[0024]子步骤S33:使用了残差网络结构减少训练模型传输过程中的信息丢失。
[0025]优选地,S4包括以下子步骤:
[0026]子步骤S41:使用DNN网络产生分类结果;
[0027]子步骤S42:在输出层,使用softmax函数将输入软件标记为其恶意家族;
[0028]子步骤S43:训练过程中采用交叉熵损失函数。
[0029]与现有技术相比,本专利技术的有益效果如下:
[0030]1.提出了一种堆叠的双层一维卷积网络,用于有效的提取恶意软件的二进制文件的特征。
[0031]2.使用三角注意力算法提取汇编文件特征,能分别以操作码和汇编代码块为主体,计算出汇编文件中重点关注的特征。
[0032]3.提出了一个基于多特征的神经网络分类模型,使用多特征对齐融合算法,取得了良好的恶意软件分类效果。
附图说明
[0033]图1是本专利技术的流程图。
[0034]图2是本专利技术的堆叠的双层一维卷积神经网络模型图。
具体实施方式
[0035]下面结合附图与实施例对本专利技术的实施方式作进一步详细描述。以下实施例的详细描述和附图用于示例性地说明本专利技术的原理,但不能用来限制本专利技术的范围,本领域技术人员无需创造性劳动即可将实施例中的技术特征组合形成新的实施例,且这些新的实施例同样涵盖在本专利技术的保护范围之内。
[0036]通过有效地集成二进制文件和汇编代码,提出了一种用于恶意软件检测的混合注意力模型。为了克服二进制序列信息不完全捕获的问题,我们将二进制序列作为原始输入,通过堆叠的双层卷积网络提取特征,第一卷积层提取时间信息,第二卷积层捕获函数调用
和跳转过程中的不连续性。同时,我们使用三角注意力模块提取代码级特征,不仅考虑了函数的整体性关系,还结合了操作码的固有使用模式。最后,使用交叉注意力模块对这两个特征进行对齐和融合,将融合后的特征向量输入网络中进行训练,使网络能够学习二进制文件和汇编代码之间的关系,提高融合特征表示的稳定性,从而在独立测试中获得更好的性能。
[0037]图1是本专利技术技术方案的主设计图。如图1所示,本专利技术提出的基于多特征的恶意软件自动化检测方法包括以下四个模块:
[0038]模块a:数据预处理。在拿到原始的恶意软件文件后,使用IDApro工具对文件进行静态反编译,以获得恶意软件的二进制文件和汇编文件。然后,从二进制文件中提取出操作码序列,具体过程为:我们将每个程序划分为多个子程序块,并计算出每个子程序块个的关键操作码所出现的频次,这些关键操作码包括基本操作码,变量名和寄存器名称。
[0039]模块b:特征提取。将模块a中得到的二进制文件和汇编文件中提取的操作码进行进一步的特征提取工作。具体而言,由二进制表示的恶意软件序列信息中包含着核心函数和资源调用等关键信息,通常会随编译分散到序列的不同位置,使用堆叠的双层一维卷积神经网络模型对二进制文件进行特征编码,能够克服二进制文本远距离信息依赖的问题。其次,提取操作码信息。使用目前先进的三角注意力算法来计算操作码块的内部关联以本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.基于多特征的恶意软件自动化检测方法,其特征在于,包括以下步骤,步骤S1:预处理数据;步骤S2:将数据进行特征提取得到特征向量;步骤S3:有效地对齐和融合上述步骤S2得出的二进制特征向量和三角注意力机制生成的操作码特征向量,生成最终的融合向量;步骤S4:负责恶意软件的检测和分类。2.根据权利要求1所述的基于多特征的恶意软件自动化检测方法,其特征在于,所述步骤S1包括以下子步骤:子步骤S11:在拿到原始的恶意软件文件后,使用IDApro工具对文件进行静态反编译,以获得恶意软件的二进制文件和汇编文件;子步骤S12:从汇编文件中统计得到关键操作码频次。3.根据权利要求1所述的基于多特征的恶意软件自动化检测方法,其特征在于,所述子步骤S12包括以下子步骤:子步骤S121:将每个程序划分为多个子程序块,并计算出每个子程序块个的关键操作码所出现的频次;子步骤S122:这些关键操作码包括基本操作码,变量名和寄存器名称。4.根据权利要求1所述的基于多特征的恶意软件自动化检测方法,其特征在于,所述步骤2包括以下子步骤:子步骤S21:由二进制表示的恶意软件序列信息中包含着核心函数和资源调用等关键信息,通常会随...
【专利技术属性】
技术研发人员:李益洲,杨星,李梦龙,
申请(专利权)人:四川大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。