一种提取样本代码特征的方法及装置制造方法及图纸

技术编号:15747208 阅读:71 留言:0更新日期:2017-07-03 04:11
本申请公开了一种提取样本代码特征的方法及装置。其中的方法包括:获取样本集合中包含的黑样本、白样本的虚拟机执行文件;对黑、白样本对应的所述虚拟机执行文件进行反编译,得到反编译的函数信息结构;提取所述反编译的函数信息结构中的函数指令序列;逐一确定所述样本集合中的黑样本对应的函数指令序列中包含的、且所述样本集合中的白样本对应的函数指令序列中未包含的指令序列片段,得到包含上述指令序列片段的片段集合;基于所述片段集合中包含的指令序列片段,确定至少一个最优指令序列片段。通过上述方案,本申请可以使得最终建立的病毒库包含的病毒特征更加完善,进而提升杀毒应用的杀毒效果。

Method and device for extracting sample code characteristic

The present invention discloses a method and a device for extracting sample code characteristics. The method includes performing a virtual machine to obtain the sample files contained in a collection of black and white sample sample; decompile executable files on the black and white samples corresponding to the virtual machine, get the function of information structure of decompilation; extracting the decompile function of information structure in the function instruction sequence determined one by one; the instruction sequence fragment does not contain white samples corresponding to the sample contains the function instruction sequence set in black in the corresponding sample, and the sample collection function of the instruction in the sequence, obtained fragment containing the instruction sequence fragment set; instruction sequence fragment contains the set of fragments based on the determined at least an optimal instruction sequence. Through the above proposal, the application can make the virus library included in the final set contain more perfect virus characteristics, thereby enhancing the antivirus effect of the antivirus application.

