检测恶意软件的方法和装置制造方法及图纸

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

【技术实现步骤摘要】

本专利技术涉及计算机及通信
,尤其涉及一种检测恶意软件的方法、ー种建立恶意软件特征数据库的方法、一种检测恶意软件的装置及ー种建立恶意软件特征数据库的装置。
技术介绍
安卓(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平台的恶意软件样本;对所述恶意软件样本进行解析,提取其中包含的可执行文件;根据可执行文件的结构格式,从所述可执行文件中获取特征内容,所述特征内容是指完成所述恶意软件功能必要的内容;采用预定算法,计算所述特征内容的唯一标识值,作为所述恶意软件样本的特征值;并存储所述特征值。一种检测恶意软件的装置,其特征在于,包括第一解析単元,用于对待检测应用软件的压缩包进行解析,提取其中包含的可执行文件;第一获取单元,用于根据可执行文件的结构格式,从第一解析単元解析出的所述可执行文件中获取特征内容,所述特征内容是指完成所述待识别应用软件功能必要的内容;第一运算单元,用于采用预定算法,计算所述特征内容的唯一标识值;比较单元,用于将第一运算单元得到的唯一标识值与已知恶意软件的特征值进行比较,所述特征值是指对已知基于Andro i d平台的恶意软件可执行文件中的特征内容,采用所述预定算法计算后,获得的唯一标识值;确定单元,用于若比较单元的比较结果一致,则确定所述待检测应用软件为基于Android平台的恶意软件。ー种建立恶意软件特征数据库的装置,其特征在于,包括接收单元,用于接收输入的已知基于Android平台的恶意软件样本;第二解析単元,用于对所述恶意软件样本进行解析,提取其中包含的可执行文件;第二获取单元,用于根据可执行文件的结构格式,从第二解析単元得到的所述可执行文件中获取特征内容,所述特征内容是指完成所述恶意软件功能必要的内容;第二运算单元,用于采用预定算法,计算所述特征内容的唯一标识值,作为所述恶意软件样本的特征值;存储单元,用于存储第二运算单元得到的特征值。本专利技术实施例通过提取待检测应用软件压缩包中可执行文件中的特征内容,所述特征内容是指完成所述待识别应用软件功能必要的内容;然后计算提取的特征内容的唯一标识值,将计算得到的特征值与已知恶意软件的特征码进行比较,根据比较结果判断待检测应用软件是否是恶意软件。解决了现有技术无法识别篡改后的恶意软件的问题,提高了检测的准确性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作ー简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图Ia为本专利技术实施例一提供的检测基于Android平台的恶意软件方法的流程图;图Ib为本专利技术实施例一提供的建立恶意软件特征数据库的方法的流程图;图2为本专利技术实施例ニ提供的实例的详细流程图; 图3为本专利技术实施例三提供的检测基于Android平台的恶意软件的装置的结构示意图;图4为本专利技术实施例三提供的建立恶意软件特征数据库的装置的结构示意图。具体实施例方式基于Android平台的应用软件中,用于实现该应用软件功能的方法(也被称为函数)是封装在可执行文件中的,目前来说,大多数Android平台上的可执行文件为dex字节码文件。在应用软件运行时,通过执行其中的dex字节码文件来实现该应用软件的功能。在Android平台上开发应用软件时,通常使用java语言,对工程文件进行编译后生成一个压缩文件包,通常大多数为apk格式的压缩文件包,对apk压缩包进行解压缩后,解压缩结果中包含ー个dex格式的字节码文件,dex字节码文件是在Dalvik虚拟机上执行的一种可执行文件,其中Dalvik虚拟机是Android操作系统中用于运行应用软件的应用环境。为了便于Dalvik虚拟机中的解析器进行解析,每个dex文件的内容都符合统ー的结构格式。表I为dex文件结构格式中文件头DexHeader部分的简要描述。通过解析DexHeader可以获得字符串集合列表String table、类集合列表class list、域集合列表field table、方法集合列表 method table、类定义集合列表 class definition table 等各部分的内容在dex文件中的存储地址,继而获取各部分内容。每部分内容也本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:张子芳
申请(专利权)人:成都市华为赛门铁克科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1