CN112001423A - Apt恶意软件组织的开集识别方法、装置、设备和介质 - Google Patents

Apt恶意软件组织的开集识别方法、装置、设备和介质 Download PDF

Info

Publication number
CN112001423A
CN112001423A CN202010741373.XA CN202010741373A CN112001423A CN 112001423 A CN112001423 A CN 112001423A CN 202010741373 A CN202010741373 A CN 202010741373A CN 112001423 A CN112001423 A CN 112001423A
Authority
CN
China
Prior art keywords
model
classification
vector
test sample
sample
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
Application number
CN202010741373.XA
Other languages
English (en)
Other versions
CN112001423B (zh
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.)
Jinan University
Original Assignee
Jinan University
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 Jinan University filed Critical Jinan University
Priority to CN202010741373.XA priority Critical patent/CN112001423B/zh
Publication of CN112001423A publication Critical patent/CN112001423A/zh
Application granted granted Critical
Publication of CN112001423B publication Critical patent/CN112001423B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开APT恶意软件组织的开集识别方法、装置、设备和介质,首先获取训练样本,将多粒度扫描结构的输出分别作为级联森林分类结构和卷积神经网络的输入,通过训练样本训练得到多粒度扫描模型、级联森林分类模型和卷积神经网络模型;将测试样本的特征向量输入到多粒度扫描模型,多粒度扫描模型输出的一次表征向量分别输入级联森林分类模型以及卷积神经网络模型,得到测试样本的预分类组织结果和二次表征向量,结合测试样本的预分类组织和二次表征向量,得到测试样本开集识别结果。本发明能够在开集环境中即对隶属于之前出现过的组织类别的恶意样本进行准确分类到旧组织中,对从未出现过的组织类别的样本,也能够准确的识别出来。

Description

