[发明专利]移动应用程序的特征提取方法在审
申请号: | 201910103820.6 | 申请日: | 2019-02-01 |
公开(公告)号: | CN109829305A | 公开(公告)日: | 2019-05-31 |
发明(设计)人: | 李向阳;薛爽爽;李安然;张兰 | 申请(专利权)人: | 中国科学技术大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06K9/62 |
代理公司: | 北京凯特来知识产权代理有限公司 11260 | 代理人: | 郑立明;付久春 |
地址: | 230026 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 移动应用程序 函数调用图 函数节点 特征信息 编码向量 特征提取 盗版检测 功能分类 家族分类 特征表示 提取工具 提取特征 行为差异 行为特征 应用版本 应用检测 遍历 刻画 衡量 检测 应用 | ||
1.一种移动应用程序的特征提取方法,其特征在于,包括:
步骤1,提取函数调用图:利用提取工具提取所检测的移动应用程序的函数调用图;
步骤2,对函数调用图编码:对所述函数调用图的各函数节点进行边遍历边编码形成各函数节点的编码向量;
步骤3,提取特征信息:根据编码得到的函数调用图的各函数节点的编码向量提取所述移动应用程序的特征信息。
2.根据权利要求1所述的移动应用程序的特征提取方法,其特征在于,所述方法中,提取所检测的移动应用程序的函数调用图所用的提取工具采用:Soot和FlowDroid。
3.根据权利要求1所述的移动应用程序的特征提取方法,其特征在于,所述方法的步骤2中,对所述函数调用图的各函数节点进行边遍历边编码形成各函数节点的编码向量为:
从所述函数调用图的函数根节点对该函数调用图的全部函数节点进行深度或广度遍历,生成各函数节点对应的编码向量。
4.根据权利要求3所述的移动应用程序的特征提取方法,其特征在于,所述遍历过程中,当一个函数节点拥有多个后继函数节点时,对该函数节点的多个后继函数节点先排序后,再按所排顺序进行遍历,对多个后继函数节点的排序方式包括:
步骤21,多个后继函数节点中,每个后继函数节点对应一个用户自定义函数或一个系统函数,若后继函数节点对应的是一个用户自定义函数,则获取该用户自定义函数调用的系统函数签名及系统函数的调用个数;若后继函数节点对应的是一个系统函数,则获取该后继函数节点中调用的系统函数签名及对应系统函数的调用个数,并设该后继函数节点对应的用户自定义函数名称为当前函数节点;
步骤22,根据每个用户自定义函数调用的系统函数签名及其调用个数为每个用户自定义函数计算出一个排序值,并按照每个用户自定义函数的排序值从大到小排列对全部的用户自定义函数排序,即完成对多个后继函数节点的排序。
5.根据权利要求4所述的移动应用程序的特征提取方法,其特征在于,所述步骤22中,根据每个用户自定义函数调用的系统函数签名及其调用个数为每个用户自定义函数计算出一个排序值的步骤如下:
步骤221,建立调用的所有系统函数的索引值:根据待排序的用户自定义函数调用的系统函数签名,获取该待排序的用户自定义函数调用的所有系统函数,并按照字母序从小到大排序所有的系统函数,使所调用的每个系统函数都具有一个唯一的索引值;
步骤222,确定每个系统函数对该待排序的用户自定义函数的贡献值:确定该待排序的用户自定义函数所调用的每个系统函数对该用户自定义函数的贡献值,该贡献值等于:每个系统函数的索引值×(该系统函数被该待排序的用户自定义函数调用的个数/调用个数的最大值);
步骤223,所述待排序的用户自定义函数的排序值等于其调用的所有系统函数的贡献值之和。
6.根据权利要求5所述的移动应用程序的特征提取方法,其特征在于,所述方法中,生成各函数节点对应的编码向量包括:
遍历一个函数节点时,将该函数节点所代表的应用程序的一个行为信息编码成一个子向量,将该子向量与已经遍历得到的其他子向量按遍历顺序顺次拼接成一个编码向量;
当一个函数节点遍历完成后得到的总编码向量,即为该函数节点的编码向量。
7.根据权利要求6所述的移动应用程序的特征提取方法,其特征在于,所述方法中,遍历一个函数节点时,将该函数节点所代表的应用程序的一个行为信息编码成一个子向量,将该子向量与已经遍历得到的其他子向量拼接成新的编码向量为:
步骤231,获取所遍历函数节点对应的用户自定义函数所调用的系统函数的集合;
步骤232,对所调用的系统函数按其所在的系统包进行分组,使每个分组的系统函数所在的系统包均相同;
步骤233,每个分组内的系统函数按字母序从小到大拼接成一个字符串,各分组之间按照系统包名的字母序从小到大排序;
步骤234,对每组的系统函数组成的字符串进行哈希编码,并将所有分组经哈希编码得到的值拼接得到该用户自定义函数的编码向量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学技术大学,未经中国科学技术大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910103820.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种病毒检测方法及装置
- 下一篇:一种优化特征提取的恶意软件分类方法