一种恶意代码隐藏行为挖掘方法及系统技术方案

技术编号:10068816 阅读:231 留言:0更新日期:2014-05-23 11:49
本发明专利技术涉及一种恶意代码隐藏行为挖掘方法及系统,其步骤包括:在虚拟环境中运行恶意代码;判断恶意代码执行的指令信息和函数信息中是否有隐藏行为路径相关的指令和函数;若检测到延时隐藏相关的执行信息,通过结束相应的延时行为使恶意代码继续执行其后续指令和函数;若检测到条件判断隐藏相关的执行信息,根据其条件判断分类,通过满足其不同路径的执行条件,发掘恶意代码的可能执行路径;将分析完成的恶意代码执行的多种行为路径信息生成恶意代码行为路径树。本发可有效挖掘恶意代码通过延时隐藏和条件判断隐藏的方式躲避分析的隐藏行为,有效发现其可能存在的多种隐藏行为路径,提高恶意代码的隐藏行为分析和挖掘能力。

【技术实现步骤摘要】
【专利摘要】本专利技术涉及一种恶意代码隐藏行为挖掘方法及系统,其步骤包括:在虚拟环境中运行恶意代码;判断恶意代码执行的指令信息和函数信息中是否有隐藏行为路径相关的指令和函数;若检测到延时隐藏相关的执行信息,通过结束相应的延时行为使恶意代码继续执行其后续指令和函数;若检测到条件判断隐藏相关的执行信息,根据其条件判断分类,通过满足其不同路径的执行条件,发掘恶意代码的可能执行路径;将分析完成的恶意代码执行的多种行为路径信息生成恶意代码行为路径树。本发可有效挖掘恶意代码通过延时隐藏和条件判断隐藏的方式躲避分析的隐藏行为,有效发现其可能存在的多种隐藏行为路径,提高恶意代码的隐藏行为分析和挖掘能力。【专利说明】一种恶意代码隐藏行为挖掘方法及系统
本专利技术属于网络安全
,具体涉及一种恶意代码隐藏行为挖掘方法及系统。
技术介绍
伴随着信息化不断推进以及技术的不断发展,其重要威胁之一的恶意代码技术也在不断的进步,为了躲避分析和检测,恶意代码的隐藏能力、变形能力和生存能力在不断地增强。恶意代码通过各种技术手段隐藏起自身的一些有害行为,导致普通的分析及检测工具无法及时地检测到其恶意行为,从而在需要的时候产生破坏威胁互联网及计算机系统的安全性。目前,恶意代码的隐藏手段主要包括:(1)在系统中隐藏其踪迹,例如进程信息等。(2)自身包含正常行为路径和恶意行为路径,在一定条件下才实施恶意行为。例如在探测到分析及检测环境时便隐藏其恶意行为,从而躲避检测。传统的动态分析手段通常只能分析恶意代码当前执行的行为路径,不能很好地分析检测到隐藏行为及路径的存在。因此,提高恶意代码隐藏行为及路径的分析能力成为恶意代码防护中需要解决的一个重要问题。已有恶意代码分析方法中,静态分析可全面分析恶意代码包含的所有路径,从而挖掘其可能存在的隐藏行为,但是,通常情况下,恶意代码的源代码无法获取,要想分析期待吗,只有依赖于反汇编反编译软件。但是恶意代码通常会使用一些混淆技术干扰这类软件,导致其很难准确还原代码。而动态分析虽然可以在恶意代码执行过程中获取其行为,但是局限于单一执行路径,即只能获取当前执行过程中展现出的一条行为路径。对于有多种行为路径的恶意代码,尤其是在多种无害行为路径中隐藏一条恶意行为路径的恶意代码,无法有效地开展分析。随着恶意代码分析检测技术的发展,恶意代码开发者也不断更新其技术手段,为了躲避分析检测,目前已经出现了检测虚拟分析环境从而隐藏行为的方法,以及只有在特定条件下才实施其恶意行为的隐藏手段。为恶意代码分析及防范工作带来了巨大的挑战。研究恶意代码隐藏行为的分析方法,从而全面、有效地分析恶意代码的隐藏行为,进一步有效指导恶意代码检测,是恶意代码防御工作中的重要基础问题。当前恶意代码隐藏行为分析方法中的主要问题有:动态分析只分析一段时间内恶意代码执行的行为,对于一些延时隐藏的行为容易漏报;动态分析过程只能分析当前执行的行为,无法对特定条件下才出现的隐性恶意行为路径实施有效地分析,对于探测运行环境及条件而隐藏恶意行为的恶意代码无法实施有效的分析;动态分析大多是追踪被动分析,缺少有效主动发掘恶意代码隐藏行为的方法。
技术实现思路
本专利技术的目的在于提供一种恶意代码隐藏行为挖掘方法及系统,通过在动态运行过程中分析恶意代码执行代码中可能存在的延时和条件控制语句,为其提供满足其可能执行的行为路径的条件,主动触发其可能的潜在隐藏行为,从而主动发掘出恶意代码的隐藏行为,实现隐藏行为分析。本专利技术的主要内容是:将待分析的恶意代码在可控环境中运行,监控其执行信息,针对延时执行和条件判断两种隐藏行为,通过监控相关的实现指令和函数,向其输入满足隐藏行为执行的相关条件,使其执行相关行为路径,实现隐藏行为的挖掘。具体地,本专利技术采用的技术方案如下:一种恶意代码隐藏行为挖掘方法,其步骤包括:I)在虚拟环境中运行恶意代码,逐条监控恶意代码执行的指令信息和函数信息;2)判断恶意代码执行的指令信息和函数信息中是否有隐藏行为路径相关的指令和函数,所述隐藏行为包含延时隐藏和条件判断隐藏两类;3)若检测到延时隐藏相关的执行信息,通过结束相应的延时行为使恶意代码继续执行其后续指令和函数;4)若检测到条件判断隐藏相关的执行信息,根据其条件判断分类,通过满足其不同路径的执行条件,发掘恶意代码的可能执行路径;5)将分析完成的恶意代码执行的多种可能行为路径信息以树的形式表示,生成恶意代码行为路径树。进一步地,步骤I)所述的恶意代码执行的指令信息和函数信息的监控方法为:将待分析的恶意代码运行于硬件模拟环境中,通过动态反汇编,监控恶意代码执行的指令序列;通过挂钩函数,监控相关函数信息。进一步地,步骤2)所述的隐藏行为路径相关的指令和函数,可由用户根据需要自行定义,本专利技术中主要分为延时隐藏和条件判断隐藏两类。进一步地,步骤2)所述的延时隐藏是指恶意代码通过一些手段延迟恶意行为的出现,以躲避有限分析事件的动态分析;所述的条件判断隐藏是指恶意代码在执行恶意行为之前,通过判断一些执行条件,例如系统及网络状态等,当一定条件满足时才执行恶意行为。进一步地,步骤3)所述的延时隐藏主要包括通过sleep函数延时和循环延时两类常用延时隐藏行为。进一步地,步骤3)所述的结束相应的延时行为的方法是:针对sleep函数,通过将硬件时间调整为其之后的时间结束该函数;针对循环延时,通过修改相应寄存器标志位结束循环的方法来实现。进一步地,步骤4)所述的条件判断隐藏主要包括:用户交互条件和独立条件判断两大类,其中用户互动条件是指判断是否有用户输入事件(包括鼠标和键盘事件),独立判断条件只是在执行过程中判断各类不需人工干预的各类系统及网络条件等。进一步地,步骤4)中所述的满足不同路径的执行条件的方法是:分析恶意代码执行过程中的条件判断语句,针对用户交互条件判断,当发现等待键盘和鼠标事件的条件判断语句时,启动相应的函数调用模块发送相应的键盘和鼠标信息满足其执行条件;针对独立条件判断,保存条件判断语句发生时系统映像(snapshot)和判断表达式,然后继续执行,当前路径执行完毕时,会退到保存映像的位置,更改其判断条件的结果,使其执行其他路径从而挖掘隐藏执行路径,若在执行过程中遇到多次条件判断,则通过计算路径中所有判断表达式的结果判断可能的条件值。一种恶意代码隐藏行为挖掘系统,其包括:硬件模拟器,用于虚拟执行环境以运行和监控恶意代码;指令信息监控模块,集成在硬件模拟器的指令翻译模块中,用于在运行过程中监控并记录恶意代码执行的指令信息;函数信息监控模块,集成在硬件模拟器中,并连接指令信息监控记录模块,用于在恶意代码运行过程中,通过判断指令跳转和模拟内存数据监控恶意代码执行的函数信息;条件判断分析模块,连接指令信息监控模块和函数信息监控模块,用于检测恶意代码执行的指令和函数信息中的条件判断语句;条件输入模块,连接条件判断分析模块和硬件模拟器的虚拟执行环境,用于产生在分析过程中使代码执行不同行为路径所需要的条件输入;运行映像模块,连接硬件模拟器的虚拟执行环境、条件判断分析模块和条件输入模块,用于记录有多种可能执行路径时执行每条路径之前的系统及代码状态映像;行为树构建模块,连接指令信息监控模块、函数信息监控模块、条件分析本文档来自技高网
...

【技术保护点】
一种恶意代码隐藏行为挖掘方法,其步骤包括:1)在虚拟环境中运行恶意代码,逐条监控恶意代码执行的指令信息和函数信息;2)判断恶意代码执行的指令信息和函数信息中是否有隐藏行为路径相关的指令和函数,所述隐藏行为包含延时隐藏和条件判断隐藏两类;3)若检测到延时隐藏相关的执行信息,通过结束相应的延时行为使恶意代码继续执行其后续指令和函数;4)若检测到条件判断隐藏相关的执行信息,根据其条件判断分类,通过满足其不同路径的执行条件,发掘恶意代码的可能执行路径;5)将动态分析完成的恶意代码执行的多路径行为信息以树的形式表示,生成恶意代码行为路径树。

【技术特征摘要】

【专利技术属性】
技术研发人员:王蕊林子敏张道娟
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1