一种应用程序样本的分类方法及装置制造方法及图纸

技术编号:15747218 阅读:341 留言:0更新日期:2017-07-03 04:13
本申请公开了一种应用程序样本的分类方法及装置,以实现样本自动分类。其中方法包括:获取待分类的应用程序样本集合中的第一应用程序样本的第一虚拟机执行文件;对第一虚拟机执行文件进行反编译得到反编译的第一函数信息结构,提取反编译的第一函数信息结构中的第一函数指令序列;获取待分类的应用程序样本集合中的第二应用程序样本的第二虚拟机执行文件;对第二虚拟机执行文件进行反编译得到反编译的第二函数信息结构,提取反编译的第二函数信息结构中的第二函数指令序列;确定第一函数指令序列与第二函数指令序列之间的编辑距离;判断编辑距离是否小于预设阈值;若是,将第一应用程序样本和第二应用程序样本划分到同一类别。

Method and device for classifying application samples

The present application discloses a method and a device for classifying an application sample to realize automatic classification of samples. The method comprises the following steps: the first executable virtual machine to acquire the classification application sample set in the first application of the sample; on the implementation of the first virtual machine file decompile decompile function to get the first information structure, the first extraction decompile function information structure in the function sequence of the first second virtual machine executable instructions; to acquire the classification application sample set in second application samples; the implementation of document second virtual machine decompile decompile second function information structure, extraction Second decompile function information structure in the sequence of second function instructions; determine the edit distance between the first and second function instruction sequence function instruction sequence; to determine whether the edit distance is less than a preset threshold value; if the first application sample and second sample applications This is divided into the same category.

