[发明专利]一种恶意代码隐藏行为挖掘方法及系统有效
申请号: | 201410058889.9 | 申请日: | 2014-02-20 |
公开(公告)号: | CN103810427A | 公开(公告)日: | 2014-05-21 |
发明(设计)人: | 王蕊;林子敏;张道娟 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余长江 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 恶意代码 隐藏 行为 挖掘 方法 系统 | ||
技术领域
本发明属于网络安全技术领域,具体涉及一种恶意代码隐藏行为挖掘方法及系统。
背景技术
伴随着信息化不断推进以及技术的不断发展,其重要威胁之一的恶意代码技术也在不断的进步,为了躲避分析和检测,恶意代码的隐藏能力、变形能力和生存能力在不断地增强。恶意代码通过各种技术手段隐藏起自身的一些有害行为,导致普通的分析及检测工具无法及时地检测到其恶意行为,从而在需要的时候产生破坏威胁互联网及计算机系统的安全性。
目前,恶意代码的隐藏手段主要包括:(1)在系统中隐藏其踪迹,例如进程信息等。(2)自身包含正常行为路径和恶意行为路径,在一定条件下才实施恶意行为。例如在探测到分析及检测环境时便隐藏其恶意行为,从而躲避检测。传统的动态分析手段通常只能分析恶意代码当前执行的行为路径,不能很好地分析检测到隐藏行为及路径的存在。因此,提高恶意代码隐藏行为及路径的分析能力成为恶意代码防护中需要解决的一个重要问题。
已有恶意代码分析方法中,静态分析可全面分析恶意代码包含的所有路径,从而挖掘其可能存在的隐藏行为,但是,通常情况下,恶意代码的源代码无法获取,要想分析期待吗,只有依赖于反汇编反编译软件。但是恶意代码通常会使用一些混淆技术干扰这类软件,导致其很难准确还原代码。而动态分析虽然可以在恶意代码执行过程中获取其行为,但是局限于单一执行路径,即只能获取当前执行过程中展现出的一条行为路径。对于有多种行为路径的恶意代码,尤其是在多种无害行为路径中隐藏一条恶意行为路径的恶意代码,无法有效地开展分析。
随着恶意代码分析检测技术的发展,恶意代码开发者也不断更新其技术手段,为了躲避分析检测,目前已经出现了检测虚拟分析环境从而隐藏行为的方法,以及只有在特定条件下才实施其恶意行为的隐藏手段。为恶意代码分析及防范工作带来了巨大的挑战。
研究恶意代码隐藏行为的分析方法,从而全面、有效地分析恶意代码的隐藏行为,进一步有效指导恶意代码检测,是恶意代码防御工作中的重要基础问题。当前恶意代码隐藏行为分析方法中的主要问题有:动态分析只分析一段时间内恶意代码执行的行为,对于一些延时隐藏的行为容易漏报;动态分析过程只能分析当前执行的行为,无法对特定条件下才出现的隐性恶意行为路径实施有效地分析,对于探测运行环境及条件而隐藏恶意行为的恶意代码无法实施有效的分析;动态分析大多是追踪被动分析,缺少有效主动发掘恶意代码隐藏行为的方法。
发明内容
本发明的目的在于提供一种恶意代码隐藏行为挖掘方法及系统,通过在动态运行过程中分析恶意代码执行代码中可能存在的延时和条件控制语句,为其提供满足其可能执行的行为路径的条件,主动触发其可能的潜在隐藏行为,从而主动发掘出恶意代码的隐藏行为,实现隐藏行为分析。
本发明的主要内容是:将待分析的恶意代码在可控环境中运行,监控其执行信息,针对延时执行和条件判断两种隐藏行为,通过监控相关的实现指令和函数,向其输入满足隐藏行为执行的相关条件,使其执行相关行为路径,实现隐藏行为的挖掘。
具体地,本发明采用的技术方案如下:
一种恶意代码隐藏行为挖掘方法,其步骤包括:
1)在虚拟环境中运行恶意代码,逐条监控恶意代码执行的指令信息和函数信息;
2)判断恶意代码执行的指令信息和函数信息中是否有隐藏行为路径相关的指令和函数,所述隐藏行为包含延时隐藏和条件判断隐藏两类;
3)若检测到延时隐藏相关的执行信息,通过结束相应的延时行为使恶意代码继续执行其后续指令和函数;
4)若检测到条件判断隐藏相关的执行信息,根据其条件判断分类,通过满足其不同路径的执行条件,发掘恶意代码的可能执行路径;
5)将分析完成的恶意代码执行的多种可能行为路径信息以树的形式表示,生成恶意代码行为路径树。
进一步地,步骤1)所述的恶意代码执行的指令信息和函数信息的监控方法为:将待分析的恶意代码运行于硬件模拟环境中,通过动态反汇编,监控恶意代码执行的指令序列;通过挂钩函数,监控相关函数信息。
进一步地,步骤2)所述的隐藏行为路径相关的指令和函数,可由用户根据需要自行定义,本发明中主要分为延时隐藏和条件判断隐藏两类。
进一步地,步骤2)所述的延时隐藏是指恶意代码通过一些手段延迟恶意行为的出现,以躲避有限分析事件的动态分析;所述的条件判断隐藏是指恶意代码在执行恶意行为之前,通过判断一些执行条件,例如系统及网络状态等,当一定条件满足时才执行恶意行为。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410058889.9/2.html,转载请声明来源钻瓜专利网。