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

文档序号:8431084阅读:来源:国知局
,转向步骤310 ;如果没有匹配到一致的恶意特征,转向步骤311。
[0119]步骤310:判断该待检测程序为恶意程序。
[0120]步骤311:判断该待检测程序不是恶意程序。
[0121]可以理解的是,本实施例是按照步骤301-311的顺序来进行恶意程序的识别,但本发明的技术方案并不局限于这一执行顺序。将步骤304-305作为一个第二静态特征判断步骤,将步骤306-307作为另一个第二静态特征判断步骤,将步骤308-309作为另一个第二静态特征判断步骤,对于这三个第二静态特征判断步骤来说,可以任意调整这三个第二静态特征判断步骤的执行顺序,也可以只执行这三个第二静态特征判断步骤中的任一个或任两个,均可以达到识别恶意程序的目的。
[0122]本实施例忽略掉恶意程序的代码含义,提取smali文件中的静态特征作为判定特征,能够有效准确地检测出代码混淆过的恶意程序。
[0123]可以理解的,在本发明一个实施例中,在执行步骤301-303后并在步骤303中匹配到与提取的长度序列一致的恶意特征时,即可判断待检测程序为恶意程序;
[0124]可以理解的,在本发明一个实施例中,在通过长度序列判断的基础上,结合第一顺序序列、第二顺序序列、自定义函数的参数信息和返回值信息中的至少一种,在执行步骤301-303后并在步骤303中匹配到与提取的长度序列一致的恶意特征的基础上,如果匹配到与第一顺序序列、第二顺序序列、自定义函数的参数信息和返回值信息中的至少一种一致的恶意特征,即可判断待检测程序为恶意程序,提高了判断的准确性。
[0125]此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
[0126]本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同物理上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
[0127]实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
[0128]在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
[0129]在本发明各方法实施例中,所述各步骤的序号并不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,对各步骤的先后变化也在本发明的保护范围之内。
[0130]以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【主权项】
1.一种恶意程序的识别方法,其特征在于,包括: 对待检测程序进行反编译,得到所述待检测程序的反编译文件; 在所述反编译文件中提取所述待检测程序的静态特征; 将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
2.根据权利要求1所述的恶意程序的识别方法,其特征在于, 所述待检测程序为安卓安装包APK,所述反编译文件为smali文件。
3.根据权利要求1或2所述的恶意程序的识别方法,其特征在于, 所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列; 所述将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序包括: 将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配,在匹配到与所述第一静态特征一致的恶意特征时,判断所述待检测程序为恶意程序。
4.根据权利要求1或2所述的恶意程序的识别方法,其特征在于, 所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列; 所述提取的静态特征还包括第二静态特征,所述第二静态特征包括以下各项中的至少一种: 所述待检测程序调用的系统函数的顺序序列; 所述待检测程序调用的自定义函数的顺序序列; 所述待检测程序调用的自定义函数的参数信息; 所述待检测程序调用的自定义函数的返回值信息; 所述将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序包括: 将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配; 在匹配到与所述第一静态特征一致的恶意特征后,将所述第二静态特征与所述恶意特征库中的恶意特征进行匹配,若匹配到与所述第二静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
5.根据权利要求4所述的恶意程序的识别方法,其特征在于, 所述参数信息包括参数个数和参数类型; 所述返回值信息包括所述返回值类型。
6.根据权利要求1-5任一项所述的恶意程序的识别方法,其特征在于,在所述判断所述待检测程序为恶意程序后,所述方法还包括: 将所述判断的结果通知给用户,以告知用户所述待检测程序为恶意程序; 根据用户的指令清除所述恶意程序; 或者, 自动清除所述恶意程序。
7.—种恶意程序的识别装置,其特征在于,包括: 反编译模块,用于对待检测程序进行反编译,得到所述待检测程序的反编译文件; 提取模块,用于在所述反编译文件中提取所述待检测程序的静态特征; 处理模块,用于将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
8.根据权利要求7所述的恶意程序的识别装置,其特征在于, 所述待检测程序为安卓安装包APK,所述反编译文件为smali文件。
9.根据权利要求7或8所述的恶意程序的识别装置,其特征在于, 所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列; 所述处理模块具体用于将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配,在匹配到与所述第一静态特征一致的恶意特征时,判断所述待检测程序为恶意程序。
10.根据权利要求7或8所述的恶意程序的识别装置,其特征在于, 所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列; 所述提取的静态特征还包括第二静态特征,所述第二静态特征包括以下各项中的至少一种: 所述待检测程序调用的系统函数的顺序序列; 所述待检测程序调用的自定义函数的顺序序列; 所述待检测程序调用的自定义函数的参数信息; 所述待检测程序调用的自定义函数的返回值信息; 所述处理模块具体用于将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配;在匹配到与所述第一静态特征一致的恶意特征后,将所述第二静态特征与所述恶意特征库中的恶意特征进行匹配,若匹配到与所述第二静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
11.根据权利要求10所述的恶意程序的识别装置,其特征在于, 所述参数信息包括参数个数和参数类型; 所述返回值信息包括所述返回值类型。
12.根据权利要求7-11中任一项所述的恶意程序的识别装置,其特征在于,所述装置还包括: 通知模块,用于将所述判断的结果通知给用户,以告知用户所述待检测程序为恶意程序;以及第一清除模块,用于根据用户的指令清除所述恶意程序; 或者, 第二清除模块,用于自动清除所述恶意程序。
13.—种移动终端,其特征在于,包括如权利要求7-12中任一项所述的恶意程序的识别装置。
【专利摘要】本发明提供了一种恶意程序的识别方法及装置、移动终端,属于移动安全领域。其中,该恶意程序的识别方法包括:对待检测程序进行反编译,得到所述待检测程序的反编译文件;在所述反编译文件中提取所述待检测程序的静态特征;将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序。通过本发明的技术方案,能够准确地识别出恶意程序。
【IPC分类】G06F21-56
【公开号】CN104751054
【申请号】CN201310753114
【发明人】焦国强, 杨启东, 张楠
【申请人】贝壳网际(北京)安全技术有限公司
【公开日】2015年7月1日
【申请日】2013年12月31日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1