CN114386511A - 基于多维度特征融合和模型集成的恶意软件家族分类方法 - Google Patents

基于多维度特征融合和模型集成的恶意软件家族分类方法 Download PDF

Info

Publication number
CN114386511A
CN114386511A CN202210035910.8A CN202210035910A CN114386511A CN 114386511 A CN114386511 A CN 114386511A CN 202210035910 A CN202210035910 A CN 202210035910A CN 114386511 A CN114386511 A CN 114386511A
Authority
CN
China
Prior art keywords
feature
features
family
malware
file
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
CN202210035910.8A
Other languages
English (en)
Other versions
CN114386511B (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.)
Guangzhou University
Original Assignee
Guangzhou 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 Guangzhou University filed Critical Guangzhou University
Priority to CN202210035910.8A priority Critical patent/CN114386511B/zh
Publication of CN114386511A publication Critical patent/CN114386511A/zh
Application granted granted Critical
Publication of CN114386511B publication Critical patent/CN114386511B/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/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供基于多维度特征融合和模型集成的恶意软件家族分类方法,包括S1获取恶意软件PE文件,根据获取的PE文件提取多个维度的恶意软件特征;其中恶意软件特征包括:Ember特征、TF‑IDF特征和Asm2Vec;S2根据提取的恶意软件特征进行特征融合和特征选择处理,得到恶意软件家族分类特征集;S3以XGBoost作为基础模型,根据得到的恶意软件家族分类特征集中的特征分别单独训练基础模型,并根据训练好的基础模型对训练集样本进行预测,根据得到预测结果计算各特征在对应各家族上的权重值;并采用加权软投票的方式来计算恶意软件家族分类预测结果。本发明有助于提高恶意软件家族分类的性能和泛化能力。

Description

