[发明专利]ELF文件中的恶意代码检测方法及装置有效
申请号: | 201410687208.5 | 申请日: | 2014-11-25 |
公开(公告)号: | CN104504333B | 公开(公告)日: | 2018-03-06 |
发明(设计)人: | 袁海涛;乐东;胡雪飞;潘宣辰 | 申请(专利权)人: | 武汉安天信息技术有限责任公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙)11201 | 代理人: | 张大威 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | elf 文件 中的 恶意代码 检测 方法 装置 | ||
1.一种ELF文件中的恶意代码检测方法,其特征在于,包括以下步骤:
获取ELF文件中的函数以及所述函数的代码指令偏移与代码指令长度,其中,对所述ELF文件进行解析以获取所述ELF文件中的多个结构数组,并遍历所述多个结构数组以获取所述ELF文件中的所述函数以及所述函数的代码指令偏移与代码指令长度,其中所述多个结构数组包括ELF头文件结构、段结构数组和符号表结构数组;
根据所述函数的代码指令偏移与代码指令长度获取对应的指令代码段;
对所述指令代码段进行反汇编解析,并根据反汇编解析后的指令代码段生成特征码,其中,提取反汇编解析后的指令代码段中的部分片段,对所述部分片段进行重新组合,并根据预设算法对重新组合后的部分片段进行计算以生成所述指令代码段对应的特征码;
检测所述特征码是否存在于预设的恶意代码特征库中;以及
如果检测所述特征码存在于所述预设的恶意代码特征库中,则判断所述ELF文件具有恶意代码。
2.根据权利要求1所述的ELF文件中的恶意代码检测方法,其特征在于,其中,所述预设的恶意代码特征库中具有特征码与恶意代码名称的对应关系,在所述检测所述特征码存在于所述预设的恶意代码特征库中之后,所述方法还包括:
根据所述特征码查找所述预设的恶意代码特征码库以获取与所述特征码对应的恶意代码名称。
3.根据权利要求1所述的ELF文件中的恶意代码检测方法,其特征在于,所述对所述ELF文件进行解析以获取所述ELF文件中的多个结构数组,并遍历所述多个结构数组以获取所述ELF文件中的所述函数以及所述函数的代码指令偏移与代码指令长度,具体包括:
读取所述ELF文件,取得所述ELF文件头部的ELF头文件结构;
通过所述ELF头文件结构中的成员e_shoff获取段结构数组;
遍历所述段结构数组以获取.dynsym段描述符结构,并根据所述.dynsym段描述符结构中的成员sh_offset获取符号表结构数组;
获取所述符号表结构数组中的目标符号表结构,并判断所述目标符号表结构中的成员st_info是否为STT_FUNC,其中,所述目标符号表结构为所述符号表结构数组中的元素;
如果判断所述目标符号表结构中的成员st_info为STT_FUNC,则根据所述STT_FUNC获取对应的函数,并将所述目标符号表结构中的成员st_size所对应的值作为所述函数的代码指令长度;
根据所述目标符号表结构中的成员st_shndx获取目标段描述符结构,并根据所述目标符号表结构和所述目标段描述符结构获取所述函数的代码指令偏移。
4.根据权利要求3所述的ELF文件中的恶意代码检测方法,其特征在于,当所述ELF文件的文件类型为可执行文件或共享目标文件时,所述根据所述目标符号表结构和所述目标段描述符结构获取所述函数的代码指令偏移具体包括:
根据所述目标符号表结构中的成员st_value、所述目标段描述符结构中的成员sh_addr和所述目标段描述符结构中的成员sh_offset获取所述函数的代码指令偏移。
5.根据权利要求3所述的ELF文件中的恶意代码检测方法,其特征在于,当所述ELF文件的文件类型为可重定向文件时,所述根据所述目标符号表结构和所述目标段描述符结构获取所述函数的代码指令偏移具体包括:
根据所述目标符号表结构中的成员st_value和所述目标段描述符结构中的成员sh_offset获取所述函数的代码指令偏移。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉安天信息技术有限责任公司,未经武汉安天信息技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410687208.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:虚拟化安全检测方法与系统
- 下一篇:一种对代码进行保密处理的方法及装置