CN113360911A - 恶意代码同源分析方法、装置、计算机设备和存储介质 - Google Patents

恶意代码同源分析方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113360911A
CN113360911A CN202110830366.1A CN202110830366A CN113360911A CN 113360911 A CN113360911 A CN 113360911A CN 202110830366 A CN202110830366 A CN 202110830366A CN 113360911 A CN113360911 A CN 113360911A
Authority
CN
China
Prior art keywords
malicious code
pixel value
homologous
value matrix
code image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110830366.1A
Other languages
English (en)
Inventor
黄娜
薛智慧
余小军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202110830366.1A priority Critical patent/CN113360911A/zh
Publication of CN113360911A publication Critical patent/CN113360911A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Virology (AREA)
  • Image Analysis (AREA)

Abstract

本公开涉及计算机安全技术领域,提供了一种恶意代码同源分析方法、装置、计算机设备和计算机可读存储介质。所述方法包括:获取恶意代码图像,恶意代码图像是根据恶意代码文件得到的,恶意代码图像包括至少两个恶意代码族群,至少两个恶意代码族群分别对应的族群标记不同;将恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层以及输出层。采用本方法通过在恶意代码同源分析模型中添加全局平均池化层,利用全局平均池化层替换全连接层,降低恶意代码同源分析模型的网络结构的复杂度、以及计算量,从而,提高恶意代码同源分析效率。

Description

