1.一种恶意Android应用识别方法,其特征在于,所述方法包括以下步骤:S1,提取待分析Android应用的至少一个函数有向调用图,每个函数有向调用图有一个功能标签,根据调用图请求权限的最大级别确定区间数;
S2,对于每个所述函数有向调用图,计算具有相同功能标签的待分析Android应用中所述调用图的图嵌入和恶意函数有向调用图以及正常函数有向调用图的图嵌入的相似度,若满足预设条件,则将恶意函数有向调用图加入到集合中;
S3,基于所述区间数计算待分析Android应用的调用图和所述集合中所有调用图的节点嵌入的相似度,若节点嵌入的相似度大于预设值,则将待分析Android应用判定为恶意Android应用。
2.如权利要求1所述的方法,其特征在于,所述提取待分析Android应用的至少一个函数有向调用图,具体为:获取待分析Android应用的用户所有可操作功能,根据操作功能从用户点击后结束调用的函数得到所述操作功能对应的函数有向调用图;所述功能标签来自可操作功能用户看到的文字;
所述调用图的节点为函数,对函数类型、函数代码以及函数请求的权限进行编码得到节点的特征向量。
3.如权利要求2所述的方法,其特征在于,所述对函数类型、函数代码以及函数请求的权限进行编码得到节点的特征向量,具体为:获取节点函数的代码,将代码输入到预设模型中得到代码的特征向量;将代码的特征向量作为多层感知器的输入得到代码的功能;
根据函数的功能确定函数的类型,对函数类型进行编码,并对函数代码分析得到函数请求的权限,对函数请求权限进行编码;
将代码、函数类型和请求权限的编码结果进行融合得到节点的特征向量。
4.如权利要求1所述的方法,其特征在于,所述基于所述区间数计算待分析Android应用的调用图和所述集合中调用图的节点嵌入的相似度,具体为:对于所述集合中的任一个调用图,计算待分析Android应用的调用图的节点嵌入中每行向量和所述集合中调用图的节点嵌入中每行的相似度,将0-1划分为所述区间数的区间,计算每个区间内相似度的个数,得到直方图;
累计集合中所有调用图的所述直方图,对所述直方图归一化,根据直方图确定待分析Android应用的调用图和集合中所有调用图的节点嵌入的相似度。
5.如权利要求1所述的方法,其特征在于,所述S3还包括:
若节点嵌入的相似度不大于预设值,则基于所述区间数计算待分析Android应用的调用图和具有相同标签的正常函数有向调用图的节点嵌入的相似度,如果相似度不大于预设值,则将待分析Android应用判定为疑似恶意应用。
6.一种恶意Android应用识别系统,其特征在于,所述系统包括以下模块:调用图提取模块,用于提取待分析Android应用的至少一个函数有向调用图,每个函数有向调用图有一个功能标签,根据调用图请求权限的最大级别确定区间数;
初步识别模块,用于对于每个所述函数有向调用图,计算具有相同功能标签的待分析Android应用中所述调用图的图嵌入和恶意函数有向调用图以及正常函数有向调用图的图嵌入的相似度,若满足预设条件,则将恶意函数有向调用图加入到集合中;
应用识别模块,用于基于所述区间数计算待分析Android应用的调用图和所述集合中所有调用图的节点嵌入的相似度,若节点嵌入的相似度大于预设值,则将待分析Android应用判定为恶意Android应用。
7.如权利要求6所述的系统,其特征在于,所述提取待分析Android应用的至少一个函数有向调用图,具体为:获取待分析Android应用的用户所有可操作功能,根据操作功能从用户点击后结束调用的函数得到所述操作功能对应的函数有向调用图;所述功能标签来自可操作功能用户看到的文字;
所述调用图的节点为函数,对函数类型、函数代码以及函数请求的权限进行编码得到节点的特征向量。
8.如权利要求7所述的系统,其特征在于,所述对函数类型、函数代码以及函数请求的权限进行编码得到节点的特征向量,具体为:获取节点函数的代码,将代码输入到预设模型中得到代码的特征向量;将代码的特征向量作为多层感知器的输入得到代码的功能;
根据函数的功能确定函数的类型,对函数类型进行编码,并对函数代码分析得到函数请求的权限,对函数请求权限进行编码;
将代码、函数类型和请求权限的编码结果进行融合得到节点的特征向量。
9.如权利要求6所述的系统,其特征在于,所述基于所述区间数计算待分析Android应用的调用图和所述集合中调用图的节点嵌入的相似度,具体为:对于所述集合中的任一个调用图,计算待分析Android应用的调用图的节点嵌入中每行向量和所述集合中调用图的节点嵌入中每行的相似度,将0-1划分为所述区间数的区间,计算每个区间内相似度的个数,得到直方图;
累计集合中所有调用图的所述直方图,对所述直方图归一化,根据直方图确定待分析Android应用的调用图和集合中所有调用图的节点嵌入的相似度。
10.一种计算机设备,所述设备至少包括计算机可读存储介质和处理器,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时实现如权利要求1-5任一项所述的方法。