System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及安卓恶意代码检测,尤其涉及一种基于主题模型的安卓恶意代码检测方法及装置。
技术介绍
1、目前在基于静态分析和机器学习的安卓恶意代码检测方法中,特征提取方法主要包括权限、api、intent(安卓组件通讯媒介)、数据流分析和控制流图等。例如,利用特征排序的方法对权限的风险进行排序得到权限特征;提取api调用和权限信息作为组合特征;安卓intent作为具有区分性的特征用于安卓恶意代码检测的有效性。
2、不同的特征提取方法,代表着不同的分析视角,提取的特征或者特征组合的不同,会导致分类模型在分类时对安卓代码的关注点不同,对不同类型数据集的分类准确率也不同。因此,如何提取有效的、全面的语义特征,是影响检测和分类准确率的关键。
3、目前基于反编译源码的特征提取方法,如数据流分析和控制流图分析等,都是基于专家的先验知识进行设计,因而也受限于认知的局限性。
技术实现思路
1、本专利技术要解决的技术问题是,如何克服人工设计的局限性,挖掘出最能代表应用特征的信息;有鉴于此,本专利技术提供一种基于主题模型的安卓恶意代码检测方法及装置。
2、本专利技术采用的技术方案是,一种基于主题模型的安卓恶意代码检测方法,包括:
3、步骤s1,对获取的安卓apk文件样本进行反编译,以获得java源代码以及权限向量;
4、步骤s2,利用配置的第三方类库数据库,对所述java源代码进行过滤;
5、步骤s3,对当前java源代码进行分词;
6、步骤s4,基于分词结果,确定所述安卓apk文件样本对应的主题向量;
7、步骤s5,将所述权限向量与所述主题向量进行特征拼接,用于训练分类模型,所述分类模型用于确定所述安卓apk文件样本中的恶意代码。
8、在一个实施方式中,所述步骤s1具体包括:
9、对安卓apk文件进行反编译,得到androidmanifest.xml文件和classes.dex文件,其中,所述androidmanifest.xml文件为权限向量;
10、对classes.dex文件进行反编译,得到java源代码。
11、在一个实施方式中,所述步骤s4具体包括:
12、遍历所有分词结果,统计所有出现的单词及其在所有文档中的出现次数,取出现次数最高的预设个数的词建立词典;
13、基于建立的词典,利用配置的tf-idf模型确定各个文档的tf-idf向量;
14、基于所述tf-idf向量,利用配置的lsi模型确定各个文档的主题向量。
15、在一个实施方式中,所述分类模型包括:xgboost模型。
16、本专利技术的另一方面还提供了一种基于主题模型的安卓恶意代码检测装置,包括:
17、反编译单元,被配置为对获取的安卓apk文件样本进行反编译,以获得java源代码以及权限向量;
18、第三方类库过滤单元,被配置为利用配置的第三方类库数据库,对所述java源代码进行过滤;
19、分词单元,被配置为对当前java源代码进行分词;
20、主题向量单元,被配置为基于分词结果,确定所述安卓apk文件样本对应的主题向量;
21、分类模型单元,被配置为将所述权限向量与所述主题向量进行特征拼接,用于训练分类模型,所述分类模型用于确定所述安卓apk文件样本中的恶意代码。
22、在一个实施方式中,所述反编译单元被进一步配置为:
23、对安卓apk文件进行反编译,得到androidmanifest.xml文件和classes.dex文件,其中,所述androidmanifest.xml文件为权限向量;
24、对classes.dex文件进行反编译,得到java源代码。
25、在一个实施方式中,所述主题向量单元被进一步配置为:
26、遍历所有分词结果,统计所有出现的单词及其在所有文档中的出现次数,取出现次数最高的预设个数的词建立词典;
27、基于建立的词典,利用配置的tf-idf模型确定各个文档的tf-idf向量;
28、基于所述tf-idf向量,利用配置的lsi模型确定各个文档的主题向量。
29、在一个实施方式中,所述分类模型包括:xgboost模型。
30、本专利技术的另一方面还提供了一种电子设备,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上任一项所述的基于主题模型的安卓恶意代码检测方法的步骤。
31、本专利技术的另一方面还提供了一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的基于主题模型的安卓恶意代码检测方法的步骤。
32、本专利技术提出了一种基于主题模型的安卓恶意代码方法,利用文本主题模型挖掘安卓应用反编译源代码中潜在的主题信息,将主题信息作为特征训练分类器,以实现安卓恶意代码检测;
33、其中,主题模型能够自动分析文档,不计顺序地统计文档内的单词,根据统计的信息判断该文档包含的主题以及各个主题所占比例,从而实现对文本深层的、隐含的语义信息的挖掘;
34、进一步地,通过将安卓应用程序的反编译代码看作一个文档,并利用主题模型挖掘其中潜在的主题,可以尽可能地减少源码中信息的丢失,并一定程度上克服人工设计的局限性,挖掘出最能代表应用特征的信息。
本文档来自技高网...【技术保护点】
1.一种基于主题模型的安卓恶意代码检测方法,其特征在于,包括:
2.根据权利要求1所述的基于主题模型的安卓恶意代码检测方法,其特征在于,所述步骤S1具体包括:
3.根据权利要求2所述的基于主题模型的安卓恶意代码检测方法,其特征在于,所述步骤S4具体包括:
4.根据权利要求1所述的基于主题模型的安卓恶意代码检测方法,其特征在于,所述分类模型包括:XGBoost模型。
5.一种基于主题模型的安卓恶意代码检测装置,其特征在于,包括:
6.根据权利要求5所述的基于主题模型的安卓恶意代码检测装置,其特征在于,所述反编译单元被进一步配置为:
7.根据权利要求6所述的基于主题模型的安卓恶意代码检测装置,其特征在于,所述主题向量单元被进一步配置为:
8.根据权利要求5所述的基于主题模型的安卓恶意代码检测装置,其特征在于,所述分类模型包括:XGBoost模型。
9.一种电子设备,其特征在于,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器
10.一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的基于主题模型的安卓恶意代码检测方法的步骤。
...【技术特征摘要】
1.一种基于主题模型的安卓恶意代码检测方法,其特征在于,包括:
2.根据权利要求1所述的基于主题模型的安卓恶意代码检测方法,其特征在于,所述步骤s1具体包括:
3.根据权利要求2所述的基于主题模型的安卓恶意代码检测方法,其特征在于,所述步骤s4具体包括:
4.根据权利要求1所述的基于主题模型的安卓恶意代码检测方法,其特征在于,所述分类模型包括:xgboost模型。
5.一种基于主题模型的安卓恶意代码检测装置,其特征在于,包括:
6.根据权利要求5所述的基于主题模型的安卓恶意代码检测装置,其特征在于,所述反编译单元被进一步配置为:
7.根据权利要求6所述...
【专利技术属性】
技术研发人员:宋昱材,靳婷,陈明辉,孔航,
申请(专利权)人:中国电子科技集团公司第十五研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。