什么是恶意软件分析?
恶意软件分析是研究恶意样本的过程。在研究过程中,研究人员的目标是了解恶意程序的类型、功能、代码和潜在危险。接收组织需要响应入侵的信息。
得到的分析结果:
- 恶意软件的工作原理:如果调查程序的代码及其算法,将能够阻止它感染整个系统。
- 该程序的特点:通过使用恶意软件的数据(如其家族、类型、版本等)来改进检测。
- 恶意软件的目标是什么:触发样本的执行以检查它所针对的数据,当然,在安全的环境中进行。
- 谁是攻击的幕后黑手:获取黑客隐藏的 IP、来源、使用的 TTP 和其他足迹。
- 关于如何防止此类攻击的计划。
恶意软件分析的类型
|
静态和动态恶意软件分析 |
恶意软件分析的关键步骤
在这五个步骤中,调查的主要重点是尽可能多地找出恶意样本、执行算法以及恶意软件在各种场景中的工作方式。
我们认为,分析恶意软件最有效的方法是混合使用静态和动态方法。这是有关如何进行恶意软件分析的简短指南。只需按照以下步骤操作:
步骤 1. 设置虚拟机
可以自定义具有特定要求的 VM,例如浏览器、Microsoft Office、选择操作系统位数和区域设置。添加用于分析的工具并将它们安装在 VM 中:FakeNet、MITM 代理、Tor、VPN。也可以在沙箱中轻松完成,以ANY.RUN为例:
ANY.RUN 中的 VM 自定义 |
步骤 2. 查看静态属性
这是静态恶意软件分析的阶段。在不运行的情况下检查可执行文件:检查字符串以了解恶意软件的功能。哈希、字符串和标头的内容将提供恶意软件意图的概述。
例如,在下面的屏幕截图中,我们可以看到 Formbook 示例的哈希、PE Header、mime 类型和其他信息。为了简要了解功能,我们可以查看恶意软件分析示例中的 Import 部分,其中列出了所有导入的 DLL。
PE文件的静态发现 |
步骤 3. 监控恶意软件行为
这是恶意软件分析的动态方法。在安全的虚拟环境中上传恶意软件样本。直接与恶意软件交互以使程序采取行动并观察其执行情况。检查网络流量、文件修改和注册表更改。以及任何其他可疑事件。
在我们的在线沙盒示例中,我们可能会查看网络流内部,以接收到 C2 的骗子凭据信息以及从受感染机器上窃取的信息。
攻击者的凭据 |
审查被盗数据 |
步骤 4. 分解代码
如果威胁参与者混淆或打包代码,请使用反混淆技术和逆向工程来揭示代码。识别在先前步骤中未公开的功能。即使只是寻找恶意软件使用的功能,也可能会说很多关于它的功能。例如,函数“InternetOpenUrlA”表明该恶意软件将与某个外部服务器建立连接。
在这个阶段需要额外的工具,比如调试器和反汇编器。
步骤 5. 编写恶意软件报告。
包括发现的所有发现和数据。提供以下信息:
- 包含恶意程序名称、来源和主要功能的研究摘要。
- 有关恶意软件类型、文件名、大小、哈希和防病毒检测能力的一般信息。
- 恶意行为描述、感染算法、传播技术、数据收集和С2通信方式。
- 必要的操作系统位数、软件、可执行文件和初始化文件、DLL、IP 地址和脚本。
- 审查行为活动,例如它从何处窃取凭据,是否修改、删除或安装文件、读取值和检查语言。
- 代码分析结果,数据。
- 截图、日志、字符串行、摘录等。
交互式恶意软件分析
现代防病毒软件和防火墙无法应对未知威胁,例如有针对性的攻击、零日漏洞、高级恶意程序和未知签名的危险。所有这些挑战都可以通过交互式沙箱来解决。
互动性是我们服务的主要优势。使用 ANY.RUN,可以直接处理可疑样本,就像在个人计算机上打开它一样:单击、运行、打印、重新启动。可以处理延迟的恶意软件执行并制定不同的方案以获得有效的结果。
在调查期间,可以:
- 获得交互式访问:像在个人计算机上一样使用 VM:使用鼠标、输入数据、重新启动系统并打开文件。
- 更改设置:预装的软件集,多个不同位数和版本的操作系统已准备好。
- 为虚拟机选择工具:FakeNet、MITM 代理、Tor、OpenVPN。
- 研究网络连接:拦截数据包并获取 IP 地址列表。
- 即时访问分析: VM 立即启动分析过程。
- 监控系统进程:实时观察恶意软件行为。
- 收集 IOC: IP 地址、域名、哈希等可用。
- 获取 MITRE ATT@CK 矩阵:详细查看 TTP。
- 有一个过程图:评估一个图中的所有过程。
- 下载现成的恶意软件报告:以方便的格式打印所有数据。
所有这些功能都有助于揭示复杂的恶意软件并实时查看攻击结构。
尝试使用交互式方法破解恶意软件。如果使用 沙箱,可以进行恶意软件分析并享受快速的结果、简单的研究过程、甚至可以调查复杂的恶意软件并获得详细的报告。按照步骤,使用智能工具并成功捕获恶意软件。