恶意程序的识别方法及装置、移动终端的制作方法

文档序号:8431084阅读:433来源:国知局
恶意程序的识别方法及装置、移动终端的制作方法
【技术领域】
[0001]本发明涉及移动安全领域,特别是指一种恶意程序的识别方法及装置、移动终端。
【背景技术】
[0002]随着Android系统以及智能终端的不断普及,各种Android病毒程序也日渐兴起,恶意程序已经成为Android智能终端安全的首要威胁。恶意程序厂商通过插入若干恶意程序SDK (Software Development Kit,软件开发工具包)或者恶意代码的APK (AndroidPackage,安卓安装包)诱导用户下载使用,以此获取非法收益。
[0003]恶意程序的危害可以归纳为:影响智能终端的操作体验、消耗流量和窃取用户隐私。以恶意广告程序为例,对于移动终端来讲,通知栏广告是一种新的广告方式,其通过Android系统等开放式操作系统公开的通知栏消息接口,向智能终端发送通知栏消息。由于Android智能终端的设计缺陷,如果发送通知栏消息的软件不主动向用户提示发送者的身份,那么终端使用者是不知道哪款软件发送的通知栏广告,因此很多恶意的软件就频繁的发送这些消息,骚扰用户,强制用户查看广告,诱导用户下载广告推送的程序,甚至在后台窃取用户隐私信息。
[0004]如今恶意程序的变种异常活跃,几乎让人防不胜防,因此,对此类恶意程序的识别是移动安全很重要的一个部分。目前对恶意程序的主要识别方法是获取程序的明文代码,然后通过提取代码特征进而判断其是否具有恶意程序行为。但是恶意程序厂商往往通过代码混淆、栈名混淆、字符串加密等方式进行对抗,使得恶意程序的静态代码特征不固定,因此通过这种方法就不再能有效地识别出恶意程序。

【发明内容】

[0005]本发明要解决的技术问题是提供一种恶意程序的识别方法及装置、移动终端,能够准确地识别出恶意程序。
[0006]为解决上述技术问题,本发明的实施例提供技术方案如下:
[0007]—方面,提供一种恶意程序的识别方法,包括:
[0008]对待检测程序进行反编译,得到所述待检测程序的反编译文件;
[0009]在所述反编译文件中提取所述待检测程序的静态特征;
[0010]将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
[0011]进一步地:
[0012]所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列;
[0013]所述将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序包括:
[0014]将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配,在匹配到与所述第一静态特征一致的恶意特征时,判断所述待检测程序为恶意程序。
[0015]进一步地:
[0016]所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列;
[0017]所述提取的静态特征还包括第二静态特征,所述第二静态特征包括以下各项中的至少一种:
[0018]所述待检测程序调用的系统函数的顺序序列;
[0019]所述待检测程序调用的自定义函数的顺序序列;
[0020]所述待检测程序调用的自定义函数的参数信息;
[0021]所述待检测程序调用的自定义函数的返回值信息;
[0022]所述将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序包括:
[0023]将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配;
[0024]在匹配到与所述第一静态特征一致的恶意特征后,将所述第二静态特征与所述恶意特征库中的恶意特征进行匹配,若匹配到与所述第二静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
[0025]进一步地,所述参数信息包括参数个数和参数类型;
[0026]所述返回值信息包括所述返回值类型。
[0027]进一步地,在所述判断所述待检测程序为恶意程序后,所述方法还包括:
[0028]将所述判断的结果通知给用户,以告知用户所述待检测程序为恶意程序;
[0029]根据用户的指令清除所述恶意程序;
[0030]或者,
[0031]自动清除所述恶意程序。
[0032]本发明实施例还提供了一种恶意程序的识别装置,包括:
[0033]反编译模块,用于对待检测程序进行反编译,得到所述待检测程序的反编译文件;
[0034]提取模块,用于在所述反编译文件中提取所述待检测程序的静态特征;
[0035]处理模块,用于将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
[0036]进一步地:
[0037]所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列;
[0038]所述处理模块具体用于将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配,在匹配到与所述第一静态特征一致的恶意特征时,判断所述待检测程序为恶意程序。
[0039]进一步地:
[0040]所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列;
[0041]所述提取的静态特征还包括第二静态特征,所述第二静态特征包括以下各项中的至少一种:
[0042]所述待检测程序调用的系统函数的顺序序列;
[0043]所述待检测程序调用的自定义函数的顺序序列;
[0044]所述待检测程序调用的自定义函数的参数信息;
[0045]所述待检测程序调用的自定义函数的返回值信息;
[0046]所述处理模块具体用于将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配;在匹配到与所述第一静态特征一致的恶意特征后,将所述第二静态特征与所述恶意特征库中的恶意特征进行匹配,若匹配到与所述第二静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
[0047]进一步地,所述参数信息包括参数个数和参数类型;
[0048]所述返回值信息包括所述返回值类型。
[0049]进一步地,所述装置还包括:
[0050]通知模块,用于将所述判断的结果通知给用户,以告知用户所述待检测程序为恶意程序;以及第一清除模块,用于根据用户的指令清除所述恶意程序;
[0051 ] 或者,所述装置还可包括:
[0052]第二清除模块,用于自动清除所述恶意程序。
[0053]本发明实施例还提供了一种移动终端,包括如上所述的恶意程序的识别装置。
[0054]本发明的实施例具有以下有益效果:
[0055]上述方案中,首先对待检测程序进行反编译,得到待检测程序的反编译文件,之后提取反编译文件的静态特征,将提取的静态特征与恶意特征库中的恶意特征进行匹配,如果匹配到与静态特征一致的恶意特征,则判断待检测程序为恶意程序。本发明的技术方案忽略掉恶意程序的代码含义,提取反编译文件中的静态特征作为判定特征,能够有效准确地检测出代码混淆过的恶意程序。
【附图说明】
[0056]图1为本发明实施例恶意程序的识别方法的流程示意图;
[0057]图2为本发明实施例恶意程序的识别装置的结构框图;
[0058]图3为本发明具体实施例恶意程序的识别方法的流程示意图。
【具体实施方式】
[0059]为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0060]本发明的实施例针对现有技术不能有效识别出恶意程序的问题,提供一种恶意程序的识别方法及装置、移动终端,能够准确地识别出恶意程序。
[0061]图1为本发明实施例恶意程序的识别方法的流程示意图,如图1所示,本实施例包括:
[0062]步骤101:对待检测程序进行反编译,得到所述待检测程序的反编译文件;
[0063]具体的,在本发明的一个实施例中,待检测程序为安卓安装包(APK,AndroidPackage),本步骤所得到的反编译文件为smali文件;
[0064]步骤102:在所述反编译文件中提取所述待检测程序的静态特征;
[0065]步骤103:将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
[0066]本发明的恶意程序的识别方法,首先对待检测程序进行反编译,得到待检测程序的反编译文件,之后提取反编译文件的静态特征,将提取的静态特征与恶意特征库中的恶意特征进行匹配,如果匹配到与静态特征一致的恶意特征,则判断待检测程序为恶意程序。本发明的技术方案忽略掉恶意程序的代码含义,不需要通过代码特征来鉴定恶意程序,而是提取反编译文件中的静态特征作为判定特征,能够有效准确地检测出代码混淆过的恶意程序。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1