软件安全分析与应用第8章恶意代码检测与分析读书笔记。

  • 恶意代码检测与分析
    • 恶意代码分析基础
      • 恶意代码分类
      • 恶意代码分析的目的
      • 典型分析流程
      • 软件漏洞利用分析
    • 静态分析
      • 杀毒软件扫描
      • 文件类型确定
      • 文件哈希计算
      • 字符串信息提取
      • 文件元数据提取
      • 混淆代码识别
      • 代码反汇编
    • 动态分析
      • 动态分析环境构建
      • 动态行为分析
      • 动态调试分析
      • 反虚拟化分析对抗
      • 反自动化分析对抗

恶意代码分类

  • 蠕虫 worm
  • 木马 trojan horse
  • 后门 backdoor
  • 僵尸程序 bot
  • 下载器 downloader
  • rootkit
  • 恐吓软件 scareware
  • 勒索软件 ransomware

静态分析

使用现有工具进行静态分析,首先确认是否该样本已经被主流安全工具确认为恶意代码。

动态分析

静态分析获得恶意代码的初步信息后,可以使用动态分析技术,通过运行可以代码,观察其行为。
动态分析包含一下步骤:

  • 动态分析环境构建
  • 动态行为分析
  • 动态调试分析
  • 反虚拟化分析对抗
  • 反自动化分析对抗

动态行为分析

系统、进程监控其实常用的系统级别分析软件,wireshark 是常用的网络流量监控分析软件。

动态调试分析

动态调试是软件分析的重要手段,常用的工具有 OllyDbg 和 WinDbg 等。

反虚拟化分析对抗

恶意代码为了避免自身被发现和分析,通常会采用一些反调试、反分析技术来对抗分析过程。所以需要进行配置对抗恶意代码中的虚拟化检测功能。

反自动化分析对抗

为了绕过自动化检测分析,恶意代码编写者不断尝试采用各种技术来对抗自动化分析系统。