基于多维度特征融合和模型集成的恶意软件家族分类方法
技术领域
本发明涉及恶意软件家族分类技术领域,特别是基于多维度特征融合和模型集成的恶意软件家族分类方法。
背景技术
近年来,恶意软件的数量大幅增加,勒索软件、木马、病毒、恶意挖矿程序等多种形式的恶意软件不断涌现,攻击者利用这些恶意软件持续发动大规模的网络攻击,对相关企业、政府机构和个人都构成了严重的安全威胁。为了更好地揭示恶意软件的属性信息和行为特征,针对恶意软件的检测识别和家族分类任务成为了网络安全领域的研究热点。然而,一方面,传统的恶意软件分类方法仍然采用启发式和基于特征码的技术手段,这些方法已经难以应对恶意软件的快速发展和扩散。另一方面,恶意软件编写者为了逃避传统安全策略的检测,在恶意软件组件中引入了多态性。虽然属于同一恶意软件家族的恶意文件具有相同形式的恶意行为,但由于编写者使用了各种策略不断修改和/或混淆,原本隶属同一家族的文件看起来像许多不同的文件,给检测识别的准确性带来了高度挑战。与此同时,人工智能技术逐渐兴起并得到广泛应用,因其本身适用于自动化处理和海量数据分析等任务,故可以为恶意软件自动化识别和分类提供帮助。
纵观恶意软件家族分类领域的发展动态,针对相关技术的研究可以分为两个阶段。早期,传统的恶意软件分类方法采用启发式和基于特征码的技术手段,这一方法最初能够具备较高的识别准确率,但后来一方面难以应对恶意软件的快速发展和扩散趋势,另一方面也无法对抗恶意软件编写者采用的检测逃避技术。近年来,国内外逐渐开始关注机器学习、深度学习、神经网络等人工智能技术在这一工作中的应用,旨在提升海量恶意软件分析的高效性。然而,现有技术往往只关注恶意软件的某一种特征,或者倾向于构建单一的分类模型,仅仅依靠这样的自动化策略虽能在理想情况下取得较好的分类效果,但始终无法解决真实环境中恶意软件家族训练样本分布不均匀带来的负面影响,使得模型退化严重。
发明内容
针对上述问题,本发明旨在提供基于多维度特征融合和模型集成的恶意软件家族分类方法。
本发明的目的采用以下技术方案来实现:
本发明提出基于多维度特征融合和模型集成的恶意软件家族分类方法,包括:
S1获取恶意软件PE文件,根据获取的PE文件提取多个维度的恶意软件特征;其中恶意软件特征包括:Ember特征、TF-IDF特征和Asm2Vec;
S2根据提取的恶意软件特征进行特征融合和特征选择处理,得到恶意软件家族分类特征集;
S3以XGBoost作为基础模型,根据得到的恶意软件家族分类特征集中的特征分别单独训练基础模型,并根据训练好的基础模型对训练集样本进行预测,根据得到预测结果计算各特征在对应各家族上的权重值;并采用加权软投票的方式来计算恶意软件家族分类预测结果。
一种实施方式中,步骤S1包括:
根据获取的PE文件提取Ember特征,具体包括:
使用Ember提供的特征提取方法提取出PE文件的字节直方图、字节熵直方图和字符串信息特征作为Ember基础特征;
根据获取的PE文件进行反汇编处理得到汇编文件,从汇编文件中提取节区、导入表信息和导出表信息;
其中Ember特征包含Ember基础特征和所述节区、导入表信息和导出表信息。
一种实施方式中,步骤S1包括:
根据获取的PE文件和/或汇编文件提取TF-IDF特征,具体包括:
针对PE文件中的可读性字符串和/或汇编文件中的操作码序列进行词频-逆文件频率处理,得到TF-IDF特征,其中TF-IDF特征包括可读性字符串序列特征和操作码序列特征。
一种实施方式中,步骤S1包括:
根据获取汇编文件提取Asm2Vec特征,具体包括:
根据汇编文件中的代码执行逻辑有关的语义信息提取Asm2Vec特征。
一种实施方式中,步骤S2中,根据提取的恶意软件特征进行特征融合,包括:
融合构建恶意软件家族分类特征集,其中恶意软件家族分类特征集包括Ember特征中的节区、导入表、导出表以及融合得到的Ember基础特征,TF-IDF特征中的可读性字符串和操作码序列特征,Asm2Vec特征以及两个多维度融合特征。
一种实施方式中,步骤S2中,根据提取的恶意软件特征进行特征选择,包括:
对经过TF-IDF处理后生成的特征进行特征选择,使用基于树的评估器ExtraTreesClassifier计算特征的重要性,并根据特征重要性剔除无关特征或冗余特征。
一种实施方式中,步骤S3包括:
以XGBoost作为基础模型,根据得到的恶意软件家族分类特征集中的特征分别单独训练基础模型,并根据训练好的基础模型对训练集样本进行预测,得到每个特征对应的原始预测概率;将训练集样本按其所属家族进行分组,根据每个特征在每组样本的预测结果和真实家族计算logloss,并将logloss的负对数值作为当前特征在当前家族上的权重值。
根据得到的权重值,将每个基础模型的预测概率乘上对应权重然后相加,得到新的预测概率;对于每一个样本,将相加后概率值最大的类确定为投票结果,从参与的所有基础模型中选取预测结果与投票结果一致且预测概率值最大的结果作为恶意软件家族分类预测结果。
一种实施方式中,该方法还包括:
步骤S4对于恶意软件家族分类特征集中的各个特征,在计算得到对应的原始预测概率和该特征在各个家族上的权重值后,选取了不同的特征集合进行加权软投票处理并得到对应的预测概率,并根据多组预测概率值计算恶意软件家族分类预测结果。
本发明的有益效果为:1.本发明针对恶意软件本身的进行了详细的特征工程,从PE文件及其对应的汇编文件中构造提取了Ember、TF-IDF和Asm2Vec等多个维度的有效分类特征,并进行了有效的特征融合和特征选择处理,有效消除了训练集中各个恶意软件家族样本数量极度不平衡带来的负面影响,在一定程度上为解决真实安全场景中常见的概念漂移问题提供了可行的思路。本发明基于恶意软件的文件逻辑结构和汇编语言的语义信息提取了多个维度的关键特征,在此基础上进行了特征融合和特征选择等多个维度的特征工程,有助于更好地应对恶意软件的检测逃避技术。
2.本发明在模型构建过程中,充分利用了加权软投票和模型集成等人工智能策略的优势,在不同家族间恶意软件的修改和/或混淆现象普遍存在的场景下,仍然能够得到较好的分类效果。本发明在使用主流的XGBoost算法的基础上,进一步应用了加权软投票和模型集成等策略,有助于提升恶意软件家族分类模型的泛化能力。
附图说明
利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。
图1为本发明一种基于多维度特征融合和模型集成的恶意软件家族分类方法的示例性实施例逻辑框架结构图;
图2为本发明一种基于多维度特征融合和模型集成的恶意软件家族分类方法的示例性实施例的方法流程图。
具体实施方式
结合以下应用场景对本发明作进一步描述。
本发明提出了一种基于多维度特征融合和模型集成的恶意软件家族分类方法,该方法基于恶意软件的文件逻辑结构和汇编语言的语义信息进行特征提取,在此基础上进行特征融合和特征选择等多个维度的特征工程;同时使用了梯度增强(XGBoost)、加权软投票和模型集成等人工智能策略,构建起一个分类性能较好、泛化能力较强的恶意软件家族分类模型。
参见图1所示的本发明逻辑框架结构图,本发明主要分为两个模块:
(1)特征工程模块:该模块首先提取了PE文件的字节直方图、字节熵直方图、字符串信息等特征;其次,对PE文件进行反汇编得到汇编文件(ASM文件),从汇编文件中提取了节区、导入表和导出表信息等特征;此外,分别针对PE文件中的可读性字符串和汇编文件中的操作码序列进行词频-逆文件频率(TF-IDF)处理,同时提取汇编文件中“精简”的操作码语义作为Asm2Vec特征。这些特征经过设定的特征融合和选择操作后将被输入到构建好的分类模型中。
(2)模型构建模块:该模块使用了基于梯度增强策略的XGBoost模型,然后通过运用加权软投票和多模型集成等人工智能策略,最终构建起一个泛化能力较强的恶意软件家族分类模型。
参见图2实施例所示本发明一种基于多维度特征融合和模型集成的恶意软件家族分类方法,包括:
S1获取恶意软件PE文件,根据获取的PE文件提取多个维度的恶意软件特征;其中恶意软件特征包括:Ember特征、TF-IDF特征和Asm2Vec;
首先,进行单特征提取,其中本发明提取的单特征可以分为三种类型:Ember、TF-IDF和Asm2Vec。
一种实施方式中,步骤S1包括:
根据获取的PE文件提取Ember特征,具体包括:
使用Ember提供的特征提取方法提取出PE文件的字节直方图、字节熵直方图和字符串信息特征作为Ember基础特征;
根据获取的PE文件进行反汇编处理得到汇编文件,从汇编文件中提取节区、导入表信息和导出表信息;
其中Ember特征包含Ember基础特征和所述节区、导入表信息和导出表信息。
Ember特征是指开源数据集Ember提取的PE静态特征。Ember是指一种针对恶意软件构造的特征集,其开源的特征提取方案可用于从PE文件生成恶意软件特征。
一种实施方式中,通过使用Ember提供的特征提取方法,无需解析PE文件,即可提取出字节直方图、字节熵直方图和字符串信息等特征。字节直方图统计文件中0到255共计256个字节整数值的出现个数,并计算这些计数与文件总字节数的比值以实现标准化处理,从而得到最终的字节特征向量。字节熵直方图需要在文件中初始设定一个2048字节的滑动窗口和1024字节的步长。首先针对每个窗口,通过计算当前窗口的熵值,并将其与窗口内的每个字节值进行配对,得到1024个文件熵H与字节值X的数值对(H,X)。然后,基于这1024个数值对,可以绘制关于文件熵H与字节值X的直方图,表现为16×16的分布矩阵。最后,将直方图的分布矩阵按行拼接成行向量,并进行与字节直方图类似的标准化处理,从而得到最终的字节熵特征向量。字符串信息表现为文件中可打印字符串的统计特征,这里设定可打印字符串是指由至少5个0x20到0x7f范围内的连续字符组成的字符串。对于这类可打印字符串,一方面,关注它们的数量、平均长度以及其中可打印字符的直方图分布(0x20到0x7f范围,对应96个单元)、总个数和熵值等常规统计信息;另一方面,基于已有的可打印字符串还可能派生出一些具有特殊含义的子串。例如,含“C:\”的字符串可能指示文件路径,含“http://”或“https://”的字符串通常表示URL,含“HKEY_”的字符串可能表示注册表项,含“MZ”的字符串通常是一个PE文件执行体的标志,这些特殊字符串的统计信息可以帮助进一步挖掘文件中隐藏的属性信息。通过收集上述字符串统计信息并进行拼接,得到最终的字符串特征向量。
一种实施方式中,通过对汇编文件样本的内容进行分析,可以从中提取出节区和导入/导出表等特征。在汇编文件中,除了实现各种逻辑功能的汇编代码,另一部分便是进行文件信息和代码功能说明的注释内容,从中可以获取对应于PE文件某些头部字段的信息。首先,我关注文件中节区的统计信息,包括节区(section)个数、段(segment)个数、不同异常类型的节区个数(节区名为空/大小为0)、可读/可执行/可写的节区个数以及是否存在调试段/重定位段/资源段/TLS段等;其次,关注节区的基本属性,包括节区名、节区大小和表示节区特征的字符串列表,其中对节区的大小信息进行了细化,分别提取了节区进行对齐处理前的大小和实际在磁盘中所占的空间大小;此外,单独提取文件入口节区(即第一个可执行节区)的节区名以及表示该节区特征的字符串列表。除了简单统计信息外,将其他特征的值与节区名进行配对,并进行散列处理,最终拼接得到节区特征向量。此外,针对汇编文件注释内容中的导入地址表进行解析,提取其中记录的动态链接库和从各个动态链接库中导入的函数。然后分别对动态链接库和链接库及其对应的导入函数进行散列处理,并计算导入函数的总个数,拼接得到导入表特征向量。与导入表类似,针对汇编文件注释内容中的导出地址表进行解析,提取其中记录的导出函数。然后进行散列处理,从而得到最终的导出表特征向量。
一种实施方式中,步骤S1包括:
根据获取的PE文件和/或汇编文件提取TF-IDF特征,具体包括:
针对PE文件中的可读性字符串和/或汇编文件中的操作码序列进行词频-逆文件频率处理,得到TF-IDF特征,其中TF-IDF特征包括可读性字符串序列特征和操作码序列特征。
TF-IDF特征是指针对PE文件中的“可读性字符串”和汇编文件中的“操作码序列”进行词频-逆文件频率(TF-IDF)处理后得到的特征。TF-IDF算法的原理在于,一个字符串或一段代码序列在一个样本中出现次数越多,同时在所有样本中出现次数越少,越能够代表该样本。
基于这一原理,本发明设定可读性字符串是指与英文单词具有相似模式的字符串,并且在此基础上仅保留长度在4到20之间且含有元音字母的字符串词汇。基于这一规则,从PE文件样本中提取了大量的可读性字符串,建立了一个词汇库,而且在词汇库中仅考虑按词频降序排列的前1000个词汇,然后对样本集进行TF-IDF处理,从而得到一个可读性字符串特征矩阵,其中,每个PE文件样本的可读性字符串特征向量对应特征矩阵中的每一个行向量。
针对汇编文件中的代码段,按行提取操作码、第一个操作数和当前行的注释内容,然后将三者依次拼接起来作为一个序列值加入到操作码序列中。其中,对于第一个操作数的类型,如果操作码为call,该操作数通常为被调用函数,从中剔除前缀为sub/dword/unknown的函数名再保留;如果操作码不是call,则选择近保留寄存器类型的操作数。基于这一规则,从汇编文件样本中生成了一个操作码序列,在此基础上进一步进行(1,3)的n-gram处理,得到一个维度增加的新操作码序列。基于这个新序列同样可以建立一个词汇库,同时仅考虑按词频降序排列的前1000个词汇,然后对样本集进行TF-IDF处理,从而得到一个操作码序列特征矩阵,其中,每个汇编文件样本的操作码序列特征向量对应特征矩阵中的每一个行向量。
一种实施方式中,步骤S1包括:
根据获取汇编文件提取Asm2Vec特征,具体包括:
根据汇编文件中的代码执行逻辑有关的语义信息提取Asm2Vec特征。
Asm2Vec特征是指与汇编文件中的代码执行逻辑有关的语义信息特征。
与TF-IDF特征中的操作码序列类似,该特征从汇编文件中的代码段提取“精简”的操作码语义——操作码、第一个操作数和当前行的注释内容;不同的是,这部分设定以一个函数为基本单位,将每个函数的语义信息抽象成一句话,为每个汇编文件样本生成一个包含操作码语义信息的语料文件,将这些文件集合起来即可建立一个语料库。同时使用Word2Vec从这一语料库中以无监督的方式学习操作码语义,生成对应的词向量,训练得到一个Asm2Vec模型。该模型用于存储语料库中的每一个操作码序列词汇对应的相关性向量。然后,针对每一个汇编文件样本获取从中提取的所有操作码序列词汇在Asm2Vec模型中的相关性变量,并进行求和取平均值,将其作为该样本在Asm2Vec模型中的相关性变量,即对应的Asm2Vec特征向量。
S2根据提取的恶意软件特征进行特征融合和特征选择处理,得到恶意软件家族分类特征集;
一种实施方式中,步骤S2中,根据提取的恶意软件特征进行特征融合,包括:
融合构建恶意软件家族分类特征集,其中恶意软件家族分类特征集包括Ember特征中的节区、导入表、导出表以及融合得到的Ember基础特征,TF-IDF特征中的可读性字符串和操作码序列特征,Asm2Vec特征以及两个多维度融合特征。
在完成了单特征的提取之后,本发明考虑对部分特征进行融合处理,通常经过特定特征之间的拼接合并,就能够创造出更具有分类判别能力的新特征。首先,将Ember特征中与PE结构解析无关的字节直方图、字节熵直方图和字符串信息等特征进行合并,得到ember基础特征。在此基础上,根据上述三类单特征的预测结果,设置两种新特征的融合方式:一方面,将ember基础特征、节区特征和TF-IDF特征中的可读性字符串、操作码序列特征进行合并,其中生成可读性字符串特征的词汇库仅考虑按词频降序排列的前300个词汇;另一方面,考虑到操作码语义特征的重要性,将ember基础特征、节区特征、操作码序列特征和Asm2Vec特征进行合并。最终,在已有单特征的前提下,以ember基础特征代替组成该特征的3个Ember特征,同时加入新构造的两个融合特征,得到了一个较为完备的恶意软件家族分类特征集,包括Ember特征中的节区、导入表、导出表以及融合得到的Ember基础特征,TF-IDF特征中的可读性字符串和操作码序列特征,Asm2Vec特征以及两个多维度融合特征。
一种实施方式中,步骤S2中,根据提取的恶意软件特征进行特征选择,包括:
对经过TF-IDF处理后生成的特征进行特征选择,使用基于树的评估器ExtraTreesClassifier计算特征的重要性,并根据特征重要性剔除无关特征或冗余特征。
进一步,本发明考虑对经过TF-IDF处理后生成的特征进行特征选择,这里使用基于树的评估器ExtraTreesClassifier计算特征的重要性,并根据特征重要性剔除无关特征或冗余特征。考虑到真实环境中各个恶意软件家族的不平衡分布带来的负面影响,本发明在选择特征之前首先计算了训练集中各个恶意软件家族样本的类别权重,然后再基于权重进行特征选择。
S3以XGBoost作为基础模型,根据得到的恶意软件家族分类特征集中的特征分别单独训练基础模型,并根据训练好的基础模型对训练集样本进行预测,根据得到预测结果计算各特征在对应各家族上的权重值;并采用加权软投票的方式来计算恶意软件家族分类预测结果。
一种实施方式中,步骤S3包括:
以XGBoost作为基础模型,根据得到的恶意软件家族分类特征集中的特征分别单独训练基础模型,并根据训练好的基础模型对训练集样本进行预测,得到每个特征对应的原始预测概率;将训练集样本按其所属家族进行分组,根据每个特征在每组样本的预测结果和真实家族计算logloss,并将logloss的负对数值作为当前特征在当前家族上的权重值。
根据得到的权重值,将每个基础模型的预测概率乘上对应权重然后相加,得到新的预测概率;对于每一个样本,将相加后概率值最大的类确定为投票结果,从参与的所有基础模型中选取预测结果与投票结果一致且预测概率值最大的结果作为恶意软件家族分类预测结果。
在加权软投票的过程中,使用XGBoost作为基础模型,将恶意软件家族分类特征集中的特征分别单独输入到基础模型中训练,然后反过来使用训练好的模型去预测训练集样本,得到每个特征对应的原始预测概率。其次,将训练集样本按其所属家族进行分组,根据每个特征在每组样本的预测结果和真实家族计算logloss,并将logloss的负对数值作为当前特征在当前家族上的权重值。
得到上述权重后,将每个模型的预测概率乘上对应权重然后相加,得到新的预测概率。对于每一个样本,将相加后概率值最大的类确定为样本家族(即投票结果),然后再从参与投票的所有模型中选取预测结果与投票结果一致且预测概率值最大的结果作为该样本的最终预测结果,从而完成软投票过程。
其中,一种场景中,也可以将步骤S3中得到的预测结果作为初步预测结果(初步预测的家族标签),但由于可能存在误分类的情况出现,因此本发明还进一步根据步骤S3的初步预测结果来进行进一步的模型集成处理,从而进一步提高预测结果的准确性。
一种实施方式中,该方法还包括:
步骤S4对于恶意软件家族分类特征集中的各个特征,在计算得到对应的原始预测概率和该特征在各个家族上的权重值后,选取了不同的特征集合进行加权软投票处理并得到对应的预测概率,并根据多组预测概率值计算恶意软件家族分类预测结果。
基于上述方法进行模型继承,对于恶意软件家族分类特征集中的各个特征,在计算得到对应的原始预测概率和该特征在各个家族上的权重值后,本发明首先选取了4组特征集合进行加权软投票处理,分别是:{Ember基础特征,节区,导入表和导出表},{节区,导出表,可读性字符串,Asm2Vec特征},{节区,导出表,可读性字符串,含操作码语义的多维度融合特征}以及{节区,导出表,两个多维度融合特征},并得到对应模型的预测概率。然后,再对这4组预测概率值进行求和平均,实现对多模型的集成处理,从而得到最终的预测概率结果。
根据构建的4组特征集合,分别采用上一个步骤中的加权软投票的方式分别计算预测概率;(即分别将这4组特征集合作为上一个步骤中的“恶意软件家族分类特征集”并重复上述步骤S3来得到4个不同的预测概率值;)从而得到4个预测概率之后再进行求和平均计算得到最终的恶意软件分类预测结果。通过提出了改进的模型集成步骤,有助于提高针对恶意软件家族分类的可靠性和准确性。
基于本发明上述实施方式提出的基于多维度特征融合和模型集成的恶意软件家族分类方法,其取得了如下有益效果:
本发明针对恶意软件本身的进行了详细的特征工程,从PE文件及其对应的汇编文件中构造提取了Ember、TF-IDF和Asm2Vec等多个维度的有效分类特征,并进行了有效的特征融合和特征选择处理,有效消除了训练集中各个恶意软件家族样本数量极度不平衡带来的负面影响,在一定程度上为解决真实安全场景中常见的概念漂移问题提供了可行的思路。针对现有技术不管是基于传统的特征码还是成熟的人工智能策略,通常仅关注恶意软件的某一种特征的技术问题,本发明基于恶意软件的文件逻辑结构和汇编语言的语义信息提取了多个维度的关键特征,在此基础上进行了特征融合和特征选择等多个维度的特征工程,有助于更好地应对恶意软件的检测逃避技术。
本发明在模型构建过程中,充分利用了加权软投票和模型集成等人工智能策略的优势,在不同家族间恶意软件的修改和/或混淆现象普遍存在的场景下,仍然能够得到较好的分类效果。针对现有技术在应用人工智能策略时倾向于构建单一的分类模型,过于依赖现有机器学习和深度学习算法的自动化策略的想象,本发明在使用主流的XGBoost算法的基础上,进一步应用了加权软投票和模型集成等策略,有助于提升恶意软件家族分类模型的泛化能力。
需要说明的是,在本发明各个实施例中的各功能单元/模块可以集成在一个处理单元/模块中,也可以是各个单元/模块单独物理存在,也可以是两个或两个以上单元/模块集成在一个单元/模块中。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件功能单元/模块的形式实现。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解应当理解,可以以硬件、软件、固件、中间件、代码或其任何恰当组合来实现这里描述的实施例。对于硬件实现,处理器可以在一个或多个下列单元中实现:专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、设计用于实现这里所描述功能的其他电子单元或其组合。对于软件实现,实施例的部分或全部流程可以通过计算机程序来指令相关的硬件来完成。实现时,可以将上述程序存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。计算机可读介质可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当分析,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。

