CN111783088A - 一种恶意代码家族聚类方法、装置和计算机设备 - Google Patents
一种恶意代码家族聚类方法、装置和计算机设备 Download PDFInfo
- Publication number
- CN111783088A CN111783088A CN202010494960.3A CN202010494960A CN111783088A CN 111783088 A CN111783088 A CN 111783088A CN 202010494960 A CN202010494960 A CN 202010494960A CN 111783088 A CN111783088 A CN 111783088A
- Authority
- CN
- China
- Prior art keywords
- family
- clustering
- malicious code
- malicious
- clustering result
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Security & Cryptography (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Computer Hardware Design (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Virology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供的恶意代码家族聚类方法,包括:对多个恶意代码进行家族聚类,得到第一聚类结果;针对第一聚类结果中的每个族类,为该族类中的恶意代码分配相同的标签,其中,不同族类中的恶意代码的标签不同;将恶意代码作为样本训练家族聚类神经网络;其中,家族聚类神经网络的输出层神经元数量等于样本包含的类别数量;利用已训练完成的家族聚类神经网络对各恶意代码进行特征提取,得到每个恶意代码的特征;基于恶意代码的特征对所述恶意代码进行聚类,得到第二聚类结果;判断第二聚类结果和上一次聚类结果之间的差异是否满足收敛条件;若是,将第二聚类结果确定为多个恶意代码的家族聚类结果。这样,可准确的识别出来自同一家族的恶意代码。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种恶意代码家族聚类方法、装置和计算机设备。
背景技术
恶意代码指为达到恶意目的专门设计的程序、代码或指令,指一切旨在破坏计算机、移动终端或网络系统可靠性、可用性、安全性或消耗系统资源的恶意软件,其根据所能完成的功能、传播方式等行为特点划分为木马、计算机病毒、蠕虫、勒索软件、间谍软件或广告软件等类型。
近年来,随着互联网的迅速发展,恶意代码已经成为威胁互联网安全的主要因素之一。研究发现,虽然恶意代码的数量增长迅速,但是,恶意代码家族(恶意代码家族指的是恶意代码的来源,其中,同一人或同一组织编写的所有恶意代码属于同一家族)的增长数量却十分缓慢。因此,为保障互联网安全,分析恶意代码来源,确定其所属家族显得尤为重要。
目前,常基于传统的方法提取恶意代码的特征,进而基于提取的特征分析恶意代码的来源。例如,可基于sift算法提取恶意代码的特征,进而基于提取的特征分析其来源。但是,当采用传统的方法提取恶意代码的特征时,提取的特征不够全面、准确,致使基于该特征分析确定的家族信息也不准确。
发明内容
有鉴于此,本申请提供一种恶意代码家族聚类方法、装置和计算机设备,以准确的识别来自同一家族的恶意代码。
本申请第一方面提供一种恶意代码家族聚类方法,所述方法包括:
对多个恶意代码进行家族聚类,得到第一聚类结果;
针对所述第一聚类结果中的每个族类,为该族类中的恶意代码分配相同的标签,其中,不同族类中的恶意代码的标签不同;
将所述恶意代码作为样本训练家族聚类神经网络;其中,所述家族聚类神经网络的输出层神经元数量等于所述样本包含的类别数量;
利用已训练完成的家族聚类神经网络对各恶意代码进行特征提取,得到每个所述恶意代码的特征;
基于所述恶意代码的特征对所述恶意代码进行聚类,得到第二聚类结果;
判断所述第二聚类结果和上一次聚类结果之间的差异是否满足收敛条件;
若是,则将所述第二聚类结果确定为所述多个恶意代码的家族聚类结果。
本申请第二方面提供一种恶意代码家族聚类装置,所述装置包括处理模块、分配模块、训练模块,提取模块、判断模块和确定模块,其中,
所述处理模块,用于对多个恶意代码进行家族聚类,得到第一聚类结果;
所述分配模块,用于针对所述第一聚类结果中的每个族类,为该族类中的恶意代码分配相同的标签,其中,不同族类中的恶意代码的标签不同;
所述训练模块,用于将所述恶意代码作为样本训练家族聚类神经网络;其中,所述家族聚类神经网络的输出层神经元数量等于所述样本包含的类别数量;
所述提取模块,利用已训练完成的家族聚类神经网络对各恶意代码进行特征提取,得到每个所述恶意代码的特征;
所述处理模块,还用于基于所述恶意代码的特征对所述恶意代码进行聚类,得到第二聚类结果;
所述判断模块,用于判断所述第二聚类结果和上一次聚类结果之间的差异是否满足收敛条件;
所述确定模块,用于在所述判断模块判断所述第二聚类结果和上一次聚类结果之间的差异满足收敛条件时,将所述第二聚类结果确定为所述多个恶意代码的家族聚类结果。
本申请第三方面提供一种计算机存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本申请提供的任一恶意代码家族聚类方法的步骤。
本申请第四方面提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请提供的任一恶意代码家族聚类方法的步骤。
本申请提供的恶意代码家族聚类方法、装置和计算机设备,通过对多个恶意代码进行家族聚类,得到第一聚类结果,并针对所述第一聚类结果中的每个族类,为该族类中的恶意代码分配相同的标签,进而将所述恶意代码作为样本训练家族聚类神经网络,从而可利用已训练完成的家族聚类神经网络对各恶意代码进行特征提取,得到每个所述恶意代码的特征,并基于所述恶意代码的特征对所述恶意代码进行聚类,得到第二聚类结果,以及判断所述第二聚类结果和上一次聚类结果之间的差异是否满足收敛条件,并在判断满足收敛条件时,将所述第二聚类结果确定为所述多个恶意代码的家族聚类结果。其中,同族类中的恶意代码的标签不同,且所述家族聚类神经网络的输出层神经元数量等于所述样本包含的类别数量。这样,可利用家族聚类神经网络强大的学习能力实现在聚类的过程不断学习来提取特征,同时又利用提取到的特征来提升聚类效果的目的,可准确的识别出来自同一家族的恶意代码。
附图说明
图1为本申请提供的恶意代码家族聚类方法实施例一的流程图;
图2为本申请一示例性实施例示出的家族聚类神经网络的示意图;
图3为本申请提供的恶意代码家族聚类方法实施例二的流程图;
图4为本申请提供的恶意代码家族聚类方法实施例三的流程图;
图5为本申请一示例性实施例示出的恶意代码家族聚类方法的实现原理图;
图6为本申请提供的恶意代码家族聚类方法实施例四的流程图;
图7为本申请一示例性实施例示出的恶意代码家族聚类方法的流程图;
图8为本申请一示例性实施例示出的恶意代码家族聚类装置所在计算机设备的硬件结构图;
图9为本申请提供的恶意代码家族聚类装置实施例一的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
有鉴于此,本申请提供一种恶意代码家族聚类方法、装置和计算机设备,以准确的识别来自同一家族的恶意代码。
下面给出几个具体的实施例,用以详细介绍本申请的技术方案,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图1为本申请提供的恶意代码家族聚类方法实施例一的流程图。参照图1,本实施例提供的方法,可以包括:
S101、对多个恶意代码进行家族聚类,得到第一聚类结果。
对多个恶意代码进行家族聚类,旨在确定来自同一家族的恶意代码。本步骤中,可采用第一指定聚类算法对多个恶意代码进行家族聚类。需要说明的是,第一指定聚类算法是根据实际需要选择的,本实施例中,不对其进行限定。例如,第一指定聚类算法可以是谱聚类聚类算法、mean-shift聚类算法、Dbscan聚类算法等。
可选地,在本申请一可能的实现方式中,该步骤的具体实现过程,可以包括:
(1)将每个所述恶意代码转换为灰度图。
有关该步骤的具体实现原理将在后面的实施例中详细描述,此处不再赘述。
(2)采用指定图像聚类算法对多个所述灰度图进行家族聚类,得到第一聚类结果。
具体的,指定图像聚类算法是根据实际需要选择的图像聚类算法,本实施中,不对其进行限定。
S102、针对所述第一聚类结果中的每个族类,为该族类中的恶意代码分配相同的标签,其中,不同族类中的恶意代码的标签不同。
具体的,聚类之后,会为每个族类分配一个伪标签。例如,第一聚类结果包括m个族类,则伪标签可以为0到m-1。
本步骤中,可将为每个族类分配的伪标签作为标签分配给该族类中的各个恶意代码。即针对第一聚类结果中的每个族类,可用为该族类分配的伪标签作为标签标记该族类内的各个恶意代码。
S103、将所述恶意代码作为样本训练家族聚类神经网络;其中,所述家族聚类神经网络的输出层神经元数量等于所述样本包含的类别数量。
具体的,可先构建家族聚类神经网络;其中,所述输出层神经元数量等于样本包含的类别数量。即所述家族聚类神经网络的输出层神经元数量可变,且初始构建该家族聚类神经网络时,该家族聚类神经网络的输出层神经元数量等于第一聚类结果包含的族类的数量。
需要说明的是,本申请中,可通过调整输出层神经元数量来实现调整输出层维度的目的。
具体的,图2为本申请一示例性实施例示出的家族聚类神经网络的示意图。参照图2,该家族聚类神经网络包括输入层、隐藏层和输出层。其中,隐藏层用于对输入的数据进行特征提取,输出层用于进行分类。
进一步地,在训练家族聚类神经网络时,可先将该家族聚类神经网络中的网络参数(包括输入层、隐藏层和输出层的网络参数)设定为指定值,然后利用样本训练上述家族聚类神经网络,直到损失函数收敛。
具体的,训练过程可以包括前向传播和后向传播两个阶段:前向传播,即输入一个样本,对样本进行前向传播提取数据特征,计算损失函数;后向传播,利用损失函数从家族聚类神经神经网络的最后一层依次往前反向传播,同时利用梯度下降法修改家族聚类神经网络的网络参数,以使损失函数收敛。
S104、利用已训练完成的家族聚类神经网络对各恶意代码进行特征提取,得到每个所述恶意代码的特征。
具体的,家族聚类神经网络训练完成后,可利用已训练完成的家族聚类神经网络对恶意代码进行特征提取。需要说明的是,家族聚类神经网络最后一层隐藏层的输出即为提取到的特征。
具体实现时,可将每个恶意代码输入到已训练完成的家族聚类神经网络,进而由该家族聚类神经网络对输入的恶意代码进行特征提取,输出提取到的特征。
S105、基于所述恶意代码的特征对所述恶意代码进行聚类,得到第二聚类结果。
本步骤中,可采用第二指定聚类算法进行聚类。第二指定聚类算法是根据实际需要选择的,本实施例中,不对其进行限定。例如,一实施例中,第二指定聚类算法可以为谱聚类聚类算法、mean-shift聚类算法或Dbscan聚类算法等聚类算法。
S106、判断所述第二聚类结果和上一次聚类结果之间的差异是否满足收敛条件。
需要说明的是,上一次聚类结果的初始值为第一聚类结果。
具体的,一实施例中,该步骤的具体实现过程,可以包括:
(1)判断上一次聚类结果包含的族类的数量和所述第二聚类结果包含的族量的数量是否相等。
(2)若否,确定上一次聚类结果和所述第二聚类结果之间的差异不满足收敛条件。
例如,一实施例中,上一次聚类结果包括2个族类,第二聚类结果包含4个族类,此时,确定上一次聚类结果和第二聚类结果之间的差异不满足收敛条件。
(3)若是,针对上一次聚类结果中的每个族类,若所述第二聚类结果中存在与其相似的族类,则确定所述上一次聚类结果和所述第二聚类结果之间的差异满足收敛条件,否则确定所述上一次聚类结果和所述第二聚类结果之间的差异不满足收敛条件;其中,两个族类在两者包含的不相同的样本数量小于预设阈值时相似。
具体的,预设阈值是根据实际需要设定的,本实施例中,不对预设阈值的具体值进行限定。例如,一实施例中,预设阈值可以为2。下面以预设阈值为2为例进行说明。
例如,一实施例中,上一次聚类结果包括2个族类,记为族类A和族类B,其中,族类A包含恶意代码样本{1,2,3,4,5},族类B包含恶意代码样本{6,7,8,9,10,11}。第二聚类结果也包括2个族类,记为族类C和族类D,其中,族类C包含恶意代码样本{1,2,3,4,6},族类D包含恶意代码样本{5,7,8,9,10,11}。
本例中,针对族类A,确定第二聚类结果中的族类C与其相似(两者只有一个样本不一样,即两者包含的不相同的样本数量为1)。进一步地,针对族类B,第二聚类结果中的族类D与其相似(两者包含的不相同的样本数量为1)。此时,确定上一次聚类结果与第二聚类结果之间的差异满足收敛条件。
S107、若是,将所述第二聚类结果确定为所述多个恶意代码的家族聚类结果。
本实施例提供的方法,通过对多个恶意代码进行家族聚类,得到第一聚类结果,并针对所述第一聚类结果中的每个族类,为该族类中的恶意代码分配相同的标签,进而将所述恶意代码作为样本训练家族聚类神经网络,从而可利用已训练完成的家族聚类神经网络对各恶意代码进行特征提取,得到每个所述恶意代码的特征,并基于所述恶意代码的特征对所述恶意代码进行聚类,得到第二聚类结果,以及判断所述第二聚类结果和上一次聚类结果之间的差异满足收敛条件时,将所述第二聚类结果确定为所述多个恶意代码的家族聚类结果。其中,同族类中的恶意代码的标签不同,且所述家族聚类神经网络的输出层神经元数量等于所述样本包含的类别数量。这样,可利用家族聚类神经网络强大的学习能力实现在聚类的过程不断学习来提取特征,同时又利用提取到的特征来提升聚类效果的目的,可准确的识别出来自同一家族的恶意代码。
可选地,若所述第二聚类结果和上一次聚类结果之间的差异不满足收敛条件,所述方法还包括:
针对所述第二聚类结果中的每个族类,将该族类中的恶意代码的标签更新为相同的标签,并执行将所述恶意代码作为样本训练家族聚类神经网络的步骤;
其中,不同族类中的恶意代码的标签不同。
具体的,例如,一实施例中,第二聚类结果包含的族类的数量为k,为每个族类分配的伪标签为0到k-1。此时,可用为每个族类分配的伪标签作为标签重新标记该族类内的各个恶意代码,以将该族类中的恶意代码的标签更新为相同的标签。
例如,一实施例中,第二聚类结果包括两个族类,为这两个族类分配的伪标签为0和1,其中,族类C包含恶意代码{1,2,3,4,6},族类D包含恶意代码{5,7,8,9,10,11}。此时,就用标签0重新标记恶意代码{1,2,3,4,6},用标签1重新标记恶意代码{5,7,8,9,10,11}。
需要说明的是,在再次执行将所述恶意代码作为样本训练家族聚类神经网络的步骤时,由于家族聚类神经网络的输出层神经元数量等于样本包含的类别数量,此时,需先根据样本包含的类别数量更新家族聚类神经网络的输出层神经元数量,并保持其他层的神经元数量及网络参数不变。
结合上面的例子,本例中,将家族聚类神经网络的输出层神经元数量更新为k。
本实施例提供的恶意代码家族聚类方法,基于恶意代码训练家族聚类神经网络,进而基于训练完成的家族聚类神经网络对恶意代码进行特征提取,并基于提取到的特征对恶意代码进行聚类,聚类之后再次为恶意代码分标签,并调整家族聚类神经网络的输出层神经元数量,再次基于恶意代码训练家族神经网络的步骤,直到聚类结果收敛。这样,通过循环往复上述过程,可利用家族聚类神经网络强大的学习能力实现在聚类的过程不断学习来提取特征,同时又利用提取到的特征来提升聚类效果的目的,可准确的识别出来自同一家族的恶意代码。
可选地,在本申请一可能的实现方式中,所述多个恶意代码的类型相同。
具体的,恶意代码的类型是根据恶意代码所能完成的功能、传播方式等行为特点进行的分类。恶意代码常见的类型有:病毒、木马、Rootkit、蠕虫、僵尸网络、间谍软件和广告软件等。
需要说明的是,来自同一家族的恶意代码由于编写者编写习惯的原因,往往存在相似的逻辑判断、指定序列和自定义函数,具有一定的族类相似性,这些族类相似性是进行家族聚类的关键。
参见前面的介绍,同一类型的恶意代码具有相似的功能和传播方式,也具有一定的类型相似性。
本申请中,通过对属于同一类型的多个恶意代码进行家族聚类,这样,可避免类型相似性对族类相似性造成的影响,可进一步提高家族聚类的准确性。
可选地,本申请一可能的实现方式中,当上述多个恶意代码的类型相同时,所述对多个恶意代码进行家族聚类之前,所述方法还可以包括:
对获取到的多个恶意代码进行类型聚类,得到目标聚类结果。
例如,一实施例中,对获取到的多个恶意代码进行类型聚类后,目标聚类结果包括三个类型,分别为木马类、蠕虫类和僵尸类,此时,针对每个类型,即可在该类型内部进行家族聚类,以识别该类型内来自同一家族的恶意代码。
具体的,一实施例中,可基于预先训练好的类型聚类模型对多个恶意代码进行类型聚类,得到目标聚类结果。
预先训练好的类型聚类模型可通过如下方法获取:
(1)构建神经网络
例如,一实施例中,构建的神经网络包括卷积层、池化层和全连接层。
(2)获取训练样本
具体的,训练样本为恶意代码,各个训练样本的标签为该恶意代码所属的类型。
(3)利用上述训练样本训练上述神经网络,得到训练好的类型聚类模型。
有关网络训练的具体实现原理和实现过程可以参见前面实施例中的描述,此处不再赘述。
图3为本申请提供的恶意代码家族聚类方法实施例二的流程图,参照图3,本实施例提供的方法,在步骤S107之后,所述方法还可以包括:
S301、针对所述家族聚类结果中的每个族类,确定该族类的中心恶意代码;其中,所述中心恶意代码为该族类的聚类中心。
具体的,可基于聚类中心的确定方法确定中心恶意代码。有关聚类中心的确定方法的具体实现过程和实现原理可以参见相关技术中的描述,此处不再赘述。
S302、将所述中心恶意代码的特征确定为该族类的族谱基因。
例如,一实施例中,多个恶意代码包括样本1到样本10,家族聚类结果包括2个族类,分别记为族类A和族类B,其中,族类A包括:恶意代码1、恶意代码1、恶意代码3、恶意代码4和恶意代码10,族类B包括恶意代码5至恶意代码9。步骤S301中,确定族类A的中心恶意代码为恶意代码1,族类B的中心恶意代码为恶意代码8,本步骤中,就将恶意代码1的特征确定为族类A的族谱基因,相应地,将恶意代码8的特征确定为族类B的族谱基因。
需要说明的是,通过确定一个族类的族谱基因,这样,后续在获取到一新的恶意代码后,可提取该恶意代码的特征,进而将该恶意代码的特征与各个族类的族谱基因进行比对,以确定该恶意代码所属的族类。
本实施例提供的方法,在得到家族聚类结果后,针对所述家族聚类结果中的每个族类,通过确定该族类的中心恶意代码,并将所述中心恶意代码的特征确定为该族类的族谱基因。这样,可较准确的获取各族类的族谱基因,为后续家族识别提供基础。
图4为本申请提供的恶意代码家族聚类方法实施例三的流程图。请参照图4,在上述实施例的基础上,本实施例提供的恶意代码家族聚类方法,所述多个恶意代码的类型相同,在得到多个恶意代码的家族聚类结果之后,所述方法还包括:
S401、汇总各个类型的家族聚类结果,得到若干恶意代码族类。
例如,一实施例中,有两个类型的恶意代码,这两个类型分别为木马类和僵尸类。对各个类型的多个恶意代码分别进行家族聚类后,针对木马类,确定该类型对应的家族聚类结果包括5个族类,分别记为族类1至族类5。针对蠕虫类,确定该类型对应的家族聚类结果包括2个族类,分别记为族类6和族类7。本步骤中,将两个类型的家族聚类结果进行汇总,得到7个恶意代码族类。
S402、根据所述恶意代码族类的族谱基因对所述若干恶意代码族类进行家族聚类,得到跨类型恶意代码聚类结果。
具体的,本步骤中,可以每个恶意代码族类作为样本,以该恶意代码族类的族谱基因作为该样本的特征对恶意代码族类进行家族聚类,得到跨类型恶意代码聚类结果。
例如,结合上面的例子,可基于恶意代码族类1至7的族谱基因对恶意代码族类进行家族聚类后,得到跨类型恶意代码聚类结果。例如。本例中,得到的跨类型恶意代码聚类结果包括6个类,分为记为A-F,其中,类A包括恶意代码族类1、类B包括恶意代码族类2和7、类C包括恶意代码族类3、类D包括恶意代码族类4、类E包括恶意代码族类5、类F包括恶意代码族类6。
本实施例提供的方法,通过汇总各个类型的家族聚类结果,得到若干恶意代码族类,并根据所述恶意代码族类的族谱基因对所述若干恶意代码族类进行家族聚类,得到跨类型恶意代码聚类结果,这样,可识别出不同类型中来自同一家族的族类。
图5为本申请一示例性实施例示出的恶意代码家族聚类方法的实现原理图。参照图5,一实施例中,可先对获取到的多个恶意代码进行类型聚类,进而针对类型聚类结果中的每个类型(图5所示的木马类、蠕虫类和僵尸类),对属于该类型的多个恶意代码进行家族聚类(图5中所示的在类型内部进行家族聚类),得到类型相同的多个恶意代码的家族聚类结果。从而可采用实施例三所示的方法,汇总各个类型的家族聚类结果,进行跨类型家族聚类。这样,一方面,先在类型内部进行家族聚类,可避免类型相似性对族类相似性造成的影响,可提高准确性,另一方面,在类型内部进行家族聚类后,通过汇总各个类型的家族聚类结果,并进行跨类型家族聚类,这样,可识别出不同类型中来自同一家族的恶意代码。
下面给出一个具体的例子,用以详细说明本实施例的具体实现过程:
例如,一实施例中,获取到100个恶意代码,对这100个恶意代码进行类型聚类后,得到目标聚类结果,该目标聚类结果中包含三个类型,分别为木马类、蠕虫类和僵尸类,其中,木马类包括恶意代码1到恶意代码30,蠕虫类包括恶意代码31到恶意代码50,僵尸类包括恶意代码51到恶意代码100。
进一步地,对恶意代码1到恶意代码30进行家族聚类,得到两个族类,分别记为族类A和族类B,其中,族类A包括恶意代码1到恶意代码10,族类B包括恶意代码11到恶意代码30。
对恶意代码31到恶意代码50进行家族聚类,得到三个族类,记为族类C、族类D和族类E,其中,族类C包括恶意代码31到恶意代码40,族类C包括恶意代码41到恶意代码45,族类D包括恶意代码46到恶意代码50。
对恶意代码51到恶意代码100进行家族聚类,得到3个族类,记为族类F、族类G和族类H,其中,族类F包括恶意代码51到恶意代码70,族类G包括恶意代码71到恶意代码89,族类H包括恶意代码90到恶意代码100。
进一步地,针对木马类中的每个族类,确定族类A的族谱基因为恶意代码1对应的特征,确定族类B的族谱基因为恶意代码15对应的特征。
针对蠕虫类中的每个族类,确定族类C的族谱基因为恶意代码33对应的特征,确定族类D的族谱基因为恶意代码44对应的特征,确定族类E的族谱基因为恶意代码50对应的特征。
针对僵尸类中的每个族类,确定族类F的族谱基因为恶意代码68对应的特征,确定族类G的族谱基因为恶意代码73对应的特征,确定族类H的族谱基因为恶意代码99对应的特征。
步骤S401中,汇总三个类型的家族聚类结果,得到若干恶意代码族类,即得到6个族类,这6个族类分别为族类A至族类F。步骤S402中,以恶意代码1、恶意代码15、恶意代码33、代码44、恶意代码50、恶意代码68、恶意代码73和恶意代码99对应的特征进行家族聚类,得到跨类型恶意代码家族聚类结果。
例如,一实施例中,得到的跨种类恶意代码家族聚类结果包括5个类,为方便说明,将这5个类分别记为类0、类1、类2、类3和类4,其中,类0包括族类A、族类C和族类G,类1包括族类B,类2包括族类D和族类F,类3包括族类E,类4包括族类H。
需要说明的是,得到跨种类恶意代码家族聚类结果之后,针对跨种类聚类结果中的每个类,可以用为该类分配的伪标签重新标记该类中的各个恶意代码族类、以及各个恶意代码族类中的各个恶意代码。
结合上面的例子,例如,针对类0,此时,可以用为该族类分配的伪标签0标记族类A、族类C和族类G,并用该伪标签0标记族类A(例如,针对族类A,此时,就用伪标签0标记恶意代码1到恶意代码10。)、族类C和族类G中的各个恶意代码。
需要说明的是,本申请提供的方法,通过在同一类型内部进行家族聚类,这样,可排除因种类相似性对族类相似性造成的影响,可准确的识别出同一类型内部来自同一家族的恶意代码。此外,在同一类型内部进行家族聚类之后,再通过进行跨类型家族聚类,可识别出不同类型间来自同一家族的恶意代码。
图6为本申请提供的恶意代码家族聚类方法实施例四的流程图。参照图6,本实施例提供的方法,在上述实施例的基础上,所述家族聚类神经网络为卷积神经网络,步骤S104,可以包括:
S601、将每个所述恶意代码转换为灰度图。
具体的,由于卷积神经网络可以很好的处理图片的局部特征,本实施例中,采用卷积神经网络进行家族聚类,可以很好的识别经过混淆处理或加密处理的恶意代码。
由于卷积神经网络处理的对应一般为图像,本实施例中,需要将恶意代码转换为图像。具体的,由于恶意代码的每个字节的取值范围为0到255,而灰度图中每个像素点的像素值的取值范围也为0到255。因此,可以将恶意代码的每个字节作为灰度图中的一个像素点,将恶意代码转换为灰度图。
具体实现时,该步骤的具体实现过程,可以包括:
(1)根据恶意代码的长度,确定灰度图的宽度W和高度H。
具体的,恶意代码的长度指的是恶意代码包含的字节的数目。可选的,一实施例中,可按照如下公式确定W和H:
(2)从恶意代码起始位置开始获取H*W个字节的目标数据,将所述目标数据按照行优先的方式转换为一个W*H的矩阵,以所述矩阵作为灰度图的像素矩阵生成所述灰度图。
S602、利用已训练完成的家族聚类神经网络对各恶意代码转换后的灰度图进行特征提取,得到每个所述恶意代码的特征。
具体的,可将恶意代码转换后的灰度图依次输入到已训练好的家族聚类神经网络,进而将该家族聚类神经网络最后一层隐藏层的输出确定为该目标恶意代码的特征。
本实施例提供的方法,通过将家族聚类神经网络设置为卷积神经网络,这样,可准确识别经过混淆处理或加密处理的恶意代码,可进一步提高准确性。
下面给出一个更具体的实施例,用以详细介绍本申请的具体实现过程。图7为本申请一示例性实施例示出的恶意代码家族聚类方法的流程图。请参照图7,本实施例提供的方法,可以包括:
S701、针对类型相同的多个恶意代码,将每个所述恶意代码转换为灰度图。
S702、采用指定图像聚类算法对多个所述灰度图进行家族聚类,得到第一聚类结果。
S703、针对所述第一聚类结果中的每个族类,为该族类中的恶意代码分配相同的标签,其中,不同族类中的恶意代码的标签不同。
S704、构建家族聚类神经网络,其中,所述家族聚类神经网络为卷积神经网络,所述家族聚类神经网络的输出层神经元数量可变,且所述输出层神经元数量的初始值等于所述第一聚类结果包含的族类的数量。
S705、将所述恶意代码作为样本训练所述家族聚类神经网络。
S706、利用训练完成的家族聚类神经网络对各恶意代码转换后的灰度图进行特征提取,得到每个所述恶意代码的特征。
S707、基于所述恶意代码的特征对所述恶意代码进行聚类,得到第二聚类结果。
S708、判断所述第二聚类结果和上一次聚类结果之间的差异是否满足收敛条件,若是,执行步骤S709,若否,执行步骤S710。
S709、将所述第二聚类结果确定为所述多个恶意代码的家族聚类结果,并确定所述家族聚类结果中的每个族类的中心恶意代码,以及将每个族类的所述中心恶意代码的特征确定为该族类的族谱基因。
S710、针对所述第二聚类结果中的每个族类,将该族类中的恶意代码的标签更新为相同的标签;其中,不同族类中的恶意代码的标签不同。
S711、将所述家族聚类神经网络的输出层神经元数量更新为所述第二聚类结果包含的族类的数量,再次执行步骤S705。
以上各步骤的具体实现原理和实现过程可以参见前面实施例中的描述,此处不再赘述。
本实施例提供的方法,不仅可在无先验信息的情况下,准确的识别出来自同一家族的恶意代码,还可以获得每个家族的族谱基因,以为后续恶意代码识别提供基础。
与前述恶意代码家族聚类方法的实施例相对应,本申请还提供了恶意代码家族聚类装置的实施例。
本申请恶意代码家族聚类装置的实施例可以应用在计算机设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在计算机设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本申请一示例性实施例示出的恶意代码家族聚类装置所在计算机设备的硬件结构图,除了图8所示的存储器810、处理器820、内存830和网络接口840之外,实施例中装置所在的计算机设备通常根据该恶意代码家族聚类装置的实际功能,还可以包括其他硬件,对此不再赘述。
图9为本申请提供的恶意代码家族聚类装置实施例一的结构示意图。请参照图9,本实施例提供的装置,可以包括处理模块910、分配模块920、训练模块930、提取模块940、判断模块950和确定模块960,其中,
所述处理模块910,用于对多个恶意代码进行家族聚类,得到第一聚类结果;
所述分配模块920,用于针对所述第一聚类结果中的每个族类,为该族类中的恶意代码分配相同的标签,其中,不同族类中的恶意代码的标签不同;
所述训练模块930,用于将所述恶意代码作为样本训练家族聚类神经网络;其中,所述家族聚类神经网络的输出层神经元数量等于所述样本包含的类别数量;
所述提取模块940,用于利用已训练完成的家族聚类神经网络对各恶意代码进行特征提取,得到每个所述恶意代码的特征;
所述处理模块910,还用于基于所述恶意代码的特征对所述恶意代码进行聚类,得到第二聚类结果;
所述判断模块950,用于判断所述第二聚类结果和上一次聚类结果之间的差异是否满足收敛条件;
所述确定模块960,用于在所述判断模块950判断所述第二聚类结果和上一次聚类结果之间的差异满足收敛条件时,将所述第二聚类结果确定为所述多个恶意代码的家族聚类结果。
本实施例的装置,可用于执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
进一步地,所述分配模块920,还用于在所述第二聚类结果和上一次聚类结果之间的差异不满足收敛条件时,针对所述第二聚类结果中的每个族类,将该族类中的恶意代码的标签更新为相同的标签,
所述训练模块930,还用于再次执行将所述恶意代码作为样本训练家族聚类神经网络的步骤;
其中,不同族类中的恶意代码的标签不同。
进一步地,所述确定模块960,还用于在得到所述多个恶意代码的家族聚类结果之后,针对所述家族聚类结果中的每个族类,确定该族类的中心恶意代码,并将所述中心恶意代码的特征确定为该族类的族谱基因;其中,所述中心恶意代码为该族类的聚类中心。
进一步地,所述多个恶意代码的类型相同。
进一步地,所述处理模块910,还用于在得到多个恶意代码的家族聚类结果之后,汇总各个类型的家族聚类结果,得到若干恶意代码族类,并根据所述恶意代码族类的族谱基因对所述若干恶意代码族类进行家族聚类,得到跨类型恶意代码聚类结果。
进一步地,所述家族聚类神经网络为卷积神经网络,所述提取模块940,具体用于:
将每个所述恶意代码转换为灰度图;
利用已训练完成的家族聚类神经网络对各恶意代码转换后的灰度图进行特征提取,得到每个所述恶意代码的特征。
本申请还提供一种计算机存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本申请提供的任一恶意代码家族聚类方法的步骤。
具体的,适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。
请继续参照图8,本申请还提供一种计算机设备,包括存储器810、处理器820及存储在存储器810上并可在处理器820上运行的计算机程序,所述处理器820执行所述程序时实现本申请提供的任一恶意代码家族聚类方法的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种恶意代码家族聚类方法,其特征在于,所述方法包括:
对多个恶意代码进行家族聚类,得到第一聚类结果;
针对所述第一聚类结果中的每个族类,为该族类中的恶意代码分配相同的标签;其中,不同族类中的恶意代码的标签不同;
将所述恶意代码作为样本训练家族聚类神经网络;其中,所述家族聚类神经网络的输出层神经元数量等于所述样本包含的类别数量;
利用已训练完成的家族聚类神经网络对各恶意代码进行特征提取,得到每个所述恶意代码的特征;
基于所述恶意代码的特征对所述恶意代码进行聚类,得到第二聚类结果;
判断所述第二聚类结果和上一次聚类结果之间的差异是否满足收敛条件;
若是,将所述第二聚类结果确定为所述多个恶意代码的家族聚类结果。
2.根据权利要求1所述的方法,其特征在于,若所述第二聚类结果和上一次聚类结果之间的差异不满足收敛条件,所述方法还包括:
针对所述第二聚类结果中的每个族类,将该族类中的恶意代码的标签更新为相同的标签,并再次执行将所述恶意代码作为样本训练家族聚类神经网络的步骤;
其中,不同族类中的恶意代码的标签不同。
3.根据权利要求1所述的方法,其特征在于,在得到所述多个恶意代码的家族聚类结果之后,所述方法还包括:
针对所述家族聚类结果中的每个族类,确定该族类的中心恶意代码;其中,所述中心恶意代码为该族类的聚类中心;
将所述中心恶意代码的特征确定为该族类的族谱基因。
4.根据权利要求1所述的方法,其特征在于,所述多个恶意代码的类型相同。
5.根据权利要求4所述的方法,其特征在于,在得到多个恶意代码的家族聚类结果之后,所述方法还包括:
汇总各个类型的家族聚类结果,得到若干恶意代码族类;
根据所述恶意代码族类的族谱基因对所述若干恶意代码族类进行家族聚类,得到跨类型恶意代码聚类结果。
6.根据权利要求1所述的方法,其特征在于,所述家族聚类神经网络为卷积神经网络,所述利用已训练完成的家族聚类神经网络对各恶意代码进行特征提取,得到每个所述恶意代码的特征,包括:
将每个所述恶意代码转换为灰度图;
利用已训练完成的家族聚类神经网络对各恶意代码转换后的灰度图进行特征提取,得到每个所述恶意代码的特征。
7.一种恶意代码家族聚类装置,其特征在于,所述装置包括处理模块、分配模块、训练模块、提取模块、判断模块和确定模块,其中,
所述处理模块,用于对多个恶意代码进行家族聚类,得到第一聚类结果;
所述分配模块,用于针对所述第一聚类结果中的每个族类,为该族类中的恶意代码分配相同的标签;其中,不同族类中的恶意代码的标签不同;
所述训练模块,用于将所述恶意代码作为样本训练家族聚类神经网络;其中,所述家族聚类神经网络的输出层神经元数量等于所述样本包含的类别数量;
所述提取模块,用于利用已训练完成的家族聚类神经网络对各恶意代码进行特征提取,得到每个所述恶意代码的特征;
所述处理模块,还用于基于所述恶意代码的特征对所述恶意代码进行聚类,得到第二聚类结果;
所述判断模块,用于判断所述第二聚类结果和上一次聚类结果之间的差异是否满足收敛条件;
所述确定模块,用于在所述判断模块判断所述第二聚类结果和上一次聚类结果之间的差异满足收敛条件时,将所述第二聚类结果确定为所述多个恶意代码的家族聚类结果。
8.根据权利要求7所述的装置,其特征在于,所述分配模块,还用于在所述第二聚类结果和上一次聚类结果之间的差异不满足收敛条件时,针对所述第二聚类结果中的每个族类,将该族类中的恶意代码的标签更新为相同的标签,
所述训练模块,还用于再次执行将所述恶意代码作为样本训练家族聚类神经网络的步骤;
其中,不同族类中的恶意代码的标签不同。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现本申请提供的任一恶意代码家族聚类方法的步骤。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现本申请提供的任一恶意代码家族聚类方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010494960.3A CN111783088B (zh) | 2020-06-03 | 2020-06-03 | 一种恶意代码家族聚类方法、装置和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010494960.3A CN111783088B (zh) | 2020-06-03 | 2020-06-03 | 一种恶意代码家族聚类方法、装置和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111783088A true CN111783088A (zh) | 2020-10-16 |
CN111783088B CN111783088B (zh) | 2023-04-28 |
Family
ID=72753393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010494960.3A Active CN111783088B (zh) | 2020-06-03 | 2020-06-03 | 一种恶意代码家族聚类方法、装置和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111783088B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836534A (zh) * | 2021-09-28 | 2021-12-24 | 深信服科技股份有限公司 | 一种病毒家族识别方法、系统、设备及计算机存储介质 |
CN114254319A (zh) * | 2021-12-13 | 2022-03-29 | 安天科技集团股份有限公司 | 网络病毒的识别方法、装置、计算机设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392019A (zh) * | 2017-07-05 | 2017-11-24 | 北京金睛云华科技有限公司 | 一种恶意代码家族的训练和检测方法及装置 |
CN108717512A (zh) * | 2018-05-16 | 2018-10-30 | 中国人民解放军陆军炮兵防空兵学院郑州校区 | 一种基于卷积神经网络的恶意代码分类方法 |
CN109165688A (zh) * | 2018-08-28 | 2019-01-08 | 暨南大学 | 一种安卓恶意软件家族分类器构建方法及其分类方法 |
CN109600394A (zh) * | 2019-01-19 | 2019-04-09 | 郑州轻工业学院 | 一种基于深度学习的http隧道木马检测方法 |
US20190163904A1 (en) * | 2017-05-24 | 2019-05-30 | Estsecurity Corp. | Apparatus for detecting variants of malicious code based on neural network learning, method therefor and computer readable recording medium storing program for performing the method |
CN110347835A (zh) * | 2019-07-11 | 2019-10-18 | 招商局金融科技有限公司 | 文本聚类方法、电子装置及存储介质 |
CN110704842A (zh) * | 2019-09-27 | 2020-01-17 | 山东理工大学 | 一种恶意代码家族分类检测方法 |
-
2020
- 2020-06-03 CN CN202010494960.3A patent/CN111783088B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190163904A1 (en) * | 2017-05-24 | 2019-05-30 | Estsecurity Corp. | Apparatus for detecting variants of malicious code based on neural network learning, method therefor and computer readable recording medium storing program for performing the method |
CN107392019A (zh) * | 2017-07-05 | 2017-11-24 | 北京金睛云华科技有限公司 | 一种恶意代码家族的训练和检测方法及装置 |
CN108717512A (zh) * | 2018-05-16 | 2018-10-30 | 中国人民解放军陆军炮兵防空兵学院郑州校区 | 一种基于卷积神经网络的恶意代码分类方法 |
CN109165688A (zh) * | 2018-08-28 | 2019-01-08 | 暨南大学 | 一种安卓恶意软件家族分类器构建方法及其分类方法 |
CN109600394A (zh) * | 2019-01-19 | 2019-04-09 | 郑州轻工业学院 | 一种基于深度学习的http隧道木马检测方法 |
CN110347835A (zh) * | 2019-07-11 | 2019-10-18 | 招商局金融科技有限公司 | 文本聚类方法、电子装置及存储介质 |
CN110704842A (zh) * | 2019-09-27 | 2020-01-17 | 山东理工大学 | 一种恶意代码家族分类检测方法 |
Non-Patent Citations (4)
Title |
---|
SHUN-WEN HSIAO等: "Malware Family Characterization with Recurrent Neural Network and GHSOM Using System Calls" * |
尹传龙: "基于深度学习的网络异常检测技术研究" * |
谭天等: "云计算安全问题研究" * |
谭天等: "基于时域卷积神经网络的网络异常检测" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836534A (zh) * | 2021-09-28 | 2021-12-24 | 深信服科技股份有限公司 | 一种病毒家族识别方法、系统、设备及计算机存储介质 |
CN113836534B (zh) * | 2021-09-28 | 2024-04-12 | 深信服科技股份有限公司 | 一种病毒家族识别方法、系统、设备及计算机存储介质 |
CN114254319A (zh) * | 2021-12-13 | 2022-03-29 | 安天科技集团股份有限公司 | 网络病毒的识别方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111783088B (zh) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111553399A (zh) | 特征模型训练方法、装置、设备及存储介质 | |
CN114787876A (zh) | 用于图像预处理的系统和方法 | |
JP7414901B2 (ja) | 生体検出モデルのトレーニング方法及び装置、生体検出の方法及び装置、電子機器、記憶媒体、並びにコンピュータプログラム | |
EP3317823A1 (en) | Method and apparatus for large scale machine learning | |
CN109918498B (zh) | 一种问题入库方法和装置 | |
CN109033833B (zh) | 一种基于多特征与特征选择的恶意代码分类方法 | |
US20220230648A1 (en) | Method, system, and non-transitory computer readable record medium for speaker diarization combined with speaker identification | |
CN110929525B (zh) | 一种网贷风险行为分析检测方法、装置、设备和存储介质 | |
US20220383157A1 (en) | Interpretable machine learning for data at scale | |
CN111783088B (zh) | 一种恶意代码家族聚类方法、装置和计算机设备 | |
Lamba et al. | Feature Selection of Micro-array expression data (FSM)-A Review | |
WO2014118978A1 (ja) | 学習方法、情報処理装置および学習プログラム | |
Kouchaki et al. | A signal processing method for alignment-free metagenomic binning: multi-resolution genomic binary patterns | |
KR20220116111A (ko) | 인공 신경망의 추론 데이터에 대한 신뢰도를 판단하는 방법 | |
CN111488574B (zh) | 恶意软件分类方法、系统、计算机设备和存储介质 | |
CN111491300A (zh) | 风险检测方法、装置、设备及存储介质 | |
US20220171815A1 (en) | System and method for generating filters for k-mismatch search | |
US20230177251A1 (en) | Method, device, and system for analyzing unstructured document | |
CN112651590B (zh) | 一种指令处理流程推荐的方法 | |
CN110059180B (zh) | 文章作者身份识别及评估模型训练方法、装置及存储介质 | |
CN113869398A (zh) | 一种不平衡文本分类方法、装置、设备及存储介质 | |
CN112149566A (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
CN112507912A (zh) | 一种识别违规图片的方法及装置 | |
CN113971984A (zh) | 分类模型构建方法及装置、电子设备、存储介质 | |
KR102491451B1 (ko) | 심층 신경망 기반의 악성코드 탐지 분류체계의 유사도를 반영하는 시그니처 생성 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |