CN102663281A - 检测恶意软件的方法和装置 - Google Patents

检测恶意软件的方法和装置 Download PDF

Info

Publication number
CN102663281A
CN102663281A CN2012100700419A CN201210070041A CN102663281A CN 102663281 A CN102663281 A CN 102663281A CN 2012100700419 A CN2012100700419 A CN 2012100700419A CN 201210070041 A CN201210070041 A CN 201210070041A CN 102663281 A CN102663281 A CN 102663281A
Authority
CN
China
Prior art keywords
executable file
feature
malware
content
application software
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
CN2012100700419A
Other languages
English (en)
Other versions
CN102663281B (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.)
Chengdu Huawei Technology Co Ltd
Original Assignee
Huawei Symantec Technologies 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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN201210070041.9A priority Critical patent/CN102663281B/zh
Publication of CN102663281A publication Critical patent/CN102663281A/zh
Application granted granted Critical
Publication of CN102663281B publication Critical patent/CN102663281B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种检测恶意软件的方法和装置,用以解决现有技术对基于Android平台的恶意软件进行检测时,准确性较低问题。该方法包括:对待检测应用软件的压缩包进行解析,提取其中包含的可执行文件,并根据可执行文件的结构格式,从所述可执行文件中获取特征内容,所述特征内容是指完成所述待识别应用软件功能必要的内容;采用预定算法,计算所述特征内容的唯一标识值;将计算得到的唯一标识值与已知恶意软件的特征值进行比较,所述特征值是指对已知基于Android平台的恶意软件可执行文件中的特征内容,采用所述预定算法计算后,获得的唯一标识值;若比较结果一致,则确定所述待检测应用软件为基于Android平台的恶意软件。

Description

