恶意代码行为特征提取方法技术

技术编号:17249125 阅读:63 留言:0更新日期:2018-02-11 07:27
本发明专利技术公开了一种恶意代码行为特征提取方法,所述的方法包括以下步骤:步骤1、对恶意代码样本采用静态分析方法,使用反编译工具进行反汇编分析,获取到函数调用图、控制流程图;步骤2、对函数调用图、控制流程图进行优化处理,生成可执行路径集合,并为每条路径分配动态分析节点;步骤3、通过动态分析工具,使用自动单步调试方法进行动态分析,使程序按照静态分析获取的可执行路径的控制流顺序执行,并获取恶意代码API调用关联;步骤4、根据对API调用关联分析,获取该恶意代码行为特征值。本发明专利技术能够较精准地表示代码的行为特征,对恶意代码的分析检测更加准确。

【技术实现步骤摘要】
恶意代码行为特征提取方法
本专利技术涉及信息安全
及文件系统领域,具体涉及一种恶意代码行为特征提取方法。
技术介绍
随着互联网的高速发展,接入网络的终端设备数量及互联网应用呈爆炸式增长,互联网的普及也加快了恶意代码的传播,恶意代码已成为软件安全领域中一个重要的问题。为了提高恶意代码的生存性,其制造者通常会使用恶意代码混淆技术,使每次传播都出现新的变种,增加恶意代码检测难度。恶意代码检测方法可分为基于启发式的检测和基于特征的检测两大类,基于启发式的检测方法根据预先设定的规则判断恶意代码存在的可能性,但其规则生产依赖分析人员经验,容易高误报及漏报,基于特征的检测方法根据由恶意代码中提取的特征进行检测,具有效率高,低误报等优点特征的描述能力是决定基于特征的检测方法的检测能力和检测效率的主要因素,如何更有效地提取恶意代码的本质特征,降低混淆技术的干扰,从而对恶意代码变种进行精确、有效的检测,是目前恶意代码检测的重点。
技术实现思路
本专利技术克服了现有技术的不足,提供一种恶意代码行为特征提取方法。通过对恶意代码样本逆向工程获取函数调用图、控制流图,生成可执行路径集合,根据可执行路径集合,使用自动单步调试方法进程动态分析,获取到恶意代码样本的API行为特征。为解决上述的技术问题,本专利技术采用以下技术方案:一种恶意代码行为特征提取方法,所述的方法包括以下步骤:步骤1、对恶意代码样本采用静态分析方法,使用反编译工具进行反汇编分析,获取到函数调用图、控制流程图;步骤2、对函数调用图、控制流程图进行优化处理,生成可执行路径集合,并为每条路径分配动态分析节点;步骤3、通过动态分析工具,使用自动单步调试方法进行动态分析,使程序按照静态分析获取的可执行路径的控制流顺序执行,并获取恶意代码API调用关联;步骤4、根据对API调用关联分析,获取该恶意代码行为特征值。更进一步的技术方案是所述的步骤1中获取到函数调用图、控制流程图的方法包括:通过IDAPro反汇编软件恶意代码样本进行预处理,输出得到其反汇编代码并得出恶意代码的函数调用图、控制流图。更进一步的技术方案是所述的步骤2中所述生成可执行路径集合的方法包括:采用反向的深度优先遍历算法从底层开始处理节点,利用禁忌搜索算法初步过滤掉不合理函数,首先,在某个局部域内寻找不合理指令并存入禁忌表中,其次搜索其它域时避开禁忌表中函数,但不完全隔绝,使得禁忌表中的函数情况随搜索进行学习,若当前指令优于搜索进程中最优解,则将该指令替换到禁忌表中;然后,反复迭代直到所发现指令在禁忌表中不再改进或无法离开它时算法停止;将禁忌表指令过滤后,接着在剩下的指令中找到一个控制入口点,直至到达第一个控制转移点。更进一步的技术方案是所述的步骤2中所述为每条路径分配动态分析节点的方法包括:使用深度优先搜索算法,得到P中每个函数的可执行路径集合{patIf1,patIf2,patIf3,patIfn},并对patIi(0<i<n)应用路径花间算法得到能够覆盖函数中所有基本块的最小路径集合;结合函数调用关系,使用各函数简化后的可执行路径,生成代码完成可执行的路径集合。更进一步的技术方案是所述的步骤3中所述自动单步调试方法进行动态分析的方法包括:动态分析根据分配的可执行路径,在调试器中以单步执行的方式动态分析恶意代码样本,并HOOK单步执行动作,定义HOOK函数操纵程序控制流;在整个动态分析过程,利用静态可执行指令与动态分析过程中实际执行指令的关系,导入表的变化和动态分析日志控制程序的控制流程,主动发现恶意代码中隐藏的指令的函数调用,提取API函数参数个数、参数类型、返回值及大小信息,通过对比WindowsSDK提供的头文件进行解析获取。更进一步的技术方案是所述的步骤4中所述对API调用关联分析的方法包括:将对同一对象的所有API调用关联起来,从而得到恶意代码的行为特征。更进一步的技术方案是所述的步骤4还包括:采用数据结构来记录分析,分析API调用的关联数据。与现有技术相比,本专利技术实施例的有益效果之一是:1、通过静态和动态分析,更精确的提取了恶意代码特征;2、通过恶意代码行为作为特征值,能有效的表达一类恶意代码的特征;本专利技术能够较精准地表示代码的行为特征,对恶意代码的分析检测更加准确。附图说明图1为本专利技术一个实施例的方法流程图。图2为本专利技术一个实施例中API调用的关联数据结构示意图。具体实施方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。下面结合附图及实施例对本专利技术的具体实施方式进行详细描述。在下面的详细描述中,出于解释的目的描述了许多具体描述以便能够彻底理解所公开的实施方案,然而,很明显一个或多个实施方式可以在不使用这些具体描述的情况下实施,在其他实例中,示意性地显示已知结构和装置,以便简化附图。如图1和图2所示,根据本专利技术的一个实施例,本实施例公开一种恶意代码行为特征提取方法,具体的,该方法包括以下步骤:步骤1,对恶意代码样本采用静态分析方法,使用反编译工具进行反汇编分析,获取到函数调用图、控制流程图。通过基于IDAPro插件上构建的静态反汇编分析二进制代码,识别函数边界,构造函数调用关系图。步骤2,对函数调用图、控制流程图进行优化处理,生成可执行路径集合,并为每条路径分配动态分析节点。其中,控制流程图的节点是基本块,call指令是基本块的一条指令,call指令调用的函数内部也能表示为一个控制流图,因此,从程序入口函数的第一条指令开始的控制流图可以看作是函数的控制流图嵌套。本施例采用反向的深度优先遍历算法从底层开始处理节点,利用禁忌搜索(TalmSfarch)算法初步过滤掉不合理函数,首先,在某个局部域内寻找不合理指令并存入禁忌表中,其次搜索其它域时避幵禁忌表中函数,但不完全隔绝,使得禁忌表中的函数情况随搜索进行学习,若当前指令优于搜索进程中最优解,则将该指令替换到禁忌表中.然后,反复迭代直到所发现指令在禁忌表中不再改进或无法离幵它时算法停止.将禁忌表指令过滤后,接着在剩下的指令中找到一个控制入口点,直至到达第一个控制转移点。由于动态分析过程会实时反馈静态分析无法发现的恶意程序隐藏的指令,因此需要继续对这些指令中可执行路径进行逐条分析,路径生成算法步骤如下:步骤a,使用深度优先搜索算法,得到P中每个函数的可执行路径集合{patIf1,patIf2,patIf3....patIfn},并对patIi(0<i<n)应用路径花间算法得到能够覆盖函数fi中所有基本快的最小路径集合patIi;步骤b,结合函数调用关系,使用各函数简化后的可执行路径生成代码完成可执行的路径集合path,并对执行路径简化得到的path记录当前未被覆盖的基本块,并记录其他未被采用的路径集合。步骤c,对未被覆盖的基本块重复步骤a。步骤3,通过在动态分析工具,使用自动单步调试方法进程动态分析,使程序按照静态分析获取的可执行路径的控制流顺序执行,并获取恶意代码API调用关联。动态分析根据本文档来自技高网...
恶意代码行为特征提取方法