Claims (8)

1.基于多维度特征融合和模型集成的恶意软件家族分类方法,其特征在于,包括:
S1获取恶意软件PE文件,根据获取的PE文件提取多个维度的恶意软件特征;其中恶意软件特征包括:Ember特征、TF-IDF特征和Asm2Vec;
S2根据提取的恶意软件特征进行特征融合和特征选择处理,得到恶意软件家族分类特征集;
S3以XGBoost作为基础模型,根据得到的恶意软件家族分类特征集中的特征分别单独训练基础模型,并根据训练好的基础模型对训练集样本进行预测,根据得到预测结果计算各特征在对应各家族上的权重值;并采用加权软投票的方式来计算恶意软件家族分类预测结果。
2.根据权利要求1所述的基于多维度特征融合和模型集成的恶意软件家族分类方法,其特征在于,步骤S1包括:
根据获取的PE文件提取Ember特征,具体包括:
使用Ember提供的特征提取方法提取出PE文件的字节直方图、字节熵直方图和字符串信息特征作为Ember基础特征;
根据获取的PE文件进行反汇编处理得到汇编文件,从汇编文件中提取节区、导入表信息和导出表信息;
其中Ember特征包含Ember基础特征和所述节区、导入表信息和导出表信息。
3.根据权利要求2所述的基于多维度特征融合和模型集成的恶意软件家族分类方法,其特征在于,步骤S1包括:
根据获取的PE文件和/或汇编文件提取TF-IDF特征,具体包括:
针对PE文件中的可读性字符串和/或汇编文件中的操作码序列进行词频-逆文件频率处理,得到TF-IDF特征,其中TF-IDF特征包括可读性字符串序列特征和操作码序列特征。
4.根据权利要求3所述的基于多维度特征融合和模型集成的恶意软件家族分类方法,其特征在于,步骤S1包括:
根据获取汇编文件提取Asm2Vec特征,具体包括:
根据汇编文件中的代码执行逻辑有关的语义信息提取Asm2Vec特征。
5.根据权利要求4所述的基于多维度特征融合和模型集成的恶意软件家族分类方法,其特征在于,步骤S2中,根据提取的恶意软件特征进行特征融合,包括:
融合构建恶意软件家族分类特征集,其中恶意软件家族分类特征集包括Ember特征中的节区、导入表、导出表以及融合得到的Ember基础特征,TF-IDF特征中的可读性字符串和操作码序列特征,Asm2Vec特征以及两个多维度融合特征。
6.根据权利要求5所述的基于多维度特征融合和模型集成的恶意软件家族分类方法,其特征在于,步骤S2中,根据提取的恶意软件特征进行特征选择,包括:
对经过TF-IDF处理后生成的特征进行特征选择,使用基于树的评估器ExtraTreesClassifier计算特征的重要性,并根据特征重要性剔除无关特征或冗余特征。
7.根据权利要求6所述的基于多维度特征融合和模型集成的恶意软件家族分类方法,其特征在于,步骤S3包括:
以XGBoost作为基础模型,根据得到的恶意软件家族分类特征集中的特征分别单独训练基础模型,并根据训练好的基础模型对训练集样本进行预测,得到每个特征对应的原始预测概率;将训练集样本按其所属家族进行分组,根据每个特征在每组样本的预测结果和真实家族计算logloss,并将logloss的负对数值作为当前特征在当前家族上的权重值。
根据得到的权重值,将每个基础模型的预测概率乘上对应权重然后相加,得到新的预测概率;对于每一个样本,将相加后概率值最大的类确定为投票结果,从参与的所有基础模型中选取预测结果与投票结果一致且预测概率值最大的结果作为恶意软件家族分类预测结果。
8.根据权利要求7所述的基于多维度特征融合和模型集成的恶意软件家族分类方法,其特征在于,还包括步骤S4对于恶意软件家族分类特征集中的各个特征,在计算得到对应的原始预测概率和该特征在各个家族上的权重值后,选取不同的特征集合进行加权软投票处理并得到对应的预测概率,并根据多组预测概率值计算恶意软件家族分类预测结果。
CN202210035910.8A 2022-01-11 2022-01-11 基于多维度特征融合和模型集成的恶意软件家族分类方法 Active CN114386511B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210035910.8A CN114386511B (zh) 2022-01-11 2022-01-11 基于多维度特征融合和模型集成的恶意软件家族分类方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210035910.8A CN114386511B (zh) 2022-01-11 2022-01-11 基于多维度特征融合和模型集成的恶意软件家族分类方法

