System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种可解释的安卓恶意应用智能检测方法技术_技高网

一种可解释的安卓恶意应用智能检测方法技术

技术编号:40742615 阅读:4 留言:0更新日期:2024-03-25 20:01
本发明专利技术公开了一种可解释的安卓恶意应用智能检测方法。对于一个恶意样本,分类模型首先会给出恶意检测的二进制标签,接着给出模型的具体解释;在安卓恶意检测领域中,解释通常与特征相关;使用降序特征排名矩阵进行特征剪枝,进行特征工程后生成SVC模型,使用全零向量作为DeepLIFT算法的参考基线值,随后通过比较真实输入和基线值的差异,计算每一层特征的初步评分;最后,使用RFE生成模型的辅助矩阵,通过辅助矩阵重新计算特征对模型的影响,确定最终得分。对于每个恶意样本,本发明专利技术不仅提供分类结果,还提供可靠的分类结果解释,为恶意行为分析提供更稳定、更鲁棒、更有效的工具。

【技术实现步骤摘要】

本专利技术属于安卓恶意应用检测,特别是涉及一种可解释的安卓恶意应用智能检测方法


技术介绍

1、近年来,针对安卓设备的恶意攻击日益增长,对智能手机用户构成了重大安全威胁。已有大量的安全分析师针对安卓恶意攻击开发了安卓恶意检测工具,静态分析是其中最常见的手段之一。通常,安全分析师会进行对apk进行反编译,进行特征提取,随后将特征数据处理并结合机器学习模型生成分类模型,最终,模型将对每一个测试apk给出二进制恶意标签。

2、随着“可解释”概念的提出,用户越来越关注方法的可解释性。针对安卓恶意检测方法来说,用户不仅关注其是否是恶意的,同时也关注其为何被判定为恶意apk。现有的解释方法可能带来以下问题:一是.解释不具备稳定性,解释可能受到解释方法中使用的波动技术的影响,当使用类似的预训练模型时,生成的解释差异较大;二是解释不具备鲁棒性,如果样本同属于一个恶意家族,理论上样本共享类似的恶意行为,所生成的解释应当具有一定相似性。现有的解释方法对于处于同一家族的样本所生成的解释可能差异较大;三是解释不具备有效性,所生成的解释可能在模型的决策过程中并不具备足够影响力,当去除这类解释时,模型的决策结果并不发生改变。


技术实现思路

1、本专利技术目的在于解决上述
技术介绍
中提出的问题,提出一种可解释的安卓恶意应用智能检测方法,通过基于降序排名的特征剪枝,结合deeplift与特征递归消除技术,在保证恶意检测准确率的基础上,提供稳定的、鲁棒的、有效的恶意行为解释。

2、为了实现本专利技术目的,本专利技术公开了一种可解释的安卓恶意应用智能检测方法,包括以下步骤:

3、步骤1、利用降序特征排名对安卓apk进行特征剪枝,生成有效特征集;

4、步骤2、利用网络爬虫生成特征解释文档,为安卓恶意检测模型解释提供支持;

5、步骤3、利用权限与api对安卓应用进行数据预处理,生成模型训练步骤使用的特征矩阵;

6、步骤4、结合预处理后的特征矩阵,使用svc模型进行分类模型生成;

7、步骤5、在deeplift算法的引导下使用递归特征消除,结合特征解释文档生成模型解释。

8、进一步地,步骤1中,使用降序特征排名进行了特征剪枝,具体步骤为:

9、步骤1-1、对于安卓apk的每个特征,定义两个矩阵m与b;mij代表了第i个恶意样本是否拥有第j个特征,“0”代表没有,“1”代表拥有;bij代表第i个良性样本是否拥有第j个特征,“0”代表没有,“1”代表拥有;

10、对于第j个特征,rj代表其最终特征排名;计算公式为:

11、

12、步骤1-2、rj最终将落入[-1,1]区间,当值为1时,则代表其属于高风险特征;当值为0时,则代表良性与恶意应用都会请求该特征;当值为-1时,代表其属于低风险特征;

13、步骤1-3、将特征进行排名后,按照降序选择特征进行恶意检测,最终选取最小子集以确保检测准确率不受影响;得到拥有158个特征的有效特征集,用于后续恶意检测过程中的特征提取。

14、进一步地,步骤2中,通过网络爬虫生成特征解释文档,具体步骤为:

15、步骤2-1、使用网络爬虫,从安卓官方文档、java官方文档,获取每个特征的具体含义;

16、步骤2-2、生成解释词典,将输入的特征自动翻译为其对应的含义,用作最终安卓恶意应用检测模型的解释输出工具。

17、进一步地,步骤3中,筛选的特征包括安卓官方权限、api,java官方api;使用步骤1剪枝后的有效特征集作为基础,提取每一个安卓应用的特征作为特征矩阵的前158维;最后1维根据安卓应用进行赋值,若安卓应用为良性应用,赋值为0;若安卓应用为恶意应用,赋值为1;最终生成一个159维的特征矩阵作为后续模型训练的输入。

18、进一步地,步骤4中,使用步骤3中已经进行数据预处理的特征矩阵作为输入,使用svc训练并生成分类模型,具体步骤如下:

19、步骤4-1、使用已经预处理完毕的159维特征矩阵作为模型输入;

