CN103400076B - 一种移动终端上的恶意软件检测方法、装置和系统 - Google Patents

一种移动终端上的恶意软件检测方法、装置和系统 Download PDF

Info

Publication number
CN103400076B
CN103400076B CN201310326191.6A CN201310326191A CN103400076B CN 103400076 B CN103400076 B CN 103400076B CN 201310326191 A CN201310326191 A CN 201310326191A CN 103400076 B CN103400076 B CN 103400076B
Authority
CN
China
Prior art keywords
ion
installation kit
decompress
scanning
result
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.)
Active
Application number
CN201310326191.6A
Other languages
English (en)
Other versions
CN103400076A (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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201310326191.6A priority Critical patent/CN103400076B/zh
Publication of CN103400076A publication Critical patent/CN103400076A/zh
Priority to PCT/CN2014/080793 priority patent/WO2015014185A1/en
Priority to US14/622,074 priority patent/US9800609B2/en
Application granted granted Critical
Publication of CN103400076B publication Critical patent/CN103400076B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/562Static detection
    • G06F21/563Static detection by source code analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party

Abstract

本发明实施例公开了一种移动终端上的恶意软件检测方法、装置和系统。该方案可以获取需要检测的软件的安装包,对该安装包进行解压,得到解压后安装包,然后一方面对该解压后安装包进行检测,得到第一检测结果,另一方面,将该解压后安装包发送给云端系统,并接收云端系统对所述解压后安装包进行恶意软件检测后返回的第二检测结果,如果第一检测结果和/或第二检测结果指示该解压后安装包中存在异常,则确定该需要检测的软件为恶意软件。由于该方案不仅可以在本地对恶意软件进行检测,而且还可以在功能强大的云端系统对恶意软件作进一步的深入检测,因此,可以更加精确地检测出恶意软件。

Description

一种移动终端上的恶意软件检测方法、装置和系统
技术领域
本发明涉及通信技术领域,具体涉及一种移动终端上的恶意软件检测方法、装置和系统。
背景技术
随着通信技术的发展,移动终端,如智能手机、平板电脑等设备的应用也越来越为普遍,可以说,它们已经逐渐成为人们生活中不可或缺的一部分。但是,这些高科技产品在丰富人们生活,以及给人们的生活提供便利的同时,也带来了一些信息安全的问题。为了达到某种目的,一些非法软件提供者经常会在网络中散布一些恶意软件,当用户在浏览一些恶意网站或下载某些信息之后,这些恶意软件就会运行在用户的终端中,轻则会对用户造成骚扰,重则可能会对用户信息如账户密码等进行泄露,严重威胁用户的人身财产安全,为此,如何对恶意软件进行检测,是极为重要的一个问题。
在现有技术中,由于移动终端的中央处理器(CPU,CentralProcessingUnit)处理能力有限,因此,一般都采用较为简单的检测方式,比如只是简单地针对软件应用的特征码进行一些二进制的扫描,以确定是否为恶意软件。
在对现有技术的研究和实践过程中,本发明的发明人发现,由于恶意软件通常会将敏感字段进行加密,因此现有的这种检测方式往往无法准确地检测出来,容易失效。
发明内容
本发明实施例提供一种移动终端上的恶意软件检测方法、装置和系统,可以准确地检测出恶意软件。
一种移动终端上的恶意软件检测方法,包括:
获取需要检测的软件的安装包;
对所述安装包进行解压,得到解压后安装包;
对所述解压后安装包进行检测,得到第一检测结果;
发送所述解压后安装包给云端系统;
接收云端系统返回的第二检测结果,所述第二检测结果为云端系统对所述解压后安装包进行恶意软件检测所得到的结果;
若所述第一检测结果和/或第二检测结果指示所述解压后安装包中存在异常,则确定所述需要检测的软件为恶意软件。
一种移动终端上的恶意软件检测装置,包括获取单元、解压单元、检测单元、发送单元、接收单元和确定单元;
获取单元,用于获取需要检测的软件的安装包;
解压单元,用于对所述安装包进行解压,得到解压后安装包;
检测单元,用于对所述解压后安装包进行检测,得到第一检测结果;
发送单元,用于发送所述解压后安装包给云端系统;
接收单元,用于接收云端系统返回的第二检测结果,所述第二检测结果为云端系统对所述解压后安装包进行恶意软件检测所得到的结果;
确定单元,用于在确定所述第一检测结果和/或第二检测结果指示所述解压后安装包中存在异常时,确定所述需要检测的软件为恶意软件。
一种通信系统,包括本发明实施例提供的任一种移动终端上的恶意软件检测装置。
本发明实施例采用获取需要检测的软件的安装包,对该安装包进行解压,得到解压后安装包,然后一方面对该解压后安装包进行检测,得到第一检测结果,另一方面,将该解压后安装包发送给云端系统,并接收云端系统对所述解压后安装包进行恶意软件检测后返回的第二检测结果,如果第一检测结果和/或第二检测结果指示该解压后安装包中存在异常,则确定该需要检测的软件为恶意软件。由于该方案不仅可以在本地对恶意软件进行检测,而且还可以在功能强大的云端系统对恶意软件作进一步的深入检测,因此,可以更加精确地检测出恶意软件。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供移动终端上的恶意软件检测方法的流程图;
图2a是本发明实施例提供移动终端上的恶意软件检测方法的场景示意图;
图2b是本发明实施例中端系统和云端系统执行操作的示意图;
图2c是本发明实施例提供移动终端上的恶意软件检测方法的另一流程图;
图3是本发明实施例提供移动终端上的恶意软件检测装置的结构示意图;
图4是本发明实施例提供的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种移动终端上的恶意软件检测方法、装置和系统,该一种移动终端上的恶意软件检测方法、装置和系统可以适用于安卓(Android)系统。以下分别进行详细说明。
实施例一、
本发明实施例将从移动终端上的恶意软件检测装置的角度进行描述,该移动终端上的恶意软件检测装置可以集成在移动终端中,该移动终端可以包括智能手机、平板电脑、电子书阅读器、动态影像专家压缩标准音频层面3(MP3,MovingPictureExpertsGroupAudioLayerIII)播放器、动态影像专家压缩标准音频层面4(MP4,MovingPictureExpertsGroupAudioLayerIV)播放器、膝上型便携计算机和台式计算机等等。
一种移动终端上的恶意软件检测方法,包括:获取需要检测的软件的安装包;对该安装包进行解压,得到解压后安装包;对该解压后安装包进行检测,得到第一检测结果;发送该解压后安装包给云端系统;接收云端系统返回的第二检测结果,其中,该第二检测结果为云端系统对所述解压后安装包进行恶意软件检测所得到的结果;若该第一检测结果和/或第二检测结果指示该解压后安装包中存在异常,则确定该需要检测的软件为恶意软件。
如图1所示,具体流程可以如下:
101、获取需要检测的软件的安装包,比如该软件的安装包具体可以为安卓系统的软件安装包(APK,AndroidPackage)。
102、对步骤101中获取到的软件的安装包进行解压,得到解压后安装包;例如,以该软件安装包具体为APK为例,则该步骤具体可以如下:
对获取到的APK进行解压,得到解压后APK。
103、对步骤102中得到的解压后安装包进行检测,得到检测结果,为了描述方便,在本发明实施例中,将该描述结果称为第一检测结果;例如,具体可以如下:
(1)对该解压后安装包(比如解压后APK)进行启发式扫描,得到扫描结果,为了描述方便,在本发明实施例中,将该扫描结果称为第一扫描结果;
例如,可以分别对该解压后安装包(比如解压后APK)的安装根目录、资源文件和基础依赖库进行扫描,得到第一扫描结果;比如,具体可以如下:
A、对该解压后安装包中的安装根目录进行扫描,若该安装根目录中不存在预置常规文件,在第一扫描结果中指示该解压后安装包中存在异常;或者,如果该安装根目录中存在异常文件且该异常文件是可执行文件(protable),比如不是可执行连接格式(ELF,ExecutableandLinkableFormat)格式文件或壳(Shell)文件,则也在第一扫描结果中指示该解压后安装包中存在异常。
其中,该预置常规文件可以根据实际应用的需求进行设置,比如,该预置常规文件可以包括值(assets)文件、res文件、布局(layout)文件、dex文件和可扩展标记语言(xml,ExtensibleMarkupLanguage)文件等。
B、对该解压后安装包中的资源文件进行扫描,若存在除预置文件类型之外的其他文件,则在第一扫描结果中指示该解压后安装包中存在异常。
其中,该预置文件类型可以根据实际应用的需求进行设置,比如,资源文件可以包括xml文件、png文件(一种图像文件存储格式)和mp3文件等多媒体格式文件,则如果出现其他类型的文件,就可以在第一扫描结果中指示该解压后安装包中存在异常。
C、对该解压后安装包中的基础依赖库,比如lib文件夹进行扫描,若存在除预置文件类型之外的其他文件或文件格式不符合预置规范,则在第一扫描结果中指示该解压后安装包中存在异常。
也就是说,只要存在上述任一种或若干种情况,则在第一扫描结果中指示该解压后安装包中存在异常。
其中,该预置文件类型和预置规范可以根据实际应用的需求进行设置,比如,以该基础依赖库具体为lib文件夹为例,一般的,lib文件夹至可能存在3个文件目录:armeabi、armeabiv7和x86,且文件格式必须符合ELF规范,则除此情况之外,如果存在其他类型的文件,则在第一扫描结果中指示该解压后安装包中存在异常。
(2)对该解压后安装包(比如解压后APK)中的特征码进行二进制扫描,得到扫描结果,为了描述方便,在本发明实施例中,将该扫描结果称为第二扫描结果;
例如,具体可以对该解压后安装包中的特征码,比如电话号码和C&C网址等进行二进制扫描,若存在于预置病毒样本相似的特征码,则在第二扫描结果中指示该解压后安装包中存在异常。
(3)对该解压后安装包(比如解压后APK)进行权限文件扫描,得到扫描结果,为了描述方便,在本发明实施例中,将该扫描结果称为第三扫描结果;
例如,可以对该解压后安装包进行权限文件扫描,若存在危险的权限组合,则在第三扫描结果中指示所述解压后安装包中存在异常。
其中,权限文件具体可以为AndroidManifest.xml(安卓系统的一个全局配置文件)文件进行扫描,AndroidManifest.xml文件可以包括很多信息,比如包名、活动(Activity)和服务(Service)名、监听的广播类型、接收器名和所需要的权限等信息。
(4)若该第一扫描结果、第二扫描结果和/或第三扫描结果指示该解压后安装包中存在异常,则在第一检测结果中指示该解压后安装包中存在异常。
即若该第一扫描结果、第二扫描结果和第三扫描结果有任意一个或多个指示该解压后安装包中存在异常,则在第一检测结果中指示该解压后安装包中存在异常。
104、发送该解压后安装包,比如解压后APK给云端系统,以便云端系统对该解压后安装包进行恶意软件检测,其中,为了描述方便,将云端系统进行恶意软件检测所得到的结果称为第二检测结果。
其中,云端系统对该解压后安装包进行恶意软件检测的方法具体可以如下:
(1)云端系统对该解压后安装包中的权限文件进行分析,得到分析结果。
例如,若云端系统确定该解压后安装包中的权限文件中的数据包名称与预置数据库中的病毒包名称相同或相似,则可以在分析结果中指示该解压后安装包中存在异常;
若云端系统确定该解压后安装包请求的权限组合数量高于该需要检测的软件所属类型的权限组合数量时,则可以在分析结果中指示所述解压后安装包中存在异常;
若云端系统确定该解压后安装包中的权限文件中的签名和与预置数据库中的病毒的签名相同或相似时,则可以在分析结果中指示所述解压后安装包中存在异常。
(2)云端系统将该解压后安装包中的可执行文件中的代码与预置的样本文件中的代码进行相似性比较,得到比较结果,为了描述方便,在本发明实施例中,将该比较结果称为第一比较结果。
例如,具体可以是在打开逆向classes.dex文件后,聚类排除相似代码,并比较样本和目标代码之间的相似度,该相似度具体可以使用0-1之间的值来表示。
(3)云端系统将该解压后安装包中的可执行文件的应用程序接口(API,ApplicationProgrammingInterface)调用树与预置的样本文件中的API调用树进行相似性比较,得到比较结果,为了描述方便,在本发明实施例中,将该比较结果称为第二比较结果。
(4)若该分析结果、第一比较结果和/或第二比较结果指示该解压后安装包中存在异常,则云端系统在第二检测结果中指示该解压后安装包中存在异常。
即,如果该分析结果、第一比较结果和第二比较结果中有任意一项或多项指示该解压后安装包中存在异常,则在第二检测结果中指示所述解压后安装包中存在异常。
此外,还可以重新编译安卓2.2(Android2.2)源代码中的Dalvik虚拟机(一种Java虚拟机),使用钩子(HOOK)技术将一些敏感框架层API的参数用日志(log)记录下来,并使用重新编译好的Dalvik虚拟机运行目标解压后安装包(APK)来获取有关信息,以确定解压后安装包中是否存在异常。
105、接收云端系统返回的第二检测结果,其中,该第二检测结果为云端系统对该解压后安装包进行恶意软件检测所得到的结果,具体可参见步骤104中的说明。
106、若该第一检测结果和/或第二检测结果指示该解压后安装包中存在异常,则确定该需要检测的软件为恶意软件。
否则,如果第一检测结果和第二检测结果均没有指示该解压后安装包中存在异常,则可以确定该需要检测的软件不是恶意软件。
由上可知,本实施例采用获取需要检测的软件的安装包,对该安装包进行解压,得到解压后安装包,然后一方面对该解压后安装包进行检测,得到第一检测结果,另一方面,将该解压后安装包发送给云端系统,并接收云端系统对所述解压后安装包进行恶意软件检测后返回的第二检测结果,如果第一检测结果和/或第二检测结果指示该解压后安装包中存在异常,则确定该需要检测的软件为恶意软件。由于该方案不仅可以在本地对恶意软件进行检测,而且还可以在功能强大的云端系统对恶意软件作进一步的深入检测,因此,可以更加精确地检测出恶意软件。
实施例二、
根据实施例一所描述的方法,以下将举例作进一步详细说明。
在本实施例中,主要以移动终端上的恶意软件检测装置具体集成在移动终端上,且该移动终端的操作系统为安卓系统,且软件安装包具体为APK为例进行说明。
参见图2a,移动终端可以通过基站将解压后安装包传送给云端系统,而云端系统可以包括多个服务器,这些服务器通过以太网进行联系,并协同处理这些解压后安装包,也就是说,对恶意软件的检测主要分为两部分,一部分在移动终端上执行,即在“端”系统执行,而另一部分则在云端系统执行;其中,如图2b所示,“端”系统主要执行解压、启发式扫描、二进制扫描和权限文件扫描等操作,而云端系统主要执行对权限文件如xml文件的二次分析、可执行文件中代码的相似性比较、dex文件分析和动态执行等操作,以下将进行详细说明。
如图2c所示,一种移动终端上的恶意软件检测方法,具体流程可以如下:
201、移动终端获取需要检测的APK。
202、移动终端对获取到的APK进行解压,得到解压后APK。
例如,可以按ZIP(一种压缩格式)格式解压即可,该步骤无需消耗太多的CPU资源,因为APK的安装过程就是解压过程。
203、移动终端对得到的解压后APK进行检测,得到第一检测结果,例如,具体可以如下:
(1)对该解压后APK进行启发式扫描,得到第一扫描结果;
例如,可以分别对该解压后APK的安装根目录、资源文件和基础依赖库进行扫描,得到第一扫描结果;比如,具体可以如下:
A、对该解压后APK中的APK根目录进行扫描,检测APK根目录中是否存在assets文件、res文件、layout文件、dex文件和xml文件等这几个常规文件,若该APK根目录中不存在这些常规文件,则可以报告异常,即在第一扫描结果中指示该解压后安装包中存在异常;或者,如果APK根目录下多出了一些异常文件(即除了这些常规文件之外的文件),则需要判断这些异常文件是否为可执行文件(portable),比如是否是ELF格式文件或者是Shell文件,如果是执行文件也要报告异常即在第一扫描结果中指示该解压后安装包中存在异常。
B、对该解压后APK中的资源文件进行扫描,若存在除预置文件类型之外的其他文件,则在第一扫描结果中指示该解压后安装包中存在异常。
其中,该预置文件类型可以根据实际应用的需求进行设置,比如,资源文件可以包括xml文件、png文件和mp3文件等多媒体格式文件,则如果出现其他类型的文件,就可以在第一扫描结果中指示该解压后安装包中存在异常。
C、对该解压后APK中的基础依赖库,比如lib文件夹进行扫描,若存在除预置文件类型之外的其他文件或文件格式不符合预置规范,则在第一扫描结果中指示该解压后安装包中存在异常。
也就是说,只要存在上述任一种或若干种情况,则在第一扫描结果中指示该解压后安装包中存在异常。
其中,该预置文件类型和预置规范可以根据实际应用的需求进行设置,比如,以该基础依赖库具体为lib文件夹为例,一般的,lib文件夹至可能存在3个文件目录:armeabi、armeabiv7和x86,且文件格式必须符合ELF规范,则除此情况之外,如果存在其他类型的文件,则在第一扫描结果中指示该解压后安装包中存在异常。
(2)对该解压后APK中的特征码进行二进制扫描,得到第二扫描结果;
例如,具体可以对该解压后安装包中的特征码,比如电话号码和C&C网址等进行二进制扫描,若存在于预置病毒样本相似的特征码,则在第二扫描结果中指示该解压后安装包中存在异常。
(3)对该解压后APK进行权限文件扫描,得到第三扫描结果;
例如,主要对AndroidManifest.xml(简称xml文件)进行扫描,AndroidManifest.xml可以包括很多信息,比如包名,Activity和Service名、监听的广播类型、接收器名和所需要的权限等信息。在这里移动终端侧,此时主要扫描AndroidManifest.xml文件中是否存在危险的权限组合,比如通过病毒样本学习可以发现一些病毒总是需要监控短信和网络状态,所以此时对AndroidManifest.xml文件的分析主要是检测短信和网络权限的组合使用情况,等等。如果检测到存在危险的权限组合,则在第三扫描结果中指示该解压后安装包中存在异常。
(4)若该第一扫描结果、第二扫描结果和/或第三扫描结果指示该解压后安装包中存在异常,则在第一检测结果中指示该解压后APK中存在异常。
即若该第一扫描结果、第二扫描结果和第三扫描结果有任意一个或多个指示该解压后APK中存在异常,则在第一检测结果中指示该解压后APK中存在异常。
204、移动终端发送该解压后APK给云端系统。
205、云端系统在接收到该解压后APK后,对该解压后APK进行恶意软件检测,得到第二检测结果,例如,具体可以如下:
(1)云端系统对该解压后APK中的权限文件,比如AndroidManifest.xml文件进行二次分析(区别于移动终端对AndroidManifest.xml文件的分析,因此可以称该分析为二次分析),得到分析结果。例如具体可以如下:
A、确定该解压后APK中的权限文件中的数据包名称与预置数据库中的病毒包名称是否相同或相似,若是相同或相似,则可以在分析结果中指示该解压后安装包中存在异常;
B、确定该解压后APK请求的权限组合数量高于该需要检测的软件所属类型的权限组合数量时,则可以在分析结果中指示所述解压后安装包中存在异常。比如,通过智慧学习,移动终端可以确定某一类应用所需的最低权限组合,假设目标应用属于某一类的应用,却要求的权限更多,则可以在分析结果中指示该解压后安装包中存在异常。
C、确定该解压后APK中的权限文件中的签名和与预置数据库中的病毒的签名相同或相似时,则可以在分析结果中指示所述解压后安装包中存在异常。
(2)云端系统将该解压后APK中的可执行文件中的代码与预置的样本文件中的代码进行相似性比较,得到第一比较结果。
例如,具体可以是在打开逆向classes.dex文件后,聚类排除相似代码,并比较样本和目标代码之间的相似度,该相似度具体可以使用0-1之间的值来表示。
(3)云端系统通过逆向,生成该解压后APK中的可执行文件的API调用树,将该解压后APK中的可执行文件的API调用树与预置的样本文件中的API调用树进行相似性比较,得到第二比较结果。
(4)若该分析结果、第一比较结果和/或第二比较结果指示该解压后APK中存在异常,则云端系统在第二检测结果中指示该解压后安装包中存在异常。
即,如果该分析结果、第一比较结果和第二比较结果中有任意一项或多项指示该解压后APK中存在异常,则在第二检测结果中指示所述解压后APK中存在异常。
此外,还可以重新编译Android2.2源代码中的Dalvik虚拟机,使用HOOK技术将一些敏感框架层API的参数用日志记录下来,并使用重新编译好的Dalvik虚拟机运行目标解压后APK来获取有关信息,以确定解压后安装包中是否存在异常。
206、移动终端接收云端系统返回的第二检测结果。
207、若该第一检测结果和/或第二检测结果指示该解压后安装包中存在异常,则移动终端确定该需要检测的软件为恶意软件。
否则,如果第一检测结果和第二检测结果均没有指示该解压后安装包中存在异常,则可以确定该需要检测的软件不是恶意软件。
由上可知,本实施例采用获取需要检测的APK,对该APK进行解压,得到解压后APK,然后一方面对该解压后APK进行检测,得到第一检测结果,另一方面,将该解压后APK发送给云端系统,并接收云端系统对所述解压后APK进行恶意软件检测后返回的第二检测结果,如果第一检测结果和/或第二检测结果指示该解压后安装包中存在异常,则确定该需要检测的软件为恶意软件。由于该方案不仅可以在本地对恶意软件进行检测,而且还可以在功能强大的云端系统对恶意软件作进一步的深入检测,因此,可以更加精确地检测出恶意软件。而且,由于可以将需要耗费较多CPU资源的操作放在云端系统中执行,而移动终端只需执行一些占用CPU资源较少的操作,因此可以提高移动终端的执行效率和性能,改善用户体验。
实施例三、
为了更好地实施以上方案,本发明实施例还提供一种移动终端上的恶意软件检测装置,如图3所示,该移动终端上的恶意软件检测装置可以包括获取单元301、解压单元302、检测单元303、发送单元304、接收单元305和确定单元306。
获取单元301,用于获取需要检测的软件的安装包;比如该软件的安装包具体可以为APK。
解压单元302,用于对获取单元301获取到的安装包进行解压,得到解压后安装包;
检测单元303,用于对解压单元302得到的解压后安装包进行检测,得到第一检测结果;
发送单元304,用于发送解压单元302得到的解压后安装包给云端系统;
接收单元305,用于接收云端系统返回的第二检测结果,其中,该第二检测结果为云端系统对该解压后安装包进行恶意软件检测所得到的结果,具体可参见前面的方法实施例,在此不再赘述。
确定单元306,用于在确定第一检测结果和/或第二检测结果指示所述解压后安装包中存在异常时,确定该需要检测的软件为恶意软件。
其中,检测单元303可以包括第一扫描子单元、第二扫描子单元、第三扫描子单元和分析子单元;
(1)第一扫描子单元;
第一扫描子单元,可以用于对该解压后安装包进行启发式扫描,得到第一扫描结果;
例如,该第一扫描子单元,具体可以用于分别对该解压后安装包的安装根目录、资源文件和基础依赖库进行扫描,得到第一扫描结果。比如,具体可以执行如下操作:
A、对该解压后安装包中的安装根目录进行扫描,若该安装根目录中不存在预置常规文件,在第一扫描结果中指示该解压后安装包中存在异常;或者,如果该安装根目录中存在异常文件且该异常文件是可执行文件(protable),比如不是ELF格式文件或Shell文件,则也在第一扫描结果中指示该解压后安装包中存在异常。
其中,该预置常规文件可以根据实际应用的需求进行设置,比如,该预置常规文件可以包括assets文件、res文件、layout文件、dex文件和xml文件等。
B、对该解压后安装包中的资源文件进行扫描,若存在除预置文件类型之外的其他文件,则在第一扫描结果中指示该解压后安装包中存在异常。
其中,该预置文件类型可以根据实际应用的需求进行设置,比如,资源文件可以包括xml文件、png文件和mp3文件等多媒体格式文件,则如果出现其他类型的文件,就可以在第一扫描结果中指示该解压后安装包中存在异常。
C、对该解压后安装包中的基础依赖库,比如lib文件夹进行扫描,若存在除预置文件类型之外的其他文件或文件格式不符合预置规范,则在第一扫描结果中指示该解压后安装包中存在异常。
也就是说,只要存在上述任一种或若干种情况,则在第一扫描结果中指示该解压后安装包中存在异常。
其中,该预置文件类型和预置规范可以根据实际应用的需求进行设置,比如,以该基础依赖库具体为lib文件夹为例,一般的,lib文件夹至可能存在3个文件目录:armeabi、armeabiv7和x86,且文件格式必须符合ELF规范,则除此情况之外,如果存在其他类型的文件,则在第一扫描结果中指示该解压后安装包中存在异常。
(2)第二扫描子单元;
第二扫描子单元,可以用于对该解压后安装包中的特征码进行二进制扫描,得到第二扫描结果;
例如,第二扫描单元,具体可以用于对该解压后安装包中的特征码进行二进制扫描,若存在于预置病毒样本相似的特征码,则在第二扫描结果中指示该解压后安装包中存在异常。
(3)第二扫描子单元;
第三扫描子单元,可以用于对该解压后安装包进行权限文件扫描,得到第三扫描结果;
例如,第三扫描单元,具体可以用于对该解压后安装包进行权限文件扫描,若存在危险的权限组合,则在第三扫描结果中指示所述解压后安装包中存在异常。
其中,权限文件具体可以为AndroidManifest.xml文件进行扫描,AndroidManifest.xml文件可以包括很多信息,比如包名、Activity和Service名、监听的广播类型、接收器名和所需要的权限等信息。
(4)分析子单元;
分析子单元,可以用于在该第一扫描结果、第二扫描结果和/或第三扫描结果指示所述解压后安装包中存在异常时,在第一检测结果中指示所述解压后安装包中存在异常。
该移动终端上的恶意软件检测装置可以集成在移动终端中,该移动终端可以包括智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机等等。
具体实现时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单位的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的移动终端上的恶意软件检测装置的获取单元301可以获取需要检测的软件安装包,然后由解压单元302对该安装包进行解压,得到解压后安装包,然后一方面由检测单元303对该解压后安装包进行检测,得到第一检测结果,另一方面,由发送单元304将该解压后安装包发送给云端系统,并由接收单元305接收云端系统对所述解压后安装包进行恶意软件检测后返回的第二检测结果,如果第一检测结果和/或第二检测结果指示该解压后安装包中存在异常,则确定单元306可以确定该需要检测的软件为恶意软件。由于该方案不仅可以在本地对恶意软件进行检测,而且还可以在功能强大的云端系统对恶意软件作进一步的深入检测,因此,可以更加精确地检测出恶意软件。而且,由于可以将需要耗费较多CPU资源的操作放在云端系统中执行,而移动终端只需执行一些占用CPU资源较少的操作,因此可以提高移动终端的执行效率和性能,改善用户体验。
实施例四、
相应的,本发明实施例还提供一种通信系统,包括本发明实施例提供的任一种移动终端上的恶意软件检测装置,其中,该移动终端上的恶意软件检测装置具体可参见实施例三,在此不再赘述。
以该移动终端上的恶意软件检测装置具体集成在移动终端上为例,以下将进行简略说明。
移动终端,用于获取需要检测的软件的安装包;对该安装包进行解压,得到解压后安装包;对该解压后安装包进行检测,得到第一检测结果;发送该解压后安装包给云端系统;接收云端系统返回的第二检测结果;若该第一检测结果和/或第二检测结果指示该解压后安装包中存在异常,则确定该需要检测的软件为恶意软件。
其中,移动终端对该解压后安装包进行检测的方法具体可参见前面的方法实施例,在此不再赘述。
此外,该通信系统还可以包括云端服务器,如下:
该云端服务器,用于接收移动终端发送的解压后安装包,对该解压后安装包进行恶意软件检测,得到第二检测结果,并将该第二检测结果发送给移动终端。
其中,云端服务器(即前面实施例所说的云端系统)对该解压后安装包进行检测的方法具体可参见前面的方法实施例,在此不再赘述。
由于该通信系统包括本发明实施例提供的任一种移动终端上的恶意软件检测装置,因此,同样可以实现与本发明实施例提供的任一种移动终端上的恶意软件检测装置所能实现的有益效果,在此不再赘述。
实施例五、
相应的,本发明实施例还提供一种移动终端,如图4所示,该移动终端可以包括射频(RF,RadioFrequency)电路401、包括有一个或一个以上计算机可读存储介质的存储器402、输入单元403、显示单元404、传感器405、音频电路406、无线保真(WiFi,WirelessFidelity)模块407、包括有一个或者一个以上处理核心的处理器408、以及电源409等部件。本领域技术人员可以理解,图4中示出的移动终端结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路401可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器408处理;另外,将涉及上行的数据发送给基站。通常,RF电路401包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,SubscriberIdentityModule)卡、收发信机、耦合器、低噪声放大器(LNA,LowNoiseAmplifier)、双工器等。此外,RF电路401还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,GlobalSystemofMobilecommunication)、通用分组无线服务(GPRS,GeneralPacketRadioService)、码分多址(CDMA,CodeDivisionMultipleAccess)、宽带码分多址(WCDMA,WidebandCodeDivisionMultipleAccess)、长期演进(LTE,LongTermEvolution)、电子邮件、短消息服务(SMS,ShortMessagingService)等。
存储器402可用于存储软件程序以及模块,处理器408通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据移动终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器408和输入单元403对存储器402的访问。
输入单元403可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元403可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器408,并能接收处理器408发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元403还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元404可用于显示由用户输入的信息或提供给用户的信息以及移动终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元404可包括显示面板,可选的,可以采用液晶显示器(LCD,LiquidCrystalDisplay)、有机发光二极管(OLED,OrganicLight-EmittingDiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器408以确定触摸事件的类型,随后处理器408根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图4中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
移动终端还可包括至少一种传感器405,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在移动终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于移动终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路406、扬声器,传声器可提供用户与移动终端之间的音频接口。音频电路406可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路406接收后转换为音频数据,再将音频数据输出处理器408处理后,经RF电路401以发送给比如另一移动终端,或者将音频数据输出至存储器402以便进一步处理。音频电路406还可能包括耳塞插孔,以提供外设耳机与移动终端的通信。
WiFi属于短距离无线传输技术,移动终端通过WiFi模块407可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块407,但是可以理解的是,其并不属于移动终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器408是移动终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行移动终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器408可包括一个或多个处理核心;优选的,处理器408可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器408中。
移动终端还包括给各个部件供电的电源409(比如电池),优选的,电源可以通过电源管理系统与处理器408逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源409还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,移动终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,移动终端中的处理器408会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器408来运行存储在存储器402中的应用程序,从而实现各种功能:
尽管未示出,移动终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,移动终端的显示单元是触摸屏显示器,移动终端还包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于进行以下操作的指令:
获取需要检测的软件的安装包;对该安装包进行解压,得到解压后安装包;对该解压后安装包进行检测,得到第一检测结果;发送该解压后安装包给云端系统;接收云端系统返回的第二检测结果,其中,该第二检测结果为云端系统对所述解压后安装包进行恶意软件检测所得到的结果;若该第一检测结果和/或第二检测结果指示该解压后安装包中存在异常,则确定该需要检测的软件为恶意软件。
其中,步骤“对解压后安装包进行检测,得到第一检测结果”具体可以如下:
(1)对该解压后安装包进行启发式扫描,得到第一扫描结果;
例如,可以分别对该解压后安装包的安装根目录、资源文件和基础依赖库进行扫描,得到第一扫描结果;比如,具体可以如下:
A、对该解压后安装包中的安装根目录进行扫描,若该安装根目录中不存在预置常规文件,在第一扫描结果中指示该解压后安装包中存在异常;或者,如果该安装根目录中存在异常文件且该异常文件是可执行文件(protable),比如不是ELF格式文件或Shell文件,则也在第一扫描结果中指示该解压后安装包中存在异常。
其中,该预置常规文件可以根据实际应用的需求进行设置,比如,该预置常规文件可以包括assets文件、res文件、layout文件、dex文件和xml文件等。
B、对该解压后安装包中的资源文件进行扫描,若存在除预置文件类型之外的其他文件,则在第一扫描结果中指示该解压后安装包中存在异常。
其中,该预置文件类型可以根据实际应用的需求进行设置,比如,资源文件可以包括xml文件、png文件(一种图像文件存储格式)和mp3文件等多媒体格式文件,则如果出现其他类型的文件,就可以在第一扫描结果中指示该解压后安装包中存在异常。
C、对该解压后安装包中的基础依赖库,比如lib文件夹进行扫描,若存在除预置文件类型之外的其他文件或文件格式不符合预置规范,则在第一扫描结果中指示该解压后安装包中存在异常。
其中,该预置文件类型和预置规范可以根据实际应用的需求进行设置,比如,以该基础依赖库具体为lib文件夹为例,一般的,lib文件夹至可能存在3个文件目录:armeabi、armeabiv7和x86,且文件格式必须符合ELF规范,则除此情况之外,如果存在其他类型的文件,则在第一扫描结果中指示该解压后安装包中存在异常。
(2)对该解压后安装包中的特征码进行二进制扫描,得到第二扫描结果;
例如,具体可以对该解压后安装包中的特征码,比如电话号码和C&C网址等进行二进制扫描,若存在于预置病毒样本相似的特征码,则在第二扫描结果中指示该解压后安装包中存在异常。
(3)对该解压后安装包进行权限文件扫描,得到第三扫描结果;
例如,可以对该解压后安装包进行权限文件扫描,若存在危险的权限组合,则在第三扫描结果中指示所述解压后安装包中存在异常。
其中,权限文件具体可以为AndroidManifest.xml文件进行扫描,AndroidManifest.xml文件可以包括很多信息,比如包名、Activity和Service名、监听的广播类型、接收器名和所需要的权限等信息。
(4)若该第一扫描结果、第二扫描结果和/或第三扫描结果指示该解压后安装包中存在异常,则在第一检测结果中指示该解压后安装包中存在异常。
其中,云端系统对该解压后安装包进行恶意软件检测的步骤具体可以如下:
(1)云端系统对该解压后安装包中的权限文件进行分析,得到分析结果。
例如,若云端系统确定该解压后安装包中的权限文件中的数据包名称与预置数据库中的病毒包名称相同或相似,则可以在分析结果中指示该解压后安装包中存在异常;
若云端系统确定该解压后安装包请求的权限组合数量高于该需要检测的软件所属类型的权限组合数量时,则可以在分析结果中指示所述解压后安装包中存在异常;
若云端系统确定该解压后安装包中的权限文件中的签名和与预置数据库中的病毒的签名相同或相似时,则可以在分析结果中指示所述解压后安装包中存在异常。
(2)云端系统将该解压后安装包中的可执行文件中的代码与预置的样本文件中的代码进行相似性比较,得到第一比较结果。
例如,具体可以是在打开逆向classes.dex文件后,聚类排除相似代码,并比较样本和目标代码之间的相似度,该相似度具体可以使用0-1之间的值来表示。
(3)云端系统将该解压后安装包中的可执行文件的API调用树与预置的样本文件中的API调用树进行相似性比较,得到比较结果,为了描述方便,在本发明实施例中,将该比较结果称为第二比较结果。
(4)若该分析结果、第一比较结果和/或第二比较结果指示该解压后安装包中存在异常,则云端系统在第二检测结果中指示该解压后安装包中存在异常。
此外,还可以重新编译Android2.2源代码中的Dalvik虚拟机,使用HOOK技术将一些敏感框架层API的参数用日志记录下来,并使用重新编译好的Dalvik虚拟机运行目标解压后APK来获取有关信息,以确定解压后安装包中是否存在异常。
以上各个步骤的具体实施可参见前面的实施例,在此不再赘述。
由上可知,本实施例的移动终端采用获取需要检测的软件的安装包,对该安装包进行解压,得到解压后安装包,然后一方面对该解压后安装包进行检测,得到第一检测结果,另一方面,将该解压后安装包发送给云端系统,并接收云端系统对所述解压后安装包进行恶意软件检测后返回的第二检测结果,如果第一检测结果和/或第二检测结果指示该解压后安装包中存在异常,则确定该需要检测的软件为恶意软件。由于该方案不仅可以在本地对恶意软件进行检测,而且还可以在功能强大的云端系统对恶意软件作进一步的深入检测,因此,可以更加精确地检测出恶意软件。而且,由于可以将需要耗费较多CPU资源的操作放在云端系统中执行,而移动终端只需执行一些占用CPU资源较少的操作,因此可以提高移动终端的执行效率和性能,改善用户体验。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnlyMemory)、随机存取记忆体(RAM,RandomAccessMemory)、磁盘或光盘等。
以上对本发明实施例所提供的一种移动终端上的恶意软件检测方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种移动终端上的恶意软件检测方法,其特征在于,包括:
获取需要检测的软件的安装包;
对所述安装包进行解压,得到解压后安装包;
对所述解压后安装包进行检测,得到第一检测结果,所述对所述解压后安装包进行检测具体包括:
对所述解压后安装包进行启发式扫描,得到第一扫描结果;
对所述解压后安装包中的特征码进行二进制扫描,得到第二扫描结果;
对所述解压后安装包进行权限文件扫描,得到第三扫描结果;
若所述第一扫描结果、第二扫描结果和/或第三扫描结果指示所述解压后安装包中存在异常,则在第一检测结果中指示所述解压后安装包中存在异常;
发送所述解压后安装包给云端系统;
接收云端系统返回的第二检测结果,所述第二检测结果为云端系统对所述解压后安装包进行恶意软件检测所得到的结果,所述云端系统对所述解压后安装包进行恶意软件检测具体包括:
所述云端系统对所述解压后安装包中的权限文件进行分析,得到分析结果;
所述云端系统将所述解压后安装包中的可执行文件中的代码与预置的样本文件中的代码进行相似性比较,得到第一比较结果;
所述云端系统将所述解压后安装包中的可执行文件的应用程序接口调用树与预置的样本文件中的应用程序接口调用树进行相似性比较,得到第二比较结果;
若所述分析结果、第一比较结果和/或第二比较结果指示所述解压后安装包中存在异常,则在第二检测结果中指示所述解压后安装包中存在异常;
若所述第一检测结果和/或第二检测结果指示所述解压后安装包中存在异常,则确定所述需要检测的软件为恶意软件。
2.根据权利要求1所述的方法,其特征在于,所述对所述解压后安装包进行启发式扫描,得到第一扫描结果,包括:
分别对所述解压后安装包的安装根目录、资源文件和基础依赖库进行扫描,得到第一扫描结果。
3.根据权利要求2所述的方法,其特征在于,所述分别对所述解压后安装包的安装根目录、资源文件和基础依赖库进行扫描,得到第一扫描结果,包括:
对所述解压后安装包中的安装根目录进行扫描,若所述安装根目录中不存在预置常规文件,或所述安装根目录中存在异常文件且所述异常文件是可执行文件,则在第一扫描结果中指示所述解压后安装包中存在异常;
对所述解压后安装包中的资源文件进行扫描,若存在除预置文件类型之外的其他文件,则在第一扫描结果中指示所述解压后安装包中存在异常;
对所述解压后安装包中的基础依赖库进行扫描,若存在除预置文件类型之外的其他文件或文件格式不符合预置规范,则在第一扫描结果中指示所述解压后安装包中存在异常。
4.根据权利要求1所述的方法,其特征在于,所述对所述解压后安装包中的特征码进行二进制扫描,得到第二扫描结果,包括:
对所述解压后安装包中的特征码进行二进制扫描,若存在于预置病毒样本相似的特征码,则在第二扫描结果中指示所述解压后安装包中存在异常。
5.根据权利要求1所述的方法,其特征在于,所述对所述解压后安装包进行权限文件扫描,得到第三扫描结果,包括:
对所述解压后安装包进行权限文件扫描,若存在危险的权限组合,则在第三扫描结果中指示所述解压后安装包中存在异常。
6.根据权利要求5所述的方法,其特征在于,所述云端系统对所述解压后安装包中的权限文件进行分析,得到分析结果,包括:
云端系统确定所述解压后安装包中的权限文件中的数据包名称与预置数据库中的病毒包名称相同或相似时,在分析结果中指示所述解压后安装包中存在异常;
云端系统确定所述解压后安装包请求的权限组合数量高于所述需要检测的软件所属类型的权限组合数量时,在分析结果中指示所述解压后安装包中存在异常;
云端系统确定所述解压后安装包中的权限文件中的签名和与预置数据库中的病毒的签名相同或相似时,在分析结果中指示所述解压后安装包中存在异常。
7.一种移动终端上的恶意软件检测装置,其特征在于,包括:
获取单元,用于获取需要检测的软件的安装包;
解压单元,用于对所述安装包进行解压,得到解压后安装包;
检测单元,用于对所述解压后安装包进行检测,得到第一检测结果;
所述检测单元包括第一扫描子单元、第二扫描子单元、第三扫描子单元和分析子单元;
第一扫描子单元,用于对所述解压后安装包进行启发式扫描,得到第一扫描结果;
第二扫描子单元,用于对所述解压后安装包中的特征码进行二进制扫描,得到第二扫描结果;
第三扫描子单元,用于对所述解压后安装包进行权限文件扫描,得到第三扫描结果;
分析子单元,用于在所述第一扫描结果、第二扫描结果和/或第三扫描结果指示所述解压后安装包中存在异常时,在第一检测结果中指示所述解压后安装包中存在异常;
发送单元,用于发送所述解压后安装包给云端系统;
接收单元,用于接收云端系统返回的第二检测结果,所述第二检测结果为云端系统对所述解压后安装包进行恶意软件检测所得到的结果;
所述第一扫描子单元,具体用于执行以下操作:
对所述解压后安装包中的安装根目录进行扫描,若所述安装根目录中不存在预置常规文件,或所述安装根目录中存在异常文件且所述异常文件是可执行文件,则在第一扫描结果中指示所述解压后安装包中存在异常;
对所述解压后安装包中的资源文件进行扫描,若存在除预置文件类型之外的其他文件,则在第一扫描结果中指示所述解压后安装包中存在异常;
对所述解压后安装包中的基础依赖库进行扫描,若存在除预置文件类型之外的其他文件或文件格式不符合预置规范,则在第一扫描结果中指示所述解压后安装包中存在异常;
确定单元,用于在确定所述第一检测结果和/或第二检测结果指示所述解压后安装包中存在异常时,确定所述需要检测的软件为恶意软件。
8.根据权利要求7所述的移动终端上的恶意软件检测装置,其特征在于,
所述第一扫描子单元,具体用于分别对所述解压后安装包的安装根目录、资源文件和基础依赖库进行扫描,得到第一扫描结果。
9.根据权利要求7所述的移动终端上的恶意软件检测装置,其特征在于,
所述第二扫描单元,具体用于对所述解压后安装包中的特征码进行二进制扫描,若存在于预置病毒样本相似的特征码,则在第二扫描结果中指示所述解压后安装包中存在异常。
10.根据权利要求7所述的移动终端上的恶意软件检测装置,其特征在于,
所述第三扫描单元,具体用于对所述解压后安装包进行权限文件扫描,若存在危险的权限组合,则在第三扫描结果中指示所述解压后安装包中存在异常。
11.一种通信系统,其特征在于,包括权利要求7至10任一项所述的移动终端上的恶意软件检测装置。
CN201310326191.6A 2013-07-30 2013-07-30 一种移动终端上的恶意软件检测方法、装置和系统 Active CN103400076B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201310326191.6A CN103400076B (zh) 2013-07-30 2013-07-30 一种移动终端上的恶意软件检测方法、装置和系统
PCT/CN2014/080793 WO2015014185A1 (en) 2013-07-30 2014-06-26 Method, device and system for detecting malware in mobile terminal
US14/622,074 US9800609B2 (en) 2013-07-30 2015-02-13 Method, device and system for detecting malware in a mobile terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310326191.6A CN103400076B (zh) 2013-07-30 2013-07-30 一种移动终端上的恶意软件检测方法、装置和系统