检测恶意软件的方法和装置
技术领域
本发明涉及计算机及通信技术领域,尤其涉及一种检测恶意软件的方法、一种建立恶意软件特征数据库的方法、一种检测恶意软件的装置及一种建立恶意软件特征数据库的装置。
背景技术
安卓(Android)是由谷歌(Google)公司发布的一种以Linux系统为核心的、适用于移动终端的操作系统。Android是一种开放式的操作系统,允许除谷歌和移动终端厂商之外的第三方开发者使用多种编程语言来开发基于Android平台的应用软件,这一特性使得其成为目前使用最为广泛的手机操作系统。随着基于Android平台的应用软件数量的急剧增长,基于Android平台的恶意软件也越来越多,这些恶意软件可以导致用户隐私信息被泄露,影响用户使用。
由于目前绝大多数移动终端都具备连接互联网的功能,基于Android平台的恶意软件主要是通过网络传播,用户从互联网下载恶意软件到移动终端并安装恶意软件之后,恶意软件可以将收集到的用户隐私信息,例如电话薄、本地短信邮箱中的短信等,通过短信或邮件发送至预先指定的接收端。针对上述工作原理,现有技术主要通过网站审核、网关阻断和移动终端扫描等技术来防止基于Android平台的恶意软件传播。
现有在网络侧对基于Android平台的恶意软件进行检测的原理是:检测设备首先对待识别的基于Android平台的应用软件(简称:待识别应用软件)的apk压缩包的内容进行哈希(hash)运算,获取运算结果MD5值,所述apk压缩包中包括资源文件、dex字节码文件、配置文件和界面布局文件等等。然后将所述hash运算获得的MD5值,与对已知恶意软件的特征值进行比较,若比较一致,则确定所述待识别应用软件为恶意软件;否则,确定所述待识别应用软件为正常软件。所述已知恶意软件的特征值是指对已知恶意软件apk压缩包的内容进行hash运算获得的MD5值。
发明人在实现本发明过程中发现,现有技术至少存在以下问题:恶意软件的传播者人为修改待识别应用软件apk压缩包的部分字节,导致其内容发生改变,进一步使检测设备对其进行hash运算后的结果发生改变,在进行特征值匹配时与已知恶意软件的特征值不同,从而达到逃避检测的目的。
发明内容
本发明实施例提供一种检测恶意软件的方法,用以解决现有技术对基于Android平台的恶意软件进行检测时,准确性较低问题。
对应地,本发明实施例还提供了一种建立恶意软件特征数据库的方法、一种检测恶意软件的装置和一种建立恶意软件特征数据库的装置。
本发明实施例提供的技术方案如下:
一种检测恶意软件的方法,包括:
对待检测应用软件的压缩包进行解析,提取其中包含的可执行文件,并根据可执行文件的结构格式,从所述可执行文件中获取特征内容,所述特征内容是指完成所述待识别应用软件功能必要的内容;
采用预定算法,计算所述特征内容的唯一标识值;
将计算得到的唯一标识值与已知恶意软件的特征值进行比较,所述特征值是指对已知基于Android平台的恶意软件可执行文件中的特征内容,采用所述预定算法计算后,获得的唯一标识值;
若比较结果一致,则确定所述待检测应用软件为基于Android平台的恶意软件。
一种建立恶意软件特征数据库的方法,包括:
接收输入的已知基于Android平台的恶意软件样本;
对所述恶意软件样本进行解析,提取其中包含的可执行文件;
根据可执行文件的结构格式,从所述可执行文件中获取特征内容,所述特征内容是指完成所述恶意软件功能必要的内容;
采用预定算法,计算所述特征内容的唯一标识值,作为所述恶意软件样本的特征值;并存储所述特征值。
一种检测恶意软件的装置,其特征在于,包括:
第一解析单元,用于对待检测应用软件的压缩包进行解析,提取其中包含的可执行文件;
第一获取单元,用于根据可执行文件的结构格式,从第一解析单元解析出的所述可执行文件中获取特征内容,所述特征内容是指完成所述待识别应用软件功能必要的内容;
第一运算单元,用于采用预定算法,计算所述特征内容的唯一标识值;
比较单元,用于将第一运算单元得到的唯一标识值与已知恶意软件的特征值进行比较,所述特征值是指对已知基于Android平台的恶意软件可执行文件中的特征内容,采用所述预定算法计算后,获得的唯一标识值;
确定单元,用于若比较单元的比较结果一致,则确定所述待检测应用软件为基于Android平台的恶意软件。
一种建立恶意软件特征数据库的装置,其特征在于,包括:
接收单元,用于接收输入的已知基于Android平台的恶意软件样本;
第二解析单元,用于对所述恶意软件样本进行解析,提取其中包含的可执行文件;
第二获取单元,用于根据可执行文件的结构格式,从第二解析单元得到的所述可执行文件中获取特征内容,所述特征内容是指完成所述恶意软件功能必要的内容;
第二运算单元,用于采用预定算法,计算所述特征内容的唯一标识值,作为所述恶意软件样本的特征值;
存储单元,用于存储第二运算单元得到的特征值。
本发明实施例通过提取待检测应用软件压缩包中可执行文件中的特征内容,所述特征内容是指完成所述待识别应用软件功能必要的内容;然后计算提取的特征内容的唯一标识值,将计算得到的特征值与已知恶意软件的特征码进行比较,根据比较结果判断待检测应用软件是否是恶意软件。解决了现有技术无法识别篡改后的恶意软件的问题,提高了检测的准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本发明实施例一提供的检测基于Android平台的恶意软件方法的流程图;
图1b为本发明实施例一提供的建立恶意软件特征数据库的方法的流程图;
图2为本发明实施例二提供的实例的详细流程图;
图3为本发明实施例三提供的检测基于Android平台的恶意软件的装置的结构示意图;
图4为本发明实施例三提供的建立恶意软件特征数据库的装置的结构示意图。
具体实施方式
基于Android平台的应用软件中,用于实现该应用软件功能的方法(也被称为函数)是封装在可执行文件中的,目前来说,大多数Android平台上的可执行文件为dex字节码文件。在应用软件运行时,通过执行其中的dex字节码文件来实现该应用软件的功能。
在Android平台上开发应用软件时,通常使用java语言,对工程文件进行编译后生成一个压缩文件包,通常大多数为apk格式的压缩文件包,对apk压缩包进行解压缩后,解压缩结果中包含一个dex格式的字节码文件,dex字节码文件是在Dalvik虚拟机上执行的一种可执行文件,其中Dalvik虚拟机是Android操作系统中用于运行应用软件的应用环境。
为了便于Dalvik虚拟机中的解析器进行解析,每个dex文件的内容都符合统一的结构格式。表1为dex文件结构格式中文件头DexHeader部分的简要描述。通过解析DexHeader可以获得字符串集合列表String table、类集合列表classlist、域集合列表field table、方法集合列表method table、类定义集合列表classdefinition table等各部分的内容在dex文件中的存储地址,继而获取各部分内容。每部分内容也都符合统一的结构格式,例如方法集合列表method table在dex文件中的存储格式如表2所示,字符串集合列表String table内容如表3所示。通过上述结构可以在应用软件运行过程中实现方法调用,例如在应用软件运行过程中,若调用到某种方法,则会通过查找DexHeader获得method table的存储位置Absolute offset of the method table,其中method table中存储了每个方法的描述信息(描述信息中不仅包含该方法的参数,还包括代码执行语句),而每个方法描述信息的长度是相同的,例如64k,根据method table的存储位置,结合DexHeader中指示的方法的数量Number of methods in the methodtable,可以得到每个方法的描述信息的存储位置。再根据method table的存储位置查找到method table后,根据method table中每个方法method描述信息中的一些参数,例如方法归属的类名Class index of the class this field belongs to、方法名称String index of the method name等,找到待调用的方法的描述信息,执行该描述信息中的代码执行语句,从而实现方法调用。
表1
Figure BDA0000144176210000051
Figure BDA0000144176210000061
表2
Figure BDA0000144176210000062
表3
Figure BDA0000144176210000063
发明人通过对基于Android平台的应用软件运行过程的分析,发现在可执行文件(例如dex字节码文件)中,有一些内容是不可被修改的,一旦被修改,则无法实现应用软件的功能,也就是说这部分内容是完成所述待识别应用软件功能必要的内容,例如,如果对method table的内容进行修改,则无法正确实现函数调用(例如,方法归属的类名、方法名称改变后,无法找到待调用的函数),导致无法实现应用软件的功能。而另一些内容是可以被修改的,修改后并不会对应用软件的运行发生实质影响,例如,如果修改其中的魔鬼数字′Magic′value的值,则并不影响应用软件的功能。
通过上述分析可以知道,即使恶意软件传播者企图通过篡改apk压缩包来逃避检测,也不会篡改其中会影响应用软件运行的内容,因为那样将导致恶意软件无法运行,也就无法实现传播恶意软件的目的。
根据上述分析结论,发明人提出了一种检测基于Android平台的恶意软件的方案,下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
实施例一
如图1a所示,本发明实施例的主要实现原理流程如下:
步骤10,对待检测应用软件的压缩包进行解析,提取其中包含的可执行文件。
可选地,所述应用软件的压缩包为apk压缩包,可执行文件为dex字节码文件。
步骤20,根据可执行文件的结构格式,从所述可执行文件中获取特征内容,所述特征内容是指完成所述待识别应用软件功能必要的内容。
可选地,当所述可执行文件为dex字节码文件时,所述特征内容包括但不限于方法集合列表的内容、类集合列表的内容、字符串集合列表的内容等中的任意一种、或多种的组合。
可选地,当特征内容为方法集合列表的内容时,获取特征内容的方式包括:
根据dex字节码文件结构格式,从dex字节码文件头中用于描述方法集合列表的地址的字段中读取第一数据,从dex字节码文件头中用于描述方法集合列表中方法数目的字段中读取第二数据;
将所述第二数据与每个方法描述信息的预定长度相乘;
以第一数据指示的数据为起始地址,读取相乘结果指示的长度的数据作为方法集合列表的内容。
当特征内容为类集合列表、字符串集合列表或者其中两种以上的组合时,也可以采用类似的方式来获取特征内容,这里不再一一举例说明。
步骤30,采用预定算法,计算步骤20中获取的所述特征内容的唯一标识值。
可选地,可以采用哈希算法或单向数学函数,具体地,可以选择采用消息摘要算法第二版(MD2,Message Digest Algorithm 2)、消息摘要算法第四版(MD4,Message Digest Algorithm 4)、消息摘要算法第五版(MD5,MessageDigest Algorithm 5)、安全哈希算法第一版(SHA-1,Secure Hash Algorithm-1)等算法来计算所提取的特征内容的唯一标识值。
步骤40,将计算得到的唯一标识值与已知基于Android平台的恶意软件的特征值进行比较,所述特征值是指对已知基于Android平台的恶意软件可执行文件中的特征内容,采用所述预定算法计算后,获得的唯一标识值。若比较结果一致,进入步骤50,若比较结果不一致,则进入步骤60。
步骤50,若比较结果一致,则确定所述待检测应用软件为基于Android平台的恶意软件。
可选地还包括,步骤60,若比较结果不一致,则确定所述待检测应用软件为正常软件。
本发明实施例还提供了一种建立恶意软件特征数据库的方法,其流程示意图如图1b所示。
步骤11,接收输入的已知基于Android平台的恶意软件样本。可选地,该样本的格式为apk压缩包。
步骤12,对所述恶意软件样本进行解析,提取其中包含的可执行文件。可选地,可执行文件为dex字节码文件。
步骤13,根据可执行文件的文件结构格式,从所述可执行文件中获取特征内容,所述特征内容是指完成所述待识别应用软件功能必要的内容。
可选地,特征内容以及提取特征内容的步骤的介绍与附图1a中的步骤20类似,在这里不再重复。
步骤14,采用预定算法,对所述特征内容进行运算,获得所述特征内容的唯一标识值,作为所述恶意软件样本的特征值。
步骤15,存储所述特征值。可选地,还可以存储所述样本的标识信息(包括名称、描述信息等等)与所述特征值的对应关系,方便后续检测出恶意软件后,查找到该恶意软件对应的标识信息。
本发明实施例提供的检测恶意软件的方法,首先提取待检测应用软件压缩包中可执行文件中的特征内容,通过对该特征内容执行预定算法,得到该特征内容的唯一标识值,将该唯一标识值与已知恶意软件的特征值进行比较,根据比较结果判断待检测应用软件是否是恶意软件。而不是像现有技术一样,通过对整个应用软件压缩包进行运算获得的标识值与已知恶意软件的特征值进行比较,来确认待检测应用软件是否是恶意软件。由于在本发明实施例提供的方案中,即使恶意软件传播者人为篡改应用软件压缩包的部分内容,仍然不会改变对特征内容执行预定算法后获得的唯一标识值,无法达到逃避检测的目的,因此提高了检测基于Android平台的恶意软件的准确性,降低了漏报几率。
实施例二
本发明实施例提供了一个检测基于Android平台的恶意软件的实例,对实施例一中提供的方法进行详细的说明。
如图2所示,在本发明实施例的流程图中,通过步骤201~步骤205构建样本特征库,通过步骤211~步骤217检测待识别应用软件是否是基于Android平台的恶意软件。需要说明的是,其中构建样本特征库的过程和检测恶意软件的过程可以分别由不同的设备来完成,例如构建样本特征库由数据库管理设备完成,而检测恶意软件的过程由检测设备来完成,检测设备可以集成于网关设备、或者网站服务器中。对于网关设备而言,需要首先对数据包进行重组处理,从中获得待检测应用软件的apk压缩包。
步骤201,数据库管理设备接收输入的已知基于Android平台的恶意软件样本Malware1,该样本的格式为apk压缩包。
可选地,上述已知恶意软件样本可以是人工分析得到的、或者是沙箱分析得到的,这里不进行限定。
步骤202,数据库管理设备对所述恶意软件样本Malware1的apk压缩包进行解析,提取其中包含的dex字节码文件,即为dexfile_s1。
步骤203,数据库管理设备根据预定的dex文件结构格式,从所述dex字节码文件dexfile_s1中获取特征内容,所述特征内容是指完成所述待识别应用软件功能必要的内容。在本实施例中以方法集合列表的内容为例进行说明。
数据库管理设备读取dex字节码文件头中0x4c位置上的4字节的内容作为方法集合列表中方法的数目,和0x50位置上的4字节的内容作为方法集合列表的地址。计算方法的数目和每个方法描述信息的预定长度的乘积作为方法集合列表的尺寸,如方法的数目为10,每个方法描述信息的预定长度为64字节,则方法集合列表的尺寸为640字节。从偏移量为0x50的地址上,读取640字节的内容作为方法集合列表。
步骤204,数据库管理设备对所述方法集合列表的内容执行MD5算法,获得运算结果MD5值,作为所述恶意软件样本的特征值。
数据库管理设备将上述读取的640字节输入hash算法,获得运算结果MD5值,作为所述恶意软件样本的特征值f_value1。
步骤205,数据库管理设备将所述恶意软件样本的特征值存入数据库中。
数据库管理设备针对不同恶意软件样本,重复执行步骤201~步骤205,在数据库中建立如表4所示的特征值表。
表4
  恶意样本名称   特征值   描述信息
  Malware1   f_value1   略
  Malware2   f_value2   略
  Malware3   f_value3   略
  ……   ……   ……
