掌桥专利:专业的专利平台
掌桥专利
首页

一种基于应用多分类的Android恶意应用威胁度检测方法

文献发布时间:2023-06-19 10:08:35


一种基于应用多分类的Android恶意应用威胁度检测方法

技术领域

本发明涉及安全技术领域,尤其是涉及一种基于应用多分类的Android恶意应用威胁度检测方法。

背景技术

目前常用的Android恶意应用威胁度评估方式主要有两种,方法一:论文Quantitative Security Risk Assessment of Android Permission and Applications中,根据贝叶斯公式生成当某个权限下样本A可能是恶意的概率P(A是恶意的|pi),对该样本中所有的P加权求和,即为该样本的威胁度。其中普通权限的权重是1,危险权限的权重是1.5,此时最后计算得出的AUC值最大。方法二:开源工具Androguard对权限信息和反射机制,native代码执行等分别赋予不同的得分,一个应用的威胁度是这些元素得分fuzzy之后的结果。

现有技术存在如下缺陷:方法一中,单单以权限作为输入,经过计算得到应用的威胁度,在权限滥用的情况下,生成的威胁度往往过大。现实的情况是,大多数发布的应用都因为应用开发者的不规范开发存在权限滥用的情况。方法二是根据专家经验得到的每个元素的得分,实际中已经证明Androguard得到的存在很大的空白区间,即0-100这个分数段有一些区间一直没有被覆盖。另一方面,现有的检测系统多基于标注的数据集,建立统一的特征字典构建分类模型。但app(Android应用)本身具有丰富多样的种类,不同的特征在不同种类的应用中的威胁性是不同的。如拍照类特征在相机类app是正常的行为,在阅读类app中就不一定合理了。

发明内容

本发明针对现有技术的不足,提出了一种基于应用多分类的Android恶意应用威胁度检测方法,该方法能够实现对恶意样本的高精度检测,同时生成的威胁度具有普适性,能够覆盖整个得分区间。

所述一种基于应用多分类的Android恶意应用威胁度检测方法包括如下步骤:

步骤一:接收待处理应用,提取待检测应用的特征数据;

步骤二:基于所述特征数据,根据预分类算法模型将待检测app划分成特定类别的app;

步骤三:根据待检测应用的类别,提取待检测应用的特定特征,并对特定特征赋予权重;

步骤四:检测工具根据所述权重对待检测应用的威胁度评估和恶意性进行检测。

优选的,提取待检测应用的特征数据的方法为:

根据预设的预处理算法提取训练样本的特征数据,所述训练样本包括恶意应用和良性应用,所述特征数据包括权限信息和附加特征信息,并根据所述特征数据的状态构建特征向量。

优选的,所述预分类模型为:

利用聚类算法,根据所述权限信息对所述训练样本的特征向量集进行聚类,将所述特征向量集分为不同的特征向量簇,得到聚类算法模型;

以所述特征向量簇为单位,利用数据降维算法对所述特征向量簇中所述特征向量进行特征选择,并得到与所述特征向量簇对应的特征选择字典;对所述特征向量簇中所述特征向量使用预设的机器学习算法进行分类,所述机器学习算法为多个;根据分类结果获取各个所述机器学习算法的预设指标;根据所述预设指标获取与所述特征向量簇对应的所述机器学习算法,得到分类算法模型。

优选的,所述附加特征信息包括敏感API信息、敏感字符串信息、组件activity信息、组件Broadcast Receiver信息以及native代码信息、动态代码信息、加密代码信息和反射代码信息;其中,所述组件activity信息和所述组件Broadcast Receiver信息包括action信息。

本发明所述技术方案的有益效果在于:对输入的一个应用先根据它的权限等信息快速判断它可能是哪种类别的应用,决定好后,使用此类应用专用的威胁评估系统对该app进行威胁评估。该系统能够实现对恶意样本的高精度检测,同时生成的威胁度具有普适性,能够覆盖整个得分区间。

附图说明

图1为一种基于应用多分类的Android恶意应用威胁度检测方法的基本流程图。

具体实施方式

为了使本领域技术人员更好地理解本发明的技术方案,下面结合具体实施例对本发明作进一步的详细说明。

如图1所示,所述一种基于应用多分类的Android恶意应用威胁度检测方法包括如下步骤:

步骤一:接收待处理应用,提取待检测应用的特征数据;

步骤二:基于所述特征数据,根据预分类算法模型将待检测app划分成特定类别的app;

步骤三:根据待检测应用的类别,提取待检测应用的特定特征,并对特定特征赋予权重;

步骤四:检测工具根据所述权重对待检测应用的威胁度评估和恶意性进行检测。

优选的,提取待检测应用的特征数据的方法为:

根据预设的预处理算法提取训练样本的特征数据,所述训练样本包括恶意应用和良性应用,所述特征数据包括权限信息和附加特征信息,并根据所述特征数据的状态构建特征向量。

优选的,所述预分类模型为:

利用聚类算法,根据所述权限信息对所述训练样本的特征向量集进行聚类,将所述特征向量集分为不同的特征向量簇,得到聚类算法模型;

以所述特征向量簇为单位,利用数据降维算法对所述特征向量簇中所述特征向量进行特征选择,并得到与所述特征向量簇对应的特征选择字典;对所述特征向量簇中所述特征向量使用预设的机器学习算法进行分类,所述机器学习算法为多个;根据分类结果获取各个所述机器学习算法的预设指标;根据所述预设指标获取与所述特征向量簇对应的所述机器学习算法,得到分类算法模型。

优选的,所述附加特征信息包括敏感API信息、敏感字符串信息、组件activity信息、组件Broadcast Receiver信息以及native代码信息、动态代码信息、加密代码信息和反射代码信息;其中,所述组件activity信息和所述组件Broadcast Receiver信息包括action信息。

以上对本发明所提供的一种基于应用多分类的Android恶意应用威胁度检测方法进行了详细介绍,本文中应用了实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

相关技术
  • 一种基于应用多分类的Android恶意应用威胁度检测方法
  • 一种基于宽度学习的Android平台恶意应用离线检测方法
技术分类

06120112436882