APT恶意软件组织的开集识别方法、装置、设备和介质
技术领域
本发明属于软件安全技术领域,涉及一种在开集环境中识别APT恶意软件组织的方法,具体涉及一种APT恶意软件组织的开集识别方法、装置、设备和介质。
背景技术
网络攻击利用安全漏洞或缺陷,针对计算机基础设施或计算机网络进行恶意侵犯。主动攻击方通过多种多样的攻击方式,可导致攻击目标功能遭受修改或瘫痪,也可导致其信息和数据被盗取,使得系统、网络和信息安全都受到严重威胁。其中,高级持续性威胁(Advanced Persistent Threat,APT)作为一种特殊的高级网络攻击类型备受瞩目。APT攻击采用先进的攻击方式,使得它比普通恶意软件的检测难度更大,并且作为一种攻击目标明确的针对性攻击,通常具有持续时间长、破坏力强的特点。
APT组织长期对攻击目标进行资料收集和策划,再发起多次攻击,比起普通网络攻击更具隐匿性、针对性和持续性。这种攻击往往是由有组织性的团队发起,具有一定背景等。APT组织通过向目标进行网络攻击,破坏对方基础设施,导致其遭受巨大损失,或窃取其重要的信息,例如国家机密、军事秘密或商业数据。腾讯威胁情报中心在全球APT 2019年研究报告中称,中国依然是APT攻击的主要受害国,且所受攻击来自全球各个方向,面对的网络安全形势更加严峻。
面对APT攻击,一方面要争取在攻击链前端就及时做好防御措施,保护被攻击目标对象的安全;另一方面,安全研究者需致力于对APT组织进行追踪溯源。例如,在APT攻击的入侵期,攻击者通常会利用漏洞植入各种恶意软件。通过分析同一组织发起的恶意软件,配合威胁情报和日志分析等信息,能及时对APT组织攻击进行积极防御,甚至能找到攻击源头。近年来,大量的APT恶意软件被具有一定组织背景的攻击者利用,针对APT攻击的溯源工作越来越重要。
针对此背景,很有必要对所捕获的APT恶意软件的样本进行组织分类,以震慑攻击者并有助于制定防御措施。在实际网络环境中,APT攻击组织数目较多,被检测为隶属于APT组织的恶意软件难以通过传统基于闭集假设的有监督学习方法进行分类,即假设所有待测样本的类别都是在训练过程中已见过的组织类别,因此对于一些新组织的APT恶意软件,将会出现误判现象。
发明内容
本发明的第一目的在于克服现有技术的缺点与不足,提供一种APT恶意软件组织的开集识别方法,该方法能够在开集环境中识别恶意软件所属的APT组织,即对隶属于之前出现过的组织类别(旧组织)的恶意样本进行准确分类到旧组织中,对从未出现过的组织类别(新组织)的样本,也能够准确的识别出来。
本发明的第二目的在于提供一种APT恶意软件组织的开集识别装置。
本发明的第三目的在于提供一种计算设备。
本发明的第四目的在于提供一种存储介质。
本发明的第一目的通过下述技术方案实现:一种APT恶意软件组织的开集识别方法,其特征在于,包括:
获取各种旧组织的APT恶意软件,作为训练样本;
提取各训练样本的静态特征,得到训练样本的特征向量;
将深度森林中多粒度扫描结构的输出分别作为深度森林的级联森林分类结构和卷积神经网络的输入,然后通过训练样本进行训练,得到多粒度扫描模型、级联森林分类模型以及卷积神经网络模型;
将需要识别的APT恶意软件作为测试样本;
提取测试样本的静态特征,得到测试样本的特征向量;
将测试样本的特征向量输入到多粒度扫描模型,得到测试样本的一次表征向量;
将测试样本的一次表征向量分别输入到级联森林分类模型和卷积神经网络模型,由级联森林分类模型输出预分类组织,由卷积神经网络模型得到测试样本的二次表征向量;
结合测试样本的预分类组织和测试样本的二次表征向量,得到测试样本开集识别结果。
优选的,对多粒度扫描结构、级联森林分类结构以及卷积神经网络进行训练的过程具体如下:
首先训练深度森林的多粒度扫描结构和级联森林分类结构,得到多粒度扫描模型和级联森林分类模型,如下:
将各训练样本的特征向量作为多粒度扫描结构的输入,将各训练样本所属旧组织作为级联森林分类结构的标签,对多粒度扫描结构和级联森林分类结构进行训练,得到多粒度扫描模型和级联森林分类模型;
其中,训练过程中,训练样本的特征向量输入多粒度扫描结构后,由多粒度扫描结构输出的训练样本一次表征向量,作为级联森林分类结构的输入;
然后训练卷积神经网络,如下:
将各训练样本输入到多粒度扫描模型中,由多粒度扫描模型输出训练样本的一次表征向量;
将训练后的多粒度扫描模型输出的各训练样本的一次表征向量,作为卷积神经网络的输入,将各训练样本所属旧组织作为卷积神经网络的标签,对卷积神经网络进行训练,得到卷积神经网络模型。
优选的,在卷积神经网络训练时,通过卷积神经网络获取到同个旧组织的训练样本的二次表征向量;针对于各旧组织,求取该旧组织的训练样本的二次表征向量平均值,作为该旧组织的中心点向量。
更进一步的,在测试样本开集识别过程中:当卷积神经网络模型获取到测试样本的二次表征向量时,首先计算测试样本的二次表征向量与测试样本的预分类组织的中心点向量之间的余弦距离d,若d小于等于阈值,则测试样本的预分类组织作为测试样本的所属组织;否则,将测试样本判定为属于新组织。
优选的,多粒度扫描结构和多粒度扫描模型,针对于输入的样本的特征向量,依次进行窗口扫描、模型计算、池化计算和拼接计算后,对应得到训练样本或测试样本的一次表征向量;具体如下:
窗口扫描:采用多个不同维度大小的窗口,分别对输入的特征向量进行滑动,每次滑动都将扫描到一组与窗口大小相同的特征向量组合;
模型计算:将每个窗口扫描得到的每一组特征向量组合,输入到两个不同的随机森林模型中,每个随机森林模型分别输出该组特征向量组合所对应的分类概率得分;
池化计算:针对于同个窗口扫描到的多组特征向量组合,通过模型计算分别对应得到多组分类概率得分后,将多组分类概率得分向量进行规定步长的平均池化计算,输出池化结果向量;
连接计算:将所有经过池化计算后的结果向量,以首尾拼接的形式连接成一个长向量,该长向量表示多粒度扫描模型输入样本的一次表征向量;
上述输入的样本的特征向量指的是训练样本或测试样本的特征向量。
优选的,所述级联森林分类结构的每级森林模型分类器包括极度随机树和随机森林模型;
级联森林分类的具体工作过程如下:
将多粒度扫描输出的样本的一次表征向量输入到级联森林的第一级,即输入到级联森林第一级的极度随机树和随机森林模型中,输出的多分类概率得分将作为增强特征;
将上一级增强特征联结样本的一次表征向量,成为下一级极度随机树和随机森林模型的输入,以此类推,之后每一级的输出的多分类概率得分均与样本的一次表征向量结果拼接,输入到下一级中,直到最后一级;
获取级联森林最后一级分别产生的两个分类概率得分向量,分别对应为最后一级极度随机树和随机森林模型的分类结果;
计算级联森林最后一级两个分类概率得分向量的平均向量,此输出平均向量的每一维代表样本属于某个旧组织的概率得分,其中最大值所对应的旧组织作为样本的预分类组织结果。
优选的,卷积神经网络包括多个卷积层和两个全连接层;
其中,卷积神经网络倒数第二层全连接层的输出结果作为样本的二次表征向量。
本发明的第二目的通过下述技术方案实现:一种APT恶意软件组织的开集识别装置,包括:
第一获取模块,用于获取各旧组织的APT恶意软件,作为训练样本;
第一特征提取模块,用于针对各训练样本提取静态特征,得到训练样本的特征向量;
训练模块,用于将深度森林中多粒度扫描结构的输出分别作为深度森林的级联森林分类结构和卷积神经网络的输入,然后通过训练样本进行训练,得到多粒度扫描模型、级联森林分类模型以及卷积神经网络模型;
第二获取模块,用于将需要识别的APT恶意软件作为测试样本;
第二特征提取模块,用于提取测试样本的静态特征,得到测试样本的特征向量;
表征向量获取模块,用于将测试样本的特征向量输入到多粒度扫描模型,得到测试样本的一次表征向量;用于将测试样本的一次表征向量输入到卷积神经网络模型,由神经网络得到测试样本的二次表征向量;
预分类模块,用于将测试样本的一次表征向量输入到级联森林分类模型,由级联森林分类模型输出预分类组织;
结果判定模块,用于结合测试样本的预分类组织和测试样本的二次表征向量,得到测试样本开集识别结果。
本发明的第三目的通过下述技术方案实现:一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现本发明第一目的所述的APT恶意软件组织的开集识别方法。
本发明的第四目的通过下述技术方案实现:一种存储介质,存储有程序,所述程序被处理器执行时,实现本发明第一目的所述的APT恶意软件组织的开集识别方法。
本发明相对于现有技术具有如下的优点及效果:
(1)本发明APT恶意软件组织的开集识别方法,首先获取已知旧组织的APT恶意软件,作为训练样本,将多粒度扫描结构的输出分别作为级联森林分类结构和卷积神经网络的输入;通过训练样本训练后得到多粒度扫描模型、级联森林分类模型以及卷积神经网络模型;将测试样本的特征向量输入到多粒度扫描模型,由多粒度扫描模型输出的一次表征向量分别输入到级联森林分类模型以及卷积神经网络模型,分别对应得到测试样本的预分类组织结果和二次表征向量,最终结合测试样本的预分类组织和二次表征向量,得到测试样本开集识别结果。由上述可知,本发明结合了机器学习的深度森林模型和深度学习的卷积神经网络各自的优势,联合对APT恶意软件组织进行开集识别;其中通过深度森林的多粒度扫描对样本量较少的APT组织软件进行有效一次表征,通过级联森林进行有效预分类,而卷积神经网络起到二次表征,本发明在恶意软件组织上进行开集识别,不同于以往的闭集分类问题,更符合网络空间的真实情况,并且使得APT恶意软件组织的识别准确率更高,因此更具有现实应用的发明意义。克服了现有技术中由于APT恶意软件组织的样本量相对较小,不适用于直接进行深度学习分类的技术问题。
(2)本发明APT恶意软件组织的开集识别方法中,针对于获取到的多粒度扫描结构、级联森林分类结构以及卷积神经网络,首先通过训练样本训练多粒度扫描结构、级联森林分类结构,从而得到多粒度扫描模型、级联森林分类模型;然后将训练样本的特征向量输入到训练后的多粒度扫描模型,基于训练后的多粒度扫描模型输出的训练样本的一次表征向量对卷积神经网络进行训练,得到卷积神经网络模型,上述训练方式能够大大提高卷积神经网络模型的识别精度,从而提高APT恶意软件组织识别的准确率。
(3)本发明APT恶意软件组织的开集识别方法中,在卷积神经网络训练时,通过卷积神经网络获取到同个旧组织的训练样本的二次表征向量;针对于各旧组织,求取该旧组织的训练样本的二次表征向量平均值,作为该旧组织的中心点向量;在测试样本开集识别过程中:当卷积神经网络模型获取到测试样本的二次表征向量时,首先计算测试样本的二次表征向量与测试样本的预分类组织的中心点向量之间的余弦距离d,若d小于等于阈值,则测试样本的预分类组织作为测试样本的所属组织;否则,将测试样本判定为属于新组织。由上述可见,本发明方法能够在开集环境中识别恶意软件所属的APT组织,即对隶属于之前出现过的组织类别(旧组织)的恶意样本进行准确分类到旧组织中,对从未出现过的组织类别(新组织)的样本,也能够准确的识别出来。在本发明中,通过卷积神经网络输出的二次表征向量能够聚集旧组织中样本,使得新组织样本的二次表征远离所有旧组织样本的二次表征中心,而同一个旧组织的样本二次表征能够向其对应旧组织的中心聚拢,进一步提高新组织识别的准确率。
附图说明
图1是本发明方法的流程图。
图2是本发明方法中测试样本组织识别原理图。
图3是本发明方法中深度森林的多粒度扫描结构的架构图。
图4是本发明方法中多粒度扫描的计算过程示意图。
图5是本发明方法中深度森林的级联森林结构的架构图。
图6是本发明方法中卷积神经网络的架构图。
图7是本发明装置的结构框图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
本实施例公开了一种APT恶意软件组织的开集识别方法,通过该方法能够识别能识别APT恶意软件隶属于新组织或旧组织,并且能将识别为旧组织的APT恶意软件准确分类到所属APT组织当中。该方法如图1和2中所示,包括如下步骤:
S101、获取各种旧组织的APT恶意软件,作为训练样本,即训练样本为已知所属组织的样本。
S102、提取各训练样本的静态特征,并且转换为特征向量,得到训练样本的特征向量。
在本实施例中,训练样本的静态特征包括通用文件信息、PE头部信息、节信息、字符串、导入函数、导出函数、字节直方图和字节熵的直方图。上述八种静态特征中,字节直方图和字节熵的直方图、字符串特征、PE头部信息等多为统计数值;节信息特征既包含了大小、熵等数值,也包含了区段名称、属性等字符串;导入和导出函数都是库名称或函数名称等字符串形式;通用文件信息中还包含了布尔值信息。因此,特征主要包含数值型、布尔值型和字符串形式。其中,布尔值特征和经过归一化后的数值特征,可直接连接为向量,字符串特征采用特征散列的方式转换成向量,然后再将每部分向量拼接,最终每个恶意软件代码提取的不同形式的静态特征转换为向量表示,向量大小为2351维。
S103、获取构建的深度森林的多粒度扫描结构和级联森林分类结构,获取构建的卷积神经网络;其中多粒度扫描结构的输出连接到级联森林分类结构和卷积神经网络的输入,即多粒度扫描结构的输出分别作为级联森林分类结构和卷积神经网络的输入。
在本实施例中,将各训练样本的特征向量作为多粒度扫描结构的输入,对多粒度扫描结构、级联森林分类结构以及卷积神经网络进行训练,得到多粒度扫描模型、级联森林分类模型以及卷积神经网络模型;其中,训练样本的特征向量输入多粒度扫描结构,得到训练样本的一次表征向量,训练样本的一次表征向量作为级联森林分类结构和卷积神经网络的输入,级联森林分类结构输出为组织分类结果,通过卷积神经网络能够到训练样本的二次表征向量。
在本实施例中,对多粒度扫描结构、级联森林分类结构以及卷积神经网络进行训练的过程具体如下:
S1031、首先训练深度森林的多粒度扫描结构和级联森林分类结构,得到多粒度扫描模型和级联森林分类模型,如下:
S1032、将各训练样本的特征向量作为多粒度扫描结构的输入,将各训练样本所属旧组织作为级联森林分类结构的标签,对多粒度扫描结构和级联森林分类结构进行训练,得到多粒度扫描模型和级联森林分类模型;其中,训练过程中,训练样本的特征向量输入多粒度扫描结构后,由多粒度扫描结构输出的训练样本一次表征向量,作为级联森林分类结构的输入;
S1033、然后训练卷积神经网络,如下:
将各训练样本输入到多粒度扫描模型中,由多粒度扫描模型输出训练样本的一次表征向量;
S1034、将训练后的多粒度扫描模型输出的各训练样本的一次表征向量,作为卷积神经网络的输入,将各训练样本所属旧组织作为卷积神经网络的标签,对卷积神经网络进行训练,得到卷积神经网络模型。
本步骤中,在卷积神经网络训练时,通过卷积神经网络获取到同个旧组织的训练样本的二次表征向量;针对于各旧组织,求取该旧组织的所有训练样本的二次表征向量平均值,作为该旧组织的中心点向量。
S104、将需要识别的APT恶意软件作为测试样本。
S105、提取测试样本的静态特征,并且转换为特征向量,得到测试样本的特征向量。
在本实施例中,和步骤S103一致,测试样本的静态特征包括通用文件信息、PE头部信息、节信息、字符串、导入函数、导出函数、字节直方图和字节熵的直方图。
S106、将测试样本的特征向量输入到多粒度扫描模型,得到测试样本的一次表征向量。
S107、将测试样本的一次表征向量分别输入到级联森林分类模型和卷积神经网络模型,由级联森林分类模型输出测试样本的预分类组织,由卷积神经网络模型得到测试样本的二次表征向量。
S108、结合测试样本的预分类组织和测试样本的二次表征向量进行识别结果判定,得到测试样本开集识别结果。具体为:
当卷积神经网络模型获取到测试样本的二次表征向量时,首先计算测试样本的二次表征向量与测试样本的预分类组织(即级联森林分类模型判定出的对应所属的旧组织)的中心点向量之间的余弦距离d,若d小于等于阈值,则说明在级联森林分类模型中得到的预分类结果是可靠的,将测试样本的预分类组织作为测试样本的所属组织,例如对应旧组织1、旧组织2,…,旧组织n;若d大于阈值,则说明测试样本并没有向最相似旧组织的中心点靠拢,测试样本应属于新组织,因此将测试样本判定为属于新组织。
上述阈值的设定上述阈值可以根据实际需求和任务进行设定,例如可以根据最大化查准率或最大化召回率的要求进行设定,具体需要模型使用者对预期的旧组织分类效果和新组织识别效果进行权衡;例如设置为较大阈值,尽可能不要将任何一个旧组织样本错判到新组织当中,即最大化新组织识别的查准率;或者设置为较小阈值,尽可能不要在任何旧组织当中混入新组织样本,即最大化新组织识别的召回率。
测试样本的二次表征向量与测试样本的预分类组织的中心点向量之间的余弦距离d为:
Figure BDA0002606859730000081
其中A是测试样本的二次表征向量,B是测试样本的预分类组织的中心点向量。
在本实施例中,如图3所示,多粒度扫描结构中包括窗口扫描、模型计算、池化计算和拼接计算的过程,上述多粒度扫描结构和多粒度扫描模型,针对于输入的样本的特征向量,依次进行窗口扫描、模型计算、池化计算和拼接计算后,对应得到训练样本或测试样本的一次表征向量;如图4所示,具体如下:
S201、窗口扫描:采用多个不同维度大小的窗口,分别对输入的特征向量进行滑动,每次滑动都将扫描到一组与窗口大小相同的特征向量组合;在本实施例中,可以选择三个不同维度大小的窗口,三个窗口的尺寸可以分别为10、20、30维。
S202、模型计算:将每个窗口扫描得到的每一组特征向量组合,输入到两个不同的随机森林模型中,每个随机森林模型分别输出该组特征向量组合所对应的分类概率得分。其中图3和图4中,Forest_A和Forest_B即为两个不同的随机森林模型。
S203、池化计算:针对于同个窗口扫描到的多组特征向量组合,通过模型计算分别对应得到多组分类概率得分后,将多组分类概率得分向量进行规定步长的平均池化计算,输出池化结果向量;
S204、连接计算:将所有经过池化计算后的结果向量,以首尾拼接的形式连接成一个长向量,该长向量表示多粒度扫描模型输入样本的一次表征向量。
上述输入的样本的特征向量指的是训练样本或测试样本的特征向量。其中当多粒度扫描结构本身在训练过程中时,输入的是训练样本的特征向量,通过训练样本训练后得到多粒度扫描模型。当针对卷积神经网络进行训练时,由训练得到的多粒度扫描模型输入训练样本的特征向量,通过多粒度扫描模型输出的训练样本的一次表征向量对卷积神经网络进行训练,以训练得到卷积神经网络模型。
在本实施例中,当得到的训练样本、测试样本的特征向量为2351维时,各训练样本的特征向量,经过上述窗口扫描、模型计算、池化计算和拼接计算后,最终拼接形成一个31500维的一次表征向量。
在本实施例中,获取的级联森林分类结构中,每级森林模型分类器包括极度随机树和随机森林模型,如图5中所示,Extratrees表示的是极度随机树,Random Forest表示的是随机森林。其中,级联森林的具体工作过程如下:
S301、将多粒度扫描输出的样本的一次表征向量输入到级联森林的第一级,即输入到第一级的极度随机树和随机森林模型中,输出的多分类概率得分将作为增强特征;
S302、将上一级增强特征联结样本的一次表征向量,成为下一级极度随机树和随机森林模型的输入,以此类推,之后每一级的输出的多分类概率得分均与样本的一次表征向量结果拼接,输入到下一级中,直到最后一级;
S303、获取级联森林最后一级分别产生的两个分类概率得分向量,分别对应为最后一级极度随机树和随机森林模型的分类结果;
S304、计算级联森林最后一级两个分类概率得分向量的平均向量,此输出平均向量的每一维代表样本属于某个旧组织的概率得分,其中最大值所对应的旧组织作为样本的预分类组织结果。
本实施例中,级联森林分类结构和级联森林模型通过上述过程工作,其中:
级联森林分类结构工作时,对应多粒度扫描结构输出的训练样本的一次表征向量输入到级联森林结构的第一级;此时是级联森林分类结构训练过程中的工作过程。
级联森林模型进行分类时,对应多粒度扫描模型输出的测试样本的一次表征向量输入到级联森林模型的第一级,此时是级联森林分类模型实际测试即分类过程中的工作过程。
在本实施例中,上述卷积神经网络包括多个卷积层和两个全连接层,如图6中所示,卷积层的个数可以为6,在卷积神经网络中,引入中心损失函数(center-loss)与交叉熵损失函数一起参与训练;其中,卷积神经网络倒数第二层全连接层的输出结作为样本的二次表征向量,卷积神经网络倒数第一层全连接层作为卷积神经网络的输出;在卷积神经网络训练过程中,将训练样本的标签作为卷积神经网络倒数第一层全连接层的输出,同时通过卷积神经网络倒数第二层全连接层获取到训练样本的二次表征向量;在卷积神经网络训练完成,即得到卷积神经网络模型后,通过卷积神经网络模型倒数第二层全连接层获取到测试样本的二次表征向量。
通过包含2865个带APT标签的PE恶意软件数据集,进行实验验证本发明上述方法效果,其中该数据集共含12个APT组织。具体的:在上述数据集中随机选出9个组织作为旧组织,其中样本参与训练和测试过程;剩下3个组织作为新组织,其所有的样本作为测试集使用。重复三次随机选取3个APT组织作为新组织的动作,建立三份新旧组织数目比例为9:3的数据集,每份数据集的旧组织都以十折交叉的方式划分训练集和测试集,最后以所有实验的测试样本输出结果的平均值作为本发明的最终评估结果。为了比较本发明方法与现有技术的分类结果,采用现有技术使用的以下评估度量指标:用于验证识别新组织和旧组织能力的AUC值,以及验证旧组织分类的正确率Accuracy、查准率Precision、召回率Recall和F1分数。本发明在此实验上得到的AUC平均值为95.34%,说明本发明方法能够有效地识别恶意软件新组织或旧组织。Accuracy的平均值为95.80%,Precision的平均值为95.99%,Recall的平均值为95.80%,F1分数的平均值为95.70%,说明本发明在旧组织上的分类效果良好。与现有技术的平均值相比,本发明所有评价指标效果均超过了现有技术的分类。
本领域技术人员可以理解,实现上述实施例1方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,相应的程序可以存储于计算机可读存储介质中。上述多粒度扫描结构、级联森林分类结构、卷积神经网络指的是实现相应功能的算法。
应当注意,尽管在附图中以特定顺序描述了上述实施例1的方法操作,但是这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
实施例2
本实施例公开了一种APT恶意软件组织的开集识别装置,如图7所示,该装置包括获取模块、第一特征提取模块、训练模块、中心点向量计算模块、第二获取模块、第二特征提取模块、表征向量获取模块、预分类模块和结果判定模块,各个模块的具体功能如下:
第一获取模块,用于获取各旧组织的APT恶意软件,作为训练样本;
第一特征提取模块,用于针对各训练样本提取静态特征,得到训练样本的特征向量;
训练模块,用于将深度森林中多粒度扫描结构的输出分别作为深度森林的级联森林分类结构和卷积神经网络的输入,然后通过训练样本进行训练,得到多粒度扫描模型、级联森林分类模型以及卷积神经网络模型;
第二获取模块,用于将需要识别的APT恶意软件作为测试样本;
第二特征提取模块,用于提取测试样本的静态特征,得到测试样本的特征向量;
表征向量获取模块,用于将测试样本的特征向量输入到多粒度扫描模型,得到测试样本的一次表征向量;用于将测试样本的一次表征向量输入到卷积神经网络模型,由神经网络得到测试样本的二次表征向量;
预分类模块,用于将测试样本的一次表征向量输入到级联森林分类模型,由级联森林分类模型输出预分类组织;
结果判定模块,用于结合测试样本的预分类组织和测试样本的二次表征向量,得到测试样本开集识别结果。
进一步的,上述训练模块包括第一训练模块、第二训练模块和中心点向量计算模块,其中:
第一训练模块,用于将各训练样本的特征向量作为多粒度扫描结构的输入,将各训练样本所属旧组织作为级联森林分类结构的标签,对多粒度扫描结构和级联森林分类结构进行训练,得到多粒度扫描模型和级联森林分类模型;其中,训练过程中,训练样本的特征向量输入多粒度扫描结构后,由多粒度扫描结构输出的训练样本一次表征向量,作为级联森林分类结构的输入。
第二训练模块,用于将各训练样本输入到多粒度扫描模型中,由多粒度扫描模型输出训练样本的一次表征向量;将训练后的多粒度扫描模型输出的各训练样本的一次表征向量,作为卷积神经网络的输入,将各训练样本所属旧组织作为卷积神经网络的标签,对卷积神经网络进行训练,得到卷积神经网络模型。
中心点向量计算模块,用于在卷积神经网络训练时,通过卷积神经网络获取到同个旧组织的训练样本的二次表征向量;针对于各旧组织,求取该旧组织的所有训练样本的二次表征向量平均值,作为该旧组织的中心点向量。
进一步的,上述结果判定模块包括余弦距离计算模块、比较模块和判定模块;其中:
余弦距离计算模块,用于在卷积神经网络模型获取到测试样本的二次表征向量时,计算测试样本的二次表征向量与测试样本的预分类组织(即级联森林分类模型判定出的对应所属的旧组织)的中心点向量之间的余弦距离d;
比较模块,用于余弦距离d与阈值进行比较;
判定模块,用于根据余弦距离d与阈值的大小对测试样本进行判定,其中,当d小于等于阈值时,将测试样本的预分类组织作为测试样本的所属组织;当d大于阈值,将测试样本判定为属于新组织。
本实施例中上述各个模块的具体实现可以参见上述实施例1,在此不再一一赘述。需要说明的是,本实施例中提供的装置仅以上述各功能模块的划分进行举例说明,在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
可以理解,本实施例的装置中所使用的术语“第一”、“第二”等可用于描述各种模块,但这些单元不受这些术语限制。这些术语仅用于将第一个模块与另一个模块区分。举例来说,在不脱离本发明的范围的情况下,可以将第一获取模块称为第二获取模块,且类似地,可将第二获取模块称为第一获取模块,第一获取模块和第二获取模块两者都是获取模块,但其不是同一获取模块。
实施例3
本实施例提供了一种存储介质,该存储介质为计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时,实现上述实施例1的APT恶意软件组织的开集识别方法,如下:
获取各种旧组织的APT恶意软件,作为训练样本;
提取各训练样本的静态特征,得到训练样本的特征向量;
将深度森林中多粒度扫描结构的输出分别作为深度森林的级联森林分类结构和卷积神经网络的输入,然后通过训练样本进行训练,得到多粒度扫描模型、级联森林分类模型以及卷积神经网络模型;
将需要识别的APT恶意软件作为测试样本;
提取测试样本的静态特征,得到测试样本的特征向量;
将测试样本的特征向量输入到多粒度扫描模型,得到测试样本的一次表征向量;
将测试样本的一次表征向量分别输入到级联森林分类模型和卷积神经网络模型,由级联森林分类模型输出预分类组织,由卷积神经网络模型得到测试样本的二次表征向量;
结合测试样本的预分类组织和测试样本的二次表征向量,得到测试样本开集识别结果。
上述实施例中的存储介质可以是磁盘、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、U盘、移动硬盘等介质。
实施例4
本实施例公开了一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现实施例1所示的APT恶意软件组织的开集识别方法,如下:
获取各种旧组织的APT恶意软件,作为训练样本;
提取各训练样本的静态特征,得到训练样本的特征向量;
将深度森林中多粒度扫描结构的输出分别作为深度森林的级联森林分类结构和卷积神经网络的输入,然后通过训练样本进行训练,得到多粒度扫描模型、级联森林分类模型以及卷积神经网络模型;
将需要识别的APT恶意软件作为测试样本;
提取测试样本的静态特征,得到测试样本的特征向量;
将测试样本的特征向量输入到多粒度扫描模型,得到测试样本的一次表征向量;
将测试样本的一次表征向量分别输入到级联森林分类模型和卷积神经网络模型,由级联森林分类模型输出预分类组织,由卷积神经网络模型得到测试样本的二次表征向量;
结合测试样本的预分类组织和测试样本的二次表征向量,得到测试样本开集识别结果。
在本实施例中,计算设备可以为台式电脑、笔记本电脑。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种APT恶意软件组织的开集识别方法,其特征在于,包括:
获取各种旧组织的APT恶意软件,作为训练样本;
提取各训练样本的静态特征,得到训练样本的特征向量;
将深度森林中多粒度扫描结构的输出分别作为深度森林的级联森林分类结构和卷积神经网络的输入,然后通过训练样本进行训练,得到多粒度扫描模型、级联森林分类模型以及卷积神经网络模型;
将需要识别的APT恶意软件作为测试样本;
提取测试样本的静态特征,得到测试样本的特征向量;
将测试样本的特征向量输入到多粒度扫描模型,得到测试样本的一次表征向量;
将测试样本的一次表征向量分别输入到级联森林分类模型和卷积神经网络模型,由级联森林分类模型输出预分类组织,由卷积神经网络模型得到测试样本的二次表征向量;
结合测试样本的预分类组织和测试样本的二次表征向量,得到测试样本开集识别结果。
2.根据权利要求1所述的APT恶意软件组织的开集识别方法,其特征在于,对多粒度扫描结构、级联森林分类结构以及卷积神经网络进行训练的过程具体如下:
首先训练深度森林的多粒度扫描结构和级联森林分类结构,得到多粒度扫描模型和级联森林分类模型,如下:
将各训练样本的特征向量作为多粒度扫描结构的输入,将各训练样本所属旧组织作为级联森林分类结构的标签,对多粒度扫描结构和级联森林分类结构进行训练,得到多粒度扫描模型和级联森林分类模型;
其中,训练过程中,训练样本的特征向量输入多粒度扫描结构后,由多粒度扫描结构输出的训练样本一次表征向量,作为级联森林分类结构的输入;
然后训练卷积神经网络,如下:
将各训练样本输入到多粒度扫描模型中,由多粒度扫描模型输出训练样本的一次表征向量;
将训练后的多粒度扫描模型输出的各训练样本的一次表征向量,作为卷积神经网络的输入,将各训练样本所属旧组织作为卷积神经网络的标签,对卷积神经网络进行训练,得到卷积神经网络模型。
3.根据权利要求1所述的APT恶意软件组织的开集识别方法,其特征在于,在卷积神经网络训练时,通过卷积神经网络获取到同个旧组织的训练样本的二次表征向量;针对于各旧组织,求取该旧组织的训练样本的二次表征向量平均值,作为该旧组织的中心点向量。
4.根据权利要求3所述的APT恶意软件组织的开集识别方法,其特征在于,在测试样本开集识别过程中:当卷积神经网络模型获取到测试样本的二次表征向量时,首先计算测试样本的二次表征向量与测试样本的预分类组织的中心点向量之间的余弦距离d,若d小于等于阈值,则测试样本的预分类组织作为测试样本的所属组织;否则,将测试样本判定为属于新组织。
5.根据权利要求1所述的APT恶意软件组织的开集识别方法,其特征在于,多粒度扫描结构和多粒度扫描模型,针对于输入的样本的特征向量,依次进行窗口扫描、模型计算、池化计算和拼接计算后,对应得到训练样本或测试样本的一次表征向量;具体如下:
窗口扫描:采用多个不同维度大小的窗口,分别对输入的特征向量进行滑动,每次滑动都将扫描到一组与窗口大小相同的特征向量组合;
模型计算:将每个窗口扫描得到的每一组特征向量组合,输入到两个不同的随机森林模型中,每个随机森林模型分别输出该组特征向量组合所对应的分类概率得分;
池化计算:针对于同个窗口扫描到的多组特征向量组合,通过模型计算分别对应得到多组分类概率得分后,将多组分类概率得分向量进行规定步长的平均池化计算,输出池化结果向量;
连接计算:将所有经过池化计算后的结果向量,以首尾拼接的形式连接成一个长向量,该长向量表示多粒度扫描模型输入样本的一次表征向量;
上述输入的样本的特征向量指的是训练样本或测试样本的特征向量。
6.根据权利要求1所述的APT恶意软件组织的开集识别方法,其特征在于,所述级联森林分类结构的每级森林模型分类器包括极度随机树和随机森林模型;
级联森林分类的具体工作过程如下:
将多粒度扫描输出的样本的一次表征向量输入到级联森林的第一级,即输入到级联森林第一级的极度随机树和随机森林模型中,输出的多分类概率得分将作为增强特征;
将上一级增强特征联结样本的一次表征向量,成为下一级极度随机树和随机森林模型的输入,以此类推,之后每一级的输出的多分类概率得分均与样本的一次表征向量结果拼接,输入到下一级中,直到最后一级;
获取级联森林最后一级分别产生的两个分类概率得分向量,分别对应为最后一级极度随机树和随机森林模型的分类结果;
计算级联森林最后一级两个分类概率得分向量的平均向量,此输出平均向量的每一维代表样本属于某个旧组织的概率得分,其中最大值所对应的旧组织作为样本的预分类组织结果。
7.根据权利要求1所述的APT恶意软件组织的开集识别方法,其特征在于,卷积神经网络包括多个卷积层和两个全连接层;
其中,卷积神经网络倒数第二层全连接层的输出结果作为样本的二次表征向量。
8.一种APT恶意软件组织的开集识别装置,其特征在于,包括:
第一获取模块,用于获取各旧组织的APT恶意软件,作为训练样本;
第一特征提取模块,用于针对各训练样本提取静态特征,得到训练样本的特征向量;
训练模块,用于将深度森林中多粒度扫描结构的输出分别作为深度森林的级联森林分类结构和卷积神经网络的输入,然后通过训练样本进行训练,得到多粒度扫描模型、级联森林分类模型以及卷积神经网络模型;
第二获取模块,用于将需要识别的APT恶意软件作为测试样本;
第二特征提取模块,用于提取测试样本的静态特征,得到测试样本的特征向量;
表征向量获取模块,用于将测试样本的特征向量输入到多粒度扫描模型,得到测试样本的一次表征向量;用于将测试样本的一次表征向量输入到卷积神经网络模型,由神经网络得到测试样本的二次表征向量;
预分类模块,用于将测试样本的一次表征向量输入到级联森林分类模型,由级联森林分类模型输出预分类组织;
结果判定模块,用于结合测试样本的预分类组织和测试样本的二次表征向量,得到测试样本开集识别结果。
9.一种计算设备,包括处理器以及用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现权利要求1-7中任一项所述的APT恶意软件组织的开集识别方法。
10.一种存储介质,存储有程序,其特征在于,所述程序被处理器执行时,实现权利要求1-7中任一项所述的APT恶意软件组织的开集识别方法。
CN202010741373.XA 2020-07-29 2020-07-29 Apt恶意软件组织的开集识别方法、装置、设备和介质 Active CN112001423B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010741373.XA CN112001423B (zh) 2020-07-29 2020-07-29 Apt恶意软件组织的开集识别方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010741373.XA CN112001423B (zh) 2020-07-29 2020-07-29 Apt恶意软件组织的开集识别方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN112001423A true CN112001423A (zh) 2020-11-27
CN112001423B CN112001423B (zh) 2023-11-07