可选地,由于数据库存储空间的限制,可以设定一些老化规则,以免数据库的可用空间很快耗尽。例如,老化规则可以设置为:若一个特征值超过10天未被匹配中,则删除该特征值相关记录;或者被匹配中的频率小于3次/天,则删除该特征值相关记录;或者特征值保存时间超过3个月,则删除该特征值相关记录。通过上述规则,从数据库中删除传播性较低、或者较老,大多数移动终端已安装对应补丁的恶意软件的特征值相关记录。
步骤211,检测设备获得待检测的基于Android平台的应用软件。
可选地,当检测设备集成于网关设备时,待检测应用软件为对同一数据流中的数据包进行重组处理后获得的。当检测设备集成于网站服务器时,待检测应用软件为网站用户提交的。当检测设备集成于移动终端中的客户端时,待检测应用软件为从网站服务器下载得到的,在这里不进行限定。
步骤212,检测设备对待识别应用软件的apk压缩包进行解析,提取其中包含的dex字节码文件,记为dexfile_test。
步骤213,检测设备根据预定的dex文件结构格式,从所述dex字节码文件dexfile_test中获取方法集合列表的内容。
具体提取特征内容的过程与步骤203类似,在这里不再重复。
步骤214,检测设备对所述方法集合列表的内容执行MD5算法,获得运算结果MD5值。
步骤215,检测设备将步骤214中所述运算结果MD5值与表4所示数据库中存储的各特征值进行比较。若比较结果一致,进入步骤216,否则进入步骤217。
可选地,检测设备为了提高比较效率,在所述数据库和检测设备分别设置于不同的实体设备中时,检测设备可以在本地缓存数据库中的数据,并定期根据数据库中的数据更新缓存数据。
步骤216,若比较结果一致,则确定所述待检测应用软件为基于Android平台的恶意软件。
可选地,在确定所述待检测应用软件为恶意软件之后,还可以采用对应的应对措施,例如当所述检测设备集成于网关设备中时,检测设备丢弃承载该应用软件的数据包,即阻断承载该应用软件的数据流,达到阻止恶意软件通过网络传播的目的。当所述检测设备集成于网站服务器时,检测设备触发网站服务器删除该应用软件。
步骤217,若比较结果不一致,则确定所述待检测应用软件为基于Android平台的正常软件。
本发明实施例提供的恶意软件的检测方案,首先在构建存储恶意软件特征值的数据库时,是根据已知恶意软件的特征内容(该特征内容是指完成所述待识别应用软件功能必要的内容)来进行哈希运算获得特征值。在检测过程中,从待检测应用软件apk压缩包中dex字节码文件中提取特征内容,再根据提取的特征内容执行hash运算,将hash运算结果与数据库中的特征值进行比较,来确认待检测应用软件是否是恶意软件。在本发明实施例提供的方案中,若恶意软件传播者人为篡改特征内容,则恶意软件无法成功运行,失去了传播的目的,若恶意软件传播者人为篡改除特征内容之外的apk压缩包的其他内容,由于不会改变检测时对特征内容执行hash运算后获得的MD5值,因此检测设备仍然能够识别出被篡改的恶意软件,因此提高了检测基于Android平台的恶意软件的准确性,降低了逃避检测的可能性。
实施例三
与实施例一相对应,本发明实施例还提供了一种检测基于Android平台的恶意软件的装置,如图3所示,该装置包括第一解析单元301、第一获取单元302、第一运算单元303、比较单元304和确定单元305,具体如下:
第一解析单元301,用于对待检测应用软件的压缩包进行解析,提取其中包含的可执行文件;
第一获取单元302,用于根据可执行文件的结构格式,从第一解析单元301解析出的所述可执行文件中获取特征内容,所述特征内容是指完成所述待识别应用软件功能必要的内容;
第一运算单元303,用于采用预定算法,计算所述特征内容的唯一标识值;
比较单元304,用于将第一运算单元得到的唯一标识值与已知恶意软件的特征值进行比较,所述特征值是指对已知基于Android平台的恶意软件可执行文件中的特征内容,采用所述预定算法计算后,获得的唯一标识值;
确定单元305,用于若比较单元304的比较结果一致,则确定所述待检测应用软件为基于Android平台的恶意软件。
可选地,所述特征内容,以及第一获取单元302获取特征内容的具体方式请参照实施例一中的介绍,在这里不再赘述。
可选地,附图3所示的装置可以集成于网关设备、网站服务器等实体设备中,在该装置集成于网关设备中时,所述装置还包括:阻断单元,用于在确定单元305确定所述待检测应用软件为基于Android平台的恶意软件后,阻断承载所述待检测应用软件的数据流。
在该装置集成于网站服务器中时,所述装置还包括:删除单元,用于确定单元305确定所述待检测应用软件为基于Android平台的恶意软件后,触发删除所述待检测应用软件。
相应地,请参照附图4,本发明实施例还提供了一种建立恶意软件特征数据库的装置,该装置包括:
接收单元401,用于接收输入的已知基于Android平台的恶意软件样本,可选地,该样本的格式为apk压缩包;
第二解析单元402,用于对所述恶意软件样本进行解析,提取其中包含的可执行文件;
第二获取单元403,用于根据可执行文件的结构格式,从第二解析单元402得到所述可执行文件中获取特征内容,所述特征内容是指完成所述恶意软件功能必要的内容;
第二运算单元404,用于采用预定算法,计算所述特征内容的唯一标识值,作为所述恶意软件样本的特征值;
存储单元405,用于存储第二运算单元404得到的特征值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (11)