恶意代码同源分析方法、装置、计算机设备和存储介质
技术领域
本公开涉及计算机安全技术领域,特别是涉及一种恶意代码同源分析方法、装置、计算机设备和计算机可读存储介质。
背景技术
恶意代码同源分析,是指根据恶意代码的内部特性、外部特性以及其生成和传播的规律,分析恶意代码之间衍生的关联性,从而能够快速追踪定位攻击来源或者攻击者、避免恶意代码检测软件在检测过程存在疏漏的问题。
现有技术中将恶意代码文件进行图像化处理,获取恶意代码图像,通过在神经网络模型中的全连接层前加入空间金字塔池化层,利用恶意代码图像对神经网络进行训练,解决神经网络的输入图像尺寸大小必须相同的问题,实现恶意代码同源分析。
然而,采用现有技术的方法进行恶意代码同源分析,计算量大,恶意代码同源分析效率较低。
发明内容
基于此,有必要针对上述技术问题,提供了一种恶意代码同源分析方法、装置、计算机设备和计算机可读存储介质
本公开实施例提供了一种恶意代码同源分析方法,所述方法包括:
获取恶意代码图像,所述恶意代码图像是根据恶意代码文件得到的,所述恶意代码图像包括至少两个恶意代码族群,所述至少两个恶意代码族群分别对应的族群标记不同;
将所述恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,所述恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层以及输出层。
在一个实施例中,所述获取恶意代码图像,包括:
获取所述恶意代码文件分别对应的二进制流;
将所述二进制流按字节进行分割,转化为像素值矩阵;
根据所述像素值矩阵,获取所述恶意代码图像。
在一个实施例中,所述将所述二进制流按字节进行分割,转化为像素值矩阵,包括:
获取所述恶意代码文件分别对应的字节数;
根据所述字节数确定所述像素值矩阵大小;
获取每个字节分别对应的十进制数值;
根据所述像素值矩阵大小以及所述每个字节分别对应的十进制数值,确定所述像素值矩阵。
在一个实施例中,所述根据所述字节数确定所述像素值矩阵大小,包括:
对所述字节数进行预设处理,确定所述像素值矩阵的宽度;
根据所述字节数和所述像素值矩阵的宽度的比值,确定所述像素值矩阵的长度。
在一个实施例中,所述将所述恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,包括:
获取特征图分别对应的特征向量,其中,所述特征图是根据所述卷积结构得到的;
将所述特征图分别对应的特征向量输入至所述输出层,获取恶意代码同源分析结果。
在一个实施例中,所述获取特征图分别对应的特征向量,包括:
将所述特征图输入至所述全局平均池化层;
所述全局平均池化层对所述特征图中的像素值求平均处理,获取所述特征图中的像素值的平均值。
在一个实施例中,所述卷积结构由一层卷积层和一层最大池化层组成。
本公开实施例提供了一种恶意代码同源分析装置,所述装置包括:
恶意代码图像获取模块,用于获取恶意代码图像,所述恶意代码图像是根据恶意代码文件得到的,所述恶意代码图像包括至少两个恶意代码族群,所述至少两个恶意代码族群分别对应的族群标记不同;
恶意代码同源分析结果获取模块,用于将所述恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,所述恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层、以及输出层。
本公开实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现本公开任意实施例所提供的一种恶意代码同源分析方法的步骤。
本公开实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本公开任意实施例所提供的一种恶意代码同源分析方法的步骤。
本公开实施例所提供的恶意代码同源分析方法、装置、计算机设备和计算机可读存储介质,采用该方式通过获取恶意代码图像,恶意代码图像是根据恶意代码文件得到的,恶意代码图像包括至少两个恶意代码族群,至少两个恶意代码族群分别对应的族群标记不同;将恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层以及输出层。即通过在恶意代码同源分析模型中添加全局平均池化层,利用全局平均池化层替换全连接层,降低恶意代码同源分析模型的网络结构的复杂度、以及计算量,从而,提高恶意代码同源分析效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种恶意代码同源分析方法的流程示意图;
图2为本公开实施例提供的另一种恶意代码同源分析方法的流程示意图;
图3为本公开实施例提供的再一种恶意代码同源分析方法的流程示意图;
图4为本公开实施例提供的又一种恶意代码同源分析方法的流程示意图;
图5为本公开实施例提供的一种恶意代码同源分析装置的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
恶意代码同源分析,是指根据恶意代码的内部特性、外部特性以及其生成和传播的规律,分析恶意代码之间衍生的关联性,从而快速追踪定位攻击来源或者攻击者,同时可避免恶意代码检测软件在检测过程存在疏漏的问题。
目前,将恶意代码文件进行图像化处理,获取恶意代码图像,通过在神经网络模型中的全连接层前加入空间金字塔池化层,解决神经网络的输入图像大小必须相同的问题,实现恶意代码同源分析。然而,采用现有技术的方法进行恶意代码同源分析,由于神经网络结构复杂,计算量大,导致恶意代码同源分析效率较低。
本公开提供一种恶意代码同源分析方法、装置、设备和计算机存储介质,通过获取恶意代码图像,恶意代码图像是根据恶意代码文件得到的,恶意代码图像包括至少两个恶意代码族群,至少两个恶意代码族群分别对应的族群标记不同;将恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层以及输出层。即通过在恶意代码同源分析模型中添加全局平均池化层,利用全局平均池化层替换全连接层,降低恶意代码同源分析模型的网络结构的复杂度、以及计算量,从而,提高恶意代码同源分析的效率。
在一个实施例中,如图1所示,图1为本公开实施例提供的一种恶意代码同源分析方法的流程示意图,具体包括以下步骤:
S101:获取恶意代码图像。
其中,恶意代码图像是根据恶意代码文件得到的,恶意代码图像包括至少两个恶意代码族群,至少两个恶意代码族群分别对应的族群标记不同。恶意代码是指没有实际应用作用,但会带来危险的代码,即对网络或***产生威胁或潜在威胁的计算机代码,例如可以是计算机病毒、特洛伊木马、计算机蠕虫、后门、逻辑炸弹等。在本实施例中,主要采用拉姆尼特(Ramnit)、棒棒糖(Lollipop)、凯利霍斯三代(Kellihos_ver3)、万多(Vundo)、辛达(Simda)、特雷库尔(Tracur)、克里霍斯一代(Kelihos_ver1)、ACY混淆器(Obfuscator.ACY)以及加塔克(Gatak)共9个恶意代码族群,每一个恶意代码族群对应不同的标记,示例性的,通过利用数字0-8依次为上述9个恶意代码族群添加其分别所属的族群标记,但不限于此,在此本公开不具体限制。需要说明的是,每一个恶意代码族群中包含多个恶意代码文件,一个恶意代码文件可以映射为一张恶意代码图像,但不限于此,在此本公开不具体限制。
具体的,通过提取恶意代码库中多个恶意代码族群,每个恶意代码族群包括多个恶意代码文件,根据多个恶意代码族群,得到多个恶意代码族群中分别包括的多个恶意代码文件,基于多个恶意代码文件,获取每个恶意代码文件分别对应的恶意代码图像。
示例性的,通过提取恶意代码库中的9个恶意代码族群,例如拉姆尼特(Ramnit)、棒棒糖(Lollipop)、凯利霍斯三代(Kellihos_ver3)、万多(Vundo)、辛达(Simda)、特雷库尔(Tracur)、克里霍斯一代(Kelihos_ver1)、ACY混淆器(Obfuscator.ACY)以及加塔克(Gatak),每个恶意代码族群包括多个恶意代码文件,根据9个恶意代码族群,得到9个恶意代码族群中分别包括的多个恶意代码文件,基于多个恶意代码文件,获取每个恶意代码文件分别对应的恶意代码图像。
S102:将恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果。
其中,恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层以及输出层,恶意代码同源分析模型是根据恶意代码图像训练得到的,该恶意代码同源分析模型为卷积神经网络,但不限于此,本公开不具体限制。
示例性的,在本实施例中,建立卷积神经网络模型作为恶意代码同源分析模型,该卷积神经网络模型可以包括至少一个卷积结构,全局平均池化层以及输出层,并设置各层参数和训练权重,进一步的根据已经进行族群标记的9个恶意代码族群,得到9个恶意代码族群中包括的多个恶意代码文件,将多个恶意代码文件分别对应的恶意代码图像作为训练恶意样本集合,按照8:1:1的比例划分为训练集、验证集以及测试集,利用训练集对卷积神经网络模型的训练,将经过训练的卷积神经网络模型作为恶意代码同源分析模型,其中,卷积结构依次包括一层卷积层和一层最大池化层。
具体的,通过提取恶意代码库中多个恶意代码族群,根据每个恶意代码族群中包括的多个恶意代码文件,获取每个恶意代码文件分别对应的恶意代码图像,将该恶意代码图像输入至已经经过训练的恶意代码同源分析模型中,从而获取该恶意代码同源分析结果。
示例性的,通过提取恶意代码库中的9个恶意代码族群,例如拉姆尼特(Ramnit)、棒棒糖(Lollipop)、凯利霍斯三代(Kellihos_ver3)、万多(Vundo)、辛达(Simda)、特雷库尔(Tracur)、克里霍斯一代(Kelihos_ver1)、ACY混淆器(Obfuscator.ACY)以及加塔克(Gatak),根据每个恶意代码族群中包括的多个恶意代码文件,获取每个恶意代码文件分别对应的恶意代码图像,将该恶意代码图像输入至已经经过训练的恶意代码同源分析模型中,恶意代码同源分析模型输出恶意代码图像对应的9个恶意代码族群的概率值,选取9个恶意代码族群的概率值中最大的概率值对应的恶意代码族群作为该恶意代码图像的分类结果,一示例的,将一个恶意代码文件对应的恶意代码图像输入至恶意代码同源分析模型中,得到该恶意代码图像对应的9个恶意代码族群的概率值为{0.1,0,0.2,0,0.5,0.1,0,0,0.1},即0.5为最大概率值,则0.5对应的恶意代码族群为辛达,即该恶意代码图像为辛达病毒。但不限于此,本公开不具体限制。
这样,本实施例通过获取恶意代码图像,恶意代码图像是根据恶意代码文件得到的,恶意代码图像包括至少两个恶意代码族群,至少两个恶意代码族群分别对应的族群标记不同;将恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层以及输出层,通过在恶意代码同源分析模型中添加全局平均池化层,利用全局平均池化层替换全连接层,降低恶意代码同源分析模型的网络结构的复杂度、以及计算量,从而,提高恶意代码同源分析效率。
图2为本公开实施例提供的另一种恶意代码同源分析方法的流程示意图,图2是在图1所示实施例的基础上,进一步地,对S101的一种可能的实现方式的描述,如图2所示:
S1011:获取恶意代码文件分别对应的二进制流。
其中,在本实施例中,恶意代码文件为可执行文件,即可以由操作***进行加载执行的文件,在不同的操作***环境下,可执行程序的呈现方式不同。示例性的,在windows***下,该可执行文件例如可以是.exe文件、.sys文件、.com等文件类型,需要说明的是,恶意代码文件以二进制的形式在终端设备中进行存储,但不限于此,本公开不具体限制。
具体的,通过从恶意代码库中获取恶意代码文件,读取每个恶意代码文件对应的二进制流。
S1012:将二进制流按字节进行分割,转化为像素值矩阵。
其中,字节(Byte)是指计算机信息技术用于计量存储容量的一种计量单位,是二进制数据的单位,在多数的计算机***中,一个字节是一个8位长的数据单位,存储的数值范围为0-255,即1Byte=8bit示例性的,对于二进制内容,例如可以是“01110001111100101011010”,按照8位的长度进行划分,即“001110001111100101011010”可以被划分为“00111000”“11111001”“01011010”,每8位对应一个字节,但不限于此,在此本公开不具体限制。
具体的,通过从恶意代码库中获取恶意代码文件,读取每个恶意代码文件对应的二进制流,将每个恶意代码文件对应的二进制流按照字节进行分割,每个字节对应一个8位长的二进制流,获取8位长的二进制流对应的十进制数值,将该十进制数值存储值像素值矩阵中,得到像素值矩阵。
S1013:根据像素值矩阵,获取恶意代码图像。
具体的,通过将每个恶意代码文件对应的二进制流按照字节进行分割,获取8位长的二进制流对应的十进制数值,将该十进制数值存储值像素值矩阵中,得到像素值矩阵,将该像素值矩阵可视化为恶意代码图像。
这样,本实施例通过获取恶意代码文件分别对应的二进制流,将二进制流按字节进行分割,转化为像素值矩阵,根据像素值矩阵,获取恶意代码图像,利用原始的可执行恶意代码文件直接进行图像化处理,获取恶意代码图像,操作简单、方便,且保留了恶意代码文件的所有特征信息,从而提高了恶意代码分析的准确性、以及分析效率。
图3为本公开实施例提供的再一种恶意代码同源分析方法的流程示意图,图3是在图2所示实施例的基础上,进一步地,对S1012的一种可能的实现方式的描述,如图3所示:
S1012a:获取恶意代码文件分别对应的字节数。
具体的,通过将每个恶意代码文件对应的二进制流按照字节进行分割,即每8位长的二进制流为一个字节,相应的,通过将恶意代码文件对应的二进制流按照字节进行分割处理,根据每8位长的二进制流为一个字节,统计每个恶意代码文件按照字节进行分割后,有多少个8位长的二进制流,即为恶意代码文件对应的字节数。
S1012b:根据字节数确定像素值矩阵大小。
具体的,根据字节数确定像素值矩阵大小。
可选的,一种可能实现的方式为:对字节数进行预设处理,确定像素值矩阵的宽度。
其中,预设处理是指根据恶意代码文件的字节数,通过对该字节数进行预设处理,从而获取像素值矩阵的宽度,需要说明的是,在本实施例中,预设处理是指对字节数进行开根号处理后,并向下取整作为像素值矩阵的宽度,但不限于此,本公开不具体限制。
具体的,通过确定从恶意代码库中提取的恶意代码文件对应的字节数,对该字节数进行开根号处理后,并向下取整,确定像素值矩阵的宽度。
示例性的,从恶意代码库中提取一个恶意代码文件,将该恶意代码文件对应的二进制流按照字节进行分割,确定该恶意代码文件的内存大小为707KB,进一步的根据该恶意代码文件内存大小确定其字节数,即该恶意代码文件的长度为:l=707*1024=723968Byte,根据对字节数l进行开根号处理,即
Figure BDA0003175301180000101
并进行向下取整的处理,从而确定像素值矩阵的宽度为w=850,但不限于此,本公开不具体限制。
根据字节数和像素值矩阵的宽度的比值,确定像素值矩阵的长度。
具体的,通过将恶意代码文件对应的字节数进行开根号处理后,并向下取整,确定像素值矩阵的宽度,进一步的,根据恶意代码文件对应的字节数与像素值矩阵的宽度的比值,并向上取整,确定像素值矩阵的长度,即根据确定的像素值矩阵的宽度与长度,确定像素值矩阵的大小。
示例性的,从恶意代码库中提取一个恶意代码文件,确定该恶意代码文件的字节数,即该恶意代码文件的长度为:l=723968Byte,根据字节数l,确定像素值矩阵的宽度为:w=850,进一步的,根据恶意代码文件对应的字节数l与像素值矩阵的宽度w的比值:l/w≈851.73,并向上取整,从而确定像素值矩阵的长度:d=852,从而确定像素值矩阵的大小为852*851,需要说明的是,在确定像素值矩阵大小后,将根据每个字节对应的十进制数组成的数值序列转化为矩阵时,若矩阵元素不够,则补充为0,但不限于此,本公开不具体限制。
S1012c:获取每个字节分别对应的十进制数值。
具体的,通过将每个恶意代码文件对应的二进制流按照字节进行分割,即每8位长的二进制流为一个字节,将每个字节对应的8位二进制转化为十进制数值为0-255,0代表黑色,255代表白色。
S1012d:根据像素值矩阵大小以及每个字节分别对应的十进制数值,确定像素值矩阵。
具体的,根据每个恶意代码文件对应的二进制流按照字节进行分割,确定恶意代码文件对应的像素值矩阵大小以及每个字节分别对应的十进制数值,将每个字节分别对应的十进制数值存入至像素值矩阵中,从而确定该恶意代码文件对应的像素值矩阵。
这样,本实施例通过获取恶意代码文件分别对应的二进制流,将二进制流按字节进行分割,确定恶意代码文件对应的像素值矩阵大小,并根据每个字节分别对应的十进制数值,转化为像素值矩阵,确定像素值矩阵,进一步根据像素值矩阵,获取恶意代码图像,从而保证不会造成将恶意代码文件的进行图像化处理时,丢失恶意代码文件的特征信息,提高了恶意代码分析的准确性。
图4为本公开实施例提供的又一种恶意代码同源分析方法的流程示意图,图4是在图3所示实施例的基础上,进一步地,对S102的一种可能的实现方式的描述,如图4所示:
S1021:获取特征图分别对应的特征向量。
其中,特征图是根据卷积结构得到的。
具体的,将恶意代码图像输入至恶意代码同源分析模型中,该恶意代码同源分析模型为卷积神经网络,该卷积神经网络中包括了至少一个卷积结构,每个卷积结构中依次包括了一层卷积层和一层最大池化层,将恶意代码图像作为卷积结构的输入,卷积结构中的卷积层用来提取恶意代码图像对应的特征图,进一步的,根据最后一个卷积结构输出的特征图,获取特征图对应的特征向量。
可选的,一种可能实现的方式为:将特征图输入至全局平均池化层。
全局平均池化层对特征图中的像素值求平均处理,获取特征图中的像素值的平均值。
其中,全局平均池化层是指在恶意代码同源分析模型中,用来替换全连接层的,采用全局平均池化层代替全连接层的方式,将最后一个卷积结构输出的特征图进行处理,生成一个特征向量,不需要进行全连接的工作,即利用全局平均池化层对每个特征图中所有像素值的进行求平均处理,获取每个特征图对应的像素值的平均值,从而解决在对恶意代码同源分析模型进行训练时,输入的恶意代码图像样本大小尺寸不同的问题,且减少计算参数,加快了分析速度。
具体的,将恶意代码图像输入至恶意代码同源分析模型中,根据该恶意代码同源分析模型中的卷积结构提取恶意代码图像对应的特征图,进一步的,将最后一个卷积结构输出的特征图,输入至全局平均池化层中,全局平均池化层对该特征图中的像素值进行求平均处理,从而得到特征图中的像素值对应的平均值,即为特征图对应的特征向量。
S1022:将特征图分别对应的特征向量输入至输出层,获取恶意代码同源分析结果。
其中,输出层包括其对应的激活函数,该激活函数用来实现对恶意代码图像的类别分析,即通过输出层的激活函数能够获取恶意代码图像对应的9个恶意代码族群的分别对应的概率值,在本实施例中,输出层的激活函数采用Softmax函数,但不限于此,本公开不具体限制。
具体的,将恶意代码图像输入至恶意代码同源分析模型中,根据恶意代码同源分析模型中的卷积结构提取恶意代码图像对应的特征图,将最后一个卷积结构输出的特征图,输入至全局平均池化层,获取特征图对应的特征向量,将特征图对应的特征向量输入至输出层,根据输出层的激活函数获取其对应的多个恶意代码族群分别对应的概率值,将该概率值中最大数值对应的族群作为恶意代码同源分析结果,即能够获取该恶意代码图像所属的恶意代码族群。
这样,本实施例通过利用全局平均池化层代替全连接层的方式,将最后一个卷积结构输出的特征图进行处理,生成一个特征向量,即对每个特征图中所有像素值的进行求平均处理,获取每个特征图对应的像素值的平均值,从而解决在对恶意代码同源分析模型进行训练时,输入的恶意代码图像样本大小尺寸不同的问题,且减少计算参数,加快了分析速度。
在上述实施例的基础上,本公开的一些实施例中,所述卷积结构由一层卷积层和一层最大池化层组成。但不限于此,本公开不具体限制。
应该理解的是,虽然图1-图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种恶意代码同源分析装置,包括:恶意代码图像获取模块110、恶意代码同源分析结果获取模块120,其中,恶意代码图像获取模块110,用于获取恶意代码图像,恶意代码图像是根据恶意代码文件得到的,恶意代码图像包括至少两个恶意代码族群,至少两个恶意代码族群分别对应的族群标记不同。恶意代码同源分析结果获取模块120,用于将恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层、以及输出层。
在本公开实施例一实施方式中,恶意代码图像获取模块110,具体用于获取恶意代码文件分别对应的二进制流;将二进制流按字节进行分割,转化为像素值矩阵;根据像素值矩阵,获取恶意代码图像。
在本公开实施例一实施方式中,恶意代码图像获取模块110,还用于获取恶意代码文件分别对应的字节数;根据字节数确定像素值矩阵大小;获取每个字节分别对应的十进制数值;根据像素值矩阵大小以及每个字节分别对应的十进制数值,确定像素值矩阵。
在本公开实施例一实施方式中,恶意代码图像获取模块110,还用于将字节数进行预设处理,确定像素值矩阵的宽度;根据字节数和像素值矩阵的宽度的比值,确定像素值矩阵的长度。
在本公开实施例一实施方式中,恶意代码同源分析结果获取模块120,具体用于获取特征图分别对应的特征向量,其中,特征图是根据所述卷积结构得到的;将特征图分别对应的特征向量输入至输出层,获取恶意代码同源分析结果。
在本公开实施例一实施方式中,恶意代码同源分析结果获取模块120,还用于将特征图输入至所述全局平均池化层;全局平均池化层对特征图中的像素值求平均处理,获取特征图中的像素值的平均值。
在本公开实施例一实施方式中,卷积结构由一层卷积层和一层最大池化层组成。
在上述实施例中,恶意代码图像获取模块110,用于获取恶意代码图像,恶意代码图像是根据恶意代码文件得到的,恶意代码图像包括至少两个恶意代码族群,至少两个恶意代码族群分别对应的族群标记不同。恶意代码同源分析结果获取模块120,用于将恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层、以及输出层。采用该方式通过在恶意代码同源分析模型中添加全局平均池化层,利用全局平均池化层替换全连接层,降低恶意代码同源分析模型的网络结构的复杂度、以及计算量,从而,提高恶意代码同源分析效率。
关于恶意代码同源分析装置的具体限定可以参见上文中对于恶意代码同源分析方法的限定,在此不再赘述。上述恶意代码同源分析装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取恶意代码图像,恶意代码图像是根据恶意代码文件得到的,恶意代码图像包括至少两个恶意代码族群,至少两个恶意代码族群分别对应的族群标记不同;将恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层以及输出层。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取恶意代码图像,包括:获取恶意代码文件分别对应的二进制流;将二进制流按字节进行分割,转化为像素值矩阵;根据像素值矩阵,获取恶意代码图像。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将二进制流按字节进行分割,转化为像素值矩阵,包括:获取恶意代码文件分别对应的字节数;根据字节数确定像素值矩阵大小;获取每个字节分别对应的十进制数值;根据像素值矩阵大小以及每个字节分别对应的十进制数值,确定像素值矩阵。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据所述字节数确定像素值矩阵大小,包括:对字节数进行预设处理,确定像素值矩阵的宽度;根据字节数和像素值矩阵的宽度的比值,确定像素值矩阵的长度。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:将恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,包括:获取特征图分别对应的特征向量,其中,特征图是根据卷积结构得到的;将特征图分别对应的特征向量输入至输出层,获取恶意代码同源分析结果。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取特征图分别对应的特征向量,包括:将特征图输入至所述全局平均池化层;全局平均池化层对特征图中的像素值求平均处理,获取特征图中的像素值的平均值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:卷积结构由一层卷积层和一层最大池化层组成,
在上述实施例中,通过获取恶意代码图像,恶意代码图像是根据恶意代码文件得到的,恶意代码图像包括至少两个恶意代码族群,至少两个恶意代码族群分别对应的族群标记不同;将恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层以及输出层。即通过在恶意代码同源分析模型中添加全局平均池化层,利用全局平均池化层替换全连接层,降低恶意代码同源分析模型的网络结构的复杂度、以及计算量,从而,提高恶意代码同源分析效率。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取恶意代码图像,恶意代码图像是根据恶意代码文件得到的,恶意代码图像包括至少两个恶意代码族群,至少两个恶意代码族群分别对应的族群标记不同;将恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层以及输出层。
在一个实施例中,计算机程序被处理器执行时实现以下步骤:获取恶意代码图像,包括:获取恶意代码文件分别对应的二进制流;将二进制流按字节进行分割,转化为像素值矩阵;根据像素值矩阵,获取恶意代码图像。
在一个实施例中,计算机程序被处理器执行时实现以下步骤:将二进制流按字节进行分割,转化为像素值矩阵,包括:获取恶意代码文件分别对应的字节数;根据字节数确定像素值矩阵大小;获取每个字节分别对应的十进制数值;根据像素值矩阵大小以及每个字节分别对应的十进制数值,确定像素值矩阵。
在一个实施例中,计算机程序被处理器执行时实现以下步骤:根据所述字节数确定像素值矩阵大小,包括:对字节数进行预设处理,确定像素值矩阵的宽度;根据字节数和像素值矩阵的宽度的比值,确定像素值矩阵的长度。
在一个实施例中,计算机程序被处理器执行时实现以下步骤:将恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,包括:获取特征图分别对应的特征向量,其中,特征图是根据卷积结构得到的;将特征图分别对应的特征向量输入至输出层,获取恶意代码同源分析结果。
在一个实施例中,计算机程序被处理器执行时实现以下步骤:获取特征图分别对应的特征向量,包括:将特征图输入至所述全局平均池化层;全局平均池化层对特征图中的像素值求平均处理,获取特征图中的像素值的平均值。
在一个实施例中,计算机程序被处理器执行时实现以下步骤:卷积结构由一层卷积层和一层最大池化层组成,
在上述实施例中,通过获取恶意代码图像,恶意代码图像是根据恶意代码文件得到的,恶意代码图像包括至少两个恶意代码族群,至少两个恶意代码族群分别对应的族群标记不同;将恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层以及输出层。即通过在恶意代码同源分析模型中添加全局平均池化层,利用全局平均池化层替换全连接层,降低恶意代码同源分析模型的网络结构的复杂度、以及计算量,从而,提高恶意代码同源分析效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,比如静态随机存取存储器(Static Random Access Memory,SRAM)和动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种恶意代码同源分析方法,其特征在于,包括:
获取恶意代码图像,所述恶意代码图像是根据恶意代码文件得到的,所述恶意代码图像包括至少两个恶意代码族群,所述至少两个恶意代码族群分别对应的族群标记不同;
将所述恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,所述恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层以及输出层。
2.根据权利要求1所述的方法,其特征在于,所述获取恶意代码图像,包括:
获取所述恶意代码文件分别对应的二进制流;
将所述二进制流按字节进行分割,转化为像素值矩阵;
根据所述像素值矩阵,获取所述恶意代码图像。
3.根据权利要求2所述的方法,其特征在于,所述将所述二进制流按字节进行分割,转化为像素值矩阵,包括:
获取所述恶意代码文件分别对应的字节数;
根据所述字节数确定所述像素值矩阵大小;
获取每个字节分别对应的十进制数值;
根据所述像素值矩阵大小以及所述每个字节分别对应的十进制数值,确定所述像素值矩阵。
4.根据权利要求3所述的方法,其特征在于,所述根据所述字节数确定所述像素值矩阵大小,包括:
对所述字节数进行预设处理,确定所述像素值矩阵的宽度;
根据所述字节数和所述像素值矩阵的宽度的比值,确定所述像素值矩阵的长度。
5.根据权利要求1所述的方法,其特征在于,所述将所述恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,包括:
获取特征图分别对应的特征向量,其中,所述特征图是根据所述卷积结构得到的;
将所述特征图分别对应的特征向量输入至所述输出层,获取恶意代码同源分析结果。
6.根据权利要求5所述的方法,其特征在于,所述获取特征图分别对应的特征向量,包括:
将所述特征图输入至所述全局平均池化层;
所述全局平均池化层对所述特征图中的像素值求平均处理,获取所述特征图中的像素值的平均值。
7.根据权利要求1所述的方法,其特征在于,所述卷积结构由一层卷积层和一层最大池化层组成。
8.一种恶意代码同源分析装置,其特征在于,包括:
恶意代码图像获取模块,用于获取恶意代码图像,所述恶意代码图像是根据恶意代码文件得到的,所述恶意代码图像包括至少两个恶意代码族群,所述至少两个恶意代码族群分别对应的族群标记不同;
恶意代码同源分析结果获取模块,用于将所述恶意代码图像输入恶意代码同源分析模型中,获取恶意代码同源分析结果,其中,所述恶意代码同源分析模型包括:至少一个卷积结构、全局平均池化层、以及输出层。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述恶意代码同源分析方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述恶意代码同源分析方法的步骤。
CN202110830366.1A 2021-07-22 2021-07-22 恶意代码同源分析方法、装置、计算机设备和存储介质 Pending CN113360911A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110830366.1A CN113360911A (zh) 2021-07-22 2021-07-22 恶意代码同源分析方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110830366.1A CN113360911A (zh) 2021-07-22 2021-07-22 恶意代码同源分析方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
CN113360911A true CN113360911A (zh) 2021-09-07

