[发明专利]应用程序的特征提取方法和装置以及分类方法和装置在审
申请号: | 201911375588.8 | 申请日: | 2019-12-27 |
公开(公告)号: | CN113051561A | 公开(公告)日: | 2021-06-29 |
发明(设计)人: | 赵新歌;殷铭;闻剑峰 | 申请(专利权)人: | 中国电信股份有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 曹瑾 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 特征 提取 方法 装置 以及 分类 | ||
1.一种应用程序的特征提取方法,包括:
从应用程序的样本获得应用程序的代码文件;以及
通过分析所述代码文件来提取应用程序的动态特征信息,所述动态特征信息为仿真应用程序运行时的应用程序接口(API)调用序列。
2.如权利要求1所述的特征提取方法,还包括对所述API调用序列进行编码,所述编码采用能够捕获API调用之间的关系的编码方法进行。
3.如权利要求2所述的特征提取方法,还包括对所述API调用序列进行词嵌入方法编码。
4.如权利要求1所述的特征提取方法,其中分析所述代码文件包括:沿代码的可执行路径追踪程序流,并记录API调用从而生成API调用序列。
5.如权利要求4所述的特征提取方法,其中追踪程序流包括:
沿可执行路径从程序流的起点对程序流中的每条指令逐个进行分析,直到所述程序流结束。
6.如权利要求5所述的特征提取方法,其中所述程序流的起点是通过遍历代码文件中的每个基本块,并识别作为程序流的起点的基本块而获得的。
7.如权利要求6所述的特征提取方法,其中对程序流中的每条指令逐个进行分析包括:
分析作为起点的基本块中的每个指令;
分析所述作为起点的基本块下游的基本块中的每个指令,当下游存在多个分支时,随机选择其中一个分支基本块并分析其中的每个指令;以及
判断程序流是否结束,如果程序流未结束,则重复分析下游的基本块的步骤。
8.如权利要求7所述的特征提取方法,其中,
如果程序流已经结束,则生成所述程序流的API调用序列,并检测是否还有未被分析的作为起点的基本块;
如果存在未被分析的作为起点的基本块,则从所述未被分析的作为起点的基本块开始重复对程序流中每条指令逐个进行分析的步骤。
9.如权利要求7或8所述的特征提取方法,其中分析基本块中的每个指令包括:
按照可执行代码路径判断基本块中的每一条指令是否调用API;以及
如果调用了API,则按照时间顺序将API调用记录为API序列的一个元素,如果没有调用API,则跳过所述指令。
10.如权利要求1所述的特征提取方法,其中从应用程序的样本获得应用程序的代码文件包括:对应用程序的apk文件解析并得到classes.dex文件。
11.一种应用程序的分类方法,包括:
从应用程序样本中提取静态特征信息和动态特征信息,其中所述动态特征信息是根据权利要求1-10中任一项所述的特征提取方法提取的;以及
将静态特征信息和动态特征信息输入分类模型以检测特定类别的应用程序。
12.一种计算机实现的装置,包括:
存储器;以及
处理器,被配置为当执行存储在所述存储器中的指令时,使得所述装置实现如权利要求1-11中任一项所述的方法。
13.一种非瞬态计算机可读存储介质,存储有指令,所述指令当被计算设备的处理器执行时使得所述计算设备实现如权利要求1-11中任一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国电信股份有限公司,未经中国电信股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911375588.8/1.html,转载请声明来源钻瓜专利网。