Publications (2)

Publication Number Publication Date
CN103400076A CN103400076A (zh) 2013-11-20
CN103400076B true CN103400076B (zh) 2016-01-06

Family

ID=49563698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310326191.6A Active CN103400076B (zh) 2013-07-30 2013-07-30 一种移动终端上的恶意软件检测方法、装置和系统

Country Status (3)

Country Link
US (1) US9800609B2 (zh)
CN (1) CN103400076B (zh)
WO (1) WO2015014185A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103400076B (zh) 2013-07-30 2016-01-06 腾讯科技(深圳)有限公司 一种移动终端上的恶意软件检测方法、装置和系统
CN103632097A (zh) * 2013-12-13 2014-03-12 扬州永信计算机有限公司 便携式移动终端安全威胁处理方法
WO2015138498A1 (en) * 2014-03-11 2015-09-17 Citrix Systems, Inc. Computer-implemented methods and systems for determining application matching status
CN105335654B (zh) * 2014-06-27 2018-12-14 北京金山安全软件有限公司 一种Android恶意程序检测和处理方法、装置及设备
CN104657665B (zh) * 2015-03-12 2017-12-08 四川神琥科技有限公司 一种文件处理方法
CN104850783B (zh) * 2015-04-30 2018-07-13 中国人民解放军国防科学技术大学 一种基于哈希特征矩阵的恶意软件云检测方法及系统
CN105224367A (zh) * 2015-09-30 2016-01-06 浪潮电子信息产业股份有限公司 一种软件的安装方法及装置
US10257223B2 (en) * 2015-12-21 2019-04-09 Nagravision S.A. Secured home network
CN106682507B (zh) * 2016-05-19 2019-05-14 腾讯科技(深圳)有限公司 病毒库的获取方法及装置、设备、服务器、系统
CN106446689A (zh) * 2016-09-02 2017-02-22 中科信息安全共性技术国家工程研究中心有限公司 一种对android应用进行自动化安全检测的方法
US10210076B2 (en) * 2016-09-26 2019-02-19 International Business Machines Corporation White box testing
CN106708734B (zh) * 2016-12-13 2020-01-10 腾讯科技(深圳)有限公司 软件异常检测方法及装置
CN107358101B (zh) * 2017-06-28 2020-05-08 暨南大学 一种基于权限模式的勒索软件检测方法及系统
CN108123937B (zh) * 2017-12-13 2020-09-29 广州泰尔智信科技有限公司 监管移动终端应用的多线程监测方法及系统
CN108090348A (zh) * 2017-12-14 2018-05-29 四川长虹电器股份有限公司 基于沙盒的Android恶意软件检测方法
US10782951B2 (en) 2018-02-23 2020-09-22 Digital Turbine, Inc. Instant installation of apps
CN109800575B (zh) * 2018-12-06 2023-06-20 成都网安科技发展有限公司 一种Android应用程序的安全检测方法
CN110377363A (zh) * 2019-07-17 2019-10-25 Oppo(重庆)智能科技有限公司 安装应用的方法、装置、终端及存储介质
CN110826068B (zh) * 2019-11-01 2022-03-18 海南车智易通信息技术有限公司 安全检测方法和安全检测系统
CN111277601B (zh) * 2020-01-22 2023-02-21 奇安信科技集团股份有限公司 一种网站安全监测方法及系统
CN111460448B (zh) * 2020-03-09 2022-12-02 北京邮电大学 一种恶意软件家族检测方法及装置
CN111597552B (zh) * 2020-04-15 2023-11-10 深圳市捷顺科技实业股份有限公司 代码扫描方法及终端设备
CN111639332A (zh) * 2020-05-11 2020-09-08 珠海豹趣科技有限公司 软件安装方法、装置、电子设备及存储介质
CN112528286A (zh) * 2020-12-25 2021-03-19 深圳前海微众银行股份有限公司 终端设备安全检测方法、关联设备以及计算机程序产品
CN113127367B (zh) * 2021-04-29 2024-01-12 东北大学 Android动态权限申请的缺陷检测方法
CN114707123A (zh) * 2022-04-22 2022-07-05 北京时代亿信科技股份有限公司 软件安装包的验证方法及装置、非易失性存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663286A (zh) * 2012-03-21 2012-09-12 奇智软件(北京)有限公司 一种病毒apk的识别方法及装置
CN102779257A (zh) * 2012-06-28 2012-11-14 奇智软件(北京)有限公司 一种Android应用程序的安全检测方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291496B2 (en) * 2008-05-12 2012-10-16 Enpulz, L.L.C. Server based malware screening
US8984628B2 (en) * 2008-10-21 2015-03-17 Lookout, Inc. System and method for adverse mobile application identification
US8370934B2 (en) * 2009-06-25 2013-02-05 Check Point Software Technologies Ltd. Methods for detecting malicious programs using a multilayered heuristics approach
CN102123396B (zh) * 2011-02-14 2014-08-13 恒安嘉新(北京)科技有限公司 基于通信网的手机病毒和恶意软件的云检测方法
US8640246B2 (en) * 2011-06-27 2014-01-28 Raytheon Company Distributed malware detection
CN102663281B (zh) * 2012-03-16 2015-03-18 华为数字技术(成都)有限公司 检测恶意软件的方法和装置
US8281399B1 (en) * 2012-03-28 2012-10-02 Symantec Corporation Systems and methods for using property tables to perform non-iterative malware scans
US8291500B1 (en) * 2012-03-29 2012-10-16 Cyber Engineering Services, Inc. Systems and methods for automated malware artifact retrieval and analysis
CN103400076B (zh) * 2013-07-30 2016-01-06 腾讯科技(深圳)有限公司 一种移动终端上的恶意软件检测方法、装置和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102663286A (zh) * 2012-03-21 2012-09-12 奇智软件(北京)有限公司 一种病毒apk的识别方法及装置
CN102779257A (zh) * 2012-06-28 2012-11-14 奇智软件(北京)有限公司 一种Android应用程序的安全检测方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Android恶意软件实现及检测研究;房鑫鑫;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130615(第6期);第1-6页 *
一种针对Android平台恶意代码的检测方法及系统实现;胡文君;《西安交通大学学报》;20130703 *

