CN116305119A - 基于预测指导原型的apt恶意软件分类方法和装置 - Google Patents
基于预测指导原型的apt恶意软件分类方法和装置 Download PDFInfo
- Publication number
- CN116305119A CN116305119A CN202310165123.XA CN202310165123A CN116305119A CN 116305119 A CN116305119 A CN 116305119A CN 202310165123 A CN202310165123 A CN 202310165123A CN 116305119 A CN116305119 A CN 116305119A
- Authority
- CN
- China
- Prior art keywords
- feature
- organization
- classification
- classification task
- category
- 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
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/561—Virus type analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- 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
- 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/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Operations Research (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Evolutionary Biology (AREA)
- Algebra (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种基于预测指导原型的APT恶意软件分类方法和装置,所述方法包括:获取恶意软件的API调用序列的全局特征编码和数值化编码序列;对数值化编码序列进行辅助功能分类任务和主要组织分类任务的特征提取后,结合全局特征编码,得到辅助功能分类任务和主要组织分类任务特征向量表示;使用辅助功能分类任务特征向量表示拟合特征空间中的功能类别高斯分布,以得到功能类别上的预测概率;结合功能类别上的预测概率,使主要组织分类任务特征向量表示拟合特征空间中组织类别多峰分布,以得到在各组织类别上的预测概率;基于恶意软件在各组织类别上的预测概率,得到恶意软件分类结果。本发明可以应对不断出现的新兴APT攻击团伙。
Description
技术领域
本发明属于网络威胁防护领域,涉及恶意软件分类技术,具体涉及一种基于预测指导原型的APT恶意软件分类方法和装置。
背景技术
随着网络攻防技术的交替演进,高级可持续性威胁APT成为网络空间安全的首要威胁。APT是由具备专业知识、明确架构、丰富资源的攻击团伙精心策划的网络攻击。他们通过多种攻击媒介在特定攻击目标信息基础设施内投放多阶段攻击载荷,进而实现窃密、诈骗、致瘫等预期效果。在2021年,全球共计400多起APT攻击事件被报告。对抗APT攻击成为网络安全研究的重点。
当前大多数APT对抗的研究集中于两个方面。一是对APT攻防过程进行形式化建模进而设计给出针对性的防护建议,二是从流量数据、主机审计日志中发现攻击行为。然而,形式化建模的方法无法给出实际可用的检测规则或模型,而流量数据、日志数据对于防护者较难获取且难以从海量数据中筛选攻击行为。尽管相较普通网络攻击组织严密、攻击手段更加多样,但APT攻击的落脚点仍是在目标机器上植入恶意软件。通过对APT攻击中使用的恶意软件进行研究,挖掘不同APT团伙所开发的恶意样本的恶意行为,就能从另外一个维度获取APT攻击的相关知识,进而生成对应的检测规则或检测模型,发现日志数据中的可疑攻击事件,可以作为上述两个研究方向的有效补充。APT团伙在工具开发阶段将工具进行了功能模块化划分,在一次攻击事件中灵活应用不同功能的组件相互配合,这导致了阶段样本容易缺失、相同组织样本功能差异大的问题。
当前针对APT恶意样本的研究相对较少,恶意软件的相关研究依据是否运行恶意样本可分为两类,静态分析和动态分析。有研究人员收集字节码n-gram等静态信息建立APT恶意软件检测框架,另外有人在沙箱等虚拟环境中收集系统调用等动态信息。上述方法均结合机器学习技术建立检测或分类模型,但是此类方法存在两个问题。一是标注样本少,由于可用的APT样本量很少,无法满足传统机器学习方法的训练需求,使得分类器趋于在训练集上过拟合。二是每个APT团伙的恶意软件在功能域上的分布存在差异。分散在各个攻击阶段的样本功能差异明显,这种分布上的差异性容易误导模型的收敛方向,影响模型分类性能。三是无法识别未知APT恶意样本。现存方法是在封闭数据集上进行研究,无法应对现实场景中源源不断出现的新的APT团伙。
发明内容
本发明的目的在于提供基于预测指导原型的APT恶意软件分类方法和装置,重点利用设计的预训练动态特征编码算法、基于预测指导原型的组织分类算法、基于三元动态阈值的开集识别算法,分别数值化APT恶意软件的每一条动态API调用,通过两个独立的编码器计算每个软件实例的辅助任务与主任务的特征表示,辅助任务特征表示用于进行功能分类,其分类结果用于优化主任务的模型构建以进行组织分类,通过动态计算三元阈值实现开集识别,以应对不断出现的新兴APT攻击团伙。
本发明首先收集不同APT攻击组织的恶意软件实例,利用开源威胁情报网站获得其功能类别标签,通过沙箱模拟执行获取API调用序列;利用设计的预训练动态特征编码算法对每一条API调用进行数值化编码;利用设计的基于预测指导原型的组织分类算法构建每一组织恶意软件实例的原型特征表示,并预测待测恶意软件样例的分类概率;然后,利用设计的基于三元动态阈值的开集识别算法,通过动态计算三元阈值实现开集识别,以应对不断出现的新兴APT攻击团伙。
本发明采用的技术方案如下:
一种基于预测指导原型的APT恶意软件分类方法,所述方法包括:
获取恶意软件的API调用序列,并基于BERT词嵌入模型,获取所述API调用序列的全局特征编码和所述API调用序列的数值化编码序列;
对所述数值化编码序列进行辅助功能分类任务和主要组织分类任务的特征提取,得到辅助功能分类任务局部特征编码和主要组织分类任务局部特征编码,并基于所述全局特征编码分别与所述辅助功能分类任务局部特征编码、所述主要组织分类任务局部特征编码的拼接结果,得到辅助功能分类任务特征向量表示和主要组织分类任务特征向量表示;
使用所述辅助功能分类任务特征向量表示拟合特征空间中的功能类别高斯分布,以得到所述恶意软件在各功能类别上的预测概率;
结合所述恶意软件在各功能类别上的预测概率,使所述主要组织分类任务特征向量表示拟合特征空间中组织类别多峰分布,以得到所述恶意软件在各组织类别上的预测概率;其中,所述功能类别高斯分布和组织类别多峰分布基于标注样例得到;
基于所述恶意软件在各组织类别上的预测概率,得到恶意软件分类结果。
进一步地,所述基于BERT词嵌入模型,获取所述API调用序列的全局特征编码和所述API调用序列的数值化编码序列,包括:
在所述API调用序列前添加了【cls】token;
将修改后的API调用序列输入BERT词嵌入模型,以得到API调用编码序列H=(h1,h2,…,hS);
将编码h1作为全局特征编码,并将编码(h2,…,hS)作为所述API调用序列的数值化编码序列。
进一步地,所述对所述数值化编码序列进行辅助功能分类任务的特征提取,得到辅助功能分类任务局部特征编码,并基于所述全局特征编码与所述辅助功能分类任务局部特征编码的拼接结果,得到辅助功能分类任务特征向量表示和主要组织分类任务特征向量表示包括:
在所述数值化编码序列上以步长dk滑动,得到的S-dk个卷积特征映射图;
使用最大池化从每个卷积特征映射图中选择最大特征,然后将所述最大特征拼接起来构成定长的辅助功能分类任务局部特征编码hc;
将所述辅助功能分类任务局部特征编码hc与所述全局特征编码输入到多层感知机,得到辅助功能分类任务特征向量表示。
进一步地,所述使用所述辅助功能分类任务特征向量表示拟合特征空间中的功能类别高斯分布,以得到所述恶意软件在各功能类别上的预测概率,包括:
将辅助功能分类任务特征向量表示x映射到特征空间,得到特征映射fF(x);x表示所述恶意软件;
进一步地,所述结合所述恶意软件在各功能类别上的预测概率,使所述主要组织分类任务特征向量表示拟合特征空间中组织类别多峰分布,以得到所述恶意软件在各组织类别上的预测概率,包括:
将主要组织分类任务特征向量表示映射到特征空间,得到特征映射fG(x′);x′表示所述恶意软件;
计算特征映射fG(x′)与组织类别lG的原型表示之间的欧式距离/>其中,所述原型表示/>lG表示待计算原型点的组织类别,表示此次分类任务的标注样本集中的功能类别集合,lF表示功能类别集合/>中的功能类别,xj表示组织分类任务中的第j个标注样例,/>表示组织类别为lG且功能类别为lF的标注样例组成的集合,/>表示将组织类别为lG的标注样本集中不存在的功能类别预测概率设置为0后,规范化地将样例预测为功能类别lF的概率;
进一步地,所述基于所述恶意软件在各组织类别上的预测概率,得到恶意软件分类结果,包括:
基于标注样例在特征空间中的组织类别多峰分布,计算分类置信矩阵,并根据所述分类置信矩阵,计算每个组织类别的三元阈值;所述三元阈值包括:接受阈值、拒绝阈值和间隔阈值;
获取所述恶意软件在各组织类别上的预测概率中预测概率最大值和预测概率次大值;
在所述预测概率最大值大于所述接受阈值的情况下,判定所述预测概率最大值对应的组织类别为所述恶意软件的组织类别;
在所述预测概率最大值在所述接受阈值与所述拒绝阈值之间的情况下,计算测概率最大值和预测概率次大值的差值,且当所述差值大于所述间隔阈值时,判定所述预测概率最大值对应的组织类别为所述恶意软件的组织类别;当所述差值小于所述间隔阈值时,判定所述恶意软件的组织类别为未知类别;
在所述预测概率最大值小于所述拒绝阈值的情况下,判定所述恶意软件的组织类别为未知类别。
进一步地,所述基于标注样例在特征空间中的组织类别多峰分布,计算分类置信矩阵,并根据所述分类置信矩阵,计算每个组织类别的三元阈值,包括:
一种基于预测指导原型的APT恶意软件分类装置,所述装置包括:
数据获取模块,用于获取恶意软件的API调用序列,并基于BERT词嵌入模型,获取所述API调用序列的全局特征编码和所述API调用序列的数值化编码序列;
特征表示模块,用于对所述数值化编码序列进行辅助功能分类任务和主要组织分类任务的特征提取,得到辅助功能分类任务局部特征编码和主要组织分类任务局部特征编码,并基于所述全局特征编码分别与所述辅助功能分类任务局部特征编码、所述主要组织分类任务局部特征编码的拼接结果,得到辅助功能分类任务特征向量表示和主要组织分类任务特征向量表示;
概率计算模块,用于使用所述辅助功能分类任务特征向量表示拟合特征空间中的功能类别高斯分布,以得到所述恶意软件在各功能类别上的预测概率;结合所述恶意软件在各功能类别上的预测概率,使所述主要组织分类任务特征向量表示拟合特征空间中组织类别多峰分布,以得到所述恶意软件在各组织类别上的预测概率;其中,所述功能类别高斯分布和组织类别多峰分布基于标注样例得到;
结果生成模块,用于基于所述恶意软件在各组织类别上的预测概率,得到恶意软件分类结果。
一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上述任一项所述方法的指令。
一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现上述任一项所述的方法。
与现有技术相比,本发明至少具有以下优点:
1)本发明充分利用从大规模无标注普通恶意软件样例中学习到的API调用上下文语义关联。此外,设置辅助任务并以其分类结果优化原型的计算来有效利用有限的监督信息。即插即用的三元动态阈值增强了未知组织的识别能力,使得此方法可以在低数据资源条件下分类APT恶意软件并识别未知类别。
2)本发明提出了一种预训练动态特征编码方法,使用该方法可以充分利用从大规模无标注普通恶意软件样例中学习到的API调用上下文语义关联,提高了恶意软件动态特征序列的表达能力。
3)本发明提出了一种基于预测指导原型的组织分类方法,使用该方法可以在融合API调用全局上下文特征的同时,关注局部API调用片段的强关联关系,实现特征编码序列到特定于分类任务的特征空间的映射,通过给定待测样例的功能类别预测概率分布优化组织原型表示,具有更准确高效的表征效果和组织分类能力
4)本发明提出了一种基于三元动态阈值的开集识别方法,使用该方法可以动态获取三元分类阈值,以描述已知类别分布情况,联合阈值损失和开集损失以提升低资源场景下的开集识别表现。
附图说明
图1是基于预测指导原型的APT恶意软件分类方法的流程图。
具体实施方式
下面通过具体实施例和图例,对本发明做进一步详细说明。
本发明提供的基于预测指导原型的APT恶意软件分类方法,适用于利用无监督学习API调用上下文语义关系,提取APT恶意软件的向量化表示,同时功能类别预测这一关联辅助任务的加入增强了特征学习能力,且其预测结果被用于指导原型的生成消除了分布差异的偏差,能利用有限的监督样本实现开集识别分类任务。
本发明的一种基于预测指导原型的APT恶意软件分类方法,如图1所示,包括以下步骤:
步骤1:获取恶意软件的API调用序列,并基于BERT词嵌入模型,获取所述API调用序列的全局特征编码和所述API调用序列的数值化编码序列。
本发明使用预训练动态特征编码算法完成全局特征编码和数值化编码序列的获取。训练时,首先收集不同APT组织的恶意软件实例,对于每一个APT攻击组织,收集公开的有溯源依据的APT报告,合并APT组织的别名所属的APT报告,从中收集恶意软件的实例;对于每一个APT恶意软件实例,通过开源威胁情报确定其功能类别,使用沙箱对其进行模拟执行,形成动态API调用序列;对于一个恶意软件实例的API调用使用特征提取函数顺序地提取数值化编码序列,具体地,将该恶意软件每实例的每一条汇编指令或API调用,使用大规模预训练词嵌入模型,从无监督非APT恶意软件数据中学习API调用的语义上的相似性,以得到全局特征编码和数值化编码序列。
本发明一个优选的实施方式中,在预训练动态特征编码算法中所述的非结构化威胁情报解析技术:为了得到来自不同APT组织的恶意软件实例,需要从全球范围内报告的开源APT组织攻击报告中解析识别具体APT攻击所涉及组织及恶意软件哈希值,具体地,通过构建并维护APT组织及其别称一览表以及一系列哈希值正则表达式,去重APT组织及恶意软件列表,得到恶意软件集合组织标签的真实数据集。
本发明一个优选的实施方式中,在预训练动态特征编码算法所述的恶意软件情报爬取技术:对于每一个恶意软件哈希值,使用爬虫技术调用API,从开源威胁情报网站VirusTotal中爬取恶意软件以及相关的安全厂商分析结果,通过处理安全厂商分析结果获取恶意软件功能类别标签,具体地,以卡巴斯基的标注为基准,若超过三分之二安全厂商认同其结果,则为确认此样本功能类别。
本发明一个优选的实施方式中,在预训练动态特征编码算法中所述的API调用编码技术:对于每一个APT攻击相关的恶意软件实例,使用开源的Cuckoo Sandbox沙箱对其进行模拟执行,形成动态API调用序列,对于每一个恶意软件实例的API调用序列使用特征提取函数顺序地提取数值化嵌入序列,具体地,使用大规模预训练词嵌入模型BERT,从大量无监督非APT恶意软件API调用编码序列混合有限的APT恶意软件API编码序列组成的语料库中学习API调用的语义上的相似性,将该恶意软件实例的每一条API调用数值化编码,具体地,通过设置两个预训练任务:API调用序列掩码和后续API调用预测,捕捉序列元素之间的深层上下文关系。由于在野的无标注恶意软件庞大,足以用于学习API调用中的上下文关系。BERT预训练编码同样适用于APT恶意软件分类任务,因为隐含在编码中的关于通过API实现恶意软件工作原理的先验知识有利于下游的APT恶意软件分类问题。在API调用前后增加[CLS]分类字段作为,可参与网络学习的wtask任务相关参数字段,输入预训练的Bert模型,将其隐藏层状态作为API调用序列的数值化编码序列,将[CLS]对应模型输出作为全局特征编码。
以下是API调用编码序列的形式化表示:
W=(w1,w2,...,ws)
H={h1,h2,...,hs}=BERT({w1,w2,...,ws},wtask)
其中,W是离散化的恶意软件API调用token序列,其中w1是用于分类的特殊token——[CLS],wtask为可学习的任务相关参数字段。H是BERT模型输出的隐藏层状态,在其中wtask被剥离出来,不参与后续任务相关的编码。
步骤2:对所述数值化编码序列进行辅助功能分类任务和主要组织分类任务的特征提取,得到辅助功能分类任务局部特征编码和主要组织分类任务局部特征编码,并基于所述全局特征编码分别与所述辅助功能分类任务局部特征编码、所述主要组织分类任务局部特征编码的拼接结果,得到辅助功能分类任务特征向量表示和主要组织分类任务特征向量表示。
首先,本发明利用一维卷积的深度神经网络编码器模型对BERT预训练模型计算的数值化编码序列进行特征提取,即针对每一个恶意软件的数值化编码序列,分别计算用于辅助功能分类任务和组织分类任务的局部特征编码。
本发明一个优选的实施方式中,本发明通过参数不共享的神经网络模型进一步提取局部隐藏状态得到特定任务特征空间中的恶意软件特征表示,具体地,通过一维卷积神经网络进一步编码隐藏状态序列,收集局部信息得到局部特征编码hc。
然后,将局部特征编码hc与[CLS]token对应的隐藏状态h1一起输入到多层感知机中降维得到特定任务的恶意软件表征向量。
以下是特定任务的恶意软件表征向量的形式化表示:
e=W1·GeLU(W2·{h1,hc}+b2)+b1,
其中,是卷积核/>在隐藏状态序列(h2,h3,...,hS)上以步长dk滑动得到的S-dk个卷积特征映射图。CNN(·)表示卷积操作,使用最大池化从每个卷积特征图中选择最大特征,然后将这些特征拼接起来构成定长的局部特征编码hc。W2、b2是线性映射参数,GeLU(·)为激活函数,e是特定任务下的度量空间中的恶意软件表征向量。
步骤3:使用所述辅助功能分类任务特征向量表示拟合特征空间中的功能类别高斯分布,以得到所述恶意软件在各功能类别上的预测概率;结合所述恶意软件在各功能类别上的预测概率,使所述主要组织分类任务特征向量表示拟合特征空间中组织类别多峰分布,以得到所述恶意软件在各组织类别上的预测概率。
本发明对于每一个功能类别和组织类别,基于该类别已知标签的恶意软件样本在特征空间的特征表示计算此类别的原型表示;对于每一个待测恶意软件样例,在特征空间中基于欧氏度量下与功能原点的距离预测该样例的功能类别概率分布,利用此概率分布优化计算组织类别的原点表示;对于每一个待测恶意软件样例,在特征空间中基于欧氏度量下与组织原点的距离预测该样例的组织类别概率分布。
本发明一个优选的实施方式中,在基于预测指导原型的组织分中所述的类型原型计算技术:对于特定任务下的度量空间中的恶意软件表征向量,原型网络通过参数学习使得不同的样例编码后的特征向量在特征空间中分散于不同的高斯分布,原型即为高斯分布均值的估计量。接下来,通过任务中标注样例,为每个类别计算原型,进而对待测样例分配标签。为应对在主要组织分类任务中,功能上的差异性使得相同组织的恶意软件样例对应的API调用序列也存在差异,导致的在组织溯源特征编码空间中难以学习到一个好的原型的问题。将原型网络的目标更改为拟合多峰分布,首先对辅助功能分类任务中的恶意软件样例的功能类别进行预测,然后设计了预测指导的原型网络,以消除这种差异带来的干扰。对于辅助任务,简单地应用原型网络模型。
以下是辅助功能分类任务中预测概率计算过程的形式化表示:
其中,fF(·)表示辅助功能分类任务中从恶意软件实例空间到特征表示空间的映射,是属于功能类别lF的标注样例组成的集合,/>为功能类别lF的原型表示,d(·,·)表示欧氏距离,/>为待测恶意软件样例功能分类为类别lF的概率。
以下是主要组织分类任务中预测概率计算过程的形式化表示:
其中,fG(·)表示主要组织分类任务中从恶意软件实例空间到特征表示空间的映射,是组织类别为lG且功能类别为lF的标注样例组成的集合,由于APT攻击样本稀缺,标注样本集中很可能缺少某些功能类别的样本,/>为忽略标注样本集中不存在的功能类,即将该类别预测概率设置为0后,规范化的将样例预测为功能类别为lF的概率,/>为特定于样例xj的组织类别lG的原型表示,类似的,使用softmax计算待测恶意软件样例组织分类为类别lG的概率/>
步骤4:基于所述恶意软件在各组织类别上的预测概率,得到恶意软件分类结果。
本发明基于三元动态阈值的开集识别算法,在特征空间中,基于已知类别的恶意软件样例计算分类置信矩阵,具体地,其对角线元素描述类内的凝聚程度,非对角元素表示类别间的间隔;利用所得到的分类置信矩阵,对于每一个组织类别,动态计算接受阈值、拒绝阈值、间隔阈值组成的三元阈值;对于每一个标注恶意软件实例,计算开集损失以训练神经网络模型;对于每一个待测恶意软件实例,利用所得到的三元阈值与其组织类别预测概率分布相比较,判定其是否为未知类别。
本发明一个优选的实施方式中,在基于三元动态阈值的开集识别算法中所述的分类置信矩阵计算技术:给定APT恶意软件实例的主要组织分类任务中的特征表示,在经过以上算法的特征学习后,在特征空间中应遵循类内表示间距小、类间间距大的趋势,即恶意软件应更接近其实际类的原型,而远离其他类的原型。利用标注实例的预测概率,计算分类置信矩阵。
以下是分类置信矩阵计算的形式化表示:
其中,分类置信度矩阵中的元素Dij定义为类标注实例被预测到类别/>的概率的期望,其对角元素Dii描述类内特征表示分布的凝聚程度,非对角元素Dij表示类间特征表示分布的间隔,添加softmax对直接距离的结果进行归一化,避免可能出现的离群点对均值带来较大的影响。
本发明一个优选的实施方式中,在基于三元动态阈值的开集识别算法中所述的动态三元阈值计算技术:给定主要组织分类任务的分类置信矩阵,动态计算每个类别的三元阈值(接受阈值ζi、拒绝阈值ηi、间隔阈值θi)。
以下是三元阈值动态计算的形式化表示:
ζi=ρDii
ηi=kDii
本发明一个优选的实施方式中,在基于三元动态阈值的开集识别算法中所述的未知类别判定技术:给定主要组织分类任务中各类别的三元动态阈值,对于每一个待测恶意软件实例,组合其预测概率分布以及三元动态阈值确定其类别,具体地,假定预测概率最大值对应类别次大值对应类别/>则分类器的判定条件如下:若/>类别判定为/>若判定为未知类别。/>的大小处于ζi和ηi之间,表明此样本分类较为困难。在这种情况下需要进一步考虑类别之间的关联信息,计算/>和/>的差值,若差值大于θi,则判定类别为/>否则为未知类别。
本发明一个优选的实施方式中,在基于三元动态阈值的开集识别算法中所述的开集损失计算技术:给定主要组织分类任务的训练样例的分类预测,对于可见类别的样例,采用交叉熵损失作为训练函数,应对样本被预测为正确标签的置信度较低导致的误分类,引入三元损失,拉近与正例原型的距离的同时扩大与负例原型的距离,应对正确标签与误分类标签预测概率差值不大导致的误分类,通过参数学习,在特征空间中减小类内差异,增大可见类别分布的间隔,增强分类能力;对于不可见类别的样例,通过最大化可见类别预测概率的熵函数,实现当其对于任何一个可见类别的预测概率都很小或者预测概率接近时拒绝该样本。
以下是开集识别损失计算的形式化表示:
实例1使用预训练动态特征编码算法、基于预测指导原型的组织分类算法进行APT恶意软件组织分类
以自收集数据集Few-APTMW作为实例数据集,Few-APTMW数据集包含了59个APT攻击组织的9575个恶意软件,每个组织至少15个恶意软件实例,使用Cuckoo Sandbox收集动态API调用序列,功能类别为下载器、加载器、后门以及间谍软件。
1)首先,对于APT软件数据集,进行实验,获取Few-APTMW中恶意软件的动态API调用序列;
2)使用在大规模普通恶意软件的API调用序列语料库中预训练得到的BERT词嵌入模型,添加分类字段和任务特定字段,针对辅助功能分类任务和主要组织分类任务对1)中得到的API调用序列进行数值化编码;
3)针对辅助功能分类任务和主要组织分类任务,使用不共享参数的一维卷积神经网络提取局部特征编码;
4)连接2)和3)中的全局特征编码和局部特征编码,使用GeLU作为MLP的激活函数,分别提取针对辅助功能分类任务和主要组织分类任务的特征向量表示;
5)对于4)中得到的辅助功能分类任务的特征向量表示,按照功能类别划分,拟合特征空间中类别高斯分布的均值作为该类别的原型表示,使用欧式距离结合Softmax函数计算待测样例的功能类别预测概率;
6)对于5)中得到的待测样例的功能类别预测概率,通过拟合特种空间中的多峰分布,优化计算针对该待测样例的组织类别原型表示,使用欧式距离结合Softmax函数计算待测样例的组织类别预测概率。
比较本发明方法与其他方法的结果,基线方法(MANNWARE,SIMPLE,Markov Chain)在Few-APTMW数据集的训练集上进行训练,在划分的测试集上进行测试,并展示分类的准确率(%)和F1值(%)。
表1.本方法在与其他方法在Few-APTMW数据集上进行APT恶意软件分类的准确率和F1值
实例2使用预训练动态特征编码算法、基于预测指导原型的组织分类算法、基于三元动态阈值的开集识别算法进行APT恶意软件组织分类
以自收集数据集Few-APTMW作为实例数据集,Few-APTMW数据集包含了59个APT攻击组织的9575个恶意软件,每个组织至少15个恶意软件实例,使用Cuckoo Sandbox收集动态API调用序列,功能类别为下载器、加载器、后门以及间谍软件。
1)首先,对于APT软件数据集,进行实验,获取Few-APTMW中恶意软件的动态API调用序列;
2)使用在大规模普通恶意软件的API调用序列语料库中预训练得到的BERT词嵌入模型,添加分类字段和任务特定字段,针对辅助功能分类任务和主要组织分类任务对1)中得到的API调用序列进行数值化编码;
3)针对辅助功能分类任务和主要组织分类任务,使用不共享参数的一维卷积神经网络提取局部特征编码;
4)连接2)和3)中的API调用序列数值化编码和局部特征编码,使用GeLU作为MLP的激活函数,分别提取针对辅助功能分类任务和主要组织分类任务的特征向量表示;
5)对于4)中得到的辅助功能分类任务的特征向量表示,按照功能类别划分,拟合特征空间中类别高斯分布的均值作为该类别的原型表示,使用欧式距离结合Softmax函数计算待测样例的功能类别预测概率;
6)对于5)中得到的待测样例的功能类别预测概率,通过拟合特种空间中的多峰分布,优化计算针对该待测样例的组织类别原型表示,使用欧式距离结合Softmax函数计算标注样例以及待测样例的组织类别预测概率;
7)对于6)中得到的标注样例的组织类别预测概率,计算分类置信矩阵,基于分类置信矩阵动态计算三元阈值,通过比较待测样例的组织类别预测概率与三元阈值实现开集识别。
比较本发明方法与其他方法的结果,基线方法(MANNWARE,SIMPLE,Markov Chain)在Few-APTMW数据集的训练集上进行训练,在划分的测试集上进行测试,并展示分类的准确率(%)和F1值(%)。
表2.本方法在与其他方法在Few-APTMW数据集上进行APT恶意软件开集识别的准确率和F1值
根据表1,表2的结果,体现了本发明方法提出的基于协同注意力的恶意软件分类方法的优越性。
综上所述,本发明对于每一个待判定的APT恶意软件实例,使用大规模预训练词嵌入模型,从无监督非APT恶意软件数据中学习API调用的语义上的相似性,结合一维卷积神经网络模型来针对辅助功能分类任务和主要组织分类任务,分别提取恶意软件的向量化表示,并通过辅助任务预测概率分布优化主任务原型表示,引入即插即用的开集损失和动态三元阈值,利用有限的监督样本实现开集识别分类任务。本发明首先收集不同APT组织的恶意软件实例,通过沙箱模拟执行获取API调用序列;然后利用预训练的词嵌入模型,对每一个恶意软件的动态API调用序列进行数值化,将每一条API调用转化为数值化编码序列;然后利用数值化后的动静态特征序列,构建对应于每一个功能类别和组织类别的原型特征表示以及每一个恶意软件的特征表示,通过特征空间上的欧式距离计算其类别分布概率;然后在恶意软件特征表示构建过程中,利用已知类别的恶意软件实例在特征空间的分布,动态计算三元分类阈值,实现APT恶意软件的开集识别,以应对新兴的APT攻击组织。
基于同一发明构思,本发明的另一实施例提供一种基于预测指导原型的APT恶意软件分类装置,其包括:
数据获取模块,用于获取恶意软件的API调用序列,并基于BERT词嵌入模型,获取所述API调用序列的全局特征编码和所述API调用序列的数值化编码序列;
特征表示模块,用于对所述数值化编码序列进行辅助功能分类任务和主要组织分类任务的特征提取,得到辅助功能分类任务局部特征编码和主要组织分类任务局部特征编码,并基于所述全局特征编码分别与所述辅助功能分类任务局部特征编码、所述主要组织分类任务局部特征编码的拼接结果,得到辅助功能分类任务特征向量表示和主要组织分类任务特征向量表示;
概率计算模块,用于使用所述辅助功能分类任务特征向量表示拟合特征空间中的功能类别高斯分布,以得到所述恶意软件在各功能类别上的预测概率;结合所述恶意软件在各功能类别上的预测概率,使所述主要组织分类任务特征向量表示拟合特征空间中组织类别多峰分布,以得到所述恶意软件在各组织类别上的预测概率;其中,所述功能类别高斯分布和组织类别多峰分布基于标注样例得到;
结果生成模块,用于基于所述恶意软件在各组织类别上的预测概率,得到恶意软件分类结果。
其中各模块的具体实施过程参见前文对本发明方法的描述。
基于同一发明构思,本发明的另一实施例提供一种电子装置(计算机、服务器、智能手机等),其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。
基于同一发明构思,本发明的另一实施例提供一种计算机可读存储介质(如ROM/RAM、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本发明方法的各个步骤。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
Claims (10)
1.一种基于预测指导原型的APT恶意软件分类方法,其特征在于,所述方法包括:
获取恶意软件的API调用序列,并基于BERT词嵌入模型,获取所述API调用序列的全局特征编码和所述API调用序列的数值化编码序列;
对所述数值化编码序列进行辅助功能分类任务和主要组织分类任务的特征提取,得到辅助功能分类任务局部特征编码和主要组织分类任务局部特征编码,并基于所述全局特征编码分别与所述辅助功能分类任务局部特征编码、所述主要组织分类任务局部特征编码的拼接结果,得到辅助功能分类任务特征向量表示和主要组织分类任务特征向量表示;
使用所述辅助功能分类任务特征向量表示拟合特征空间中的功能类别高斯分布,以得到所述恶意软件在各功能类别上的预测概率;
结合所述恶意软件在各功能类别上的预测概率,使所述主要组织分类任务特征向量表示拟合特征空间中组织类别多峰分布,以得到所述恶意软件在各组织类别上的预测概率;其中,所述功能类别高斯分布和组织类别多峰分布基于标注样例得到;
基于所述恶意软件在各组织类别上的预测概率,得到恶意软件分类结果。
2.如权利要求1所述的方法,其特征在于,所述基于BERT词嵌入模型,获取所述API调用序列的全局特征编码和所述API调用序列的数值化编码序列,包括:
在所述API调用序列前添加了【cls】token;
将修改后的API调用序列输入BERT词嵌入模型,以得到API调用编码序列H=(h1,h2,...,hS);
将编码h1作为全局特征编码,并将编码(h2,...,hS)作为所述API调用序列的数值化编码序列。
3.如权利要求2所述的方法,其特征在于,所述对所述数值化编码序列进行辅助功能分类任务的特征提取,得到辅助功能分类任务局部特征编码,并基于所述全局特征编码与所述辅助功能分类任务局部特征编码的拼接结果,得到辅助功能分类任务特征向量表示和主要组织分类任务特征向量表示包括:
在所述数值化编码序列上以步长dk滑动,得到的S-dk个卷积特征映射图;
使用最大池化从每个卷积特征映射图中选择最大特征,然后将所述最大特征拼接起来构成定长的辅助功能分类任务局部特征编码hc;
将所述辅助功能分类任务局部特征编码hc与所述全局特征编码输入到多层感知机,得到辅助功能分类任务特征向量表示。
5.如权利要求1所述的方法,其特征在于,所述结合所述恶意软件在各功能类别上的预测概率,使所述主要组织分类任务特征向量表示拟合特征空间中组织类别多峰分布,以得到所述恶意软件在各组织类别上的预测概率,包括:
将主要组织分类任务特征向量表示映射到特征空间,得到特征映射fG(x′);x′表示所述恶意软件;
计算特征映射fG(x′)与组织类别lG的原型表示之间的欧式距离/>其中,所述原型表示/>lG表示待计算原型点的组织类别,/>表示此次分类任务的标注样本集中的功能类别集合,lF表示功能类别集合/>中的功能类别,xj表示组织分类任务中的第j个标注样例,/>表示组织类别为lG且功能类别为lF的标注样例组成的集合,/>表示将组织类别为lG的标注样本集中不存在的功能类别预测概率设置为0后,规范化地将样例预测为功能类别lF的概率;
6.如权利要求1所述的方法,其特征在于,所述基于所述恶意软件在各组织类别上的预测概率,得到恶意软件分类结果,包括:
基于标注样例在特征空间中的组织类别多峰分布,计算分类置信矩阵,并根据所述分类置信矩阵,计算每个组织类别的三元阈值;所述三元阈值包括:接受阈值、拒绝阈值和间隔阈值;
获取所述恶意软件在各组织类别上的预测概率中预测概率最大值和预测概率次大值;
在所述预测概率最大值大于所述接受阈值的情况下,判定所述预测概率最大值对应的组织类别为所述恶意软件的组织类别;
在所述预测概率最大值在所述接受阈值与所述拒绝阈值之间的情况下,计算测概率最大值和预测概率次大值的差值,且当所述差值大于所述间隔阈值时,判定所述预测概率最大值对应的组织类别为所述恶意软件的组织类别;当所述差值小于所述间隔阈值时,判定所述恶意软件的组织类别为未知类别;
在所述预测概率最大值小于所述拒绝阈值的情况下,判定所述恶意软件的组织类别为未知类别。
8.一种基于预测指导原型的APT恶意软件分类装置,其特征在于,所述装置包括:
数据获取模块,用于获取恶意软件的API调用序列,并基于BERT词嵌入模型,获取所述API调用序列的全局特征编码和所述API调用序列的数值化编码序列;
特征表示模块,用于对所述数值化编码序列进行辅助功能分类任务和主要组织分类任务的特征提取,得到辅助功能分类任务局部特征编码和主要组织分类任务局部特征编码,并基于所述全局特征编码分别与所述辅助功能分类任务局部特征编码、所述主要组织分类任务局部特征编码的拼接结果,得到辅助功能分类任务特征向量表示和主要组织分类任务特征向量表示;
概率计算模块,用于使用所述辅助功能分类任务特征向量表示拟合特征空间中的功能类别高斯分布,以得到所述恶意软件在各功能类别上的预测概率;结合所述恶意软件在各功能类别上的预测概率,使所述主要组织分类任务特征向量表示拟合特征空间中组织类别多峰分布,以得到所述恶意软件在各组织类别上的预测概率;其中,所述功能类别高斯分布和组织类别多峰分布基于标注样例得到;
结果生成模块,用于基于所述恶意软件在各组织类别上的预测概率,得到恶意软件分类结果。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行权利要求1~7中任一项所述方法的指令。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现权利要求1~7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310165123.XA CN116305119A (zh) | 2023-02-24 | 2023-02-24 | 基于预测指导原型的apt恶意软件分类方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310165123.XA CN116305119A (zh) | 2023-02-24 | 2023-02-24 | 基于预测指导原型的apt恶意软件分类方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116305119A true CN116305119A (zh) | 2023-06-23 |
Family
ID=86819828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310165123.XA Pending CN116305119A (zh) | 2023-02-24 | 2023-02-24 | 基于预测指导原型的apt恶意软件分类方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116305119A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171748A (zh) * | 2023-09-21 | 2023-12-05 | 山东维平信息安全测评技术有限公司 | 一种恶意代码家族分类方法 |
CN118052627A (zh) * | 2024-04-15 | 2024-05-17 | 辽宁省网联数字科技产业有限公司 | 一种招标方案智能填充方法及系统 |
-
2023
- 2023-02-24 CN CN202310165123.XA patent/CN116305119A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117171748A (zh) * | 2023-09-21 | 2023-12-05 | 山东维平信息安全测评技术有限公司 | 一种恶意代码家族分类方法 |
CN118052627A (zh) * | 2024-04-15 | 2024-05-17 | 辽宁省网联数字科技产业有限公司 | 一种招标方案智能填充方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | LightLog: A lightweight temporal convolutional network for log anomaly detection on the edge | |
CN113434357B (zh) | 基于序列预测的日志异常检测方法及装置 | |
CN111652290B (zh) | 一种对抗样本的检测方法及装置 | |
CN116305119A (zh) | 基于预测指导原型的apt恶意软件分类方法和装置 | |
CN111931935B (zh) | 基于One-shot 学习的网络安全知识抽取方法和装置 | |
CN113742733B (zh) | 阅读理解漏洞事件触发词抽取和漏洞类型识别方法及装置 | |
Liu et al. | Adversaries or allies? Privacy and deep learning in big data era | |
CN111222981A (zh) | 可信度确定方法、装置、设备和存储介质 | |
CN113743111A (zh) | 基于文本预训练和多任务学习的金融风险预测方法及装置 | |
CN114547611A (zh) | 一种基于多模态特征的智能合约庞氏骗局检测方法及系统 | |
CN112819024B (zh) | 模型处理方法、用户数据处理方法及装置、计算机设备 | |
Kim et al. | Multimodal surprise adequacy analysis of inputs for natural language processing DNN models | |
CN113408897A (zh) | 应用于大数据业务的数据资源共享方法及大数据服务器 | |
CN113282714A (zh) | 一种基于区分性词向量表示的事件检测方法 | |
CN115344863A (zh) | 一种基于图神经网络的恶意软件快速检测方法 | |
CN116340952A (zh) | 一种基于操作码程序依赖图的智能合约漏洞检测方法 | |
CN117608889A (zh) | 基于日志语义的异常检测方法以及相关设备 | |
CN113918936A (zh) | Sql注入攻击检测的方法以及装置 | |
CN116361788A (zh) | 一种基于机器学习的二进制软件漏洞预测方法 | |
CN113836297B (zh) | 文本情感分析模型的训练方法及装置 | |
Xia et al. | Source Code Vulnerability Detection Based On SAR-GIN | |
CN113408896A (zh) | 结合大数据和云业务的用户行为检测方法及业务服务器 | |
CN113259369A (zh) | 一种基于机器学习成员推断攻击的数据集认证方法及系统 | |
Zhen et al. | DA-GNN: A smart contract vulnerability detection method based on Dual Attention Graph Neural Network | |
Khan et al. | Detection of data scarce malware using one-shot learning with relation network |
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 |