【技术实现步骤摘要】
一种应用程序样本的分类方法及装置
本申请涉及智能终端安全
,尤其涉及一种应用程序样本的分类方法及装置。
技术介绍
随着科技发展,智能终端具有越来越多的功能。例如,人们的手机从传统的GSM、TDMA数字手机转向了拥有能够处理多媒体资源、提供网页浏览、电话会议、电子商务等多种信息服务的智能手机。然而,品种日益繁多的手机恶意代码攻击以及形势日益严峻的个人数据安全问题也随之而来,越来越多的手机病毒让智能手机用户饱受其苦。目前,为提高手机病毒识别的效率,业界可以通过预先根据应用程序的相似度,将大量的应用程序样本进行分类,以得到由相似度较高的多个应用程序样本构成的家族。这样,在识别手机病毒应用时,若发现某应用程序属于病毒应用的家族,则直接可以判定其为病毒样本。现有技术中,通常是通过人工筛选方式来对大量的应用程序样本进行分类,随着移动平台应用的越来越多,人工分类的效率不高。
技术实现思路
本申请实施例提供一种克服上述问题或者至少部分地解决上述问题的应用程序样本的分类方法及装置。本申请实施例采用下述技术方案:一种应用程序样本的分类方法,包括:获取待分类的应用程序样本集合中的第一应用程序样本的第一虚拟机执行文件;对所述第一虚拟机执行文件进行反编译得到反编译的第一函数信息结构,提取所述反编译的第一函数信息结构中的第一函数指令序列;获取待分类的应用程序样本集合中的第二应用程序样本的第二虚拟机执行文件;对所述第二虚拟机执行文件进行反编译得到反编译的第二函数信息结构,提取所述反编译的第二函数信息结构中的第二函数指令序列;确定所述第一函数指令序列与所述第二函数指令序列之间的编辑距离;判断所述编辑距离是否小于预设阈值;若是,将所述第一应用程序样本和所述第二应用程序样本划分到同一类别。优选地,所述第一函数指令序列是由所述第一函数信息结构包含的机器码字段中每一行的前n位字符组成的序列,所述第二函数指令序列是由所述第二函数信息结构包含的机器码字段中每一行的前n位字符组成的序列。优选地,判断所述编辑距离是否小于预设阈值之前,所述方法还包括:确定所述第一函数指令序列或所述第二函数指令序列的字符总数;将所述字符总数与预设数值的乘积确定为所述预设阈值;其中,所述预设数值介于0~1之间。优选地,判断所述编辑距离是否小于预设阈值之前,所述方法还包括:确定所述第一函数指令序列和所述第二函数指令序列的字符数之和;将所述字符数之和与预设数值的乘积确定为所述预设阈值;其中,所述预设数值介于0~1之间。一种应用程序样本的分类方法,包括:获取待分类的应用程序样本集合中的第一应用程序样本的第一虚拟机执行文件;对所述第一虚拟机执行文件进行反编译得到反编译的第一函数信息结构,提取所述反编译的第一函数信息结构中的第一助记符序列;获取待分类的应用程序样本集合中的第二应用程序样本的第二虚拟机执行文件;对所述第二虚拟机执行文件进行反编译得到反编译的第二函数信息结构,提取所述反编译的第二函数信息结构中的第二助记符序列;确定所述第一助记符序列与所述第二助记符序列之间的编辑距离;判断所述编辑距离是否小于预设阈值;若是,将所述第一应用程序样本和所述第二应用程序样本划分到同一类别。优选地,所述第一助记符序列是由所述第一函数信息结构包含的代码字段中的函数字符组成的序列,所述第二助记符序列是由所述第二函数信息结构包含的代码字段中的函数字符组成的序列。优选地,判断所述编辑距离是否小于预设阈值之前,所述方法还包括:确定所述第一助记符序列或所述第二助记符序列的字符总数;将所述字符总数与预设数值的乘积确定为所述预设阈值;其中,所述预设数值介于0~1之间。一种应用程序样本的分类装置,包括:第一获取单元,用于获取待分类的应用程序样本集合中的第一应用程序样本的第一虚拟机执行文件;第一提取单元,用于对所述第一虚拟机执行文件进行反编译得到反编译的第一函数信息结构,提取所述反编译的第一函数信息结构中的第一函数指令序列;第二获取单元,用于获取待分类的应用程序样本集合中的第二应用程序样本的第二虚拟机执行文件;第二提取单元,用于对所述第二虚拟机执行文件进行反编译得到反编译的第二函数信息结构,提取所述反编译的第二函数信息结构中的第二函数指令序列;确定单元,用于确定所述第一函数指令序列与所述第二函数指令序列之间的编辑距离;判断单元,用于判断所述编辑距离是否小于预设阈值;分类单元,用于在所述编辑距离小于预设阈值时,将所述第一应用程序样本和所述第二应用程序样本划分到同一类别。优选地,所述第一函数指令序列是由所述第一函数信息结构包含的机器码字段中每一行的前n位字符组成的序列,所述第二函数指令序列是由所述第二函数信息结构包含的机器码字段中每一行的前n位字符组成的序列。优选地,所述装置还包括:预设阈值确定单元,用于在判断所述编辑距离是否小于预设阈值之前,确定所述第一函数指令序列或所述第二函数指令序列的字符总数;将所述字符总数与预设数值的乘积确定为所述预设阈值;其中,所述预设数值介于0~1之间。优选地,所述装置还包括:预设阈值确定单元,用于在判断所述编辑距离是否小于预设阈值之前,确定所述第一函数指令序列和所述第二函数指令序列的字符数之和;将所述字符数之和与预设数值的乘积确定为所述预设阈值;其中,所述预设数值介于0~1之间。一种应用程序样本的分类装置,包括:第一获取单元,用于获取待分类的应用程序样本集合中的第一应用程序样本的第一虚拟机执行文件;第一提取单元,用于对所述第一虚拟机执行文件进行反编译得到反编译的第一函数信息结构,提取所述反编译的第一函数信息结构中的第一助记符序列;第二获取单元,用于获取待分类的应用程序样本集合中的第二应用程序样本的第二虚拟机执行文件;第二提取单元,用于对所述第二虚拟机执行文件进行反编译得到反编译的第二函数信息结构,提取所述反编译的第二函数信息结构中的第二助记符序列;确定单元,用于确定所述第一助记符序列与所述第二助记符序列之间的编辑距离;判断单元,用于判断所述编辑距离是否小于预设阈值;分类单元,用于在所述编辑距离小于预设阈值时,将所述第一应用程序样本和所述第二应用程序样本划分到同一类别。优选地,所述第一助记符序列是由所述第一函数信息结构包含的代码字段中的函数字符组成的序列,所述第二助记符序列是由所述第二函数信息结构包含的代码字段中的函数字符组成的序列。优选地,所述装置还包括:预设阈值确定单元,用于在判断所述编辑距离是否小于预设阈值之前,确定所述第一助记符序列或所述第二助记符序列的字符总数;将所述字符总数与预设数值的乘积确定为所述预设阈值;其中,所述预设数值介于0~1之间。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:通过对待分类的应用程序样本集合中的第一、第二应用程序样本的虚拟机执行文件进行分析和反编译,分别得到上述第一、第二应用程序样本对应的第一、第二函数指令序列(或助记符序列),随后,利用编辑距离算法确定上述第一、第二函数指令序列(或助记符序列)的编辑距离,通过判断上述编辑距离是否小于预设阈值,并在小于时,将上述第一、第二应用程序样本划分到同一类别。通过上述方法,可以将待分类的应用程序样本集合中相似度较近(编辑距离小于预设阈值)的应用程序样本划分到本文档来自技高网...
一种应用程序样本的分类方法及装置