Also Published As

Publication number Publication date
WO2015014185A1 (en) 2015-02-05
CN103400076A (zh) 2013-11-20
US9800609B2 (en) 2017-10-24
US20150163232A1 (en) 2015-06-11

Similar Documents

Publication Publication Date Title
CN103400076B (zh) 一种移动终端上的恶意软件检测方法、装置和系统
TWI606360B (zh) 一種網頁檢測方法、裝置和系統
CN103345602B (zh) 一种客户端代码完整性检测方法、装置和系统
CN103701926A (zh) 一种获取故障原因信息的方法、装置和系统
CN104123120B (zh) 一种浏览器页面数据过滤方法、装置和系统
CN103258163B (zh) 一种脚本病毒识别方法、装置及系统
CN104376353A (zh) 二维码的生成、读取方法、终端及服务器
CN106709282B (zh) 资源文件解密方法及装置
CN103177217B (zh) 一种文件扫描方法、系统及客户端和服务器
CN104901805A (zh) 一种身份鉴权方法、装置和系统
CN104123276A (zh) 一种浏览器中弹窗的拦截方法、装置和系统
CN106529332B (zh) 一种移动终端的权限控制方法、装置及移动终端
CN106529312B (zh) 一种移动终端的权限控制方法、装置及移动终端
CN104065693A (zh) 一种网页应用中网络数据的访问方法、装置和系统
CN105530239A (zh) 多媒体数据获取方法及装置
CN105279433B (zh) 一种应用程序的防护方法及装置
CN104133693B (zh) 安装状态检测方法、装置及终端
CN104573437A (zh) 信息认证方法、装置和终端
CN104424434A (zh) 数据校验方法及装置
CN108112016B (zh) 无线局域网安全评估方法及装置
WO2014198118A1 (en) Method and device for protecting privacy information with browser
CN104134044B (zh) 一种数据安全性的检测方法、装置和系统
CN109558731B (zh) 特征码处理方法、装置及存储介质
CN113961380A (zh) 一种跨应用修复的方法、装置、设备及存储介质
CN104376259A (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190730

Address after: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.

TR01 Transfer of patent right