Family

ID=77540093

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110830366.1A Pending CN113360911A (zh) 2021-07-22 2021-07-22 恶意代码同源分析方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN113360911A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806746A (zh) * 2021-09-24 2021-12-17 沈阳理工大学 基于改进cnn网络的恶意代码检测方法
CN114139153A (zh) * 2021-11-02 2022-03-04 武汉大学 基于图表示学习的恶意软件可解释性分类方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989288A (zh) * 2015-12-31 2016-10-05 武汉安天信息技术有限责任公司 一种基于深度学习的恶意代码样本分类方法及***
CN107392019A (zh) * 2017-07-05 2017-11-24 北京金睛云华科技有限公司 一种恶意代码家族的训练和检测方法及装置
CN108804919A (zh) * 2018-05-03 2018-11-13 上海交通大学 基于深度学习的恶意代码同源判定方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105989288A (zh) * 2015-12-31 2016-10-05 武汉安天信息技术有限责任公司 一种基于深度学习的恶意代码样本分类方法及***
CN107392019A (zh) * 2017-07-05 2017-11-24 北京金睛云华科技有限公司 一种恶意代码家族的训练和检测方法及装置
CN108804919A (zh) * 2018-05-03 2018-11-13 上海交通大学 基于深度学习的恶意代码同源判定方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
罗晓曙等: "人工智能技术及应用", 西安电子科技大学出版社, pages: 29 - 32 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113806746A (zh) * 2021-09-24 2021-12-17 沈阳理工大学 基于改进cnn网络的恶意代码检测方法
CN113806746B (zh) * 2021-09-24 2024-03-22 沈阳理工大学 基于改进cnn网络的恶意代码检测方法
CN114139153A (zh) * 2021-11-02 2022-03-04 武汉大学 基于图表示学习的恶意软件可解释性分类方法

