[发明专利]一种基于调用关系的恶意代码判定方法及系统在审
申请号: | 201610983736.4 | 申请日: | 2016-11-08 |
公开(公告)号: | CN108062476A | 公开(公告)日: | 2018-05-22 |
发明(设计)人: | 徐荣力;乐东;乔伟 | 申请(专利权)人: | 武汉安天信息技术有限责任公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 调用 关系 恶意代码 判定 方法 系统 | ||
本发明公开了一种基于调用关系的恶意代码判定方法及系统,包括:反编译待检测程序并获取伪代码;解析所述伪代码并构建调用结构树;遍历所述调用结构树,获取待检测程序的行为数据,当获得的行为数据与预定义恶意行为数据匹配时则判定待检测程序具有恶意代码;其中,所述恶意行为数据包括:恶意行为、恶意行为的调用关系或者调用位置。本发明所述技术方案通过将程序的调用关系转换为调用结构树的层次关系,进而给机器提供更详尽的程序信息,最终提升恶意代码判定的准确性。
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于调用关系的恶意代码判定方法及系统。
背景技术
伴随着社会全面走向互联网时代,互联网的快速发展也改善着人们的生活,然而这也吸引了很多的恶意应用开发者企图从中非法牟利。恶意应用数量更是以前所未有的速度快速增长,各种新型病毒,变种病毒更新频率越来越快。仅仅通过人为判定早已无法解决这些问题,如何利用机器通过更为智能更为准确的方式判别出病毒成为解决问题的关键。
目前对恶意代码的静态检测技术,主要是通过反编译后,对反编译出来的伪代码数据进行恶意判定。即根据程序调用的API字段判定程序的敏感功能,根据使用的敏感字符串判定程序特征以及可能存在的行为。仅通过单一的行为或者数据规则无法形成恶意行为的佐证,其检测准确率低。而为了提高准确率,往往还需要恶意代码分析师,结合这些数据信息与程序的调用关系进行人工的进一步的判定。这样检测效率低,不仅增加了恶意样本检测的成本,也会错过拦截病毒的最佳时间,可能使更多普通用户设备(手机、电脑等)中毒。
发明内容
本发明的目的在于提供一种基于调用关系的恶意代码判定方法及系统,其能提升了恶意代码判定的准确性及效率。
为了实现上述目的,本发明公开了一种基于调用关系的恶意代码判定方法,包括:
反编译待检测程序并获取伪代码;
解析所述伪代码并构建调用结构树;
遍历所述调用结构树,并与预定义的恶意行为数据匹配进而判定是否存在恶意代码;
其中,所述恶意行为数据包括:恶意行为、恶意行为的调用关系或者调用位置。
进一步的,所述解析所述伪代码并构建调用结构树,包括:解析所述伪代码获取各函数相关信息,基于各函数相关信息构建调用结构树。
进一步的,函数相关信息还包括:该函数被调用的方式、函数返回值类型、参数值类型;其中,函数被调用的方式包括直接调用或通过API调用。
进一步的,所述基于各函数相关信息构建调用结构树,具体为:
分析函数相关信息,将不被其他函数调用的函数作为根节点;
分析根节点的函数相关信息,提取函数被调用的方式、返回值类型、参数值类型以及函数中的参数类型的字符串作为各节点的属性;
提取函数相关信息中的API作为各节点的值;
将根节点的函数相关信息调用的下一级函数作为子节点,依次递归构建整个程序的调用关系。
进一步的,获取待检测程序的行为数据,当获得的行为数据与预定义恶意行为数据匹配时则判定待检测程序具有恶意代码的方法包括:
以各节点作为入口遍历所述调用结构树,获取每个节点及子节点的行为数据,将所述行为数据与预定义的恶意行为数据匹配,若匹配成功,则记录相关的恶意行为数据。
进一步的,在所述反编译待检测程序并获取伪代码之前,还包括:判断待检测程序是否存在加壳和/或加密部分,若存在,则进行脱壳和/或解密处理。
为了实现上述目的,本发明还公开了一种基于调用关系的恶意代码判定系统,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉安天信息技术有限责任公司,未经武汉安天信息技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610983736.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:工业废水模块化处理系统的控制方法
- 下一篇:一种新型高承重底座