[发明专利]一种恶意代码隐藏行为挖掘方法及系统有效
申请号: | 201410058889.9 | 申请日: | 2014-02-20 |
公开(公告)号: | CN103810427A | 公开(公告)日: | 2014-05-21 |
发明(设计)人: | 王蕊;林子敏;张道娟 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余长江 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 恶意代码 隐藏 行为 挖掘 方法 系统 | ||
1.一种恶意代码隐藏行为挖掘方法,其步骤包括:
1)在虚拟环境中运行恶意代码,逐条监控恶意代码执行的指令信息和函数信息;
2)判断恶意代码执行的指令信息和函数信息中是否有隐藏行为路径相关的指令和函数,所述隐藏行为包含延时隐藏和条件判断隐藏两类;
3)若检测到延时隐藏相关的执行信息,通过结束相应的延时行为使恶意代码继续执行其后续指令和函数;
4)若检测到条件判断隐藏相关的执行信息,根据其条件判断分类,通过满足其不同路径的执行条件,发掘恶意代码的可能执行路径;
5)将动态分析完成的恶意代码执行的多路径行为信息以树的形式表示,生成恶意代码行为路径树。
2.如权利要求1所述的方法,其特征在于:所述延时隐藏包含调用sleep函数延时和循环延时两种。
3.如权利要求1所述的方法,其特征在于:所述条件判断隐藏包括用户交互条件和独立条件判断两大类,其中用户交互条件是指判断是否有用户输入事件,独立条件是在执行过程中判断各类不需人工干预的各类系统及网络条件。
4.如权利要求3所述的方法,其特征在于:所述用户输入事件包括鼠标和键盘事件。
5.如权利要求1至3中任一项所述的方法,其特征在于,所述延时隐藏的处理方法是:当检测到sleep函数被调用时,读取堆栈中的延时时间,然后将硬件模拟器的时间调整到相应的延时时间之后,使条件满足,从而使恶意代码进一步执行后续行为;当检测到循环存在时,分析识别出循环控制流向前转移的指令,当再次执行到该转移指令时,通过将虚拟CPU中的EFLAGS寄存器相应的标志位至其反位的方式使循环结束,从而使恶意代码开始执行后续行为。
6.如权利要求1至3中任一项所述的方法,其特征在于,检测到条件判断语句时的处理方法是:分析其判断的条件,出现用户交互条件判断时,记录相应的系统映像,通过调用鼠标接口函数do_mouse和键盘接口函数do_send_key发送相应的鼠标和键盘消息以满足后续行为的执行条件,在分析完此路径之后,退回到此映像,分析另一条没有满足交互时的行为信息;对于独立判断条件,分析判断语句并保存当前系统映像和判断条件,获取其可能的不同后续分支路径,执行完一条路径后,回到相应的系统映像执行不同的条件分支,从而挖掘恶意代码可能的不同行为路径。
7.如权利要求6所述的方法,其特征在于:在独立判断条件的分析过程中,如果在一条路径后续继续出现其他条件判断语句,则采用递归的方式逐层进行分析。
8.如权利要求7所述的方法,其特征在于:在分析过程中保存路径中所有的条件判断语句,在新的条件判断语句产生时,通过计算该路径所有的条件判断,只分析满足所有路径条件即实际可能的数据结果产生的真实潜在路径,以降低不可能路径的消耗。
9.如权利要求1所述的方法,其特征在于,所述恶意代码行为路径树的构造过程是:以恶意代码执行的第一条信息作为初始父节点开始生成行为树;此后,每执行的下一条信息作为子节点添加到该树;当检测到延时隐藏信息时,在相应执行信息节点标记延时条件,然后继续添加后续子节点;当检测到条件判断语句时,在相应的节点保存条件判断信息,然后根据不同的条件添加不同的子节点表示后续执行子树,即保存系统映像之后标记相应的节点,当分析玩一条路径后回到相应的节点添加其他子树,直到执行完毕。
10.一种恶意代码隐藏行为挖掘系统,其特征在于,包括:
硬件模拟器,用于虚拟执行环境以运行和监控恶意代码;
指令信息监控模块,集成在硬件模拟器的指令翻译模块中,用于在运行过程中监控并记录恶意代码执行的指令信息;
函数信息监控模块,集成在硬件模拟器中,并连接指令信息监控记录模块,用于在恶意代码运行过程中,通过判断指令跳转和模拟内存数据监控恶意代码执行的函数信息;
条件判断分析模块,连接指令信息监控模块和函数信息监控模块,用于检测恶意代码执行的指令和函数信息中的条件判断语句;
条件输入模块,连接条件判断分析模块和硬件模拟器的虚拟执行环境,用于产生在分析过程中使代码执行不同行为路径所需要的条件输入;
运行映像模块,连接硬件模拟器的虚拟执行环境、条件判断分析模块和条件输入模块,用于记录有多种可能执行路径时执行每条路径之前的系统及代码状态映像;
行为树构建模块,连接所述指令信息监控模块、函数信息监控模块、条件分析判断模块和条件输入模块,用于根据获取的恶意代码不同行为路径构建恶意代码行为路径树。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410058889.9/1.html,转载请声明来源钻瓜专利网。