掌握恶意软件分析的4个阶段

目录

0x01 第一个阶段-全自动分析

0x02 第二个阶段-静态属性分析

0x03 第三个阶段-互动行为分析

0x04 第四个阶段-手动代码逆向

0x05 结合恶意软件分析阶段


 

 

检查恶意软件涉及各种任务,不同的任务复杂程度不同。我们可以基于相关恶意软件分析技术划分为不同的阶段。这些阶段依次递进,形成一个复杂地向上增长的金字塔。越接近顶端,所付出的努力越多,技能也相应地越不常见。

0x01 第一个阶段-全自动分析

评估可疑文件的最简单方法是使用全自动工具对其进行扫描,其中一些工具可用作商业产品,一些用作免费工具。这些实用程序旨在对样本在系统上运行时可能会执行的操作进行快速评估。它们通常会生成包含恶意程序使用的注册表项、其互斥锁值、文件活动、网络流量等详细信息的报告。

完全自动化的工具通常不能提供人类分析师在以更手动的方式检查样本时获得的洞察力。但是,它们通过快速处理大量恶意软件为事件响应过程做出贡献,使分析师(时间相对昂贵)能够专注于真正需要人们关注的案例。

有关可执行自动分析的免费服务和工具的列表,请参阅我的自动化恶意软件分析自动恶意软件分析服务工具包列表。

0x02 第二个阶段-静态属性分析

有兴趣仔细研究可疑文件的分析师可以通过检查其静态属性来继续。这些细节可以相对快速地获得,因为它们不涉及运行潜在的恶意程序。静态属性包括嵌入到文件中的字符串、标题详细信息、哈希、嵌入式资源、打包程序签名、元​​数据(如创建日期等)。

查看静态属性有时足以定义折衷的基本指标。此过程还有助于确定分析师是否应该使用更全面的技术仔细查看样本,以及在何处集中后续步骤。分析静态属性是事件分类工作的一部分。

VirusTotal是一个优秀的在线工具的示例,其输出包括文件的静态属性。要查看一些可以在实验室中本地运行的免费实用程序,请参阅我的帖子分析Windows上的可疑文件的静态属性检查恶意软件分析的XOR混淆

0x03 第三个阶段-互动行为分析

在使用自动化工具并检查文件的静态属性之后,以及考虑到调查的整体背景,分析师可能会决定仔细查看样本。这通常需要用恶意程序感染隔离的实验室系统以观察其行为。

行为分析涉及检查样本在实验室中的运行方式,以了解其注册表,文件系统,流程和网络活动。了解程序如何使用内存(例如,执行内存取证)可以带来更多的见解。当研究人员与恶意程序交互时,这种恶意软件分析阶段尤其富有成效,而不是被动地观察样本。

分析人员可能会观察到样本试图连接到特定的宿主,而孤立的实验室无法访问该宿主。研究人员可以模拟实验室中的系统,并重复实验,看看恶意程序能够连接后会做什么。例如,如果样本使用主机作为命令和控制(C2)服务器,分析师可以通过模拟攻击者的C2活动来了解样本。这种模拟实验室以引起其他行为特征的方法适用于文件,注册表键和样本可能具有的其他依赖性。

能够在适当的协调实验室中对样本进行这种级别的控制,这使得该阶段与完全自动化的分析任务区别开来。以创造性方式与恶意软件交互比运行全自动化工具更耗时且复杂。它通常需要比在金字塔中执行早期任务更多的技能。

有关交互式行为分析的其他见解,请参阅我发布的恶意软件分析实验室的虚拟化网络隔离,我记录的网络广播恶意软件行为分析简介Jake Williams关于恶意软件分析和逆向工程的提示

0x04 第四个阶段-手动代码逆向

在完成交互式行为分析后,对包含样本的代码进行逆向工程可以为可用的结果添加有价值的见解。在不检查代码的情况下,标本的某些特征对于锻炼和检查来说是不切实际的。只有手动代码逆转才能提供的见解包括:

  • 解码由样本存储或传输的加密数据;
  • 确定恶意程序的域生成算法的逻辑;
  • 了解在行为分析期间未展示自身的样本的其他功能。

手动代码逆向涉及使用反汇编程序和调试程序,这可以通过反编译器和各种插件以及自动执行这些工作的某些方面的专用工具来辅助。记忆取证也可以在金字塔的这个阶段提供帮助。

逆向代码可能需要花费大量时间,并且需要相对较少的技能组合。出于这个原因,许多恶意软件调查都没有深入研究代码。但是,知道如何执行至少一些代码逆向步骤会大大增加分析师对comp中恶意程序性质的看法

要了解其他恶意软件分析阶段的代码级逆向工程的基本方面,请调入我录制的网络广播恶意软件分析简介。有关手动代码翻转的详细信息,请阅读Dennis Yurichev的电子书Reverse Engineering for Beginners

0x05 结合恶意软件分析阶段

检查恶意软件的过程涉及几个阶段,可以按照复杂性增加的顺序列出并表示为金字塔。但是,将这些阶段视为离散和顺序步骤过度简化了恶意软件分析过程的步骤。在大多数情况下,不同类型的分析任务交织在一起,在一个阶段收集的见解告知在另一个阶段进行的工作。也许这些阶段可以通过“ 洗涤,漂洗,重复 ”循环来表示,只有在分析师用完时才会中断。

如果您对此主题感兴趣,请查看我在SANS Institute教授的恶意软件分析课程。这篇文章中提到的金字塔是基于Alissa Torres(@sibertor)的类似图表。此外,Andres Velzquez(@cibercrimen将这篇文章翻译成西班牙文

2015年2月19日更新

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值