1.一种检测恶意软件的方法,其特征在于,包括:
对待检测应用软件的压缩包进行解析,提取其中包含的可执行文件,并根据可执行文件的结构格式,从所述可执行文件中获取特征内容,所述特征内容是指完成所述待识别应用软件功能必要的内容;
采用预定算法,计算所述特征内容的唯一标识值;
将计算得到的唯一标识值与已知恶意软件的特征值进行比较,所述特征值是指对已知基于Android平台的恶意软件可执行文件中的特征内容,采用所述预定算法计算后,获得的唯一标识值;
若比较结果一致,则确定所述待检测应用软件为基于Android平台的恶意软件。
2.如权利要求1所述的方法,其特征在于,所述应用软件的压缩包为apk压缩包,所述可执行文件为dex字节码文件。
3.如权利要求2所述的方法,其特征在于,所述特征内容包括方法集合列表的内容、类集合列表的内容、字符串集合列表的内容中的任意一种、或多种的组合。
4.如权利要求2或3所述的方法,其特征在于,所述特征内容为方法集合列表的内容,所述根据可执行文件的结构格式,从所述可执行文件中获取特征内容,包括:
根据dex字节码文件结构格式,从dex字节码文件头中用于描述方法集合列表的地址的字段中读取第一数据,从dex字节码文件头中用于描述方法集合列表中方法数目的字段中读取第二数据;
将所述第二数据与每个方法描述信息的预定长度相乘;
从所述dex字节码文件中,以第一数据指示的数据为起始地址,读取相乘结果所指示长度的数据作为方法集合列表的内容。
5.一种建立恶意软件特征数据库的方法,其特征在于,包括:
接收输入的已知基于Android平台的恶意软件样本;
对所述恶意软件样本进行解析,提取其中包含的可执行文件;
根据可执行文件的结构格式,从所述可执行文件中获取特征内容,所述特征内容是指完成所述恶意软件功能必要的内容;
采用预定算法,计算所述特征内容的唯一标识值,作为所述恶意软件样本的特征值;并存储所述特征值。
6.如权利要求5所述的方法,其特征在于,所述应用软件的压缩包为apk压缩包,所述可执行文件为dex字节码文件。
7.如权利要求6所述的方法,其特征在于,所述特征内容包括方法集合列表的内容、类集合列表的内容、字符串集合列表的内容中的任意一种、或多种的组合。
8.如权利要求6或7所述的方法,其特征在于,所述特征内容为方法集合列表的内容,所述根据可执行文件的结构格式,从所述可执行文件中获取特征内容,包括:
根据dex字节码文件结构格式,从dex字节码文件头中用于描述方法集合列表的地址的字段中读取第一数据,从dex字节码文件头中用于描述方法集合列表中方法数目的字段中读取第二数据;
将所述第二数据与每个方法描述信息的预定长度相乘;
以第一数据指示的数据为起始地址,读取相乘结果指示的长度的数据作为方法集合列表的内容。
9.一种检测恶意软件的装置,其特征在于,包括:
第一解析单元,用于对待检测应用软件的压缩包进行解析,提取其中包含的可执行文件;
第一获取单元,用于根据可执行文件的结构格式,从第一解析单元解析出的所述可执行文件中获取特征内容,所述特征内容是指完成所述待识别应用软件功能必要的内容;
第一运算单元,用于采用预定算法,计算所述特征内容的唯一标识值;
比较单元,用于将第一运算单元得到的唯一标识值与已知恶意软件的特征值进行比较,所述特征值是指对已知基于Android平台的恶意软件可执行文件中的特征内容,采用所述预定算法计算后,获得的唯一标识值;
确定单元,用于若比较单元的比较结果一致,则确定所述待检测应用软件为基于Android平台的恶意软件。
10.如权利要求9所述的装置,其特征在于,所述应用软件的压缩包为apk压缩包,所述可执行文件为dex字节码文件时,第一获取单元具体用于从所述可执行文件中获取方法集合列表的内容、类集合列表的内容、字符串集合列表的内容中的任意一种、或多种的组合。
11.一种建立恶意软件特征数据库的装置,其特征在于,包括:
接收单元,用于接收输入的已知基于Android平台的恶意软件样本;
第二解析单元,用于对所述恶意软件样本进行解析,提取其中包含的可执行文件;
第二获取单元,用于根据可执行文件的结构格式,从第二解析单元得到的所述可执行文件中获取特征内容,所述特征内容是指完成所述恶意软件功能必要的内容;
第二运算单元,用于采用预定算法,计算所述特征内容的唯一标识值,作为所述恶意软件样本的特征值;
存储单元,用于存储第二运算单元得到的特征值。
CN201210070041.9A 2012-03-16 2012-03-16 检测恶意软件的方法和装置 Expired - Fee Related CN102663281B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210070041.9A CN102663281B (zh) 2012-03-16 2012-03-16 检测恶意软件的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210070041.9A CN102663281B (zh) 2012-03-16 2012-03-16 检测恶意软件的方法和装置

