掌桥专利:专业的专利平台
掌桥专利
首页

一种面向恶意代码图像的可解释性评估方法

文献发布时间:2024-04-18 19:52:40


一种面向恶意代码图像的可解释性评估方法

技术领域

本发明属于网络安全技术领域,特别涉及一种面向恶意代码图像的可解释性评估方法。

背景技术

随着计算机技术的快速发展,恶意代码的种类和数量不断增加,这增加了安全专业人员的挑战。近年来,智能化恶意代码检测方法逐渐受到重视,并取得了较好的结果。然而,基于深度学习的恶意代码检测模型存在着“黑盒”特性,缺乏可解释性,安全研究人员无法理解模型产出特定决策的原因,难以建立对模型决策的信任。恶意代码图像是一种表示恶意代码的图像,这种表示方法可以帮助安全专业人员更好地理解恶意代码的结构和行为。对恶意代码检测模型进行可解释性评估,增强恶意代码检测模型预测结果的可信度,可以帮助安全专业人员更准确地识别恶意代码,更好地保护计算机系统和网络。

发明内容

本发明的目的在于针对现有技术存在的缺陷和实际需求,提供一种面向恶意代码图像的可解释性评估方法,能够有效地识别恶意代码并提供其分类结果的可解释性评估,提高恶意代码检测的准确性和可解释性,有助于建立对深度学习技术的信任,使得安全研究人员很难根据训练结果有针对性地进行调优,能为实际网络环境中安全防护提供有力的技术支撑。

本发明方案旨在提高恶意代码检测的准确性和可解释性,有效地识别恶意代码并提供其分类结果的可解释性评估。首先,经过数据预处理生成恶意代码样本对应的灰度图像和马尔可夫图像。利用生成的恶意代码图像数据,构建基于卷积神经网络的恶意代码图像分类模型。然后,使用局部可解释性方法,获取特定恶意代码图像样本在模型决策过程中的关键特征,计算模型的梯度信息,根据模型预测结果对输入数据生成对应的热图,并叠加属于同一家族的热图,为每一个家族生成累积热图。最后,计算家族内部的平均热图相似性以及不同家族之间的平均热图相似性,以评估模型预测结果的合理性,了解模型是否正确地学习。

为实现上述目的,本发明的技术方案是:一种面向恶意代码图像的可解释性评估方法,包括如下步骤:

步骤S1、对恶意代码样本进行数据预处理,生成基于字节流的灰度图像和基于操作码的马尔可夫图像;

步骤S2、将预处理生成的恶意代码图像作为模型数据,构建卷积神经网络判别模型;

步骤S3、根据模型预测,基于梯度加权类激活映射方法Grad-CAM生成对应恶意代码图像热图;

步骤S4、基于相同家族的恶意代码图像热图,生成家族对应的累积热图;

步骤S5、对各个家族的热图文件夹和混合家族的热图文件夹分别进行热图相似性计算;

步骤S6、根据家族累积热图和热图相似性计算结果对模型进行可解释性评估。

在本发明一实施例中,步骤S1中,生成恶意代码样本基于字节流的灰度图像,具体包括以下步骤:

步骤S1A1、将恶意代码样本二进制字节流中的每8位二进制数据转化为0-255的十进制数值,生成十进制一维数组;

步骤S1A2、将读取的一维数组转化成固定列的二维数组;

步骤S1A3、将二维数组转化为灰度图像,并要对图像大小进行缩放处理,统一图像大小。

在本发明一实施例中,步骤S1中,生成恶意代码样本基于操作码的马尔可夫图像,具体包括以下步骤:

步骤S1B1、从恶意代码的反汇编asm文件中提取恶意代码操作码序列;

步骤S1B2、引入马尔可夫假设,计算操作码序列的马尔可夫转移概率矩阵TM;

步骤S1B3、根据计算马尔可夫转移概率矩阵,生成马尔可夫图像。

在本发明一实施例中,步骤S1B1中,从恶意代码的反汇编asm文件中提取恶意代码操作码序列,具体包括以下步骤:

步骤S1B11、将恶意代码样本进行反汇编操作,获取asm文件;

步骤S1B12、通过匹配Segment type:Pure code定位代码节位置,获取代码节名称;

步骤S1B13、根据得到的代码节名称匹配代码节区内容,按行读取代码节中的内容;

步骤S1B14、通过正则匹配,获取文件所包含的操作码,提取二进制文件的操作码序列;

步骤S1B15、选取出现次数较多的前255种操作码类型,将其余操作码类型统一为第256种操作码,并标记为0-255号,将提取的操作码序列转化为由十进制数0-255组成的一维数组。

在本发明一实施例中,步骤S1B3中,根据计算马尔可夫转移概率矩阵,生成马尔可夫图像,具体包括以下步骤:

步骤S1B31、获取马尔可夫转移概率矩阵中的最大值MP;

步骤S1B32、将马尔可夫转移概率矩阵中的概率值乘以255/MP,并进行模256计算;

步骤S1B33、将步骤S2B32计算后的数组转化为马尔可夫图像。

在本发明一实施例中,步骤S2中,将预处理生成的恶意代码图像作为模型数据,构建卷积神经网络判别模型,具体包括以下步骤:

步骤S21、使用生成的恶意代码图像样本构建数据集,划分为训练集和测试集;

步骤S22、构建面向恶意代码图像分类的卷积神经网络判别模型,并使用训练集对其进行训练。

在本发明一实施例中,步骤S3中,对于各个家族的热图文件夹根据模型预测,基于Grad-CAM生成对应恶意代码图像的热图,具体包括以下步骤:

步骤S31、将测试集数据输入卷积神经网络判别模型进行预测;

步骤S32、获取模型的最后一层卷积层;

步骤S33、获取模型输出层;

步骤S34、利用反向传播的梯度计算权重,生成对应的热图。

在本发明一实施例中,步骤S4中,根据各个家族的恶意代码样本热图生成对应的累积热图,具体包括以下步骤:

步骤S41、将生成的热图按照家族标签分类,为每个恶意代码家族构建一个热图文件夹;

步骤S42、将每个家族的累积热图为各通道像素均为0的图像;

步骤S43、家族对应的累积热图叠加上家族热图文件夹中的热图,并进行平均,得到最终的家族累积热图。

在本发明一实施例中,步骤S5中,对各个家族的热图文件夹和混合家族的热图文件夹分别进行热图相似性计算,具体包括以下步骤:

步骤S51、将生成的热图按照家族标签分类,为每个恶意代码家族构建一个热图文件夹;

步骤S52、取来自不同家族的恶意代码样本对应的热图构建一个混合家族的热图文件;

步骤S53、计算属于同一个热图文件夹中两两热图之间的余弦相似度;

步骤S54、对热图文件夹中所计算的热图相似性进行求和平均,获得各个家族平均热图相似性和混合家族平均热图相似性。

在本发明一实施例中,步骤S6中,根据家族累积热图和热图相似性计算结果对模型进行可解释性评估,具体包括以下步骤:

步骤S61、观察生成的各家族累积热图,当图像在位置分布上呈现规律时,根据累积热图显示模式能够对于模型是否正确地识别整个恶意代码家族的某点和特征进行判断;理论上,不应该存在两个相似或相等的累积热图,否则将意味着来自不同恶意软件家族的样本被错误地分类在同一类中;

步骤S62、对家族内部的平均热图相似性和不同家族之间的平均热图相似性进行对比,理论上,不同家族之间的平均热图相似性应小于家族内部的平均热图相似性。

本发明通过将恶意代码样本转化为基于字节流的灰度图像和基于操作码的马尔可夫图像,构建基于卷积神经网络的恶意代码图像分类模型,并实现面向恶意代码图像的可解释性评估,增强模型分类结果的可信度,有助于安全研究人员有针对性地对模型进行调优,提高恶意代码分类模型的准确性和可解释性。

相较于现有技术,本发明具有以下有益效果:本发明构造了一种恶意代码图像的可解释性评估方法。本发明的方法能够有效地识别恶意代码并提供其分类结果的可解释性评估,提高恶意代码检测的准确性和可解释性,有助于建立对深度学习技术的信任,使得安全研究人员很难根据训练结果有针对性地进行调优,能为实际网络环境中安全防护提供有力的技术支撑。

附图说明

图1为本发明实施例的方法描述示意图。

具体实施方式

下面结合附图,对本发明的技术方案进行具体说明。

应该指出,以下详细说明都是示例性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

如图1所示,本实施例提供了一种面向恶意代码图像的可解释性评估方法,具体包括以下步骤:

步骤S1、对恶意代码样本进行数据预处理,生成基于字节流的灰度图像和基于操作码的马尔可夫图像;

步骤S2、根据预处理生成的恶意代码图像,作为模型数据,构建卷积神经网络判别模型;

步骤S3、根据模型预测,基于梯度加权类激活映射方法Grad-CAM生成对应恶意代码图像的热图;

步骤S4、基于相同家族的恶意代码图像热图,生成家族对应的累积热图;

步骤S5、对各个家族的热图文件夹和混合家族的热图文件夹分别进行热图相似性计算;

步骤S6、根据家族累积热图和热图相似性计算结果对模型进行可解释性评估。

在本实施例中,步骤S1中,生成恶意代码样本基于字节流的灰度图像,具体包括以下步骤:

步骤S1A1、将恶意代码样本二进制字节流中的每8位二进制数据转化为0-255的十进制数值,生成一维十进制数组;

步骤S1A2、将读取的一维数组转化成固定列的二维数组;

