Android恶意应用检测方法技术

技术编号:39287229 阅读:5 留言:0更新日期:2023-11-07 10:57
本发明专利技术涉及Android恶意软件检测领域,特别是涉及一种Android恶意应用检测方法。从待检测应用中提取静态特征向量;基于所述静态特征向量,利用预先训练好的静态检测模型中的基学习器,对所述待检测应用进行初步预测,得到静态初步预测值;所述静态初步预测值用于表征所述待检测应用经静态检测初步确定为恶意应用的概率;基于所述静态初步预测值,利用预先训练好的静态检测模型中的元学习器,对所述待检测应用进行再预测,得到静态检测预测值;所述静态检测预测值用于表征所述待检测应用经静态检测再次确定为恶意应用的概率;根据所述静态检测预测值,确定所述待检测应用是否为恶意应用。意应用。意应用。

【技术实现步骤摘要】
Android恶意应用检测方法


[0001]本申请涉及Android恶意软件检测领域,尤其是涉及一种Android恶意应用检测方法。

技术介绍

[0002]随着移动互联网的发展,Android智能手机已迅速成为流行的计算平台,用户往往会安装多种多样的应用进行使用。在此过程中,可能会无意间安装一些恶意应用,窃取用户信息或暗自执行某些操作,给Android用户带来巨大的安全隐患。
[0003]为了排查这些恶意应用,现有技术大多采用机器学习的方式对应用的恶意性进行分析预测。一般会提取待检测应用的特征,输入单一的机器学习模型中进行预测。
[0004]但是,单一的学习模型对于噪音和误差较为敏感。这些噪音和误差一般来源于训练过程中所使用的训练样本、选择的特征、模型本身特性等多方面。以训练样本为例,训练样本的数量较少、样本类型丰富度较差,可能导致训练好的模型仅对部分与训练样本对应类型的应用有较高的检测精度,而对其它类型的引用却不敏感,从而表现为鲁棒性和泛化能力都比较差,容易出现过拟合的问题。类似的,特征的选择有偏差、模型的适用场景有局限也都会引发类似的问题。可见,这种依赖于单一学习模型的检测方式的检测准确率十分依赖于训练样本的数量、样本类型丰富度、特征选择、模型性能,导致这种检测方式的准确率较低。

技术实现思路

[0005]本申请提供一种Android恶意应用检测方法,以解决上述的问题。
[0006]第一方面,本申请提供一种Android恶意应用检测方法,包括:从待检测应用中提取静态特征向量;基于所述静态特征向量,利用预先训练好的静态检测模型中的基学习器,对所述待检测应用进行初步预测,得到静态初步预测值;所述静态初步预测值用于表征所述待检测应用经静态检测初步确定为恶意应用的概率;基于所述静态初步预测值,利用预先训练好的静态检测模型中的元学习器,对所述待检测应用进行再预测,得到静态检测预测值;所述静态检测预测值用于表征所述待检测应用经静态检测再次确定为恶意应用的概率;根据所述静态检测预测值,确定所述待检测应用的静态检测结果;根据所述静态检测结果,确定所述待检测应用是否为恶意应用。
[0007]第二方面,本申请提供一种Android恶意应用检测方法,包括:从所述待检测应用的模拟运行数据中提取动态特征向量;基于所述动态特征向量,利用预先训练好的动态检测模型中的基学习器,对所述待检测应用进行初步预测,得到动态初步预测值;所述动态初步预测值用于表征所述待检测应用经动态检测初步确定为恶意应用的概率;
基于所述动态初步预测值,利用预先训练好的动态检测模型中的元学习器,对所述待检测应用进行再预测,得到动态检测预测值;所述动态检测预测值用于表征所述待检测应用经动态检测再次确定为恶意应用的概率;根据所述动态检测预测值,确定所述待检测应用的动态检测结果;根据所述动态检测结果,确定所述待检测应用是否为恶意应用。
[0008]第三方面,本申请提供一种电子设备,包括:存储器和处理器,所述存储器上存储有能够被处理器加载并执行第一方面或第二方面的方法的计算机程序。
[0009]第四方面,本申请提供一种计算机可读存储介质,存储有能够被处理器加载并执行第一方面或第二方面的方法的计算机程序。
[0010]第五方面,本申请提供一种计算机程序产品,包括:计算机程序;所述计算机程序被处理器执行时,实现如第一方面任一项或第二方面任一项所述的方法。
[0011]本申请提供了一种Android恶意应用检测方法包括:从待检测应用中提取静态特征向量;基于所述静态特征向量,利用预先训练好的静态检测模型中的基学习器,对所述待检测应用进行初步预测,得到静态初步预测值;所述静态初步预测值用于表征所述待检测应用经静态检测初步确定为恶意应用的概率;基于所述静态初步预测值,利用预先训练好的静态检测模型中的元学习器,对所述待检测应用进行再预测,得到静态检测预测值;所述静态检测预测值用于表征所述待检测应用经静态检测再次确定为恶意应用的概率;根据所述静态检测预测值,确定所述待检测应用的静态检测结果;根据所述静态检测结果,确定所述待检测应用是否为恶意应用。本申请提供的Android恶意应用检测方法,基于静态检测模型进行。该静态检测模型包括基学习器和元学习器两部分,针对Android恶意软件静态检测中使用各种单一的机器学习模型存在着低准确率、高误报率的问题,本实施例提出基于基学习器和元学习器两部分构成Stacking模型融合的静态检测方法,通过Stacking集成学习对多个学习器进行集成,可以结合不同学习器的优势,使分类模型具备较强的泛化能力,可以弥补样本不足、样本类型偏差等问题,不再依赖于训练样本的数量、样本类型丰富度、特征选择、单个模型性能,提升检测准确率。
附图说明
[0012]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0013]图1为本申请一实施例提供的一种应用场景示意图;图2为本申请一实施例提供的一种Android恶意应用检测方法(静态检测方法)的流程图;图3

