恶意软件分析

什么是恶意软件分析?

恶意软件分析是检查恶意代码以理解其 行为、能力、来源和目标的过程。它对于事件响应(incident response)、 威胁情报(threat intelligence)以及制定有效的应对措施至关重要。

分析类型

1. 静态分析

在不执行恶意软件的情况下进行检查:

  • 字符串(strings)与元数据分析
  • 识别加壳工具(packers)与混淆
  • PE/ELF 文件头分析
  • 签名与哈希(MD5、SHA-256、SSDEEP)
  • YARA rules matching

2. 动态分析

在隔离环境中进行受控执行:

  • 沙箱分析(Cuckoo、Any.Run、Joe Sandbox)
  • 系统调用监控
  • 网络流量分析
  • 文件系统与注册表的修改
  • 创建的进程与代码注入

3. 逆向工程

深入的代码分析:

  • 反汇编与反编译
  • 调试与流程分析
  • 识别加密算法
  • 提取配置与 IOCs

必备工具

静态分析

  • • PEiD / Detect It Easy
  • • PEStudio / CFF Explorer
  • • Strings / FLOSS
  • • VirusTotal / Hybrid Analysis
  • • YARA / Capa

动态分析

  • • Cuckoo Sandbox
  • • Any.Run
  • • Process Monitor (Sysinternals)
  • • Wireshark / tcpdump
  • • Regshot

Reverse Engineering

  • • IDA Pro / Ghidra
  • • x64dbg / WinDbg
  • • dnSpy(用于 .NET)
  • • JD-GUI(用于 Java)
  • • Radare2

内存与取证

  • • Volatility Framework
  • • Rekall
  • • SANS SIFT Workstation
  • • REMnux Distribution

分析方法论

阶段 1:初步分诊

  • 计算哈希并在威胁情报数据库中进行核对
  • 提交至公共沙箱(VirusTotal、Hybrid Analysis)
  • 快速分析字符串与导入函数(imports)
  • 确定文件类型及可能使用的加壳工具

阶段 2:行为分析

  • 在受控沙箱中执行
  • 监控文件与进程的创建
  • 捕获网络流量与 C2 连接
  • 识别持久化技术

阶段 3:深入分析

  • 脱壳与反混淆
  • 对关键函数进行逆向工程
  • 提取配置与 IOCs
  • 识别家族与变种

入侵指标(IOCs)

需要提取的关键 IOCs:

  • File-based: 哈希、文件名、路径
  • Network: IP、域名、URL、User-Agents
  • Registry: 创建/修改的注册表键
  • Behavior: Mutexes、named pipes、服务
  • YARA rules: 可复用的检测规则模式

常见规避技术

  • Anti-VM/Sandbox: 检测虚拟化环境
  • Anti-Debugging: 规避分析的技术
  • Packing/Obfuscation: 代码混淆
  • Process Injection: DLL injection、process hollowing
  • Rootkit Capabilities: 隐藏进程与文件
  • Fileless Malware: 仅在内存中执行

MITRE ATT&CK Framework

将恶意软件的行为映射到 MITRE ATT&CK 技术:

  • Initial Access (phishing, exploit public-facing app)
  • Execution (command and scripting, user execution)
  • Persistence (registry run keys, scheduled tasks)
  • Defense Evasion (obfuscation, process injection)
  • Command and Control (web protocols, DNS)
  • Exfiltration (exfiltration over C2, automated exfiltration)

安全建议

  • [OK] 始终在隔离(air-gapped)环境中进行分析
  • [OK] 使用虚拟机快照以便快速恢复
  • [OK] 详细记录整个分析过程
  • [OK] 与社区共享 IOCs(MISP、OTX)
  • [OK] 始终保持分析工具为最新版本
  • [OK] 创建 YARA rules 以便未来检测
  • [OK] 将分析结果与威胁情报平台集成