欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2019103729143
申请人: 广西大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2023-12-11
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于改进灰狼算法的Android恶意应用检测方法,其特征在于,包括下列步骤:

1)收集样本集,也就是Android应用程序,包括良性APK和恶意APK;

2)对良性APK和恶意APK分别进行反编译,提取出样本特征形成样本特征集;

3)基于k折交叉验证方法,将样本特征集分成k份,取其中一份为测试集,其余k-1份为训练集;

4)使用改进后灰狼算法进行包裹式特征选择,选择出最优特征子集,使用常见机器学习分类器进行分类检测,采用fitness(x)作为灰狼算法的适应度函数;

5)对分类器使用选择出的最优特征子集进行训练,得到训练好的分类器;

6)根据步骤2)提取待检测APK特征,将其映射到最优特征子集中得到特征向量,用训练好的分类器判断该特征向量是否恶意,即完成检测。

2.根据权利要求1所述的基于改进灰狼算法的Android恶意应用检测方法,其特征在于,所述步骤2)中提取样本特征的方法为:

2a)使用反编译工具apktool对收集到的APK进行反编译,得到*.smali文件,依次扫描各个smali文件中的“invoke-virtual”语句,得到该APK的API调用信息;

2b)使用Android SDK中的工具——appt提取出APK申请的权限,得到该APK的权限信息;

2c)取所有APK的API调用信息和权限信息的全集作为特征集合;每一行表示一个APK文件,每一列表示一个特征,0表示不存在该特征,1表示存在该特征,并在最后一列加入类别标签,良性表示为0,恶意表示为1。

3.根据权利要求1所述的基于改进灰狼算法的Android恶意应用检测方法,其特征在于,所述步骤3)的k折交叉验证方法中k是任意大于1的常数。

4.根据权利要求1所述的基于改进灰狼算法的Android恶意应用检测方法,其特征在于,常见k取值为5或10。

5.根据权利要求1所述的基于改进灰狼算法的Android恶意应用检测方法,其特征在于,步骤4)所述的适应度函数fitness(x)为:其中,F-value和G-mean的计算公式分别为:

其中,TP表示恶意应用软件被正确识别的数量,FP表示良性应用软件被误识别为恶意应用软件的数量,FN表示恶意应用软件被误识别的数量;使用k折交叉验证训练分类器可以得到TP、FP、FN,再根据公式计算得到F-value和G-mean;|x|表示个体中1的个数,n是所有特征的数量,等于noV。

6.根据权利要求1所述的基于改进灰狼算法的Android恶意应用检测方法,其特征在于,所述步骤4)中改进后灰狼算法的包裹式特征选择,具体为:

4a)初始化:初始化灰狼算法的种群规模noP,个体维度noV,于是得到一个noP×noV的

01矩阵,矩阵每一行表示一个个体,具体为:Xi=(Xi1,Xi2,…,XinoV),行中的每一列对应着一个特征,其值为0表示不选择该特征,其值为1表示选择该特征;另外设置算法搜索的最大迭代次数为Max_iteration;

4b)对灰狼种群中每一个个体所表示的特征集合,分别用训练集训练分类器,并用测试集测试分类效果,得到TP、FN和FP;并使用fitness(x)计算灰狼个体的适应度值,将适应度值较大的前三个个体确定为:

4c)判断是否达到最大迭代次数,若是,输出 和 的适应度值 并根据得到最优特征子集, 所有为1的列所组成的集合即为最优特征子集,若否,执行4d)~

4e);

4d)采用公式(6)~公式(7)更新灰狼种群中各个个体的位置:在这里, 是一个向量,表示一个个体,而Xi,d(i=1,2,3)表示该向量的第d位,Xi(t)表示第i个个体的第t次迭代时的位置;Si,d表示Xi,d取1的概率,rand()是[0,1]之间的随机数;

4e)计算改变位置后的各个个体的适应度,更新

7.根据权利要求1所述的基于改进灰狼算法的Android恶意应用检测方法,其特征在于,所述步骤4)中常见机器学习分类器采用朴素贝叶斯、支持向量机或者决策树。