一、恶意代码分析技术
恶意代码分析是一个多步过程,他深入研究恶意软件结构和功能,有利于对抗措施的发展。按照分析过程中恶意代码的执行状态可以把恶意代码分析技术分成静态分析技术和动态分析技术两大类。
1.静态分析技术
静态分析技术就是在不执行二进制程序的条件下,利用分析工具对恶意代码的静态特征和功能模块进行分析的技术。该技术不仅可以找到恶意代码的特征字符串、特征代码段等,而且可以得到恶意代码的功能模块和各个功能模块的流程图。由于恶意代码从本质上是由计算机指令构成的,因此根据分析过程是否考虑构成恶意代码的计算机指令的语义,可以把静态分析技术分成以下两种:
(1)基于代码特征的分析技术。在基于代码特征的分析过程中,不考虑恶意代码的指令意义,而是分析指令的统计特性、代码的结构特性等。比如在某个特定的恶意代码中,这些静态数据会在程序的特定位置出现,并且不会随着程序拷贝副本而变化,所以,完全可以使用这些静态数据和其出现的位置作为描述恶意代码的特征。当然有些恶意代码在设计过程中,考虑到信息暴露的问题而将静态数据进行拆分,甚至不使用静态数据,这种情况就只能通过语义分析或者动态跟踪分析得到具体信息了。
(2)基于代码语义的分析技术。基于代码语义的分析技术要求考虑构成恶意代码的指令的含义,通过理解指令语义建立恶意代码的流程图和功能框图,进一步分析恶意代码的功能结构。因此,在该技术的分析过程中首先使用反汇编工具对恶意代码执行体进行反汇编,然后通过理解恶意代码的反汇编程序了解恶意代码的功能。从理论上讲,通过这种技术可以得到恶意代码的所有功能特征。但是,目前基于语义的恶意代码分析技术主要还是依靠人工来完成,人工分析的过程需要花费分析人员的大量时间,对分析人员本身的摹求也很高。
2.动态分析技术
动态分析技术是指恶意代码执行的情况下,利用程序调试工具对恶意代码实施跟踪和观察,确定恶意代码的工作过程,对静态分析结果进行验证。根据分析过程中是否需要考虑恶意代码的语义特征,将动态分析技术分为以下两种:
(1)外部观察技术。外部观察技术是利用系统监视工具观察恶意代码运行过程中系统环境的变化,通过分析这些变化判断恶意代码功能的一种分析技术。
(2)跟踪调试技术。跟踪调试技术是通过跟踪恶意代码执行过程使用的系统函数和指令特征分析恶意代码功能的技术。在实际分析过程中,跟踪调试可以有两种方法:
①单步跟踪恶意代码执行过程,即监视恶意代码的每一个执行步骤,在分析过程中也可以在适当的时候执行恶意代码的一个片段,这种分析方法可以全面监视恶意代码的执行过程,但是分析过程相当耗时。
②利用系统hook技术监视恶意代码执行过程中的系统调用和API使用状态来分析恶意代码的功能,这种方法经常用于恶意代码检测。
二、误用检测技术
误用检测也被称为基于特征字的检测。他是目前检测恶意代码最常用的技术,主要源于模式匹配的思想。其检测过程中根据恶意代码的执行状态又分为静态检测和动态检测:静态检测是指脱机对计算机上存储的所有代码进行扫描;动态检测则是指实时对到达计算机的所有数据进行检查扫描,并在程序运行过程中对内存中的代码进行扫描检测。
来源:【九爱网址导航www.fuzhukm.com】 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!