当前位置: 首页 > 专利查询>重庆大学专利>正文

一种基于重构API的安卓恶意应用检测方法技术

技术编号:34617600 阅读:87 留言:0更新日期:2022-08-20 09:24
本发明专利技术涉及一种基于重构API的安卓恶意应用检测方法,属于恶意应用检测领域,包括以下步骤:收集带标签的APK样本集,对所有样本进行反编译并提取API;使用分隔符对所有API进行分词,保留频率大于阈值的词汇,对频率小于阈值的词汇使用语义分词,保留频率大于阈值的词汇,得到高频词汇集;计算每个词汇分别在黑白样本中出现的样本频率计算该词汇的权重;对每个API进行重构,先后进行分隔符和语义分词,只保留高频词汇集中的词汇,将这些词汇按照原本的顺序排列,构成重构API;将每个词汇的权重相加得到重构API的权重;重构API权重排序,训练得到模型,进行恶意应用检测。进行恶意应用检测。进行恶意应用检测。

【技术实现步骤摘要】
一种基于重构API的安卓恶意应用检测方法


[0001]本专利技术属于恶意应用检测领域,涉及一种基于重构API的安卓恶意应用检测方法。

技术介绍

[0002]现有的安卓恶意应用检测方法往往是直接将API或权限作为特征,通过特征选择等过程输入传统的机器学习模型中进行模型训练。现有方法带来的问题是无法有效检测随着Android版本变化而变化的样本。在Android版本更新的过程中,同时伴随着API的增添,修改和删除,导致依赖于这些特征的模型效果会逐渐下降。

技术实现思路

[0003]有鉴于此,本专利技术的目的在于提供一种基于重构API的安卓恶意应用检测方法,使用基于重构API的方法从众多API中提取出效果最好的特征,利用重构API,提取API中包含的语义信息,可以一定程度上克服版本更新带来的变化,即使在面对新版本的样本集时,也能表现出较好的效果。
[0004]为达到上述目的,本专利技术提供如下技术方案:
[0005]一种基于重构API的安卓恶意应用检测方法,包括以下步骤:
[0006]S1:收集带标签的APK样本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于重构API的安卓恶意应用检测方法,其特征在于:包括以下步骤:S1:收集带标签的APK样本集,验证所有样本的标签,所述样本集中包括黑样本和白样本,所述黑样本为安卓恶意应用,所述白样本为安卓良性应用;使用逆向工具对所有样本进行反编译并提取API;S2:使用基于分隔符分词的方法对每个APK对应的所有API进行分词,计算得到词汇的总体频率,保留总体频率大于阈值的词汇,对总体频率小于阈值的词汇使用基于语义的方法进行分词,保留其中总体频率大于阈值的词汇,舍弃其余词汇,得到高频词汇集;S3:提出词汇权重概念,对于高频词汇集中的每个词汇,通过计算每个词汇分别在黑样本和白样本中出现的样本频率,从而计算每个词汇的权重;S4:对每个API进行重构,先后进行分隔符和语义分词,只保留高频词汇集中的词汇,将这些词汇按照原本的顺序排列,构成重构API;将重构API中的每个词汇的权重相加,得到重构API的权重;S5:将每个APK中的重构API用其权重排序,选择靠前的n个重构API作为该APK的特征;使得这n个重构API的词汇个数小于等于TextCNN模型输入层节点的个数,在此基础上选择最大的n;S6:将所有的APK利用步骤S5的方法提取出特征进行训练,得到训练好的TextCNN模型;S7:对于未知样本,首先利用逆向技术,对APK进行反编译,从中提取出API,然后使用步骤S4中的方法对所有API进行重构,并计算所有重构API的权重;选择权重最高的部分API作为特征输入步骤S5中训练好的TextCNN模型,根据TextCNN模型对APK进行判断。2.根据权利要求1所述的基于重构API的安卓恶意应用检测方法,其特征在于:步骤S1中,使用逆向工具将所有APK中的代码文件进行反编译,得到smali文件,从每个APK文件对应的smali文件集中提取出该APK对应的所有API。3.根据权利要求1所述的基于重构API的安卓恶意应用检测方法,其特征在于:步骤S2中所述基于分隔符分词的方法进行分词,具体包括:API格式为<包名.类名...

【专利技术属性】
技术研发人员:杨吉云李涵威范佳文向涛
申请(专利权)人:重庆大学
类型:发明
国别省市:

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

1