Publications (2)

Publication Number Publication Date
CN114386511A true CN114386511A (zh) 2022-04-22
CN114386511B CN114386511B (zh) 2023-06-23

Family

ID=81202075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210035910.8A Active CN114386511B (zh) 2022-01-11 2022-01-11 基于多维度特征融合和模型集成的恶意软件家族分类方法

Country Status (1)

Country Link
CN (1) CN114386511B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080974A (zh) * 2022-08-17 2022-09-20 杭州安恒信息技术股份有限公司 一种恶意pe文件检测方法、装置、设备及介质
CN117332419A (zh) * 2023-11-29 2024-01-02 武汉大学 一种基于预训练的恶意代码分类方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103177215A (zh) * 2013-03-05 2013-06-26 四川电力科学研究院 基于软件控制流特征的计算机恶意软件检测新方法
CN105138913A (zh) * 2015-07-24 2015-12-09 四川大学 一种基于多视集成学习的恶意软件检测方法
US20190036273A1 (en) * 2016-01-29 2019-01-31 Robert Bosch Gmbh Electrical plug connection
CN112000952A (zh) * 2020-07-29 2020-11-27 暨南大学 Windows平台恶意软件的作者组织特征工程方法
CN113434858A (zh) * 2021-05-25 2021-09-24 天津大学 基于反汇编代码结构和语义特征的恶意软件家族分类方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103177215A (zh) * 2013-03-05 2013-06-26 四川电力科学研究院 基于软件控制流特征的计算机恶意软件检测新方法
CN105138913A (zh) * 2015-07-24 2015-12-09 四川大学 一种基于多视集成学习的恶意软件检测方法
US20190036273A1 (en) * 2016-01-29 2019-01-31 Robert Bosch Gmbh Electrical plug connection
CN112000952A (zh) * 2020-07-29 2020-11-27 暨南大学 Windows平台恶意软件的作者组织特征工程方法
CN113434858A (zh) * 2021-05-25 2021-09-24 天津大学 基于反汇编代码结构和语义特征的恶意软件家族分类方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115080974A (zh) * 2022-08-17 2022-09-20 杭州安恒信息技术股份有限公司 一种恶意pe文件检测方法、装置、设备及介质
CN115080974B (zh) * 2022-08-17 2022-11-08 杭州安恒信息技术股份有限公司 一种恶意pe文件检测方法、装置、设备及介质
CN117332419A (zh) * 2023-11-29 2024-01-02 武汉大学 一种基于预训练的恶意代码分类方法及装置
CN117332419B (zh) * 2023-11-29 2024-02-20 武汉大学 一种基于预训练的恶意代码分类方法及装置