步骤S1A3、将二维数组转化为灰度图像,并要对图像大小进行缩放处理,统一图像大小;

生成恶意代码样本基于操作码的马尔可夫图像,具体包括以下步骤:

步骤S1B1、从恶意代码的反汇编asm文件中提取恶意代码操作码序列;

步骤S1B2、引入马尔可夫假设,计算操作码序列的马尔可夫转移概率矩阵TM;

步骤S1B3、根据计算马尔可夫转移概率矩阵,生成马尔可夫图像。

在本实施例中,步骤S1B1中,从恶意代码的反汇编asm文件中提取恶意代码操作码序列:

步骤S1B11、将恶意代码样本进行反汇编操作,获取asm文件;

步骤S1B12、通过匹配Segment type:Pure code定位代码节位置,获取代码节名称;

步骤S1B13、根据得到的代码节名称匹配代码节区内容,按行读取代码节中的内容;

步骤S1B14、通过正则匹配,获取文件所包含的操作码,提取二进制文件的操作码序列;

步骤S1B15、选取出现次数较多的前255种操作码类型,将其余操作码类型统一为第256种操作码,并将其标记为0-255号,将提取的操作码序列转化为由十进制数0-255组成的一维数组。

在本实施例中,步骤S1B3中,根据计算马尔可夫转移概率矩阵,生成马尔可夫图像:

步骤S1B31、获取马尔可夫转移概率矩阵中的最大值MP;

步骤S1B32、将马尔可夫转移概率矩阵中的概率值乘以255/MP,并进行模256计算;

步骤S1B33、将步骤S2B32计算后的数组转化为马尔可夫图像。

在本实施例中,步骤S2中,根据预处理生成的恶意代码图像,作为模型数据,构建卷积神经网络判别模型,具体包括以下步骤:

步骤S21、使用生成的恶意代码图像样本构建数据集,划分为训练集和测试集;

步骤S22、构建面向恶意代码图像分类的卷积神经网络模型,并使用训练集对其进行训练。

在本实施例中,步骤S3中,对于各个家族的热图文件夹根据模型预测,基于Grad-CAM生成对应恶意代码图像的热图,具体包括以下步骤:

步骤S31、将测试集数据输入卷积神经网络模型进行预测;

步骤S32、获取模型的最后一层卷积层;

步骤S33、获取模型输出层;

步骤S34、利用反向传播的梯度计算权重,生成对应的热图。

在本实施例中,步骤S4中,根据各个家族的恶意代码样本热图生成对应的累积热图,具体包括以下步骤:

步骤S41、将生成的热图按照家族标签分类,为每个恶意代码家族构建一个热图文件夹;

步骤S42、将每个家族的累积热图为各通道像素均为0的图像;

步骤S43、家族对应的累积热图叠加上家族热图文件夹中的热图,并进行平均,得到最终的家族累积热图。

在本实施例中,步骤S5具体包括以下步骤:

步骤S51、将生成的热图按照家族标签分类,为每个恶意代码家族构建一个热图文件夹;

步骤S52、取来自不同家族的恶意代码样本对应的热图构建一个混合家族的热图文件;

步骤S53、计算属于同一个热图文件夹中两两热图之间的余弦相似度;

步骤S54、对热图文件夹中所计算的热图相似性进行求和平均,获得各个家族平均热图相似性和混合家族平均热图相似性。

在本实施例中,步骤S6具体包括以下步骤:

步骤S61、观察生成的各家族累积热图,当图像在位置分布上呈现一定规律时,根据累积热图显示模式可以对于模型是否正确地识别了整个恶意代码家族的某些特点和特征进行判断。理论上,不应该存在两个相似或相等的累积热图,否则将意味着来自不同恶意软件家族的样本被错误地分类在同一类中;

步骤S62、对家族内部的平均热图相似性和不同家族之间的平均热图相似性进行对比,理论上,不同家族之间的平均热图相似性应该小于家族内部的平均热图相似性。

本实施例通过将恶意代码样本转化为基于字节流的灰度图像和基于操作码的马尔可夫图像,构建基于卷积神经网络的恶意代码图像分类模型,并实现面向恶意代码图像的可解释性评估,增强模型分类结果的可信度,有助于安全研究人员有针对性地对模型进行调优,提高恶意代码分类模型的准确性和可解释性。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例。但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

相关技术
  • 一种触控显示基板及其制备方法、触控显示装置
  • 触控电路及其驱动方法、触控基板及显示装置
  • 触摸基板、触控显示面板和触控显示装置
  • 触控基板和触控显示装置
  • 触控显示组件、触控显示组件的贴合方法及触控显示装置
  • 触控基板、触控显示装置和触控基板的制备方法
  • 一种触控基板的制备方法及触控基板、触控显示装置
技术分类

06120116332998