Similar Documents

Publication Publication Date Title
US10644721B2 (en) Processing core data compression and storage system
CN109344618B (zh) 一种基于深度森林的恶意代码分类方法
CN102880726B (zh) 一种图像过滤方法及***
CN111753290B (zh) 软件类型的检测方法及相关设备
CN113360911A (zh) 恶意代码同源分析方法、装置、计算机设备和存储介质
CN111259397B (zh) 一种基于马尔科夫图和深度学习的恶意软件分类方法
WO2020125100A1 (zh) 一种图像检索方法、装置以及设备
CN110222511A (zh) 恶意软件家族识别方法、装置及电子设备
AU2009347563B2 (en) Detection of objects represented in images
CN111373393B (zh) 图像检索方法和装置以及图像库的生成方法和装置
CN111488574B (zh) 恶意软件分类方法、***、计算机设备和存储介质
CN116975864A (zh) 恶意代码检测方法、装置、电子设备及存储介质
CN116524357A (zh) 高压线路鸟巢检测方法、模型训练方法、装置及设备
CN116595525A (zh) 一种基于软件图谱的阈值机制恶意软件检测方法及***
KR102242904B1 (ko) 압축 알고리즘의 파라미터를 추정하는 방법 및 장치
CN112906728A (zh) 一种特征比对方法、装置及设备
CN107766863B (zh) 图像表征方法和服务器
CN116226854B (zh) 恶意软件检测方法、***、可读存储介质及计算机
CN116401664B (zh) 一种恶意代码分类方法、装置、电子设备及存储介质
CN115828248B (zh) 基于可解释性深度学习的恶意代码检测方法及装置
CN110728615B (zh) 基于序贯假设检验的隐写分析方法、终端设备及存储介质
CN116992445A (zh) 一种获取恶意代码文件分类模型的方法及文件分类方法
CN116881905A (zh) 程序安全性检测方法、装置、计算机设备和存储介质
Challa et al. EFFICIENT COMPRESSION OF BINARIZED TAINTED DOCUMENTS.
CN117496246A (zh) 一种基于卷积神经网络的恶意软件分类方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210907