【技术实现步骤摘要】
一种提取样本代码特征的方法及装置
本申请涉及智能终端安全
,尤其涉及一种提取样本代码特征的方法及装置。
技术介绍
随着科技发展,智能终端具有越来越多的功能。例如,人们的手机从传统的GSM、TDMA数字手机转向了拥有能够处理多媒体资源、提供网页浏览、电话会议、电子商务等多种信息服务的智能手机。然而,品种日益繁多的手机恶意代码攻击以及形势日益严峻的个人数据安全问题也随之而来,越来越多的手机病毒让智能手机用户饱受其苦。目前,对于各类智能终端的杀毒技术主要是基于应用程序的虚拟机执行文件的字符串进行查杀,将提取的字符串特征与预先建立的病毒库中的病毒特征进行匹配,若匹配发现待检测的应用程序的虚拟机执行文件的字符串包含病毒特征,则确定其为病毒代码。然而,现有技术中,病毒库中的病毒特征是通过人工对黑样本(即病毒样本)、白样本(即非病毒样本)进行分析得到的,由于人工分析方式在一定程度上效率较低,导致最终得到的病毒库中包含的病毒特征数量有限、并且准确性不高,从而导致杀毒应用的病毒查杀效果不佳。
技术实现思路
本申请实施例提供一种克服上述问题或者至少部分地解决上述问题的提取样本代码特征的方法及装置。本申请实施例采用下述技术方案:一种提取样本代码特征的方法,包括:获取样本集合中包含的黑样本、白样本的虚拟机执行文件;对黑、白样本对应的所述虚拟机执行文件进行反编译,得到反编译的函数信息结构;提取所述反编译的函数信息结构中的函数指令序列;逐一确定所述样本集合中的黑样本对应的函数指令序列中包含的、且所述样本集合中的白样本对应的函数指令序列中未包含的指令序列片段,得到包含上述指令序列片段的片段集合;基于所述片段集合中包含的指令序列片段,确定至少一个最优指令序列片段。优选地,基于所述片段集合中包含的指令序列片段,确定至少一个最优指令序列片段,包括:将所述片段集合中包含的指令序列片段按照出现次数从大到小进行排序,并将排序靠前的至少一个指令序列片段确定为最优指令序列片段;或,若所述片段集合中包含的指令序列片段的出现次数超过预设阈值,则将该指令序列片段确定为最优指令序列片段。优选地,逐一确定所述样本集合中的黑样本对应的函数指令序列中包含的、且所述样本集合中的白样本对应的函数指令序列中未包含的指令序列片段之后,还包括:判断所述指令序列片段包含的字符数是否超过预设值,若是,则将其归入片段集合中。优选地,判断所述指令序列片段包含的字符数是否超过预设值之前,还包括:确定所述预设值与所述函数指令序列的字符总数正相关。一种提取样本代码特征的方法,包括:获取样本集合中包含的黑样本、白样本的虚拟机执行文件;对黑、白样本对应的所述虚拟机执行文件进行反编译,得到反编译的函数信息结构;提取所述反编译的函数信息结构中的助记符序列;逐一确定所述样本集合中的黑样本对应的助记符序列中包含的、且所述样本集合中的白样本对应的助记符序列中未包含的助记符序列片段,得到包含上述助记符序列片段的片段集合;基于所述片段集合中包含的助记符序列片段,确定至少一个最优助记符序列片段。一种提取样本代码特征的装置,包括:获取单元,用于获取样本集合中包含的黑样本、白样本的虚拟机执行文件;反编译单元,用于对黑、白样本对应的所述虚拟机执行文件进行反编译,得到反编译的函数信息结构;提取单元,用于提取所述反编译的函数信息结构中的函数指令序列;片段集合确定单元,用于逐一确定所述样本集合中的黑样本对应的函数指令序列中包含的、且所述样本集合中的白样本对应的函数指令序列中未包含的指令序列片段,得到包含上述指令序列片段的片段集合;最优指令序列确定单元,用于基于所述片段集合中包含的指令序列片段,确定至少一个最优指令序列片段。优选地,所述最优指令序列确定单元用于:将所述片段集合中包含的指令序列片段按照出现次数从大到小进行排序,并将排序靠前的至少一个指令序列片段确定为最优指令序列片段;或,若所述片段集合中包含的指令序列片段的出现次数超过预设阈值,则将该指令序列片段确定为最优指令序列片段。优选地,所述装置还包括:判断单元,用于判断所述指令序列片段包含的字符数是否超过预设值,若是,则将其归入片段集合中。优选地,所述装置还包括:预设值确定单元,用于在判断所述指令序列片段包含的字符数是否超过预设值之前,确定所述预设值与所述函数指令序列的字符总数正相关。一种提取样本代码特征的装置,包括:获取单元,用于获取样本集合中包含的黑样本、白样本的虚拟机执行文件;反编译单元,用于对黑、白样本对应的所述虚拟机执行文件进行反编译,得到反编译的函数信息结构;提取单元,用于提取所述反编译的函数信息结构中的助记符序列;片段集合确定单元,用于逐一确定所述样本集合中的黑样本对应的助记符序列中包含的、且所述样本集合中的白样本对应的助记符序列中未包含的助记符序列片段,得到包含上述助记符序列片段的片段集合;最优指令序列确定单元,用于基于所述片段集合中包含的助记符序列片段,确定至少一个最优助记符序列片段。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请实施例通过基于样本集合中包含的黑样本、白样本进行反编译和分析,最终提取得到黑样本包含的、且白样本未包含的至少一个最优指令序列片段(或最优助记符序列片段),由于上述至少一个最优指令序列片段是黑样本普遍独有的特征(即病毒特征),从而可以利用该最优指令序列片段进行病毒代码的查杀。在上述过程中,相较于现有的通过人工分析黑、白样本的方式得到病毒特征的技术,其最终提取得到的最优指令序列片段(即病毒特征)准确性更高并且数量更多,这样,使得最终建立病毒库包含的病毒特征更加完善,进而提升杀毒应用的杀毒效果。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请一实施例中提供的提取样本代码特征的方法的流程图;图2为本申请实施例中对dex文件进行反编译得到的函数信息结构的示例;图3为本申请另一实施例中提供的提取样本代码特征的方法的流程图;图4为本申请一实施例中提供的提取样本代码特征的装置的模块图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。以安卓(Android)操作系统为例,包括应用程序层(app层)和系统框架层(framework层),至于从功能划分上有可能包括的其他层本申请则不作讨论。其中,通常app层可以理解为上层,负责与用户交互的界面,例如应用程序维护、以及点击页面时识别不同种类的点击内容从而显示不同的上下文菜单等。通常framework层作为中间层,这一层的主要职责是,将app层获得的用户请求,如启动用用程序、点击链接、点击保存图片之类,转发往下层去;将下层处理好的内容,或者通过消息,或者通过中间代理类,来分发至上层,对用户展现出来。Dalvik是用于Android平台的Java虚拟机。Dalvik经过优化本文档来自技高网...
一种提取样本代码特征的方法及装置