20、步骤4-2、将数据划分为训练集与测试集,以便评估模型的性能;此处选择80%数据用作训练集,20%数据用作测试集;

21、步骤4-3、使用线性核函数生成svc模型,正则化参数设置为1.0;

22、步骤4-4、模型训练,将生成的模型保存到本地以供后续使用;使用score函数对模型基本性能进行评估。

23、进一步地,步骤5对于步骤4生成的模型提供了可靠解释,在这一步整体使用deeplift算法思想结合递归特征消除模型rfe进行解释生成,分为选择参考基线、计算重要性分数、使用辅助矩阵校准分数,得到最终解释过程,具体步骤为:

24、步骤5-1、设置特征数量k,代表生成的模型解释数量;设置迭代次数为n,代表解释方法中分数计算过程的迭代次数;

25、步骤5-2、rfe模型通过分析模型的特征重要性来确定哪些特征对模型性能的贡献较小;基于步骤2的svc模型,rfe模型生成特征排名,随后选取降序排名的前k个特征作为辅助矩阵,设该辅助矩阵为c1;选取降序排名前2×k的特征作为另一个辅助矩阵,设该辅助矩阵为c2;

26、步骤5-3、对于测试集的样本,初始化分数集合x;其中每一个样本对应一个特征分数,该分数最终代表该特征对于模型的贡献;

27、步骤5-4、针对每一个测试样本进行迭代测试,迭代次数为n;对于每一轮迭代中的第j个样本,首先生成其初始特征集合x;该集合为该样本所包含的所有特征的索引集合;针对该集合,每一次迭代随机选取其中的k项进行变异;随后,重新获取模型评估结果,若结果发生改变,则代表该k个特征在此次迭代过程中起关键作用,进行加分,否则不得分;分数模型的基本公式为:

28、

29、步骤5-5、为了提升模型整体的稳定性与鲁邦性,结合rfe模型进行分数的矫正;针对模型的辅助矩阵,若本次迭代将进行加分操作,则进行以下判断:若该特征落入辅助矩阵c1,则额外加分2分;若该特征落入辅助矩阵c2,则额外加分1分,即:

30、

31、步骤5-6、在所有迭代完成之后,对分数集合进行降序排序,选取降序排序后的前k个特征作为模型最终的解释特征,并结合步骤2生成的解释文档进行最终解释输出。

32、与现有技术相比,本专利技术的显著进步在于:1)针对未知的安卓应用,在保证检测准确率的基础上,给出更加可靠的恶意行为解释,提升用户对恶意检测结果的信心;2)使用了基于降序排名的特征剪枝,提升恶意解释的准确率,增加最终解释结果与恶意行为的正向相关性;3)使用deeplift思想生成分数模型,通过设置参考值基线、反向传播、辅助矩阵矫正,更加精准定位对决策过程影响程度较大的特征,提升解释有效性;4)使用递归特征消除方法,增强分数模型生成的稳定性与鲁棒性。

33、为更清楚说明本专利技术的功能特性以及结构参数本文档来自技高网...

【技术保护点】

1.一种可解释的安卓恶意应用智能检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种可解释的安卓恶意应用智能检测方法,其特征在于,步骤1中,使用降序特征排名进行了特征剪枝,具体步骤为:

3.根据权利要求1所述的一种可解释的安卓恶意应用智能检测方法,其特征在于,步骤2中,通过网络爬虫生成特征解释文档,具体步骤为:

4.根据权利要求1所述的一种可解释的安卓恶意应用智能检测方法,其特征在于,步骤3中,筛选的特征包括安卓官方权限、API,JAVA官方API;使用步骤1剪枝后的有效特征集作为基础,提取每一个安卓应用的特征作为特征矩阵的前158维;最后1维根据安卓应用进行赋值,若安卓应用为良性应用,赋值为0;若安卓应用为恶意应用,赋值为1;最终生成一个159维的特征矩阵作为后续模型训练的输入。

5.根据权利要求1所述的一种可解释的安卓恶意应用智能检测方法,其特征在于,步骤4中,使用步骤3已经进行数据预处理的特征矩阵作为输入,使用SVC训练并生成分类模型,具体步骤如下:

6.根据权利要求1所述的一种可解释的安卓恶意应用智能检测方法,其特征在于,步骤5对于步骤4生成的模型提供了可靠解释,在这一步整体使用DeepLIFT算法思想结合递归特征消除模型RFE进行解释生成,分为选择参考基线、计算重要性分数、使用辅助矩阵校准分数,得到最终解释过程,具体步骤为:

...

【技术特征摘要】

1.一种可解释的安卓恶意应用智能检测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种可解释的安卓恶意应用智能检测方法,其特征在于,步骤1中,使用降序特征排名进行了特征剪枝,具体步骤为:

3.根据权利要求1所述的一种可解释的安卓恶意应用智能检测方法,其特征在于,步骤2中,通过网络爬虫生成特征解释文档,具体步骤为:

4.根据权利要求1所述的一种可解释的安卓恶意应用智能检测方法,其特征在于,步骤3中,筛选的特征包括安卓官方权限、api,java官方api;使用步骤1剪枝后的有效特征集作为基础,提取每一个安卓应用的特征作为特征矩阵的前158维;最后1维根据安卓应用进...

【专利技术属性】
技术研发人员:李晅松钱提鹰宋巍
申请(专利权)人:南京理工大学
类型:发明
国别省市:

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

1