CN104751054A - 恶意程序的识别方法及装置、移动终端 - Google Patents

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

Info

Publication number
CN104751054A
CN104751054A CN201310753114.9A CN201310753114A CN104751054A CN 104751054 A CN104751054 A CN 104751054A CN 201310753114 A CN201310753114 A CN 201310753114A CN 104751054 A CN104751054 A CN 104751054A
Authority
CN
China
Prior art keywords
malicious
program
detected
features
static
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310753114.9A
Other languages
English (en)
Other versions
CN104751054B (zh
Inventor
焦国强
杨启东
张楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shell Internet Beijing Security Technology Co Ltd
Original Assignee
Shell Internet Beijing Security Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shell Internet Beijing Security Technology Co Ltd filed Critical Shell Internet Beijing Security Technology Co Ltd
Priority to CN201310753114.9A priority Critical patent/CN104751054B/zh
Publication of CN104751054A publication Critical patent/CN104751054A/zh
Application granted granted Critical
Publication of CN104751054B publication Critical patent/CN104751054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种恶意程序的识别方法及装置、移动终端,属于移动安全领域。其中,该恶意程序的识别方法包括:对待检测程序进行反编译,得到所述待检测程序的反编译文件;在所述反编译文件中提取所述待检测程序的静态特征;将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序。通过本发明的技术方案,能够准确地识别出恶意程序。

Description

恶意程序的识别方法及装置、移动终端
技术领域
本发明涉及移动安全领域,特别是指一种恶意程序的识别方法及装置、移动终端。
背景技术
随着Android系统以及智能终端的不断普及,各种Android病毒程序也日渐兴起,恶意程序已经成为Android智能终端安全的首要威胁。恶意程序厂商通过插入若干恶意程序SDK(Software Development Kit,软件开发工具包)或者恶意代码的APK(Android Package,安卓安装包)诱导用户下载使用,以此获取非法收益。
恶意程序的危害可以归纳为:影响智能终端的操作体验、消耗流量和窃取用户隐私。以恶意广告程序为例,对于移动终端来讲,通知栏广告是一种新的广告方式,其通过Android系统等开放式操作系统公开的通知栏消息接口,向智能终端发送通知栏消息。由于Android智能终端的设计缺陷,如果发送通知栏消息的软件不主动向用户提示发送者的身份,那么终端使用者是不知道哪款软件发送的通知栏广告,因此很多恶意的软件就频繁的发送这些消息,骚扰用户,强制用户查看广告,诱导用户下载广告推送的程序,甚至在后台窃取用户隐私信息。
如今恶意程序的变种异常活跃,几乎让人防不胜防,因此,对此类恶意程序的识别是移动安全很重要的一个部分。目前对恶意程序的主要识别方法是获取程序的明文代码,然后通过提取代码特征进而判断其是否具有恶意程序行为。但是恶意程序厂商往往通过代码混淆、栈名混淆、字符串加密等方式进行对抗,使得恶意程序的静态代码特征不固定,因此通过这种方法就不再能有效地识别出恶意程序。
发明内容
本发明要解决的技术问题是提供一种恶意程序的识别方法及装置、移动终端,能够准确地识别出恶意程序。
为解决上述技术问题,本发明的实施例提供技术方案如下:
一方面,提供一种恶意程序的识别方法,包括:
对待检测程序进行反编译,得到所述待检测程序的反编译文件;
在所述反编译文件中提取所述待检测程序的静态特征;
将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
进一步地:
所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列;
所述将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序包括:
将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配,在匹配到与所述第一静态特征一致的恶意特征时,判断所述待检测程序为恶意程序。
进一步地:
所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列;
所述提取的静态特征还包括第二静态特征,所述第二静态特征包括以下各项中的至少一种:
所述待检测程序调用的系统函数的顺序序列;
所述待检测程序调用的自定义函数的顺序序列;
所述待检测程序调用的自定义函数的参数信息;
所述待检测程序调用的自定义函数的返回值信息;
所述将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序包括:
将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配;
在匹配到与所述第一静态特征一致的恶意特征后,将所述第二静态特征与所述恶意特征库中的恶意特征进行匹配,若匹配到与所述第二静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
进一步地,所述参数信息包括参数个数和参数类型;
所述返回值信息包括所述返回值类型。
进一步地,在所述判断所述待检测程序为恶意程序后,所述方法还包括:
将所述判断的结果通知给用户,以告知用户所述待检测程序为恶意程序;
根据用户的指令清除所述恶意程序;
或者,
自动清除所述恶意程序。
本发明实施例还提供了一种恶意程序的识别装置,包括:
反编译模块,用于对待检测程序进行反编译,得到所述待检测程序的反编译文件;
提取模块,用于在所述反编译文件中提取所述待检测程序的静态特征;
处理模块,用于将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
进一步地:
所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列;
所述处理模块具体用于将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配,在匹配到与所述第一静态特征一致的恶意特征时,判断所述待检测程序为恶意程序。
进一步地:
所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列;
所述提取的静态特征还包括第二静态特征,所述第二静态特征包括以下各项中的至少一种:
所述待检测程序调用的系统函数的顺序序列;
所述待检测程序调用的自定义函数的顺序序列;
所述待检测程序调用的自定义函数的参数信息;
所述待检测程序调用的自定义函数的返回值信息;
所述处理模块具体用于将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配;在匹配到与所述第一静态特征一致的恶意特征后,将所述第二静态特征与所述恶意特征库中的恶意特征进行匹配,若匹配到与所述第二静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
进一步地,所述参数信息包括参数个数和参数类型;
所述返回值信息包括所述返回值类型。
进一步地,所述装置还包括:
通知模块,用于将所述判断的结果通知给用户,以告知用户所述待检测程序为恶意程序;以及第一清除模块,用于根据用户的指令清除所述恶意程序;
或者,所述装置还可包括:
第二清除模块,用于自动清除所述恶意程序。
本发明实施例还提供了一种移动终端,包括如上所述的恶意程序的识别装置。
本发明的实施例具有以下有益效果:
上述方案中,首先对待检测程序进行反编译,得到待检测程序的反编译文件,之后提取反编译文件的静态特征,将提取的静态特征与恶意特征库中的恶意特征进行匹配,如果匹配到与静态特征一致的恶意特征,则判断待检测程序为恶意程序。本发明的技术方案忽略掉恶意程序的代码含义,提取反编译文件中的静态特征作为判定特征,能够有效准确地检测出代码混淆过的恶意程序。
附图说明
图1为本发明实施例恶意程序的识别方法的流程示意图;
图2为本发明实施例恶意程序的识别装置的结构框图;
图3为本发明具体实施例恶意程序的识别方法的流程示意图。
具体实施方式
为使本发明的实施例要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明的实施例针对现有技术不能有效识别出恶意程序的问题,提供一种恶意程序的识别方法及装置、移动终端,能够准确地识别出恶意程序。
图1为本发明实施例恶意程序的识别方法的流程示意图,如图1所示,本实施例包括:
步骤101:对待检测程序进行反编译,得到所述待检测程序的反编译文件;
具体的,在本发明的一个实施例中,待检测程序为安卓安装包(APK,Android Package),本步骤所得到的反编译文件为smali文件;
步骤102:在所述反编译文件中提取所述待检测程序的静态特征;
步骤103:将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
本发明的恶意程序的识别方法,首先对待检测程序进行反编译,得到待检测程序的反编译文件,之后提取反编译文件的静态特征,将提取的静态特征与恶意特征库中的恶意特征进行匹配,如果匹配到与静态特征一致的恶意特征,则判断待检测程序为恶意程序。本发明的技术方案忽略掉恶意程序的代码含义,不需要通过代码特征来鉴定恶意程序,而是提取反编译文件中的静态特征作为判定特征,能够有效准确地检测出代码混淆过的恶意程序。
进一步地,本发明的另一实施例中,包括上述步骤101-103的基础上,所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列,所述步骤103包括:
将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配,在匹配到与所述第一静态特征一致的恶意特征时,判断所述待检测程序为恶意程序。
进一步地,本发明的另一实施例中,包括上述步骤101-103的基础上,所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列,所述提取的静态特征还包括第二静态特征,所述第二静态特征包括以下各项中的至少一种:所述待检测程序调用的系统函数的顺序序列;所述待检测程序调用的自定义函数的顺序序列;所述待检测程序调用的自定义函数的参数信息;所述待检测程序调用的自定义函数的返回值信息;其中,所述参数信息可以包括参数个数和参数类型;所述返回值信息可以包括所述返回值类型;
则,所述步骤103包括:
将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配;
在匹配到与所述第一静态特征一致的恶意特征后,将所述第二静态特征与所述恶意特征库中的恶意特征进行匹配,若匹配到与所述第二静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
通过第一静态特征和第二静态特征两类特征进行恶意程序判定,提高判定的准确率。
进一步地,本发明的另一实施例中,包括上述步骤101-103的基础上,所述步骤103之后还包括:
将所述判断的结果通知给用户,以告知用户所述待检测程序为恶意程序;
根据用户的指令清除所述恶意程序。
进一步地,本发明的另一实施例中,包括上述步骤101-103的基础上,所述步骤103之后还包括:
自动清除所述恶意程序。
本发明实施例还提供了一种恶意程序的识别装置,如图2所示,本实施例包括:
反编译模块22,用于对待检测程序进行反编译,得到所述待检测程序的反编译文件;具体的,在本发明的一个实施例中,待检测程序为安卓安装包(APK,Android Package),本步骤所得到的反编译文件为smali文件;
提取模块24,用于在所述反编译文件中提取所述待检测程序的静态特征;
处理模块26,用于将提取的静态特征与预设的恶意特征库中的恶意特征进行匹配,如果匹配到与所述静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
本发明的恶意程序的识别装置,首先对待检测程序进行反编译,得到待检测程序的反编译文件,之后提取反编译文件的静态特征,将提取的静态特征与恶意特征库中的恶意特征进行匹配,如果匹配到与静态特征一致的恶意特征,则判断待检测程序为恶意程序。本发明的技术方案忽略掉恶意程序的代码含义,提取反编译文件中的静态特征作为判定特征,能够有效准确地检测出代码混淆过的恶意程序。
进一步地,本发明的一实施例中:
所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列;
所述处理模块具体用于将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配,在匹配到与所述第一静态特征一致的恶意特征时,判断所述待检测程序为恶意程序。
进一步地,本发明的一实施例中:
所述提取的静态特征包括第一静态特征,所述第一静态特征包括所述待检测程序依次调用的字符串的长度序列;为了减少恶意程序的误判率,所述提取的静态特征还包括第二静态特征,所述第二静态特征包括以下各项中的至少一种:
所述待检测程序调用的系统函数的顺序序列;
所述待检测程序调用的自定义函数的顺序序列;
所述待检测程序调用的自定义函数的参数信息;
所述待检测程序调用的自定义函数的返回值信息;
所述处理模块具体用于将所述第一静态特征与所述恶意特征库中的恶意特征进行匹配;在匹配到与所述第一静态特征一致的恶意特征后,将所述第二静态特征与所述恶意特征库中的恶意特征进行匹配,若匹配到与所述第二静态特征一致的恶意特征,判断所述待检测程序为恶意程序。
其中,所述参数信息可以包括参数个数和参数类型;
所述返回值信息可以包括所述返回值类型。
进一步地,本发明的另一实施例中,所述识别装置还包括:
通知模块,用于将所述判断的结果通知给用户,以告知用户所述待检测程序为恶意程序;
第一清除模块,用于根据用户的指令清除所述恶意程序;
进一步地,本发明的另一实施例中,所述装置还包括:
第二清除模块,用于自动清除所述恶意程序。
本发明实施例还提供了一种移动终端,包括如上所述的恶意程序的识别装置。
下面结合图3以及具体的实施例对本发明的恶意程序的识别方法及装置进行详细介绍:
目前对恶意程序的主要识别方法就是获取程序的明文代码,然后通过提取代码特征进而判断其是否具有恶意程序行为。但是恶意程序厂商往往通过代码混淆、栈名混淆、字符串加密等方式进行对抗,使得恶意程序的静态特征不固定,因此通过这种方法就不再能有效地识别出恶意程序。
但是无论采用了多么复杂的代码混淆技术,恶意程序本身为了实现某些特定的恶意功能,总是需要在代码中调用各类字符串、系统函数、自定义函数、以及传递自定义函数的各种参数。因此,本发明的技术方案可以忽略掉恶意程序的代码含义,提取反编译文件中恶意程序调用的字符串长度序列、系统函数序列、自定义函数序列以及自定义函数传递的参数以及返回值信息作为判定特征,对恶意程序进行恶意特征匹配,能够准确识别出恶意程序。具体地,本实施例的恶意程序的识别方法包括以下步骤:
步骤301:将待检测程序进行反编译,得到反编译文件,其中待检测程序在Android系统中一般为APK程序,得到的反编译文件为smali文件。
步骤302:在反编译文件中提取待检测程序依次调用的字符串的长度序列;
其中,记录待检测程序依次调用的每个字符串的长度,根据记录的字符串的长度形成长度序列。比如该待检测程序依次调用了字符串xyzw、abc、uy、134vm,每个字符串的长度分别为4、3、2、5,则按照调用顺序记录的字符串的长度序列为4325。
步骤303:将该长度序列与预设的恶意特征库中的恶意特征进行匹配,判断是否匹配到一致的恶意特征,如果匹配到一致的恶意特征,转向步骤304;如果没有匹配到一致的恶意特征,转向步骤311;
事先可以根据现有的海量数据和经验建立恶意特征库,在其中存放已经识别的恶意程序的恶意特征。将提取的长度序列与恶意特征库中的恶意特征进行匹配,如果匹配到一致的恶意特征,基本可以说明待检测程序为恶意程序,因此,在本发明的一个实施例中,可以直接转向步骤310,判定为恶意程序,但是为了减少恶意程序的误判率,还可以结合其他的特征进行进一步地确认。
步骤304:在反编译文件中提取待检测程序调用的系统函数的第一顺序序列;
记录待检测程序依次调用的系统函数的函数名,根据记录的系统函数的函数名形成第一顺序序列。比如该待检测程序依次调用了系统函数A、B、C、D,则该第一顺序序列中为待检测程序依次调用的系统函数名序列:ABCD。
步骤305:将该第一顺序序列与恶意特征库中的恶意特征进行匹配,判断是否匹配到一致的恶意特征,如果匹配到一致的恶意特征,转向步骤310,当然也可以转向步骤306进行进一步的判断;如果没有匹配到一致的恶意特征,转向步骤306进行进一步的判断;
步骤306:在反编译文件中提取待检测程序调用的自定义函数的第二顺序序列;
记录待检测程序依次调用的自定义函数的函数名,根据记录的自定义函数的函数名形成第二顺序序列。比如该待检测程序依次调用了自定义函数E、F、G、H,则该第二顺序序列中为待检测程序依次调用的自定义函数名序列:EFGH。
步骤307:将该第二顺序序列与恶意特征库中的恶意特征进行匹配,判断是否匹配到一致的恶意特征,如果匹配到一致的恶意特征,转向步骤310,当然也可以转向步骤308进行进一步的判断;如果没有匹配到一致的恶意特征,转向步骤308;
步骤308:在反编译文件中提取待检测程序调用的自定义函数的参数信息和返回值信息;
其中,该参数信息可以包括有待检测程序调用的自定义函数的参数个数和参数类型,该返回值信息可以包括有待检测程序调用的自定义函数的返回值类型。
步骤309:将该参数信息和返回值信息与恶意特征库中的恶意特征进行匹配,判断是否匹配到一致的恶意特征,如果匹配到一致的恶意特征,转向步骤310;如果没有匹配到一致的恶意特征,转向步骤311。
步骤310:判断该待检测程序为恶意程序。
步骤311:判断该待检测程序不是恶意程序。
可以理解的是,本实施例是按照步骤301-311的顺序来进行恶意程序的识别,但本发明的技术方案并不局限于这一执行顺序。将步骤304-305作为一个第二静态特征判断步骤,将步骤306-307作为另一个第二静态特征判断步骤,将步骤308-309作为另一个第二静态特征判断步骤,对于这三个第二静态特征判断步骤来说,可以任意调整这三个第二静态特征判断步骤的执行顺序,也可以只执行这三个第二静态特征判断步骤中的任一个或任两个,均可以达到识别恶意程序的目的。
本实施例忽略掉恶意程序的代码含义,提取smali文件中的静态特征作为判定特征,能够有效准确地检测出代码混淆过的恶意程序。
可以理解的,在本发明一个实施例中,在执行步骤301-303后并在步骤303中匹配到与提取的长度序列一致的恶意特征时,即可判断待检测程序为恶意程序;
可以理解的,在本发明一个实施例中,在通过长度序列判断的基础上,结合第一顺序序列、第二顺序序列、自定义函数的参数信息和返回值信息中的至少一种,在执行步骤301-303后并在步骤303中匹配到与提取的长度序列一致的恶意特征的基础上,如果匹配到与第一顺序序列、第二顺序序列、自定义函数的参数信息和返回值信息中的至少一种一致的恶意特征,即可判断待检测程序为恶意程序,提高了判断的准确性。
此说明书中所描述的许多功能部件都被称为模块,以便更加特别地强调其实现方式的独立性。
本发明实施例中,模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同物理上的不同的指令,当这些指令逻辑上结合在一起时,其构成模块并且实现该模块的规定目的。
实际上,可执行代码模块可以是单条指令或者是许多条指令,并且甚至可以分布在多个不同的代码段上,分布在不同程序当中,以及跨越多个存储器设备分布。同样地,操作数据可以在模块内被识别,并且可以依照任何适当的形式实现并且被组织在任何适当类型的数据结构内。所述操作数据可以作为单个数据集被收集,或者可以分布在不同位置上(包括在不同存储设备上),并且至少部分地可以仅作为电子信号存在于系统或网络上。
在模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
在本发明各方法实施例中,所述各步骤的序号并不能用于限定各步骤的先后顺序,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,对各步骤的先后变化也在本发明的保护范围之内。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (13)

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中任一项所述的恶意程序的识别装置。
CN201310753114.9A 2013-12-31 2013-12-31 恶意程序的识别方法及装置、移动终端 Active CN104751054B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310753114.9A CN104751054B (zh) 2013-12-31 2013-12-31 恶意程序的识别方法及装置、移动终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310753114.9A CN104751054B (zh) 2013-12-31 2013-12-31 恶意程序的识别方法及装置、移动终端

Publications (2)

Publication Number Publication Date
CN104751054A true CN104751054A (zh) 2015-07-01
CN104751054B CN104751054B (zh) 2018-09-14

Family

ID=53590726

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310753114.9A Active CN104751054B (zh) 2013-12-31 2013-12-31 恶意程序的识别方法及装置、移动终端

Country Status (1)

Country Link
CN (1) CN104751054B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485146A (zh) * 2015-09-02 2017-03-08 腾讯科技(深圳)有限公司 一种信息处理方法及服务器
CN106897615A (zh) * 2015-12-18 2017-06-27 卓望数码技术(深圳)有限公司 一种安卓嫌疑软件的同源识别方法及装置
TWI611349B (zh) * 2015-12-11 2018-01-11 財團法人資訊工業策進會 檢測系統及其方法
CN107992742A (zh) * 2017-10-27 2018-05-04 维沃移动通信有限公司 一种安装包识别的方法和装置
CN109635565A (zh) * 2018-11-28 2019-04-16 江苏通付盾信息安全技术有限公司 恶意程序的检测方法、装置、计算设备及计算机存储介质
CN110941833A (zh) * 2019-12-04 2020-03-31 厦门安胜网络科技有限公司 一种检测apk文件中漏洞的方法、装置及存储介质
CN112487432A (zh) * 2020-12-10 2021-03-12 杭州安恒信息技术股份有限公司 一种基于图标匹配的恶意文件检测的方法、系统及设备
CN112580048A (zh) * 2020-12-23 2021-03-30 苏州三六零智能安全科技有限公司 恶意文件静态判别方法、装置、设备及存储介质
CN112887328A (zh) * 2021-02-24 2021-06-01 深信服科技股份有限公司 一种样本检测方法、装置、设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359352A (zh) * 2008-09-25 2009-02-04 中国人民解放军信息工程大学 分层协同的混淆后api调用行为发现及其恶意性判定方法
US7861304B1 (en) * 2004-05-07 2010-12-28 Symantec Corporation Pattern matching using embedded functions
CN102938040A (zh) * 2012-09-29 2013-02-20 中兴通讯股份有限公司 Android恶意应用程序检测方法、系统及设备
CN103440459A (zh) * 2013-09-25 2013-12-11 西安交通大学 一种基于函数调用的Android恶意代码检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7861304B1 (en) * 2004-05-07 2010-12-28 Symantec Corporation Pattern matching using embedded functions
CN101359352A (zh) * 2008-09-25 2009-02-04 中国人民解放军信息工程大学 分层协同的混淆后api调用行为发现及其恶意性判定方法
CN102938040A (zh) * 2012-09-29 2013-02-20 中兴通讯股份有限公司 Android恶意应用程序检测方法、系统及设备
CN103440459A (zh) * 2013-09-25 2013-12-11 西安交通大学 一种基于函数调用的Android恶意代码检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
傅建明 等: ""基于对象的软件行为模型"", 《软件学报》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485146B (zh) * 2015-09-02 2019-08-13 腾讯科技(深圳)有限公司 一种信息处理方法及服务器
WO2017036154A1 (zh) * 2015-09-02 2017-03-09 腾讯科技(深圳)有限公司 一种信息处理方法及服务器、计算机存储介质
US11163877B2 (en) 2015-09-02 2021-11-02 Tencent Technology (Shenzhen) Company Limited Method, server, and computer storage medium for identifying virus-containing files
CN106485146A (zh) * 2015-09-02 2017-03-08 腾讯科技(深圳)有限公司 一种信息处理方法及服务器
TWI611349B (zh) * 2015-12-11 2018-01-11 財團法人資訊工業策進會 檢測系統及其方法
US10489591B2 (en) 2015-12-11 2019-11-26 Institute For Information Industry Detection system and method thereof
CN106897615A (zh) * 2015-12-18 2017-06-27 卓望数码技术(深圳)有限公司 一种安卓嫌疑软件的同源识别方法及装置
CN107992742A (zh) * 2017-10-27 2018-05-04 维沃移动通信有限公司 一种安装包识别的方法和装置
CN109635565A (zh) * 2018-11-28 2019-04-16 江苏通付盾信息安全技术有限公司 恶意程序的检测方法、装置、计算设备及计算机存储介质
CN110941833A (zh) * 2019-12-04 2020-03-31 厦门安胜网络科技有限公司 一种检测apk文件中漏洞的方法、装置及存储介质
CN112487432A (zh) * 2020-12-10 2021-03-12 杭州安恒信息技术股份有限公司 一种基于图标匹配的恶意文件检测的方法、系统及设备
CN112580048A (zh) * 2020-12-23 2021-03-30 苏州三六零智能安全科技有限公司 恶意文件静态判别方法、装置、设备及存储介质
CN112887328A (zh) * 2021-02-24 2021-06-01 深信服科技股份有限公司 一种样本检测方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN104751054B (zh) 2018-09-14

Similar Documents

Publication Publication Date Title
CN104751054B (zh) 恶意程序的识别方法及装置、移动终端
US10114946B2 (en) Method and device for detecting malicious code in an intelligent terminal
CN104715196B (zh) 智能手机应用程序的静态分析方法及系统
CN103839005A (zh) 移动操作系统的恶意软件检测方法和恶意软件检测系统
CN110113315B (zh) 一种业务数据的处理方法及设备
CN104298915A (zh) 一种防止安装包被篡改的方法
CN104517054A (zh) 一种检测恶意apk的方法、装置、客户端和服务器
CN107330328B (zh) 防御病毒攻击的方法、装置及服务器
CN112199644A (zh) 移动终端应用程序安全检测方法、系统、终端及存储介质
US8321940B1 (en) Systems and methods for detecting data-stealing malware
CN105760758A (zh) 静态检测应用程序的检测系统及方法、及计算机程序产品
CN108268773B (zh) Android应用升级包本地存储安全性检测方法
CN103971056A (zh) 一种防止操作系统中应用程序被卸载的方法和装置
CN104217162A (zh) 一种智能终端恶意软件的检测方法及系统
CN105550581A (zh) 一种恶意代码检测方法及装置
CN101620620B (zh) 分析网页方法和装置
CN112231702A (zh) 应用保护方法、装置、设备及介质
CN104751051A (zh) 恶意广告的识别方法及装置、移动终端
CN105279078A (zh) 安全漏洞检测方法和装置
CN103984697A (zh) 条码信息的处理方法、装置及系统
US10032022B1 (en) System and method for self-protecting code
CN104992116A (zh) 基于intent sniffer的监测方法及系统
EP3510557B1 (en) Image processing system for verification of rendered data
CN107169354A (zh) 多层级Android系统恶意行为监控方法
WO2016095671A1 (zh) 一种应用程序的消息处理方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100041 room 1100A, building, No. 3 West Road, Badachu hi tech park, Beijing, Shijingshan District, China

Applicant after: Beijing cheetah Mobile Technology Co., Ltd.

Address before: 100041 room 1100A, building, No. 3 West Road, Badachu hi tech park, Beijing, Shijingshan District, China

Applicant before: BEIKE INTERNET (BEIJING) SECURITY TECHNOLOGY CO., LTD.

GR01 Patent grant
GR01 Patent grant