CN109858247A - 一种基于XGBoost的静态三特征模型的恶意软件分类方法 - Google Patents
一种基于XGBoost的静态三特征模型的恶意软件分类方法 Download PDFInfo
- Publication number
- CN109858247A CN109858247A CN201811597864.0A CN201811597864A CN109858247A CN 109858247 A CN109858247 A CN 109858247A CN 201811597864 A CN201811597864 A CN 201811597864A CN 109858247 A CN109858247 A CN 109858247A
- Authority
- CN
- China
- Prior art keywords
- sample
- syndrome
- xgboost
- feature
- stage
- 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.)
- Withdrawn
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种基于XGBoost的静态三特征模型的恶意软件分类方法。现有的静态特征提取技术主要依靠字节视图(即16进制字节码)、汇编视图(即asm汇编代码)、PE视图(即PE结构化信息)三个方面进行特征的提取,使用其中之一的方法虽耗时短,但准确率可能会很低;全取三种方法虽然可以有效的提高准确率,但相对于耗时的成倍增加,准确率仍显不足。本发明引用机器学习算法XGBoost算法,对以上三种提取后的特征集进行算法集成运算,获得更高的准确率。
Description
技术领域
本发明涉及一种特征分类方法,特别是一种融合特征分类方法。
背景技术
现有的基于XGBoost模型的分类器要么利用的静态特征太少,要么加入动态特征的融合,会对分析系统造成破坏,不安全。现实状况需要在不破坏分析系统环境的基础上,提供一种效率更高、更安全、准确率相对更高的恶意软件的分类模型。
发明内容
鉴于现有技术的缺陷,本发明创造提出一种基于XGBoost的静态三特征模型的恶意软件分类方法,相对于根据单一静态特征对恶意软件的分类方法,三特征XGBoost模型算法的提高了分类的准确率;相对于采用静态、动态特征结合的分类方法,三特征XGBoost模型算法又提高了效率以及安全性。
采用的技术解决方案如下:
一种基于XGBoost的静态三特征模型的恶意软件分类方法,其工作步骤如下:
步骤1:获取数据集的S01阶段:首先从VirusShare网站获取原始数据集,选用的“VirusShare_00271”数据集总量为 65 536,本发明针对Windows平台下的 PE 文件,因而需要对原始数据进行筛选,本文借助PE Exeinfo这款软件和命令行file指令,筛选掉非 PE文件,后去掉家族分类不明确的样本,最终获得182个不同家族2798个样本,然后进入S02阶段。
步骤2:提取三个特征群的特征向量的S02阶段:分别获取样本的字节视图、汇编视图、PE视图特征,然后进入S03阶段。
步骤3:特征群组合的枚举及样本特征矩阵合并的S03阶段:就是将各个特征群对应的样本特征矩阵合并一个特征矩阵,我们将字节视图、汇编视图、PE视图这三个特征群编号为0~2,则每个组合中三个特征群选与不选可表示为特征群选择序列{ I0,...,Ii,...,I2 }, Ii ∈{0,1},即当 Ii = 1表示选择特征群 i, Ii = 0表示不选择特征群 i。对于每个特征群组合,当其包含不只一个特征群时,我们需要进行不同特征群样本特征矩阵的合并,每次将一个特征群的样本特征矩阵并入总的样本特征矩阵,然后进入S04阶段。
步骤4:XGBoost分类模型训练的S04阶段, 每个 XGBoost 分类模型的训练目标是学习多棵回归树,使得我们的目标函数(,其中N为训练集软件样本数,为训练样本i的预测家族类别,0表示预测错误,1表示预测成功,为模型对软件样本i的预测值。为损失函数,Ω ()为每t棵回归树的复杂度)最小。我们采用迭代的方法训练每一棵回归树,每训练一棵回归树,更新当前整个分类模型对软件样本总的预测值,回归树的生成采用逐层分裂的方法,不断地扩展回归树的深度,在完成回归树的生成后,需要进行减枝以减小回归树的复杂度,经过剪枝后,计算各个叶子结点的对落入其中软件样本的当前预测值,然后进入S05阶段。
步骤5:生成最终分类结果的S05阶段:将测试集软件样本输入到基于 XGBoost 的多特征群模型融合算法训练的整个分类模型。先将软件样本使用训练阶段相同的方法,得到7种(我们使用的三类特征群来说,除去一个特征群都没有,一共有23-1=7种不同的组合方式)特征群组合方式对应的样本特征向量,再经过7个 XGBoost 分类模型,得到输出,组成新的特征向量,输入到逻辑回归分类器中,得到软件样本属于恶意软件的概率pi,当pi>0.5时,我们将软件样本判断为当前预测家族种类。
所述的步骤2中去掉了对动态特征的筛选,保证分析系统的安全
所述的步骤3中两个特征矩阵的合并步骤为:
a将特征矩阵1的特征向量数记为 offset。对于稀疏特征矩阵2来说,特征向量数为特征矩阵1中最大的特征编号加 1。
b枚举待合并的两个特征矩阵的每个样本的特征向量。
c将矩阵特征向量1原样复制到合并后的特征向量中。
d将矩阵的特征向量2中的每个特征的特征编号加上offset。并入到合并后的特征向量中。
所述的步骤4利用决策树生成过程中选择最优属性进行节点分裂,分裂过程完全分裂则不进行剪枝。
有益效果:
与现有技术相比,本发明创造的优点在于忽略动态特征只取静态特征的方案增加了分析系统的安全性,并提升了效率。使用的XGBoost算法模型与传统的分类方法相比分类精度更优,提高了恶意软件的分类的准确率。
附图说明
图1为本发明创造的流程示意图。
具体实施方式:
下面结合附图1,对本发明创造做进一步阐述:
一种基于XGBoost的静态三特征模型的恶意软件分类方法,其特征在于包含以下步骤:
步骤1:获取数据集的S01阶段:首先从VirusShare网站获取原始数据集,选用的“VirusShare_00271”数据集总量为 65 536,本发明针对Windows平台下的 PE 文件,因而需要对原始数据进行筛选,本文借助PE Exeinfo这款软件和命令行file指令,筛选掉非 PE文件,后去掉家族分类不明确的样本,最终获得182个不同家族2798个样本,然后进入S02阶段。
步骤2:提取三个特征群的特征向量的S02阶段:分别获取样本的字节视图、汇编视图、PE视图特征,然后进入S03阶段。
步骤3:特征群组合的枚举及样本特征矩阵合并的S03阶段:就是将各个特征群对应的样本特征矩阵合并一个特征矩阵,我们将字节视图、汇编视图、PE视图这三个特征群编号为0~2,则每个组合中三个特征群选与不选可表示为特征群选择序列{ I0,...,Ii,...,I2 }, Ii ∈{0,1},即当 Ii = 1表示选择特征群 i, Ii = 0表示不选择特征群 i。对于每个特征群组合,当其包含不只一个特征群时,我们需要进行不同特征群样本特征矩阵的合并,每次将一个特征群的样本特征矩阵并入总的样本特征矩阵,然后进入S04阶段。
步骤4:XGBoost分类模型训练的S04阶段, 每个 XGBoost 分类模型的训练目标是学习多棵回归树,使得我们的目标函数(,其中N为训练集软件样本数,为训练样本i的预测家族类别,0表示预测错误,1表示预测成功,为模型对软件样本i的预测值。为损失函数,Ω ()为每t棵回归树的复杂度)最小。我们采用迭代的方法训练每一棵回归树,每训练一棵回归树,更新当前整个分类模型对软件样本总的预测值,回归树的生成采用逐层分裂的方法,不断地扩展回归树的深度,在完成回归树的生成后,需要进行减枝以减小回归树的复杂度,经过剪枝后,计算各个叶子结点的对落入其中软件样本的当前预测值,然后进入S05阶段。
步骤5:生成最终分类结果的S05阶段:将测试集软件样本输入到基于 XGBoost 的多特征群模型融合算法训练的整个分类模型。先将软件样本使用训练阶段相同的方法,得到7种(我们使用的三类特征群来说,除去一个特征群都没有,一共有23-1=7种不同的组合方式)特征群组合方式对应的样本特征向量,再经过7个 XGBoost 分类模型,得到输出,组成新的特征向量,输入到逻辑回归分类器中,得到软件样本属于恶意软件的概率pi,当pi>0.5时,我们将软件样本判断为当前预测家族种类。
所述的步骤2中去掉了对动态特征的筛选,保证分析系统的安全
所述的步骤3中两个特征矩阵的合并步骤为:
a将特征矩阵1的特征向量数记为 offset。对于稀疏特征矩阵2来说,特征向量数为特征矩阵1中最大的特征编号加 1。
b枚举待合并的两个特征矩阵的每个样本的特征向量。
c将矩阵特征向量1原样复制到合并后的特征向量中。
d将矩阵的特征向量2中的每个特征的特征编号加上offset。并入到合并后的特征向量中。
所述的步骤4利用决策树生成过程中选择最优属性进行节点分裂,分裂过程完全分裂则不进行剪枝。
Claims (4)
1.一种基于XGBoost的静态三特征模型的恶意软件分类方法,其工作步骤如下:
步骤1:获取数据集的S01阶段:首先从VirusShare网站获取原始数据集,选用的“VirusShare_00271”数据集总量为 65 536,本发明针对Windows平台下的 PE 文件,因而需要对原始数据进行筛选,本文借助PE Exeinfo这款软件和命令行file指令,筛选掉非 PE文件,后去掉家族分类不明确的样本,最终获得182个不同家族2798个样本,然后进入S02阶段;
步骤2:提取三个特征群的特征向量的S02阶段:分别获取样本的字节视图、汇编视图、PE视图特征,然后进入S03阶段;
步骤3:特征群组合的枚举及样本特征矩阵合并的S03阶段:就是将各个特征群对应的样本特征矩阵合并一个特征矩阵,我们将字节视图、汇编视图、PE视图这三个特征群编号为0~2,则每个组合中三个特征群选与不选可表示为特征群选择序列{ I0,...,Ii,...,I2 },Ii ∈{0,1},即当 Ii = 1表示选择特征群 i, Ii = 0表示不选择特征群 i;
对于每个特征群组合,当其包含不只一个特征群时,我们需要进行不同特征群样本特征矩阵的合并,每次将一个特征群的样本特征矩阵并入总的样本特征矩阵,然后进入S04阶段;
步骤4:XGBoost分类模型训练的S04阶段, 每个 XGBoost 分类模型的训练目标是学习多棵回归树,使得我们的目标函数(,其中N为训练集软件样本数,为训练样本i的预测家族类别,0表示预测错误,1表示预测成功,为模型对软件样本i的预测值,
为损失函数,Ω ()为每t棵回归树的复杂度)最小;我们采用迭代的方法训练每一棵回归树,每训练一棵回归树,更新当前整个分类模型对软件样本总的预测值,回归树的生成采用逐层分裂的方法,不断地扩展回归树的深度,在完成回归树的生成后,需要进行减枝以减小回归树的复杂度,经过剪枝后,计算各个叶子结点的对落入其中软件样本的当前预测值,然后进入S05阶段;
步骤5:生成最终分类结果的S05阶段:将测试集软件样本输入到基于 XGBoost 的多特征群模型融合算法训练的整个分类模型,先将软件样本使用训练阶段相同的方法,得到7种(我们使用的三类特征群来说,除去一个特征群都没有,一共有23-1=7种不同的组合方式)特征群组合方式对应的样本特征向量,再经过7个 XGBoost 分类模型,得到输出,组成新的特征向量,输入到逻辑回归分类器中,得到软件样本属于恶意软件的概率pi,当pi>0.5时,我们将软件样本判断为当前预测家族种类。
2.根据权利要求1所述的一种基于XGBoost的静态三特征模型的恶意软件分类方法,其特征在于所述的步骤2中去掉了对动态特征的筛选,保证分析系统的安全。
3.根据权利要求1所述的一种基于XGBoost的静态三特征模型的恶意软件分类方法,其特征在于所述的步骤3中两个特征矩阵的合并步骤为:
a将特征矩阵1的特征向量数记为 offset;
对于稀疏特征矩阵2来说,特征向量数为特征矩阵1中最大的特征编号加 1;
b枚举待合并的两个特征矩阵的每个样本的特征向量;
c将矩阵特征向量1原样复制到合并后的特征向量中;
d将矩阵的特征向量2中的每个特征的特征编号加上offset;
并入到合并后的特征向量中。
4.根据权利要求1所述的一种基于XGBoost的静态三特征模型的恶意软件分类方法,其特征在于所述的步骤4利用决策树生成过程中选择最优属性进行节点分裂,分裂过程完全分裂则不进行剪枝。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811597864.0A CN109858247A (zh) | 2018-12-26 | 2018-12-26 | 一种基于XGBoost的静态三特征模型的恶意软件分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811597864.0A CN109858247A (zh) | 2018-12-26 | 2018-12-26 | 一种基于XGBoost的静态三特征模型的恶意软件分类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109858247A true CN109858247A (zh) | 2019-06-07 |
Family
ID=66892372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811597864.0A Withdrawn CN109858247A (zh) | 2018-12-26 | 2018-12-26 | 一种基于XGBoost的静态三特征模型的恶意软件分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109858247A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177084A (zh) * | 2019-12-20 | 2020-05-19 | 平安信托有限责任公司 | 一种文件分类方法、装置、计算机设备及存储介质 |
CN112818344A (zh) * | 2020-08-17 | 2021-05-18 | 北京辰信领创信息技术有限公司 | 一种运用人工智能算法提高病毒查杀率的方法 |
CN112818344B (zh) * | 2020-08-17 | 2024-06-04 | 北京辰信领创信息技术有限公司 | 一种运用人工智能算法提高病毒查杀率的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092827A (zh) * | 2017-03-30 | 2017-08-25 | 中国民航大学 | 一种基于改进森林算法的Android恶意软件检测方法 |
US20180121652A1 (en) * | 2016-10-12 | 2018-05-03 | Sichuan University | Kind of malicious software clustering method expressed based on tlsh feature |
-
2018
- 2018-12-26 CN CN201811597864.0A patent/CN109858247A/zh not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180121652A1 (en) * | 2016-10-12 | 2018-05-03 | Sichuan University | Kind of malicious software clustering method expressed based on tlsh feature |
CN107092827A (zh) * | 2017-03-30 | 2017-08-25 | 中国民航大学 | 一种基于改进森林算法的Android恶意软件检测方法 |
Non-Patent Citations (1)
Title |
---|
孙博文 等: "基于静态多特征融合的恶意软件分类方法", 《网络与信息安全学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111177084A (zh) * | 2019-12-20 | 2020-05-19 | 平安信托有限责任公司 | 一种文件分类方法、装置、计算机设备及存储介质 |
CN112818344A (zh) * | 2020-08-17 | 2021-05-18 | 北京辰信领创信息技术有限公司 | 一种运用人工智能算法提高病毒查杀率的方法 |
CN112818344B (zh) * | 2020-08-17 | 2024-06-04 | 北京辰信领创信息技术有限公司 | 一种运用人工智能算法提高病毒查杀率的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106909654B (zh) | 一种基于新闻文本信息的多级分类系统及方法 | |
CN110348214B (zh) | 对恶意代码检测的方法及系统 | |
CN110880019B (zh) | 通过无监督域适应训练目标域分类模型的方法 | |
CN106484401B (zh) | 一种面向对象软件的自动化重构方法 | |
CN104462301A (zh) | 一种网络数据的处理方法和装置 | |
CN111310191A (zh) | 一种基于深度学习的区块链智能合约漏洞检测方法 | |
CN109684851A (zh) | 软件质量评估方法、装置、设备及计算机存储介质 | |
CN113221960B (zh) | 一种高质量漏洞数据收集模型的构建方法及收集方法 | |
CN109740347A (zh) | 一种针对智能设备固件的脆弱哈希函数的识别与破解方法 | |
US20190026654A1 (en) | Bootstrapping multiple varieties of ground truth for a cognitive system | |
KR101520671B1 (ko) | 실행코드 유사도 분석 시스템 및 방법 | |
CN107357895A (zh) | 一种基于词袋模型的文本表示的处理方法 | |
CN111460452B (zh) | 一种基于频率指纹提取的安卓恶意软件检测方法 | |
CN110825642B (zh) | 一种基于深度学习的软件代码行级缺陷检测方法 | |
CN110941829B (zh) | 一种基于生成对抗网络的大规模硬件木马库生成系统及方法 | |
CN113722711A (zh) | 基于大数据安全漏洞挖掘的数据添加方法及人工智能系统 | |
CN106156107B (zh) | 一种新闻热点的发现方法 | |
CN109858247A (zh) | 一种基于XGBoost的静态三特征模型的恶意软件分类方法 | |
CN114386511A (zh) | 基于多维度特征融合和模型集成的恶意软件家族分类方法 | |
CN114153839A (zh) | 多源异构数据的集成方法、装置、设备及存储介质 | |
CN109816038A (zh) | 一种物联网固件程序分类方法及其装置 | |
CN116383819A (zh) | 一种Android恶意软件家族分类方法 | |
CN114707151B (zh) | 一种基于api调用和网络行为的僵尸软件检测方法 | |
CN109815475B (zh) | 文本匹配方法、装置、计算设备及系统 | |
CN116226852A (zh) | 基于多模态信息融合的移动平台恶意软件检测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information |
Address after: 210012 Jiangsu Province Yuhuatai District Software Avenue 168, 3 buildings, 5 floors Applicant after: Bozhi Safety Technology Co.,Ltd. Address before: 210012 Jiangsu Province Yuhuatai District Software Avenue 168, 3 buildings, 5 floors Applicant before: JIANGSU BOZHI SOFTWARE TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190607 |
|
WW01 | Invention patent application withdrawn after publication |