Also Published As

Publication number Publication date
CN114386511B (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
Legoy et al. Automated retrieval of att&ck tactics and techniques for cyber threat reports
CN109784056B (zh) 一种基于深度学习的恶意软件检测方法
Sun et al. Malware family classification method based on static feature extraction
CN110362995B (zh) 一种基于逆向与机器学习的恶意软件检测及分析系统
CN114386511A (zh) 基于多维度特征融合和模型集成的恶意软件家族分类方法
CN112000952B (zh) Windows平台恶意软件的作者组织特征工程方法
US20220318387A1 (en) Method and Computer for Learning Correspondence Between Malware and Execution Trace of the Malware
CN113688240B (zh) 威胁要素提取方法、装置、设备及存储介质
CN112528284A (zh) 恶意程序的检测方法及装置、存储介质、电子设备
CN108446559A (zh) 一种apt组织的识别方法及装置
US20210334371A1 (en) Malicious File Detection Technology Based on Random Forest Algorithm
Nguyen et al. Toward a deep learning approach for detecting php webshell
Elkhawas et al. Malware detection using opcode trigram sequence with SVM
McGahagan et al. A comprehensive evaluation of webpage content features for detecting malicious websites
Rani et al. TTPHunter: automated extraction of actionable intelligence as TTPs from narrative threat reports
Abaimov et al. A survey on the application of deep learning for code injection detection
CN116361788A (zh) 一种基于机器学习的二进制软件漏洞预测方法
Naeem et al. Digital forensics for malware classification: An approach for binary code to pixel vector transition
Reddy et al. Network attack detection and classification using ann algorithm
WO2023072002A1 (zh) 开源组件包的安全检测方法及装置
Onoja et al. Exploring the effectiveness and efficiency of LightGBM algorithm for windows malware detection
Jiang et al. Hetersupervise: Package-level android malware analysis based on heterogeneous graph
Wu et al. IoT malware analysis and new pattern discovery through sequence analysis using meta-feature information
Jyothsna et al. Unified Approach for Android Malware Detection: Feature Combination and Ensemble Classifier
Alabadee et al. Evaluation and Implementation of Malware Classification Using Random Forest Machine Learning Algorithm

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
CB03 Change of inventor or designer information

Inventor after: Li Shudong

Inventor after: Fang Binxing

Inventor after: Tian Zhihong

Inventor after: Gu Zhaoquan

Inventor after: Yin Lihua

Inventor after: Li Yuan

Inventor after: Wu Xiaobo

Inventor after: Li Zhengyang

Inventor after: Han Weihong

Inventor after: Zhang Haipeng

Inventor after: Xiao Linhe

Inventor after: Xu Na

Inventor after: Zhao Chuanyu

Inventor before: Li Shudong

Inventor before: Fang Binxing

Inventor before: Tian Zhihong

Inventor before: Gu Zhaoquan

Inventor before: Yin Lihua

Inventor before: Li Yuan

Inventor before: Wu Xiaobo

Inventor before: Li Zhengyang

Inventor before: Han Weihong

Inventor before: Zhang Haipeng

Inventor before: Xiao Linhe

Inventor before: Xu Na

Inventor before: Zhao Chuanyu

CB03 Change of inventor or designer information
GR01 Patent grant
GR01 Patent grant