1.一种安卓恶意软件类别检测方法,其特征在于,包括以下步骤:S1:获取恶意软件数据,经反编译后,获取权限、服务、接收器、内容提供者、意图、应用程序编程接口和标签特征,对应用程序编程接口进行筛选,提取属于定位、网络、账户、文件、蓝牙、数据库、邮件、短信、日历、设置、浏览器、近场通信、手机状态、音频、联系人包中的应用程序编程接口,得到权限应用程序编程接口后,构建静态特征数据集;
S2:基于静态特征数据集,初始化多目标樽海鞘群算法的参数,所述多目标樽海鞘群算法的参数,包括:樽海鞘的位置,所述樽海鞘的位置为权限、服务、接收器、内容提供者、意图和权限应用程序编程接口特征的静态特征数据集,及CodeBERT模型的超参数;
基于初始化的多目标樽海鞘群算法的参数,经混沌映射,初始化种群,根据分类准确率和特征分数构造适应度函数,基于樽海鞘的位置,计算每个樽海鞘的适应度值,适应度最大值的樽海鞘的位置,作为非支配解,若存储库未满,则将非支配解直接添加到存储库;
若存储库已满,则计算存储库中非支配解的拥挤距离,根据非支配解的拥挤距离的大小进行优先级排序,移除存储库中拥挤距离最小值的非支配解后,将新的非支配解添加到存储库;
将存储库中拥挤距离最大值的非支配解作为食物源,根据食物源,更新领导者樽海鞘和跟随者樽海鞘的位置后,若达到预设条件,则将存储库中分类准确率最高且特征分数最高的非支配解作为最优解,根据最优解对应的樽海鞘的位置,得到最佳特征子集和最优的CodeBERT模型的超参数;
若未达到预设条件,则计算更新后的每个樽海鞘的适应度值,获得非支配解后,继续进行更新,直至达到预设条件,将存储库中分类准确率最高且特征分数最高的非支配解作为最优解,根据最优解对应的樽海鞘的位置,得到最佳特征子集和最优的CodeBERT模型的超参数;
S3:将最优的CodeBERT模型的超参数匹配至CodeBERT模型,对最佳特征子集进行处理后,得到特征集,进行训练,得到安卓恶意软件类别检测模型;
获取待检测的安卓软件数据,经安卓恶意软件类别检测模型进行检测后,输出待检测软件的类别检测结果。
2.根据权利要求1所述的安卓恶意软件类别检测方法,其特征在于,所述S2中,根据分类准确率和特征分数构造适应度函数,具体为,使用公式: , ,组成适应度函数,
式中, 表示分类准确率,TP表示正确分类的恶意软件,TN表示正确分类的良性软件,FP表示错误分类的恶意软件,FN表示错误分类的良性软件;
表示特征分数, 是整体的特征数, 是选择的特征数。
3.根据权利要求1所述的安卓恶意软件类别检测方法,其特征在于,所述S2中,更新领导者樽海鞘和跟随者樽海鞘的位置,具体为,基于每个樽海鞘的适应度值,将樽海鞘群按照适应度值进行优先级排序,适应度最大值的樽海鞘作为领导者,其余樽海鞘作为跟随者,根据公式: ,更新领导者樽海鞘的位置;
式中, 表示作为领导者的樽海鞘在第j维的位置, 是食物源在第j维的位置, 表示第j维的上界, 表示第j维的下界, 和 则是在[0,1]区间内均匀生成的随机数, 是控制系数;
根据公式: ,更新跟随者樽海鞘的位置;
式中, , 的位置由其本身位置和前一个相邻樽海鞘的位置决定。
4.根据权利要求1所述的安卓恶意软件类别检测方法,其特征在于,所述S3中,对最佳特征子集进行处理,得到特征集,具体为,
将含有最佳特征子集中的一个特征数据的段,转化为id序列,生成掩码序列,id序列、掩码序列和含有最佳特征子集中的一个特征数据所对应的标签组成一个特征,最佳特征子集中所有的数据,组成全部特征后,得到特征集。
5.根据权利要求1所述的安卓恶意软件类别检测方法,其特征在于,所述S3中,进行训练前,还包括,
将特征集转换为张量,创建随机采样器,根据张量、随机采样器和批量大小,生成数据加载程序,遍历数据加载程序,进行训练。
6.根据权利要求1所述的安卓恶意软件类别检测方法,其特征在于,所述S2中,多目标樽海鞘群算法的参数,还包括:
樽海鞘种群规模、最大迭代次数、搜索空间维数、搜索空间上下边界;
所述CodeBERT模型的超参数,包括:
学习率、批量大小、最大序列长度。
7.根据权利要求1所述的安卓恶意软件类别检测方法,其特征在于,所述S1中构建静态特征数据集,还包括,删除权限、服务、接收器、内容提供者、意图、应用程序编程接口中无意义的符号。
8.一种安卓恶意软件类别检测系统,其特征在于,包括:
静态特征数据集构建模块:用于获取恶意软件数据,经反编译后,获取权限、服务、接收器、内容提供者、意图、应用程序编程接口和标签特征,对应用程序编程接口进行筛选,提取属于定位、网络、账户、文件、蓝牙、数据库、邮件、短信、日历、设置、浏览器、近场通信、手机状态、音频、联系人包中的应用程序编程接口,得到权限应用程序编程接口后,构建静态特征数据集;
优化模块:基于静态特征数据集,初始化多目标樽海鞘群算法的参数,所述多目标樽海鞘群算法的参数,包括:樽海鞘的位置,所述樽海鞘的位置为权限、服务、接收器、内容提供者、意图和权限应用程序编程接口特征的静态特征数据集,及CodeBERT模型的超参数;
基于初始化的多目标樽海鞘群算法的参数,经混沌映射,初始化种群,根据分类准确率和特征分数构造适应度函数,基于樽海鞘的位置,计算每个樽海鞘的适应度值,适应度最大值的樽海鞘的位置,作为非支配解,若存储库未满,则将非支配解直接添加到存储库;
若存储库已满,则计算存储库中非支配解的拥挤距离,根据非支配解的拥挤距离的大小进行优先级排序,移除存储库中拥挤距离最小值的非支配解后,将新的非支配解添加到存储库;
将存储库中拥挤距离最大值的非支配解作为食物源,根据食物源,更新领导者樽海鞘和跟随者樽海鞘的位置后,若达到预设条件,则将存储库中分类准确率最高且特征分数最高的非支配解作为最优解,根据最优解对应的樽海鞘的位置,得到最佳特征子集和最优的CodeBERT模型的超参数;
若未达到预设条件,则计算更新后的每个樽海鞘的适应度值,获得非支配解后,继续进行更新,直至达到预设条件,将存储库中分类准确率最高且特征分数最高的非支配解作为最优解,根据最优解对应的樽海鞘的位置,得到最佳特征子集和最优的CodeBERT模型的超参数;
安卓恶意软件类别检测模型建立模块:用于将最优的CodeBERT模型的超参数匹配至CodeBERT模型,对最佳特征子集进行处理后,得到特征集,进行训练,得到安卓恶意软件类别检测模型;
获取待检测的安卓软件数据,经安卓恶意软件类别检测模型进行检测后,输出待检测软件的类别检测结果。
9.一种安卓恶意软件类别检测装置,其特征在于,包括处理器和存储器,其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1‑7中任一项所述的安卓恶意软件类别检测方法。
10.一种安卓恶意软件类别检测存储介质,其特征在于,用于存储计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1‑7中任一项所述的安卓恶意软件类别检测方法。