Publications (2)

Publication Number Publication Date
CN102663281A true CN102663281A (zh) 2012-09-12
CN102663281B CN102663281B (zh) 2015-03-18

Family

ID=46772769

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210070041.9A Expired - Fee Related CN102663281B (zh) 2012-03-16 2012-03-16 检测恶意软件的方法和装置

Country Status (1)

Country Link
CN (1) CN102663281B (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938040A (zh) * 2012-09-29 2013-02-20 中兴通讯股份有限公司 Android恶意应用程序检测方法、系统及设备
CN103093148A (zh) * 2012-12-28 2013-05-08 广东欧珀移动通信有限公司 一种恶意广告的检测方法、系统及设备
CN103365699A (zh) * 2012-12-21 2013-10-23 北京安天电子设备有限公司 基于apk的系统api和运行时字符串提取方法及系统
CN103440458A (zh) * 2013-09-25 2013-12-11 西安交通大学 一种启发式静态识别Android系统恶意代码的方法
CN103442360A (zh) * 2013-09-09 2013-12-11 北京网秦天下科技有限公司 移动应用的安全性检测方法及移动终端
CN103685251A (zh) * 2013-12-04 2014-03-26 电子科技大学 一种面向移动互联网的Android恶意软件检测平台
CN104200163A (zh) * 2014-08-27 2014-12-10 哈尔滨工业大学(威海) 一种病毒检测方法及病毒检测引擎
WO2015014185A1 (en) * 2013-07-30 2015-02-05 Tencent Technology (Shenzhen) Company Limited Method, device and system for detecting malware in mobile terminal
CN104751053A (zh) * 2013-12-30 2015-07-01 南京理工大学常熟研究院有限公司 移动智能终端软件的静态行为分析方法
CN105095330A (zh) * 2014-12-01 2015-11-25 哈尔滨安天科技股份有限公司 一种基于压缩包内容的文件格式识别方法及系统
CN105187394A (zh) * 2015-08-10 2015-12-23 济南大学 具有移动终端恶意软件行为检测能力的代理服务器及方法
CN105260254A (zh) * 2014-07-11 2016-01-20 宝马股份公司 用于在道路车辆中监控软件的方法及系统
CN105740660A (zh) * 2016-01-20 2016-07-06 广州彩瞳网络技术有限公司 一种应用安全性的检测方法及装置
CN106022133A (zh) * 2016-05-31 2016-10-12 北京金山安全软件有限公司 一种信息处理方法及装置
CN102938040B (zh) * 2012-09-29 2016-11-30 中兴通讯股份有限公司 Android恶意应用程序检测方法、系统及设备
CN106535002A (zh) * 2016-12-21 2017-03-22 Tcl集团股份有限公司 一种桌面启动器模板布局的更新方法及装置
CN107977574A (zh) * 2017-12-19 2018-05-01 深圳豪客互联网有限公司 病毒识别方法和装置
CN108229147A (zh) * 2016-12-21 2018-06-29 武汉安天信息技术有限责任公司 一种基于Android虚拟容器的内存检测装置及方法
CN105718788B (zh) * 2016-01-19 2018-12-25 宇龙计算机通信科技(深圳)有限公司 一种恶意应用程序处理方法、装置以及终端
CN110362994A (zh) * 2018-03-26 2019-10-22 华为技术有限公司 恶意文件的检测方法、设备和系统
CN110502900A (zh) * 2019-08-26 2019-11-26 Oppo广东移动通信有限公司 一种检测方法、终端、服务器及计算机存储介质
CN111310184A (zh) * 2020-03-05 2020-06-19 北京安码科技有限公司 基于rich头部标识的pe文件特征码生成方法、系统、电子设备及存储介质
CN111352912A (zh) * 2020-03-10 2020-06-30 Oppo广东移动通信有限公司 压缩文件处理方法、装置、存储介质、终端以及服务器
WO2020168614A1 (zh) * 2019-02-18 2020-08-27 暨南大学 移动恶意软件大数据的快速智能比对和安全检测方法
CN111881448A (zh) * 2020-07-30 2020-11-03 山石网科通信技术股份有限公司 恶意文件的确定方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254993A1 (en) * 2006-07-31 2009-10-08 Manuel Leone System for implementing security on telecommunications terminals
US20100058474A1 (en) * 2008-08-29 2010-03-04 Avg Technologies Cz, S.R.O. System and method for the detection of malware
CN102087605A (zh) * 2011-01-28 2011-06-08 宇龙计算机通信科技(深圳)有限公司 一种基于android平台应用安装控制方法及系统
CN102236757A (zh) * 2011-06-30 2011-11-09 北京邮电大学 一种适用于Android系统的软件保护方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254993A1 (en) * 2006-07-31 2009-10-08 Manuel Leone System for implementing security on telecommunications terminals
US20100058474A1 (en) * 2008-08-29 2010-03-04 Avg Technologies Cz, S.R.O. System and method for the detection of malware
CN102087605A (zh) * 2011-01-28 2011-06-08 宇龙计算机通信科技(深圳)有限公司 一种基于android平台应用安装控制方法及系统
CN102236757A (zh) * 2011-06-30 2011-11-09 北京邮电大学 一种适用于Android系统的软件保护方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
SCHMIDT,A-D.ET.AL: "《Static Analysis of Executables for Collaborative Malware Detection on Android》", 《COMMUNICATIONS 2009.ICC"09.IEEE INTERNATIONAL CONFERENCE ON》, 18 June 2009 (2009-06-18), pages 1 - 5 *
SECURITY ENGINEERING RESEARCH GROUP: ""Analysis of Dalvik Virtual Machine and Class Path Library"", 《ANALYSIS OF DALVIK VIRTUAL MACHINE AND CLASS PATH LIBRARY》, 30 November 2009 (2009-11-30), pages 13 - 18 *
刘泽衡: "《基于Android智能手机的安全检测系统的研究与实现》", 《CNKI》, 30 June 2011 (2011-06-30) *

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102938040A (zh) * 2012-09-29 2013-02-20 中兴通讯股份有限公司 Android恶意应用程序检测方法、系统及设备
WO2014048194A1 (zh) * 2012-09-29 2014-04-03 中兴通讯股份有限公司 Android恶意应用程序检测方法、系统及设备
CN102938040B (zh) * 2012-09-29 2016-11-30 中兴通讯股份有限公司 Android恶意应用程序检测方法、系统及设备
CN103365699A (zh) * 2012-12-21 2013-10-23 北京安天电子设备有限公司 基于apk的系统api和运行时字符串提取方法及系统
CN103365699B (zh) * 2012-12-21 2016-08-03 北京安天电子设备有限公司 基于apk的系统api和运行时字符串的提取方法及系统
CN103093148A (zh) * 2012-12-28 2013-05-08 广东欧珀移动通信有限公司 一种恶意广告的检测方法、系统及设备
US9800609B2 (en) 2013-07-30 2017-10-24 Tencent Technology (Shenzhen) Company Limited Method, device and system for detecting malware in a mobile terminal
WO2015014185A1 (en) * 2013-07-30 2015-02-05 Tencent Technology (Shenzhen) Company Limited Method, device and system for detecting malware in mobile terminal
CN103442360A (zh) * 2013-09-09 2013-12-11 北京网秦天下科技有限公司 移动应用的安全性检测方法及移动终端
CN103440458A (zh) * 2013-09-25 2013-12-11 西安交通大学 一种启发式静态识别Android系统恶意代码的方法
CN103440458B (zh) * 2013-09-25 2016-05-11 西安交通大学 一种启发式静态识别Android系统恶意代码的方法
CN103685251A (zh) * 2013-12-04 2014-03-26 电子科技大学 一种面向移动互联网的Android恶意软件检测平台
CN103685251B (zh) * 2013-12-04 2016-08-17 电子科技大学 一种面向移动互联网的Android恶意软件检测平台
CN104751053A (zh) * 2013-12-30 2015-07-01 南京理工大学常熟研究院有限公司 移动智能终端软件的静态行为分析方法
CN105260254A (zh) * 2014-07-11 2016-01-20 宝马股份公司 用于在道路车辆中监控软件的方法及系统
CN104200163A (zh) * 2014-08-27 2014-12-10 哈尔滨工业大学(威海) 一种病毒检测方法及病毒检测引擎
CN105095330B (zh) * 2014-12-01 2019-05-07 哈尔滨安天科技股份有限公司 一种基于压缩包内容的文件格式识别方法及系统
CN105095330A (zh) * 2014-12-01 2015-11-25 哈尔滨安天科技股份有限公司 一种基于压缩包内容的文件格式识别方法及系统
CN105187394A (zh) * 2015-08-10 2015-12-23 济南大学 具有移动终端恶意软件行为检测能力的代理服务器及方法
CN105187394B (zh) * 2015-08-10 2018-01-12 济南大学 具有移动终端恶意软件行为检测能力的代理服务器及方法
CN105718788B (zh) * 2016-01-19 2018-12-25 宇龙计算机通信科技(深圳)有限公司 一种恶意应用程序处理方法、装置以及终端
CN105740660B (zh) * 2016-01-20 2019-02-15 广州优视网络科技有限公司 一种应用安全性的检测方法及装置
CN105740660A (zh) * 2016-01-20 2016-07-06 广州彩瞳网络技术有限公司 一种应用安全性的检测方法及装置
CN106022133A (zh) * 2016-05-31 2016-10-12 北京金山安全软件有限公司 一种信息处理方法及装置
CN106535002A (zh) * 2016-12-21 2017-03-22 Tcl集团股份有限公司 一种桌面启动器模板布局的更新方法及装置
CN108229147A (zh) * 2016-12-21 2018-06-29 武汉安天信息技术有限责任公司 一种基于Android虚拟容器的内存检测装置及方法
CN108229147B (zh) * 2016-12-21 2021-11-12 武汉安天信息技术有限责任公司 一种基于Android虚拟容器的内存检测装置及方法
CN106535002B (zh) * 2016-12-21 2020-06-16 Tcl科技集团股份有限公司 一种桌面启动器模板布局的更新方法及装置
CN107977574A (zh) * 2017-12-19 2018-05-01 深圳豪客互联网有限公司 病毒识别方法和装置
US11836253B2 (en) 2018-03-26 2023-12-05 Huawei Technologies Co., Ltd. Malicious file detection method, device, and system
CN110362994B (zh) * 2018-03-26 2023-06-20 华为技术有限公司 恶意文件的检测方法、设备和系统
CN110362994A (zh) * 2018-03-26 2019-10-22 华为技术有限公司 恶意文件的检测方法、设备和系统
WO2020168614A1 (zh) * 2019-02-18 2020-08-27 暨南大学 移动恶意软件大数据的快速智能比对和安全检测方法
CN110502900A (zh) * 2019-08-26 2019-11-26 Oppo广东移动通信有限公司 一种检测方法、终端、服务器及计算机存储介质
CN111310184A (zh) * 2020-03-05 2020-06-19 北京安码科技有限公司 基于rich头部标识的pe文件特征码生成方法、系统、电子设备及存储介质
CN111352912A (zh) * 2020-03-10 2020-06-30 Oppo广东移动通信有限公司 压缩文件处理方法、装置、存储介质、终端以及服务器
CN111352912B (zh) * 2020-03-10 2024-04-12 Oppo广东移动通信有限公司 压缩文件处理方法、装置、存储介质、终端以及服务器
CN111881448A (zh) * 2020-07-30 2020-11-03 山石网科通信技术股份有限公司 恶意文件的确定方法及装置
CN111881448B (zh) * 2020-07-30 2022-10-14 山石网科通信技术股份有限公司 恶意文件的确定方法及装置

Also Published As

Publication number Publication date
CN102663281B (zh) 2015-03-18

Similar Documents

Publication Publication Date Title
CN102663281B (zh) 检测恶意软件的方法和装置
RU2551820C2 (ru) Способ и устройство для проверки файловой системы на наличие вирусов
Taylor et al. To update or not to update: Insights from a two-year study of android app evolution
US9824212B2 (en) Method and system for recognizing advertisement plug-ins
KR101161493B1 (ko) 안드로이드 단말 플랫폼에서의 악성 코드와 위험 파일의 진단 방법
KR101402057B1 (ko) 위험도 계산을 통한 리패키지 애플리케이션의 분석시스템 및 분석방법
US20160070911A1 (en) Rapid malware inspection of mobile applications
CN104123493A (zh) 应用程序的安全性检测方法和装置
US20180181482A1 (en) Monitoring Activity of Software Development Kits Using Stack Trace Analysis
KR101582601B1 (ko) 액티비티 문자열 분석에 의한 안드로이드 악성코드 검출 방법
KR20160109870A (ko) 안드로이드 멀웨어의 고속 검색 시스템 및 방법
JP6711000B2 (ja) 情報処理装置、ウィルス検出方法及びプログラム
CN103793649A (zh) 通过云安全扫描文件的方法和装置
CN105357204B (zh) 生成终端识别信息的方法及装置
US11275835B2 (en) Method of speeding up a full antivirus scan of files on a mobile device
Akram et al. Droidcc: A scalable clone detection approach for android applications to detect similarity at source code level
CN110806978A (zh) 一种第三方组件的缺陷管理方法及装置
CN111563257B (zh) 数据检测方法及装置、计算机可读介质及终端设备
KR20140093699A (ko) 부정 어플리케이션 검지 시스템 및 방법
CN109815697B (zh) 误报行为处理方法及装置
CN113449310A (zh) 一种应用程序漏洞检测方法、装置及设备
CN110968874B (zh) 一种漏洞检测方法、装置、服务器及存储介质
CN105809034A (zh) 一种恶意软件识别方法
US8938807B1 (en) Malware removal without virus pattern
US9686310B2 (en) Method and apparatus for repairing a file

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: High tech Park No. 88 University of Electronic Science and technology of Sichuan province in 611721 Chengdu city high tech Zone West Park area Qingshui River Tianchen Road No. 5 building D

Applicant after: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

Address before: High tech Park No. 88 University of Electronic Science and technology of Sichuan province in 611721 Chengdu city high tech Zone West Park area Qingshui River Tianchen Road No. 5 building D

Applicant before: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD. TO: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221010

Address after: No. 1899 Xiyuan Avenue, high tech Zone (West District), Chengdu, Sichuan 610041

Patentee after: Chengdu Huawei Technologies Co.,Ltd.

Address before: 611721 Area D, Building 5, High-tech Park, University of Electronic Science and Technology of China, No. 88 Tianchen Road, Qingshuihe Area, Western Park, High-tech Zone, Chengdu, Sichuan Province

Patentee before: HUAWEI DIGITAL TECHNOLOGIES (CHENG DU) Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150318