Family

ID=73462348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010741373.XA Active CN112001423B (zh) 2020-07-29 2020-07-29 Apt恶意软件组织的开集识别方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN112001423B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615045A (zh) * 2022-03-09 2022-06-10 湘潭大学 一种基于深度森林的物联网僵尸网络流量检测与分类方法
CN115795466A (zh) * 2023-02-06 2023-03-14 广东省科技基础条件平台中心 一种恶意软件组织识别方法及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506796A (zh) * 2017-08-25 2017-12-22 电子科技大学 一种基于深度森林的阿尔兹海默病分类方法
CN108764138A (zh) * 2018-05-29 2018-11-06 南京信息工程大学 一种基于多维多粒度级联森林的高原地区云雪分类方法
CN109858477A (zh) * 2019-02-01 2019-06-07 厦门大学 用深度森林在复杂环境中识别目标物的拉曼光谱分析方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506796A (zh) * 2017-08-25 2017-12-22 电子科技大学 一种基于深度森林的阿尔兹海默病分类方法
CN108764138A (zh) * 2018-05-29 2018-11-06 南京信息工程大学 一种基于多维多粒度级联森林的高原地区云雪分类方法
CN109858477A (zh) * 2019-02-01 2019-06-07 厦门大学 用深度森林在复杂环境中识别目标物的拉曼光谱分析方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
方圆;李明;王萍;江兴何;张信明;: "基于混合卷积神经网络和循环神经网络的入侵检测模型", 计算机应用, no. 10, pages 157 - 161 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114615045A (zh) * 2022-03-09 2022-06-10 湘潭大学 一种基于深度森林的物联网僵尸网络流量检测与分类方法
CN115795466A (zh) * 2023-02-06 2023-03-14 广东省科技基础条件平台中心 一种恶意软件组织识别方法及设备

