The invention discloses a feature extraction method for mobile application, which includes: step 1, extracting function call graph: extracting function call graph of detected mobile application by extracting tool; step 2, encoding function call graph: encoding each function node of the function call graph to form encoding vector of each function node by edge traversal and edge encoding; step 3, extracting feature Information: The feature information of the mobile application is extracted according to the coding vectors of each function node in the function call graph obtained by coding. This method can quickly and accurately extract the feature information of mobile applications. It can comprehensively characterize the behavior characteristics of mobile applications by feature information. Using the distance between the feature representations of mobile applications, it can measure the behavior differences of mobile applications. Furthermore, it can realize the classification of mobile applications'functions, malicious application detection and malicious application families. Classification and application version/piracy detection.
【技术实现步骤摘要】
移动应用程序的特征提取方法
本专利技术涉及移动应用的安全领域,尤其涉及一种移动应用程序的特征提取方法。
技术介绍
现如今,大量的移动应用程序(即运行于移动设备的应用程序)被开发为用户提供丰富的服务,这些服务涉及到新闻、天气、社交、娱乐以及医疗、健康、财务等与个人重要信息相关的关键事务。然而,移动应用程序在提供丰富的功能的同时,也带来了严峻的挑战。首先,面对数百万的移动应用程序,应用市场很难高效地组织和管理这些移动应用程序;其次,对移动应用程序的不精确刻画和描述,使得用户很难准确且快速地定位到自己感兴趣的应用;最后,一些开发者受利益驱使,开发恶意应用盗取用户信息,或剽窃他人开发的应用,破坏了开发者的知识产权。因此,对移动应用的行为进行深层次的理解和刻画显得至关重要。现有的移动应用程序行为分析工作可以分为以下几种方式:第一种方式是在源代码层面执行静态、动态或动静态结合的分析,这类分析模型通常负载较高,并且随着移动应用功能越来越复杂,一些应用难以进行有效且高效的分析。第二种方式是利用有监督的学习模型实现某个特定的分类任务,通过预定义特征(如权限、调用函数)或利用监督式学习模型(如循环神经网络、深度信念网络)提取特征,这种方式的局限是任务导向型,难以全面地刻画各式各样的移动应用程序的行为,不能同时实现上述多个任务。
技术实现思路
基于现有技术所存在的问题,本专利技术的目的是提供一种移动应用程序的特征提取方法,能快速准确的提取移动应用程序的特征,进而实现全面地检测各式各样的移动应用程序。本专利技术的目的是通过以下技术方案实现的:本专利技术实施方式提供一种移动应用程序的特 ...
【技术保护点】
1.一种移动应用程序的特征提取方法,其特征在于,包括:步骤1,提取函数调用图:利用提取工具提取所检测的移动应用程序的函数调用图;步骤2,对函数调用图编码:对所述函数调用图的各函数节点进行边遍历边编码形成各函数节点的编码向量;步骤3,提取特征信息:根据编码得到的函数调用图的各函数节点的编码向量提取所述移动应用程序的特征信息。
【技术特征摘要】
1.一种移动应用程序的特征提取方法,其特征在于,包括:步骤1,提取函数调用图:利用提取工具提取所检测的移动应用程序的函数调用图;步骤2,对函数调用图编码:对所述函数调用图的各函数节点进行边遍历边编码形成各函数节点的编码向量;步骤3,提取特征信息:根据编码得到的函数调用图的各函数节点的编码向量提取所述移动应用程序的特征信息。2.根据权利要求1所述的移动应用程序的特征提取方法,其特征在于,所述方法中,提取所检测的移动应用程序的函数调用图所用的提取工具采用:Soot和FlowDroid。3.根据权利要求1所述的移动应用程序的特征提取方法,其特征在于,所述方法的步骤2中,对所述函数调用图的各函数节点进行边遍历边编码形成各函数节点的编码向量为:从所述函数调用图的函数根节点对该函数调用图的全部函数节点进行深度或广度遍历,生成各函数节点对应的编码向量。4.根据权利要求3所述的移动应用程序的特征提取方法,其特征在于,所述遍历过程中,当一个函数节点拥有多个后继函数节点时,对该函数节点的多个后继函数节点先排序后,再按所排顺序进行遍历,对多个后继函数节点的排序方式包括:步骤21,多个后继函数节点中,每个后继函数节点对应一个用户自定义函数或一个系统函数,若后继函数节点对应的是一个用户自定义函数,则获取该用户自定义函数调用的系统函数签名及系统函数的调用个数;若后继函数节点对应的是一个系统函数,则获取该后继函数节点中调用的系统函数签名及对应系统函数的调用个数,并设该后继函数节点对应的用户自定义函数名称为当前函数节点;步骤22,根据每个用户自定义函数调用的系统函数签名及其调用个数为每个用户自定义函数计算出一个排序值,并按照每个用户自定义函数的排序值从大到小排列对全部的用户自定义函数排序,即完成对多个后继函数节点的排序。5.根据权利要求4所述的移动应用程序的特征提取方法,其特征在于,所述步骤22中,根据每个用户自定义函数调用的系统函数签名及其调用个数为每个用户自定义函数计算出一个排序值的步骤如下:步骤221,建立调用的所有系统函数的索引值:根据待排序的用户自定义函数调用的系统函数签名,获取该待排序的用户自定义函数调用的所有系统函数,并按照字母序从小到大排序所有的系统...
【专利技术属性】
技术研发人员:李向阳,薛爽爽,李安然,张兰,
申请(专利权)人:中国科学技术大学,
类型:发明
国别省市:安徽,34
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。