1为本申请一实施例提供的一种静态检测模型的框架设计图;图3

2为本申请一实施例提供的一种对APK文件进行反编译的过程示意图;图3

3为本申请一实施例提供的一种反编译完成后得到的文件夹结构示意图;图3

4为本申请一实施例提供的一种直接对APK文件进行解压得到的文件夹目录结构示意图;
图3

5为本申请一实施例提供的一种图3

3中发smali文件夹中smali代码片段示意图;图3

6为本申请一实施例提供的一种以图3

5中smali代码片段为例提取Opcode N

gram过程示意图;图3

7为本申请一实施例提供的一种采用10折交叉验证进行静态检测模型训练的过程示意图;图3

8为本申请一实施例提供的一种利用不同取值下Opcode N

gram特征集训练的静态检测模型的分类准确率对比图;图3

9为本申请一实施例提供的一种分类模型效率的评价指标示意图;图3

10为本申请一实施例提供的一种反编译、特征提取、特征处理三部分的平均检测时间分布示意图;图3

11为本申请一实施例提供的一种利用不同取值下Opcode N

gram特征集训练的静态检测模型的检测时间对比图;图3

12为本申请一实施例提供的一种支持向量机、随机森林、GBDT算法、XGBoost算法、SRXG

Stacking分类模型分类效果对比图;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种Android恶意应用检测方法,其特征在于,包括:从待检测应用中提取静态特征向量;基于所述静态特征向量,利用预先训练好的静态检测模型中的基学习器,对所述待检测应用进行初步预测,得到静态初步预测值;所述静态初步预测值用于表征所述待检测应用经静态检测初步确定为恶意应用的概率;基于所述静态初步预测值,利用预先训练好的静态检测模型中的元学习器,对所述待检测应用进行再预测,得到静态检测预测值;所述静态检测预测值用于表征所述待检测应用经静态检测再次确定为恶意应用的概率;根据所述静态检测预测值,确定所述待检测应用的静态检测结果;根据所述静态检测结果,确定所述待检测应用是否为恶意应用。2.根据权利要求1所述的方法,其特征在于,还包括:根据所述静态检测预测值,通过确定度计算公式,计算出所述静态检测结果的确定度;所述根据所述静态检测结果,确定所述待检测应用是否为恶意应用,包括:若所述静态检测结果的确定度超过静态检测确定度阈值,根据所述静态检测结果,确定所述待检测应用是否为恶意应用;否则,对所述待检测应用执行动态检测,得到动态检测结果;根据所述动态检测结果,确定所述待检测应用是否为恶意应用。3.根据权利要求2所述的方法,其特征在于,所述对所述待检测应用执行动态检测,得到动态检测结果,包括:从所述待检测应用的模拟运行数据中提取动态特征向量;基于所述动态特征向量,利用预先训练好的动态检测模型中的基学习器,对所述待检测应用进行初步预测,得到动态初步预测值;所述动态初步预测值用于表征所述待检测应用经动态检测初步确定为恶意应用的概率;基于所述动态初步预测值,利用预先训练好的动态检测模型中的元学习器,对所述待检测应用进行再预测,得到动态检测预测值;所述动态检测预测值用于表征所述待检测应用经动态检测再次确定为恶意应用的概率;根据所述动态检测预测值,确定所述待检测应用的动态检测结果。4.根据权利要求1

3任一项所述的方法,其特征在于,还包括:基于支持向量机算法、随机森林算法、XGBoost算法构建所述基学习器;基于GBDT算法,构建所述元学习器。5.根据权利要求1所述的方法,其特征在于,所述从待检测应用中提取静态特征向量,包括:对所述待检测应用进行反编译,得到源码信息;从所述源码信息中抽取dalvik字节码特征;根据Dalvik转换表将所述dalvik字节码特征转换成Opcode序列特征;使用N

gram技术将所述Opcode序列特征切分成Opcode N

gram特征集合,得到Opcode N

【专利技术属性】
技术研发人员:刘全明薛文鹏马超杨茹贤任国超
申请(专利权)人:山西晋信安科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1