【技术实现步骤摘要】
一种基于堆叠集成技术的Android恶意软件检测方法
[0001]本专利技术属于计算机安全
,具体涉及一种基于堆叠集成技术的Android恶意软件检测方法。
技术介绍
[0002]Android系统是由Google推出的一款主要面向智能手机的操作系统,根据近年来的调查数据显示,Android占据了超过85%的市场份额,已经逐渐渗透到了其他制造领域当中。然而由于Android的开源性导致大量的恶意软件趁虚而入,进而引发了一系列的威胁挑战,其中主要包括隐私泄露、数据盗窃和网络间谍活动等等,给使用者造成了重大的经济损失。因此,恶意软件检测成为了当前迫在眉睫的重要问题,并且在计算安全领域也日渐成为了一种十分热门的话题。
[0003]针对恶意软件检测问题,现有的检测方法主要可以分为两大类:静态检测和动态检测。静态检测是在执行应用程序之前识别恶意软件,而动态检测则是在运行时执行恶意软件检测任务。由于恶意软件的动态检测方法时间复杂度高、需要的成本高并且难以检测出多路径的恶意软件,因此大多数学者提出的都是静态检测方法。 >[0004]近年来本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于堆叠集成技术的Android恶意软件检测方法,其特征在于,包括:S1:从移动终端获取带有正常和恶意软件标签的Android软件APK数据样本;S2:采用混合样本生成方法生成恶意软件样本,根据获取的带有正常和恶意软件标签的Android软件APK数据样本与生成的恶意软件样本构建一个恶意软件样本与正常软件样本数量均衡的样本数据集;S3:对样本数据集中的每个软件样本进行解析,得到每个软件样本的软件特征;S4:计算每个软件特征的信息熵增益值,根据信息熵增益值的大小判断每个软件特征对检测出恶意软件的贡献度,提取贡献度最大的前k项特征;S5:利用主成分分析法对提取的前k项特征进行深度降维,得到关键特征集合,并将关键特征集合划分为训练集和测试集;S6:建立AM
‑
Stacking恶意软件检测模型,所述AM
‑
Stacking恶意软件检测模型包括:第一层的基学习器KNN、LR、RF和第二层的元学习器GBDT;S7:利用K折交叉验证方法对训练集进行划分,得到多个训练集,根据划分的多个训练集分别训练AM
‑
Stacking恶意软件检测模型的第一层基学习器KNN、LR、RF,得到不同训练集下三个基学习器的训练参数和产生的新训练子集;S8:利用基学习器产生的新的训练子集训练AM
‑
Stacking恶意软件检测模型的第二层元学习器GBDT,得到元学习器GBDT的训练参数;S9:根据基学习器在不同的训练集下的训练参数对测试数据集分别进行检测,并利用注意力机制,对检测出的结果进行权重划分和整合,得到一个新测试数据集;S10:根据得到的元学习器GBDT的训练参数对元学习器GBDT进行调参,将新测试数据集输入调参后的元学习器GBDT进行进一步检测,检测出恶意软件。2.根据权利要求1所述的一种基于堆叠集成技术的Android恶意软件检测方法,其特征在于,采用混合样本生成方法生成恶意软件样本,表示为:其中,M
new
表示新的恶意软件样本,m表示新的恶意软件样本的数量,G表示生成对抗网络,z表示边界合成少数类过采样技术生成的噪声向量,M
i
表示的边界样本,表示M
i
的一个K近邻样本,δ表示0到1的随机数。3.根据权利要求1所述的一种基于堆叠集成技术的Android恶意软件检测方法,其特征在于,计算每个软件特征的信息熵增益值,表示为:IG(F
i
)=H(S
*
)
‑
H(S
*
|F
i
)其中,IG(F
i
)表示第i个特征F
i
的信息增益值,H(S
*
)表示整个预测系统的信息熵,k表示该系统分类的个数,表示变量S
*
可能的取值,表示变量的概率,H(S
*
|F
i
)表示每个特征单独作为分类特征时的条件信息熵,表示第i个特征F
i
可能的所有取值,P(Value(F
i
))表示第i个特征取为某特定值下的概率。4.根据权利要求1所述的一种基于堆叠集成技术的Android恶意软件检测...
【专利技术属性】
技术研发人员:刘红,李娟,陈莉,肖云鹏,李暾,李茜,庞育才,陈南羽,马婧,
申请(专利权)人:重庆邮电大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。