【技术实现步骤摘要】
一种应用程序的加壳检测方法及装置
本说明书一个或多个实施例涉及信息安全
,尤其涉及一种应用程序的加壳检测方法及装置。
技术介绍
随着安卓终端设备(安装安卓操作系统的终端设备)的普及应用,安卓终端设备上安装的安卓应用程序数量越来越多、种类各式各样,普通用户一般难以辨别安卓应用程序是否安全,一旦下载安装了恶意应用程序,有些会影响安卓终端设备的正常使用,有些会盗取用户信息,对用户造成损失。因此,需要对安卓应用程序进行检测,判断是否为恶意应用程序。由于有些安卓应用程序进行了加壳处理,所以在检测是否为恶意应用程序之前,需要先检测安卓应用程序是否加壳,对于加壳的安卓应用程序,需要进行脱壳处理,再检测是否为恶意应用程序。由此,对于海量的安卓应用程序,如何准确、高效的检测识别是否加壳,是所要解决的问题。
技术实现思路
有鉴于此,本说明书一个或多个实施例的目的在于提出一种应用程序的加壳检测方法及装置,能够检测识别安卓应用程序是否加壳。基于上述目的,本说明书一个或多个实施例提供了一种应用程序的加壳检测方 ...
【技术保护点】
1.一种应用程序的加壳检测方法,其特征在于,包括:/n对应用程序样本中的每个安卓应用程序,提取出应用特征组;/n基于所述应用程序样本的所有应用特征组,构建训练集和测试集;/n利用所述训练集对至少一种分类器进行训练,得到训练后的至少一种加壳分类器,利用所述测试集对至少一种加壳分类器进行测试,得到至少一组测试结果,根据至少一组测试结果,确定出最优的加壳分类器;/n利用所述最优的加壳分类器对待测的安卓应用程序进行分类,确定所述待测的安卓应用程序是否加壳。/n
【技术特征摘要】
1.一种应用程序的加壳检测方法,其特征在于,包括:
对应用程序样本中的每个安卓应用程序,提取出应用特征组;
基于所述应用程序样本的所有应用特征组,构建训练集和测试集;
利用所述训练集对至少一种分类器进行训练,得到训练后的至少一种加壳分类器,利用所述测试集对至少一种加壳分类器进行测试,得到至少一组测试结果,根据至少一组测试结果,确定出最优的加壳分类器;
利用所述最优的加壳分类器对待测的安卓应用程序进行分类,确定所述待测的安卓应用程序是否加壳。
2.根据权利要求1所述的方法,其特征在于,所述对应用程序样本中的每个安卓应用程序,提取出应用特征组,包括:
利用静态分析方法,从每个安卓应用程序中提取出应用特征组;所述应用特征组包括:dex文件比例、非空应用程序名称、应用程序名称中的包名称、so文件的数量、可见类的数量、原生方法的数量、本机方法比例、可见组件比例和加权信息熵;
其中,所述dex文件比例为dex文件的字节数与apk文件的字节数的比值;所述非空应用程序名称为AndroidManifest.xml文件中所描述的应用程序的名称;所述应用程序名称中的包名称为AndroidManifest.xml文件中所描述的包名称;所述so文件的数量为apk文件解压缩后,so文件的数量;所述可见类的数量为从逆向dex文件中提取出的Java类的数量;所述原生方法的数量为从所述逆向dex文件中提取出的使用JNI调用方法的数量;所述本机方法比例为从所述逆向dex文件中提取出的使用JNI调用方法的数量与所述逆向dex文件中的所有方法的数量的比值;所述可见组件比例为所述逆向dex文件中可查找到的组件数量与AndroidManifest.xml文件中所描述的安卓组件数量的比值。
3.根据权利要求1所述的方法,其特征在于,所述基于应用程序样本的所有应用特征组,构建训练集和测试集,包括:
将所有应用特征组随机分为五组彼此没有重复部分的样本集,且两两样本集中的应用特征组的数量不相等;
从五组样本集中任意选取一个样本集作为所述测试集,其余四组样本集合并成为所述训练集;重复该步骤,得到五种不同组合的测试集和训练集。
4.根据权利要求1所述的方法,其特征在于,所述至少一种分类器为cart分类器、logistic回归分类器、高斯朴素贝叶斯分类器、随机森林分类器和线性支持向量机分类器五种分类器。
5.根据权利要求1或4所述的方法,其特征在于,所述根据至少一组测试结果确定出最优的加壳分类器,包括:
计算每个加壳分类器的F1分值;
根据各加壳分类器的F1分值,从中选取出F1分值最大的加壳分类器作为最优的加壳分...
【专利技术属性】
技术研发人员:何能强,王小群,王适文,严寒冰,孙才俊,郭晶,姚力,贾子骁,雷君,马莉雅,张华,秦素娟,高飞,李文敏,温巧燕,秦佳伟,王华伟,涂腾飞,王森淼,崔栋,
申请(专利权)人:国家计算机网络与信息安全管理中心,北京邮电大学,中时瑞安北京网络科技有限责任公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。