移动终端中恶意代码的检测方法和装置的制造方法

文档序号:8339908阅读:270来源:国知局
移动终端中恶意代码的检测方法和装置的制造方法
【技术领域】
[0001] 本发明涉及移动终端设备技术领域,尤其涉及一种移动终端中恶意代码的检测方 法和装置。
【背景技术】
[0002] 随着Android操作系统的发展,对于Android操作系统中恶意代码检测的研宄成 果也层出不穷,目前检测手段已经深入到opcode层面。其中,opcode是Android操作系统 中可执行文件Dex的代码指令,其基本格式为:
[0003]
【主权项】
1. 一种移动终端中恶意代码的检测方法,其特征在于,包括以下步骤: 获取移动终端中的可执行文件,并获取所述可执行文件中的函数以及所述函数的 opcode代码段内容; 对所述函数的opcode代码段内容进行反汇编解析以获取所述opcode代码段内容中的 数据流信息; 根据所述数据流信息生成对应的特征码,并检测所述特征码是否存在于预设的恶意代 码特征库中;以及 如果检测所述特征码存在于所述预设的恶意代码特征库中,则判断所述移动终端中具 有恶意代码。
2. 如权利要求1所述的移动终端中恶意代码的检测方法,其特征在于,其中,所述预设 的恶意代码特征库中具有特征码与恶意代码名称的对应关系,在检测所述特征码存在于所 述预设的恶意代码特征库中之后,所述方法还包括: 根据所述特征码查找所述预设的恶意代码特征码库以获取与所述特征码对应的恶意 代码名称。
3. 如权利要求1所述的移动终端中恶意代码的检测方法,其特征在于,所述获取所述 可执行文件中的函数以及所述函数的opcode代码段内容,包括: 对所述可执行文件进行解析以获取所述可执行文件中的结构体,并扫描所述结构体以 获取所述可执行文件中的函数以及所述函数的opcode代码段内容。
4. 如权利要求3所述的移动终端中恶意代码的检测方法,其特征在于,其中,所述移动 终端的操作系统为Android操作系统,所述可执行文件的格式类型为DEX。
5. 如权利要求4所述的移动终端中恶意代码的检测方法,其特征在于,所述对所述可 执行文件进行解析以获取所述可执行文件中的结构体,并扫描所述结构体以获取所述可执 行文件中的函数以及所述函数的opcode代码段内容,包括: 读取所述可执行文件以获取所述可执行文件中的DexFile结构体,并根据所述 DexFile结构体中的指针pClassDefs获取所述可执行文件的类结构体数组,其中,所述类 结构体数组由至少一个DexClassDef结构体组成; 遍历所述类结构体数组,根据每个所述DexClassDef结构体中的classDataOff获取类 数据结构体DexClassData ; 取出所述类数据结构体DexClassData中的directMethods和/或virtualMethods,并 根据所述directMethods和/或virtualMethods获取对应的类函数结构体数组,其中,所 述类函数结构体数组由至少一个DexMethod结构体组成,每个所述DexMethod结构体对应 一个函数; 遍历所述类函数结构体数组,根据每个所述DexMethod结构体中的codeoff获取 DexCode结构体,并根据所述DexCode结构体中的insns和insnsSize获取所述DexCode结 构体对应的函数的opcode代码段内容。
6. 如权利要求1所述的移动终端中恶意代码的检测方法,其特征在于,所述根据所述 数据流信息生成对应的特征码,包括: 从所述数据流信息中选取部分或全部片段进行重新组合,并根据预设算法对重新组合 后的部分或全部片段进行计算以生成所述数据流信息对应的特征码。
7. -种移动终端中恶意代码的检测装置,其特征在于,包括: 第一获取模块,用于获取移动终端中的可执行文件,并获取所述可执行文件中的函数 以及所述函数的opcode代码段内容; 第二获取模块,用于对所述函数的opcode代码段内容进行反汇编解析以获取所述 opcode代码段内容中的数据流信息; 生成模块,用于根据所示数据流信息生成对应的特征码; 检测模块,用于检测所述特征码是否存在于预设的恶意代码特征库中;以及 判断模块,用于在检测所述特征码存在于所述预设的恶意代码特征库中时,判断所述 移动终端中具有恶意代码。
8. 如权利要求7所述的移动终端中恶意代码的检测装置,其特征在于,其中,所述预设 的恶意代码特征库中具有特征码与恶意代码名称的对应关系,所述装置还包括: 第三获取模块,用于在检测所述特征码存在于所述预设的恶意代码特征码中之后,根 据所述特征码查找所述预设的恶意代码特征库以获取与所述特征码对应的恶意代码名称。
9. 如权利要求7所述的移动终端中恶意代码的检测装置,其特征在于,所述第一获取 模块具体用于: 对所述可执行文件进行解析以获取所述可执行文件中的结构体,并扫描所述结构体以 获取所述可执行文件中的函数以及所述函数的opcode代码段内容。
10. 如权利要求9所述的移动终端中恶意代码的检测装置,其特征在于,其中,所述移 动终端的操作系统为Android操作系统,所述可执行文件的格式类型为DEX。
11. 如权利要求10所述的移动终端中恶意代码的检测装置,其特征在于,所述第一获 取模块具体用于: 读取所述可执行文件以获取所述可执行文件中的DexFile结构体,并根据所示 DexFile结构体中的指针pClassDefs获取所述可执行文件的类结构体数组,其中,所述类 结构体数组由至少一个DexClassDef结构体组成; 遍历所述类结构体数组,根据每个所述述DexClassDef结构体中的classDataOff获取 类数据结构体DexClassData ; 取出所述类数据结构体DexClassData中的directMethods和/或virtualMethods,并 根据所述directMethods和/或virtualMethods获取对应的类函数结构体数组,其中,所 述类函数结构体数组由至少一个DexMethod结构体组成,每个所述DexMethod结构体对应 一个函数; 遍历所述类函数结构体数组,根据每个所述DexMethod结构体中的codeoff获取 DexCode结构体,并根据所述DexCode结构体中的insns和insnsSize获取所述DexCode结 构体对应的函数的opcode代码段内容。
12. 如权利要求7所述的移动终端中恶意代码的检测装置,其特征在于,所述生成模块 具体用于: 从所述数据流信息中选取部分或全部片段进行重新组合,并根据预设算法对重新组合 后的部分或全部片段进行计算以生成所述数据流信息对应的特征码。
【专利摘要】本发明公开了一种移动终端中恶意代码的检测方法,包括:获取移动终端中的可执行文件,并获取可执行文件中的函数以及函数的opcode代码段内容;对函数的opcode代码段内容进行反汇编解析以获取opcode代码段内容中的数据流信息;根据数据流信息生成对应的特征码,并检测特征码是否存在于预设的恶意代码特征库中;以及如果检测特征码存在于预设的恶意代码特征库中,则判断移动终端中具有恶意代码。本发明实施例的方法,通过从程序数据流的角度对恶意代码进行检测,能够取得更好地检测效果,提高检测结果的准确度。本发明还公开了一种移动终端中恶意代码的检测装置。
【IPC分类】G06F21-56
【公开号】CN104657661
【申请号】CN201510037893
【发明人】袁海涛, 胡雪飞, 潘宣辰
【申请人】武汉安天信息技术有限责任公司
【公开日】2015年5月27日
【申请日】2015年1月26日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1