【技术保护点】
一种提取样本代码特征的方法,其特征在于,包括:获取样本集合中包含的黑样本、白样本的虚拟机执行文件;对黑、白样本对应的所述虚拟机执行文件进行反编译,得到反编译的函数信息结构;提取所述反编译的函数信息结构中的函数指令序列;逐一确定所述样本集合中的黑样本对应的函数指令序列中包含的、且所述样本集合中的白样本对应的函数指令序列中未包含的指令序列片段,得到包含上述指令序列片段的片段集合;基于所述片段集合中包含的指令序列片段,确定至少一个最优指令序列片段。

【技术特征摘要】
1.一种提取样本代码特征的方法,其特征在于,包括:获取样本集合中包含的黑样本、白样本的虚拟机执行文件;对黑、白样本对应的所述虚拟机执行文件进行反编译,得到反编译的函数信息结构;提取所述反编译的函数信息结构中的函数指令序列;逐一确定所述样本集合中的黑样本对应的函数指令序列中包含的、且所述样本集合中的白样本对应的函数指令序列中未包含的指令序列片段,得到包含上述指令序列片段的片段集合;基于所述片段集合中包含的指令序列片段,确定至少一个最优指令序列片段。2.如权利要求1所述的方法,其特征在于,基于所述片段集合中包含的指令序列片段,确定至少一个最优指令序列片段,包括:将所述片段集合中包含的指令序列片段按照出现次数从大到小进行排序,并将排序靠前的至少一个指令序列片段确定为最优指令序列片段;或,若所述片段集合中包含的指令序列片段的出现次数超过预设阈值,则将该指令序列片段确定为最优指令序列片段。3.如权利要求1所述的方法,其特征在于,逐一确定所述样本集合中的黑样本对应的函数指令序列中包含的、且所述样本集合中的白样本对应的函数指令序列中未包含的指令序列片段之后,还包括:判断所述指令序列片段包含的字符数是否超过预设值,若是,则将其归入片段集合中。4.如权利要求3所述的方法,其特征在于,判断所述指令序列片段包含的字符数是否超过预设值之前,还包括:确定所述预设值与所述函数指令序列的字符总数正相关。5.一种提取样本代码特征的方法,其特征在于,包括:获取样本集合中包含的黑样本、白样本的虚拟机执行文件;对黑、白样本对应的所述虚拟机执行文件进行反编译,得到反编译的函数信息结构;提取所述反编译的函数信息结构中的助记符序列;逐一确定所述样本集合中的黑样本对应的助记符序列中包含的、且所述样本集合中的白样本对应的助记符序列中未包含的助记符序列片段,得到包含上述助记符序列片段的片段集合;基于所述片段集合中包含的助记符序列片段,确定至少一个最优助记符序列片段。6.一种提取样本代码特征的装置,...

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

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

1