Also Published As

Publication number Publication date
CN112001423B (zh) 2023-11-07

Similar Documents

Publication Publication Date Title
Ding et al. Intrusion detection system for NSL-KDD dataset using convolutional neural networks
CN112738015B (zh) 一种基于可解释卷积神经网络cnn与图检测的多步攻击检测方法
Tesfahun et al. Intrusion detection using random forests classifier with SMOTE and feature reduction
Biggio et al. Design of robust classifiers for adversarial environments
Sarwar et al. Design of an advance intrusion detection system for IoT networks
CN112001423B (zh) Apt恶意软件组织的开集识别方法、装置、设备和介质
CN102045357A (zh) 一种基于仿射聚类分析的入侵检测方法
Raihan-Al-Masud et al. Network intrusion detection system using voting ensemble machine learning
Iadarola et al. Image-based Malware Family Detection: An Assessment between Feature Extraction and Classification Techniques.
CN109067778B (zh) 一种基于蜜网数据的工控扫描器指纹识别方法
CN105243327B (zh) 一种文件安全处理方法
Raza et al. Intrusion detection using decision tree classifier with feature reduction technique
CN107832611B (zh) 一种动静态特征结合的僵尸程序检测与分类方法
CN112001424B (zh) 基于对抗训练的恶意软件开放集家族分类方法和装置
Kumar et al. Detection of malware using deep learning techniques
Aggarwal et al. Random decision forest approach for mitigating SQL injection attacks
Islam et al. A comparison of the classification of disparate malware collected in different time periods
CN114398887A (zh) 一种文本分类方法、装置及电子设备
Onoja et al. Exploring the effectiveness and efficiency of LightGBM algorithm for windows malware detection
Bahjat et al. Anomaly Based Intrusion Detection System Using Hierarchical Classification and Clustering Techniques
Zhang Application of Artificial Intelligence Technology in Computer Network Security.
Wen et al. A image texture and BP neural network basec malicious files detection technique for cloud storage systems
Khettaf et al. Defending The Defender: Detecting Adversarial Examples For Network Intrusion Detection Systems.
Alves et al. Evaluating the behaviour of stream learning algorithms for detecting invasion on wireless networks
Lin et al. Behaviour classification of cyber attacks using convolutional neural networks

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