【技术保护点】
一种恶意代码行为特征提取方法,其特征在于:所述的方法包括以下步骤:步骤1、对恶意代码样本采用静态分析方法,使用反编译工具进行反汇编分析,获取到函数调用图、控制流程图;步骤2、对函数调用图、控制流程图进行优化处理,生成可执行路径集合,并为每条路径分配动态分析节点;步骤3、通过动态分析工具,使用自动单步调试方法进行动态分析,使程序按照静态分析获取的可执行路径的控制流顺序执行,并获取恶意代码API调用关联;步骤4、根据对API调用关联分析,获取该恶意代码行为特征值。

【技术特征摘要】
1.一种恶意代码行为特征提取方法,其特征在于:所述的方法包括以下步骤:步骤1、对恶意代码样本采用静态分析方法,使用反编译工具进行反汇编分析,获取到函数调用图、控制流程图;步骤2、对函数调用图、控制流程图进行优化处理,生成可执行路径集合,并为每条路径分配动态分析节点;步骤3、通过动态分析工具,使用自动单步调试方法进行动态分析,使程序按照静态分析获取的可执行路径的控制流顺序执行,并获取恶意代码API调用关联;步骤4、根据对API调用关联分析,获取该恶意代码行为特征值。2.根据权利要求1所述的恶意代码行为特征提取方法,其特征在于所述的步骤1中所述获取到函数调用图、控制流程图的方法包括:通过IDAPro反汇编软件恶意代码样本进行预处理,输出得到其反汇编代码并得出恶意代码的函数调用图、控制流图。3.根据权利要求1所述的恶意代码行为特征提取方法,其特征在于所述的步骤2中所述生成可执行路径集合的方法包括:采用反向的深度优先遍历算法从底层开始处理节点,利用禁忌搜索算法初步过滤掉不合理函数,首先,在某个局部域内寻找不合理指令并存入禁忌表中,其次搜索其它域时避开禁忌表中函数,但不完全隔绝,使得禁忌表中的函数情况随搜索进行学习,若当前指令优于搜索进程中最优解,则将该指令替换到禁忌表中;然后,反复迭代直到所发现指令在禁忌表中不再改进或无法离开它时算法停止;将禁忌表指令过滤后,接着在剩下的指令中找到一个控制入口点,直至到达第一个控制转移点。4.根...

【专利技术属性】
技术研发人员:常清雪龙昌伟
申请(专利权)人:四川长虹电器股份有限公司
类型:发明
国别省市:四川,51

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

1