【技术保护点】
一种应用程序样本的分类方法,其特征在于,包括:获取待分类的应用程序样本集合中的第一应用程序样本的第一虚拟机执行文件;对所述第一虚拟机执行文件进行反编译得到反编译的第一函数信息结构,提取所述反编译的第一函数信息结构中的第一函数指令序列;获取待分类的应用程序样本集合中的第二应用程序样本的第二虚拟机执行文件;对所述第二虚拟机执行文件进行反编译得到反编译的第二函数信息结构,提取所述反编译的第二函数信息结构中的第二函数指令序列;确定所述第一函数指令序列与所述第二函数指令序列之间的编辑距离;判断所述编辑距离是否小于预设阈值;若是,将所述第一应用程序样本和所述第二应用程序样本划分到同一类别。

【技术特征摘要】
1.一种应用程序样本的分类方法,其特征在于,包括:获取待分类的应用程序样本集合中的第一应用程序样本的第一虚拟机执行文件;对所述第一虚拟机执行文件进行反编译得到反编译的第一函数信息结构,提取所述反编译的第一函数信息结构中的第一函数指令序列;获取待分类的应用程序样本集合中的第二应用程序样本的第二虚拟机执行文件;对所述第二虚拟机执行文件进行反编译得到反编译的第二函数信息结构,提取所述反编译的第二函数信息结构中的第二函数指令序列;确定所述第一函数指令序列与所述第二函数指令序列之间的编辑距离;判断所述编辑距离是否小于预设阈值;若是,将所述第一应用程序样本和所述第二应用程序样本划分到同一类别。2.如权利要求1所述的方法,其特征在于,所述第一函数指令序列是由所述第一函数信息结构包含的机器码字段中每一行的前n位字符组成的序列,所述第二函数指令序列是由所述第二函数信息结构包含的机器码字段中每一行的前n位字符组成的序列。3.如权利要求1所述的方法,其特征在于,判断所述编辑距离是否小于预设阈值之前,所述方法还包括:确定所述第一函数指令序列或所述第二函数指令序列的字符总数;将所述字符总数与预设数值的乘积确定为所述预设阈值;其中,所述预设数值介于0~1之间。4.如权利要求1所述的方法,其特征在于,判断所述编辑距离是否小于预设阈值之前,所述方法还包括:确定所述第一函数指令序列和所述第二函数指令序列的字符数之和;将所述字符数之和与预设数值的乘积确定为所述预设阈值;其中,所述预设数值介于0~1之间。5.一种应用程序样本的分类方法,其特征在于,包括:获取待分类的应用程序样本集合中的第一应用程序样本的第一虚拟机执行文件;对所述第一虚拟机执行文件进行反编译得到反编译的第一函数信息结构,提取所述反编译的第一函数信息结构中的第一助记符序列;获取待分类的应用程序样本集合中的第二应用程序样本的第二虚拟机执行文件;对所述第二虚拟机执行文件进行反编译得到反编译的第二函数信息结构,提取所述反编译的第二函数信息结构中的第二助记符序列;确定所述第一助记符序列与所述第二助记符序列之间的编...

【专利技术属性】
技术研发人员:杨康陈卓唐海
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1